Fmscope en PT

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 36

FM Scope

Software de controle do Windows


para analisadores P75, P175 e P275 FM

Guia de usuario
2

Índice
FM Scope para Windows .............................................. .................................................. .................................................. .. 3
Recursos básicos ................................................ .................................................. .................................................. .................................. 3
Requisitos de sistema ................................................ .................................................. .................................................. ....................... 3
Primeiros passos ................................................ .................................................. .................................................. ........................................ 3
Conexão ao dispositivo .............................................. .................................................. .................................................. ................... 4
Preferências ................................................. .................................................. .................................................. ..................................... 4
Chaves DIP ................................................ .................................................. .................................................. ................................... 5
Barra de ferramentas ................................................ .................................................. .................................................. ........................................... 5
Desvio de frequência, histograma e gráfico de distribuição acumulada .......................................... .................................................. ........ 6
Potência de modulação ................................................ .................................................. .................................................. ........................... 6
MPX ................................................. .................................................. .................................................. ............................................... 7
Portadora RF ................................................ .................................................. .................................................. ....................................... 8
Bandscan ................................................. .................................................. .................................................. ...................................... 10
Listas de estações ................................................ .................................................. .................................................. .................................... 11
Janela de texto ................................................ .................................................. .................................................. ................................. 11
Radio Data System / Radio Broadcast Data System .......................................... .................................................. ............................. 12
Upload de FTP ................................................ .................................................. .................................................. .................................... 13
Cliente de email SMTP ............................................... .................................................. .................................................. ......................... 13
Gravador de MP3 ................................................ .................................................. .................................................. ................................. 14
Opção de zoom ................................................ .................................................. .................................................. .................................. 14
Arquivos de script ................................................ .................................................. .................................................. ..................................... 15
Servidor web ................................................ .................................................. .................................................. .................................... 30
Controle de soquete ................................................ .................................................. .................................................. ............................... 34
Agendador de tarefas................................................ .................................................. .................................................. ............................... 35
Pontas ................................................. .................................................. .................................................. .............................................. 35
Opções SetProperty e ReadProperty .............................................. .................................................. .............................................. 36
3

FM Scope para Windows


O FM Scope é um aplicativo de PC desenvolvido principalmente para o controle automatizado P75 / P175 / P275, visualização e
arquivamento de dados. O aplicativo é fornecido para download gratuito no site.

A tela principal do FM Scope.

Recursos básicos

• Saída de dados gráficos, de texto, planilha e HTML


• Linguagem de script proprietária permite monitoramento totalmente automatizado e registro de dados
• Agendador de tarefas integrado, upload de FTP, MySQL e controle remoto TCP / IP de cliente de e-mail
• SMTP, servidor web simples integrado
• Download grátis - sem custos adicionais

requisitos de sistema

• Sistema operacional Windows


• Resolução da tela: mínimo de 800 x 600, recomendado 1280 x 1024 ou superior

Primeiros passos

1 No caso de conexão USB (ou adaptador USB para RS-232), instale primeiro o driver USB. Obtenha os
drivers USB mais recentes em http://www.ftdichip.com/Drivers/VCP.htm
A conexão RS-232 pura nunca requer nenhum driver extra.
2 Instale o FM Scope.
3 Conecte o equipamento e execute o FM Scope.
4 Selecione a porta COM onde o analisador FM está conectado e clique em Conectar.
Se você usar uma conexão USB, poderá encontrar o número da porta COM na configuração do driver do adaptador (geralmente nos
painéis de controle do Windows).
5 Certifique-se de que o analisador FM esteja ligado.
6 Adquira uma varredura de banda para obter uma lista de estações ou selecione uma frequência e clique em Tune. A frequência sintonizada deve ser
indicada na barra da estação.
7 Agora você está pronto.
4

Conexão com o dispositivo

Tipo de conexão - Selecione a primeira opção se usar uma conexão RS-232 ou USB.

RS232 / USB serial:


Porta serial - A porta COM à qual o analisador FM está conectado.
Velocidade - Selecione uma velocidade mais alta para uma resposta mais rápida. Funciona apenas com P275, versão de firmware 2.2 ou posterior.

Ethernet TCP / IP:


Servidor TCP / IP - Nome do host ou endereço IP do site remoto onde o analisador FM está conectado.
Porta TCP / IP - Use a mesma porta do site remoto.
Qualquer adaptador Ethernet-para-RS232 disponível comercialmente pode ser usado no local remoto. Também
existem conversores Ethernet para RS232 baseados em software.

Conectar - Abre a conexão.


desconectar - Fecha a conexão.

Preferências

Habilitar etapa de sintonia de 50 kHz - Verificar só se houver estações em sua área transmitindo em varredura de 0,05 MHz.
Código US PTY - Verifique se a sua localização pertence à área de transmissão dos EUA.
Atualização Online de Desvio e Sinal - Se marcado, os valores de desvio e sinal são atualizados continuamente.
Normalmente, esta opção deve ser habilitada para ver os valores reais!
Cores invertidas - Ativa o “modo noturno”, inverte todas as cores nos gráficos e janelas de texto.
Permitir várias instâncias - Permite o lançamento de mais instâncias do aplicativo ao mesmo tempo. Cada aplicativo deve ser instalado
separadamente em uma subpasta diferente.
Configurações comuns para todos os usuários do Windows - Alterna entre as configurações de aplicativo comuns para todos os usuários do Windows ou
mantendo configurações separadas para cada usuário.

Incluir dados RDS no Bandscan - Ativa a exibição de PI e PS em varredura de banda.


Sempre verifique se há PS e PI reais - Permite a leitura de dados RDS reais (PS e PI) para a estação, embora já sejam conhecidos ou
tenham sido inseridos manualmente. Não tem efeito se a opção anterior estiver desabilitada.

Limite e tolerância de potência de desvio / modulação FM - Limites de transmissão e tolerâncias de medição adicionais que são
fornecidos pelas autoridades em seu país. As configurações de tolerância não afetam a precisão da medição.

Modo preferido - O modo selecionado será usado na conexão. Não se aplica ao P275.
5

Modo de depuração - Se marcada, a execução do script será interrompida em caso de erros e uma mensagem de erro será exibida.

O aplicativo se lembrará dessas configurações automaticamente. As configurações são salvas na saída do aplicativo ou podem ser salvas
manualmente usando Arquivo - Salvar configurações agora.

Interruptores DIP

O termo nostálgico “DIP switches” representa uma forma de definir algumas configurações especiais do dispositivo. Essas configurações
não são diretamente acessíveis em alguns dispositivos, mas podem ser controladas a partir do PC.

Selecione Opções / interruptores DIP no menu principal.


Para corrigir as alterações não se esqueça de salvá-las na EEPROM (botão )

Atualmente é possível configurar a luz de fundo do LCD, passo de sintonia, sensibilidade de varredura, cancelamento de ruído entre estações
(silenciador e silenciamento de varredura). Para o P275 também é possível selecionar a faixa de frequência de operação e a largura de banda do filtro
MPX para medições de desvio de FM.
Outras opções, se presentes, devem ser desativadas.

Barra de ferramentas

Salve os dados da janela real, geralmente no formato de texto * .csv legível pelo MS Excel ou Calc.

Salvar a imagem do gráfico da janela real

Copiar a imagem bitmap da janela real para a área de transferência do Windows.

Mostrar a caixa de diálogo Preferências

Mostrar o Agendador de Tarefas

Listas de estações

Janelas em cascata

Janelas em mosaico horizontalmente

Janelas lado a lado verticalmente

Bloquear todas as janelas - proteger contra redimensionamento ou movimento indesejados

Adquira todos os dados estáticos do dispositivo

Salvar relatório HTML incl. gráficos SVG embutidos. O modelo é colocado no aplicativo lib pasta. Armazene as

configurações reais do dispositivo em sua memória EEPROM interna


6

Desvio de frequência, histograma e gráfico de distribuição acumulado

Adquirir - Adquire os dados de desvio de frequência do analisador FM.


Mudar - Alterna a exibição entre histograma e gráfico de distribuição acumulado.
Redefinir - Limpa todos os valores. Equivalente à opção Limpar dados no menu do analisador FM.
Mostrar Indicador de Barra - Mostra o indicador de barra de desvio de pico rápido com 1 seg. função de retenção máxima. A taxa de
atualização é de aprox. uma vez por 50 ms. Clicando na escala, a unidade pode ser alternada entre kHz e%. A opção 'Atualização online'
deve ser habilitada nas Preferências. Requer firmware versão 1.5 ou posterior!

O histograma de desvio de frequência reflete as características de modulação da estação capturadas ao longo do tempo. Ele não fornece e
não pode fornecer valores instantâneos, no entanto, usando os dados do histograma, a modulação é melhor descrita.

O histograma de desvio de frequência normalmente precisa que a estação seja sintonizada pelo menos alguns minutos antes de clicar no
botão Adquirir para fornecer dados relevantes.

Poder de modulação

O aplicativo pode coletar a potência de modulação (também conhecida como potência MPX, P m) dados e mostrá-los em
função do tempo. Ao clicar no gráfico, o usuário pode rastrear os dados.

Corre - Inicia a medição. Uma vez que a potência de modulação é calculada em 60 segundos, o primeiro valor estará disponível 1 minuto
após sintonizar a estação.
Pare - Pára a medição.
Eixo do tempo - Atribui tempo real ou 0:00 ao primeiro valor nos dados.
Incluir Desvio MÁX - Adiciona curva MAX de desvio.
Incluir Qualidade de Sinal - Adiciona curva de qualidade de sinal (0 a 5). Devido a uma melhor legibilidade, o valor é multiplicado por dois.
Claro - Limpa os dados de potência de modulação e a janela gráfica.
Poder de modulação instantânea (P m) - Mostra o último componente de um segundo da potência de modulação, ou seja, a
potência de modulação em média em um segundo. Este valor é útil especialmente para verificar e ajustar a modulação
algoritmos e configurações do processador. Ele está disponível quase imediatamente após a sintonia da estação. Observe que este valor não pode ser
comparado com o limite de potência de modulação devido ao curto período de média.
7

MPX

O sinal MPX (multiplex) é o sinal que vai para a entrada de modulação do transmissor FM. Normalmente
consiste em áudio L + R, tom piloto 19 kHz, áudio LR modulado em 38 kHz (método DSB-SC) e componentes
adicionais como RDS.

A página MPX inclui osciloscópio MPX, osciloscópio de áudio para ambos os canais, medidor de equilíbrio estéreo,
espectro MPX e níveis piloto e RDS e sua relação de fase.

Osciloscópio MPX Osciloscópio de áudio Balanço estéreo

Espectro MPX FFT

Corre - Inicia a medição.


Pare - Pára a medição.
solteiro - Obtém os dados em apenas um processo.
Claro - Limpa os dados e a janela gráfica.

Fs / 2 - Amplia a região de frequência inferior reduzindo a taxa de amostragem à metade ou original.


Alta resolução - Aumenta a resolução FFT. Funciona apenas com P275, versão de firmware 2.2 ou posterior.

Efeito da opção Fs / 2 nos eixos X.

Nota para o módulo FFT: 0 dB ref. para desvio de frequência de 75 kHz para sinal de modulação senoidal.
8

Portadora RF

A página da portadora de RF fornece acesso ao espectro da portadora de RF e ao histograma de sua frequência instantânea.

Executar / Parar - Inicia / interrompe a medição.


Claro - Limpa os dados e a janela gráfica.
mascarar - Mostra a máscara espectral conforme definido por REC 54-01 E, e define RBW para 10 kHz

Nota: 0 dB ref. para o nível total da portadora de RF não modulada.


Nota: Para mostrar o espectro da portadora, a opção Fs / 2 da página MPX deve estar desabilitada (desmarcada).

Método baseado em máscara de espectro e suas limitações

O aplicativo implementa o método baseado em máscara de espectro conforme definido em REC 54-01 E. Este método foi usado
especialmente no passado como uma verificação para indicar se o desvio de frequência de uma estação de transmissão FM excede
os limites. O método tem uma razão principalmente histórica. A implementação no FM Scope é baseada na Fast Fourier Transform
(FFT) em vez de varrer a banda; no entanto, a largura de banda de resolução (RBW) é adaptada para atingir a comparabilidade
máxima. Ao contrário dos analisadores de espectro, a implementação do FM Scope é insensível às flutuações do nível do sinal
porque a portadora de RF é amostrada após um limitador de amplitude.

O método de máscara é um teste simples "vai - não vai" baseado em uma máscara de espectro que não pode substitua medições
precisas do desvio de frequência de pico que foi descrito nas páginas anteriores. A essência do método é determinar se o gráfico
do espectro (no modo max hold) está dentro dos limites da máscara.

O período mínimo recomendado de gravação do sinal é:


• 5 minutos se a velocidade da conexão for 115200 bps
• 10 minutos se a velocidade da conexão for 19200 bps

O usuário deve garantir que nenhum resultado de medição seja avaliado, que tenha sido distorcido pela interferência de impulso.
Pelo mesmo motivo, a medição deve ser repetida duas vezes. A quantidade de interferência pode ser determinada a partir do nível
dos componentes do espectro na distância máxima da portadora (cerca de ± 160 kHz).
9

Uso avançado da análise de espectro de portadora de RF

A análise do espectro da portadora de RF é uma ferramenta muito útil para a medição muito precisa do desvio FM e índice de
modulação e para fazer ajustes rápidos e precisos de transmissores FM na freqüência de modulação única selecionada (tom seno).
O transmissor é ajustado para um desvio de frequência preciso com o auxílio da análise de espectro usando
o efeito chamado "portadora zero" e selecionando a frequência de modulação apropriada f m e índice de modulação β. Este método
requer um gerador de sinal sinusoidal conectado à entrada de modulação do transmissor FM.

O índice de modulação é expresso como:

β = ΔF / f m

A tabela a seguir fornece os índices de modulação de ordem mais baixa que resultam em portadora zero no espectro:

Ordem da portadora zero 1 2 3 4 5 6 n (n> 6)


Índice de modulação β 2,40 5,52 8,65 11,79 14,93 18,07 18,07 + π (n-6)

Na figura acima, uma frequência de modulação de 8,67 kHz e um índice de modulação de 8,65 (terceira portadora nula) exigem
um desvio de frequência de pico da portadora de 75 kHz.

Como podemos definir com precisão a frequência de modulação em um gerador de sinal e como o índice de modulação também é
conhecido com precisão, o desvio de frequência transmitido será igualmente preciso (normalmente melhor do que ± 0,3 kHz).

Procedimento recomendado para configurar um desvio conhecido:

1 Selecione o desvio necessário ΔF.


2 Selecione um índice de modulação β que forneça uma frequência de modulação compatível com a largura de banda de
modulação normal do transmissor a ser testado.
3 Defina a frequência de modulação para ΔF / β e monitore o espectro de saída do transmissor FM na página RF Carrier.
Aumente a amplitude do sinal de modulação do nível zero e pare quando a portadora estiver na ordem desejada de
zero.

Nota: O tom piloto e RDS devem ser desligados no equipamento de transmissão antes de fazer esta medição.
10

Bandscan

Este é um recurso adicional que mostra uma representação gráfica rápida da ocupação da banda e da força estimada do sinal. Ao clicar no
pico de uma estação, você pode sintonizar diretamente a estação. As estações mais fortes são copiadas para a lista real de estações e
mostradas na barra de estações, permitindo uma sintonização rápida.

Devido às características físicas do dispositivo, esse recurso não se destina à análise de cobertura nem à medição da intensidade do sinal
de referência! A varredura de banda mostra efetivamente uma lista visualizada de estações detectadas, em vez de mostrar uma impressão
simples do espectro de amplitude. A capacidade de detecção da estação é, entre outras, afetada pela largura de banda do sinal de RF, que
é fixada em 280 kHz, conforme necessário para a medição adequada das características de modulação.

Adquirir - Adquire o Bandscan. A digitalização é indicada na linha inferior do aplicativo.


Pare - Aborta a operação.
Resultado do Texto - Copia a lista de estações na janela Texto.

Estilo - Seleciona vários estilos de exibição.

Se os dados RDS estiverem habilitados para varredura de banda em Preferências, a varredura de banda pode mostrar PI e PS para cada estação. No entanto, pode
levar alguns minutos antes que a varredura de banda termine devido ao tempo adicional necessário para obter dados RDS.

A faixa de freqüência da varredura de banda pode ser alterada no editor de lista de estações. Consulte o manual do dispositivo para obter a faixa de frequência com
suporte.

Nota (somente P75): 0 dB ref. a aprox. 0,5 μV na entrada da antena. Máx. a faixa dinâmica é <80 dB. O valor do sinal no eixo
Y é estimado a partir dos valores de Sinal e Nível de Ruído da página 5 do LCD. A precisão não é especificada para esta
função.

Nota: A varredura de banda atualmente suporta apenas passo de sintonia de 100 kHz.
11

Listas de estações

A ideia das listas de estação é armazenar e alternar entre diferentes faixas de banda e predefinições de estação. Isso é especialmente útil se alguém
fizer o monitoramento em locais diferentes, pois pode sintonizar rapidamente as estações de interesse. Uma lista de estações separada também pode
ser uma fonte para alguns scripts de automação sem afetar as predefinições de estação dedicadas ao controle manual.

Para acessar as listas de estações, clique no botão .

Novo… - Crie um novo local (lista de estações). Podem ser criados até 15 locais.
Editar… - Edite o local. Permite editar, adicionar e excluir estações da lista.
Excluir - Exclua o local selecionado.
Bloquear desbloquear - Afeta como o recurso Bandscan processa a lista atual. As estações da lista bloqueada são mescladas com as estações da nova
varredura de banda. As estações da lista desbloqueada podem desaparecer se não forem reconhecidas na nova varredura de banda. No entanto, as
estações que foram inseridas ou editadas manualmente nunca desaparecerão da lista, independentemente do estado de bloqueio / desbloqueio.

-> estou aqui - Carregue o local selecionado.

Para preencher a lista com estações predefinidas, faça uma varredura de banda ou clique no botão Editar.

Para sintonizar a estação, selecione-a na barra de ferramentas Estação e clique em Tune.

Para mostrar os dados completos da lista de estações, clique no botão Saída de texto na janela Bandscan.

Nota: Por favor, consulte o manual do dispositivo para a faixa de frequência suportada.

Janela de texto

A janela Texto fornece principalmente uma das possibilidades de saída de texto para scripts de automação.

A janela de texto também serve como um console, ou seja, permite inserir comandos de script na linha inferior. Por exemplo, se você digitar saída
confirmado por <Enter>, o aplicativo é encerrado. Se você digitar% Tempo, a janela mostra o conteúdo da variável nomeada Tempo - tempo
real. Para usar o console, não deve haver nenhum outro script em execução.

A linguagem do script é descrita posteriormente neste manual.


12

Sistema de dados de rádio / Sistema de dados de transmissão de rádio

RDS Spy

O aplicativo FM Scope fornece funções básicas para trabalhar com dados RDS. Para análises RDS complexas em
tempo real, clique no RDS Spy botão.

Adquirir - Adquire os dados RDS. Para ver os dados reais, o modo deve ser definido como RDS.
Além disso, mensagens de erro ou aviso são incluídas no relatório se algum problema for encontrado nas configurações RDS.

Obter dados brutos - Captura dados RDS brutos em tempo real e permite salvá-los em um arquivo de texto no seguinte formato:

Bloco B
Bloco D

Bloco C Tipo de grupo


TP Bloco C
Bloco B
PTY
Bloco A Bloco D
(PI)

O comprimento máximo do buffer de captura é 128 kB. Cada grupo RDS consiste em 8 bytes (4 blocos de 2 bytes cada).
O arquivo pode ser lido em qualquer visualizador de texto e oferece total possibilidade de análise de fluxo RDS. Todo o conteúdo é
apresentado em representação hexadecimal e, quando aplicável, é utilizada a representação decimal adicional, binária ou ASCII. O arquivo
começa com grupos RDS mais antigos e termina com o último grupo RDS.
13

Upload de FTP

O protocolo de transferência de arquivos (FTP) é um protocolo de rede usado para transferir dados de um computador para outro por meio de
uma rede como a Internet. Esta operação pode ser totalmente automatizada por meio dos arquivos de script.

O recurso FTP Upload precisa ser definido antes do primeiro uso. No menu principal, escolha Options / FTP Upload.

Para usar o upload do FTP, crie um arquivo de script contendo comandos relacionados ao FTP (consulte a lista de comandos e os exemplos). Esse
recurso também pode ser combinado com o Agendador de tarefas para criar um sistema online totalmente automatizado de monitoramento
com saída baseada em www.

Cliente de email SMTP

O aplicativo inclui cliente SMTP simples que permite o envio de e-mails a um ou mais destinatários com arquivo (s) opcional (is) anexado (s). O
cliente de e-mail é controlado por script. A configuração dos parâmetros SMTP é necessária antes do uso. No menu principal, escolha Opções
/ Configurações de SMTP.

As informações sobre como configurar os parâmetros SMTP estão disponíveis no suporte de conta de e-mail ou no provedor de
conexão à Internet (ISP). O campo 'De' também deve ser especificado, geralmente é o endereço de e-mail associado à sua conta
de e-mail.

Se o seu ISP bloquear a porta SMTP 25 padrão, use a porta 587, por exemplo smtp.gmail.com:587
14

Gravador de MP3

O gravador de MP3 é um recurso bônus que funciona independentemente do dispositivo analisador de FM, mas também pode gravar a
saída de áudio dos fones de ouvido. O gravador precisa ser configurado antes do primeiro uso. No menu principal, escolha Opções /
Gravador de MP3.

Para usar o gravador de MP3, conecte a fonte de áudio à entrada da placa de som padrão usando qualquer cabo de áudio metálico. Crie um
arquivo de script contendo comandos relacionados ao gravador de MP3 (veja a lista de comandos na seção Arquivos de script / Lista de comandos /
Trabalhando com arquivos). Este recurso também pode ser combinado com o Agendador de tarefas para criar um sistema de gravação totalmente
automatizado.

Certifique-se de que o arquivo lame_enc.dll esteja na pasta do aplicativo. Este arquivo faz parte do pacote de instalação
ou pode ser baixado da rede.

Importante! A gravação de conteúdo de áudio pode violar as leis de direitos autorais!

Opção de zoom

Qualquer janela de gráfico pode ser maximizada em todo o espaço de trabalho. Acima disso, você pode ampliar seu gráfico com a função
de zoom, ou em outras palavras, ampliar uma determinada parte do gráfico. A opção de zoom usa o mouse e pode ser aplicada a todos os
gráficos no aplicativo se nenhum gráfico estiver sendo atualizado por novos dados.

Pressione a tecla CTRL e mantenha-a pressionada, clique com o mouse na área do gráfico e puxe um retângulo. Para diminuir
o zoom do gráfico, basta pressionar a tecla CTRL e clicar com o mouse no gráfico sem movê-lo.
15

Arquivos de script

O aplicativo oferece suporte a linguagem de script proprietária que amplia enormemente a área de uso e o número de recursos. O usuário pode
automatizar totalmente as medições e o armazenamento de dados. Os arquivos de script podem conter apenas algumas etapas, bem como grandes
blocos de procedimentos de aquisição e processamento de dados. A presença desse recurso e suas possibilidades podem ser comparadas com os
principais sistemas deste ramo.

A extensão dos arquivos de script é .fms. Para executar o script, escolha a opção correspondente no menu do aplicativo ou use a opção
de linha de comando, por exemplo:

fmscope.exe measure.fms

Cada linha do arquivo de script pode conter um comando. O interpretador de comandos não faz distinção entre maiúsculas e minúsculas. O comprimento máximo da
linha é 1.024 caracteres, o comprimento máximo total do script é 2.048 linhas.

Acesso rápido

O usuário pode executar o script rapidamente selecionando seu nome no submenu Script. Esse arquivo de script deve ser salvo na
subpasta do aplicativo chamada 'usr'.

Lista de comandos

Comando Significado Exemplo de uso

Uso geral e controle de aplicativos:

Abra uma porta COM (fornecida por


número e velocidade opcional) ou
conexão TCP (fornecida por host: porta) conectar (1)
para comunicação com o dispositivo. Se conectar (1,19200)
a conexão TCP falhar por qualquer
conectar motivo, reconexão automática conectar (localhost: 23)
as tentativas seguem com 20 seg. período. Se conectar (127.0.0.1:23)
nenhum argumento for especificado, os
últimos parâmetros de conexão serão usados. conectar
Se já houver uma conexão
estabelecido, nada acontece.

Feche a conexão.
desconectar Se nenhuma conexão for aberta, nada desconectar
acontece.

enviar (? F)
enviar Envie qualquer string para a porta serial. enviar (* B)
enviar (? C)

Defina uma propriedade do aplicativo com um


setproperty novo valor. A lista competitiva de propriedades é readproperty (TempValue, InvertColors)
fornecida nos Anexos. setproperty (InvertColors, 0)
. . . seu script aqui ...
Leia uma propriedade do aplicativo e setproperty (InvertColor,% TempValue)
readproperty
coloque seu valor em uma variável.

Mude a exibição do FM Scope para a página


page.show (janela) especificada como page.show (2)
parâmetro (0 a 6).

Mostra uma janela de diálogo com mensagem


conjunto (variável 1)
Mostrar mensagem definida pelo usuário. Útil para fins de
showmessage (valor da variável:% variável1)
depuração.
16

Medidas:

Selecione e carregue o local (lista


de estações) por seu nome.
location.load Se nenhum local com esse nome for location.load (MyLocation1)
encontrado, ele é criado
automaticamente.

Bloqueie a localização atual (modo de


location.lock location.lock
mesclagem para bandas).

location.unlock Desbloqueie a localização atual. location.unlock

Sintonize uma frequência especificada


afinação melodia (89,6)
em MHz.

Defina o modo de operação


setmode setmode (0)
para Medição (0) ou RDS (1).

pegar o piloto Obtenha o valor do desvio do piloto. pegar o piloto

getrds Obtenha o valor de desvio RDS. getrds

getquality Obtenha o valor da qualidade do sinal. getquality

Obtenha o valor AM atual em%


getamod getamod
(somente P175 / P275).

Obtenha o nível de sinal atual getlevel


getlevel
(somente P175 / P275). textwindow.addline (o nível é% level)

getnoise Obtenha o ruído atual getnoise

Obter fase piloto para RDS


getphase getphase
valor da diferença.

Adquira frequência real


frequencydeviation.acquire dados de desvio (incl. frequencydeviation.acquire
histograma).

Alterne a exibição entre


desvio de frequência.histograma histograma (1) e gráfico de desvio de frequência.histograma (1)
distribuição acumulado (0).

Ative (1) ou desative (0) a


frequencydeviation.showbar exibição da barra de desvio de desvio de frequência.showbar (0)
frequência instantânea.

Execute a medição de potência


modulationpower.run modulationpower.run
de modulação.

Pare a medição da potência de


modulationpower.stop modulationpower.stop
modulação.

Limpe os dados de potência de


modulationpower.clear modulationpower.clear
modulação.

modulationpower.realtime Ative (1) ou desative (0) a modulationpower.realtime (1)


exibição de tempo real /
modulationpower.includedeviation modulationpower.includedeviation (1)
desvio MAX / qualidade do sinal na
potência de modulação
modulationpower.includesignal modulationpower.includesignal (1)
gráfico.

mpx.single Obtenha dados MPX e RF reais. mpx.single

Execute a medição relacionada à


mpx.run mpx.run
portadora de MPX e RF.

Pare a medição relacionada à


mpx.stop mpx.stop
portadora de MPX e RF.
17

mpx.clear Limpe os dados da MPX. mpx.clear

Defina o modo normal (0) ou Fs / 2 (1) para


mpx.doubletimebase mpx.doubletimebase (0)
MPX.

Defina o modo normal (0) ou alta


mpx.highresolution mpx.highresolution (1)
resolução (1) para MPX.

rf.run Igual a mpx.run rf.run

rf.stop Igual a mpx.stop rf.stop

rf.clear Limpe os dados de RF. rf.clear

rf.maxhold Modo de retenção máxima do espectro de RF. rf.maxhold (1)

rf.mask Exibição de máscara espectral. rf.mask (1)

Exibição instantânea do histograma da


rf.histogram rf.histograma (1)
portadora RF.

rds.getdata Obtenha dados RDS. getrdsdata

rds.getstatistics Obtenha estatísticas de grupo RDS. getrdsstatistics

rawdata.start Comece a capturar dados RDS brutos. rawdata.start

rawdata.stop Pare de capturar dados RDS. Limpe o rawdata.stop

rawdata.clear buffer de dados RDS brutos. Adquira a rawdata.clear

bandcan.acquire varredura de banda real. bandcan.acquire

Selecione o estilo da varredura de banda. O


bandcan.style bandcan.style (3)
valor 0 (zero) corresponde à primeira opção.

Ative (1) ou desative (0) a grade de varredura de


bandascan.grid bandascan.grid (0)
banda.

Ative (1) ou desative (0) a indicação de


bandcan.showfrequency bandcan.showfrequency (1)
frequência acima do pico da estação.

Ative (1) ou desative (0) a indicação


bandascan.showpi Bandascan.showpi (0)
RDS PI.

Ative (1) ou desative (0) a indicação


bandascan.showps bandascan.showps (1)
RDS PS.

Defina a frequência real da 2ª FI como


normal. Permite medir os deslocamentos da
imf.setasnormal imf.setasnormal
portadora e mostrar este valor no Relatório.

imf.get Obtenha a frequência real da 2ª FI. imf.get

Área de transferência do Windows:

Copie o bitmap de desvio de frequência


desvio de frequência.copybitmap desvio de frequência.copybitmap
para a área de transferência.

Copie o bitmap de potência de modulação


modulationpower.copybitmap modulationpower.copybitmap
para a área de transferência.

Copie o bitmap MPX para a área de


mpx.copybitmap mpx.copybitmap
transferência.

rf.copybitmap Copie o bitmap RF. rf.copybitmap

Copie o bitmap da digitalização de banda


bandascan.copybitmap bandascan.copybitmap
para a área de transferência.
18

Trabalho com arquivos:

Salvar um texto em um
savetext savetext (% date.txt, OK)
arquivo (substituir).

Salvar um texto em um
appendtext appendtext (% date.log,% crPilot:% pilot)
arquivo (anexar).

Carrega um arquivo de texto loadtext (control.txt, var1)


loadtext
na variável especificada. loadtext (logo.svg, inlinesvg)

Salve a frequência
frequencydeviation.savedata frequencydeviation.savedata (histogram.txt)
dados de desvio.

Salve a frequência
frequencydeviation.savegraph frequencydeviation.savegraph (% date.svg)
gráfico de desvio. *

Salve o gráfico de potência de


modulationpower.savegraph modulationpower.savegraph (pm.jpg)
modulação. *

Salve os dados de potência de


modulationpower.savedata modulationpower.savedata (pm.txt)
modulação.

mpx.savedata Salve os dados FFT. mpx.savedata (fft.txt)

mpx.savegraph (mpx.jpg)
mpx.savegraph Salve o gráfico MPX. *
mpx.savegraph (inlinesvg)

rf.savegraph Salve o gráfico RF. * rf.savegraph (rf.jpg)

bandascan.savegraph (% date.bmp)
bandascan.savegraph Salve o gráfico de varredura de banda. *
bandascan.savegraph (bs.jpg, 640x480)

Salve os dados RDS (incluindo


rds.savedata rds.savedata (rds data% rdsps.txt)
estatísticas do grupo)

rawdata.save Salve os dados RDS brutos. rawdata.save (rds raw data.txt)

Salve o conteúdo real da janela


textwindow.savedata textwindow.savedata (c: \ text.txt)
de texto em um arquivo.

criar relatório Crie e salve o relatório básico. createreport (relatório% freq.txt)

Execute a gravação de MP3


para o arquivo e do
recorder.run canal (is) especificado (s). O recorder.run (c: \ rec.mp3, mono)
o (s) canal (is) pode (m) ser

esquerdo, direito, mono ou estéreo.

recorder.stop Pare o gravador de MP3. recorder.stop

Remover nome de arquivo inválido


personagens do segundo checkfilename (fn,% freq% rdsps)
checkfilename
argumento, armazena o resultado na savetext (C: \% fn.txt,% rdspi% cr% rdsps)
variável do primeiro argumento.

Salve as configurações do aplicativo


salvar configurações Salvar configurações
agora.

* Os seguintes formatos gráficos (extensões de arquivo) são suportados: bmp, jpg, wmf, svg. A resolução opcional da imagem pode ser
especificada no formato (largura) x (altura). Veja o exemplo de uso. Um nome de arquivo especial inlinesvg carrega a imagem na variável%
inlinesvg.
19

Enviando email:

email para Endereço (s) do destinatário. email.to ( info@radio.com , luis@radio.com )

assunto do email Assunto da mensagem email.subject (FM Scope Message)

corpo do e-mail Corpo da mensagem email.body (Silêncio detectado em% de frequência!)

Anexe o arquivo especificado. Para anexar


mais arquivos, use este comando
email.attachfile email.attachfile (C: \ monitor \ histogram.jpg)
repetidamente. Depois que o e-mail é enviado,
a fila do anexo é limpa.

Envie o email.
Não se esqueça de definir as configurações
email.send email.send
de SMTP no submenu Opções antes de
enviar qualquer e-mail!

Controle de fluxo de script:

Execute qualquer aplicativo, abra qualquer


documento ou execute outro script. Parâmetro (s)
executar (C: \ batch.bat)
opcional (is) de linha de comando podem ser
execute (notepad.exe, text.txt)
especificados.
executar executar (comando, / c md c: \ data)
Se nenhum caminho for especificado, o caminho padrão
dormir (2)
é% appfolder \.
execute (usr \ another_script.fms)
Faz não espere até que o aplicativo
termine!

Pare de executar os próximos comandos por um


dormir dormir (30)
tempo especificado em segundos.

Incluir outro arquivo de script (substituindo o


comando include) neste arquivo de script
incluir (savedata.fms)
antes processando o script.
incluir
Se o caminho relativo do arquivo for inserido, o
incluir (report_svg.fms)
aplicativo pesquisa primeiro na pasta de scripts e,
em seguida, no aplicativo lib pasta.

Vá para outra linha do script. A linha é


repetir:
identificada por uma etiqueta única seguida
vamos para ...
por um par de pontos. No argumento goto, o
ir para (repetir)
pitpair é omitido.

Sub-rotina de chamada. A primeira linha da sub-rotina


é identificada por um rótulo exclusivo seguido por um ligar (myproc)
par de pontos. No argumento de chamada, o par pit é ...
ligar
omitido. Pare
O aninhamento de chamadas de várias sub-rotinas é
permitido. myproc:
...
Retorne da sub-rotina. Continue no próximo Retorna
Retorna
comando após a última chamada.

saída Saia do FM Scope. saída


20

Permite a execução condicional de


fragmentos de script.
Apenas uma condição é permitida por
um comando if.

Apenas estes operadores são permitidos: Se (% conectado = 0)


> maior que, showmessage (não conectado!)
<menor que, Pare
> = maior ou igual a, <= fim se
menor ou igual a,

= igual a (comparação numérica),! = getquality


diferente de (cmp numérico), $ = if (% quality> 3)
E se
igual a (cmp da string), ligar (myproc)
@ incluído em (string cmp.), fim se
& bit a bit e.
getfrequency
Operadores lógicos como e, ou, não if (% freq @ 09630 10600 10710)
não são permitidos, no entanto o aninhamento de return
vários E se comandos é possível. fim se

Se a variável não contém um valor


numérico válido, seu valor
numérico é considerado -1 para
fins de comparações numéricas.

Não execute os próximos comandos no


Pare arquivo de script. Pare de processar o Pare
script.

Saída da janela de texto:

Adicione uma nova linha na parte inferior da


textwindow.addline textwindow.addline (Esta é uma nova linha)
janela de texto.

Reescreva a última linha na janela


textwindow.rewriteline textwindow.rewriteline (novo texto em% time)
de texto.

Adicione um texto ao final da última


textwindow.addtext textwindow.addtext (A linha agora termina aqui.)
linha.

Limpe todo o conteúdo da janela


textwindow.clear textwindow.clear
de texto.

Trabalhando com FTP:

Conecte-se ao servidor FTP especificado nas


ftp.connect ftp.connect
configurações de Upload de FTP.

Coloque o arquivo no servidor.


ftp.put (% date.log)
Opcionalmente, o nome do arquivo no
ftp.put ftp.put (% freq.jpg, histogram.jpg)
servidor pode ser diferente do nome do
ftp.put (% date.log, resultados / log.txt)
arquivo local.

Crie um novo diretório no servidor ftp.makedir (logs)


ftp.makedir
FTP. ftp.makedir (logs /% date)

ftp.disconnect Desconecte-se do servidor FTP. ftp.disconnect


21

Trabalhando com HTTP:

Acesse o URL especificado,


opcionalmente, passe parâmetro (s) usando
httpget httpget (http://site.com/log.php?s=%freq)
o método GET. O conteúdo do site acessado
não é armazenado em nenhum lugar.

Trabalhando com variáveis:

Inicia uma variável (tipo geral) e atribui um valor à conjunto (variável 1)


variável. Se nenhum valor for especificado, um valor definir (msg, contando ...)
0 será atribuído. repetir:
Qualquer variável que não seja definida primeiro tem permanentemente
showmessage (% msg% variable1)
definir um valor de -1.
inc (variável 1)
Quando necessário o valor da variável, um prefixo% deve ser
if (% variável1 <5)
adicionado.
ir para (repetir)
As variáveis permanecem na memória da aplicação até fim se
sua saída ou aplicação do comando de reset.

Se houver um número armazenado na variável, aumente a


variável pelo valor especificado. Este valor também pode definir (hora de início,% data% hora)

inc ser negativo ou ponto flutuante. Se nenhum valor for ...

especificado, a variável será aumentada em 1. showmessage (em execução desde% starttime)

input (digite o nome do seu local) se


Permite que o usuário insira um texto (ou número). (% inputvalid = 1)
entrada Se qualquer texto for inserido, uma variável inputvalid é checkfilename (fn,% inputtext)
definida como 1 e a variável inputtext contém o texto. bandascan.savegraph (% fn% time.jpg)
fim se

Mostra a caixa de diálogo padrão para salvar o arquivo. Filtro


saveialog (*. jpg)
opcional pode ser especificado.
if (% inputvalid = 1)
saveialog Se um nome de arquivo for confirmado, uma variável inputvalid
bandascan.savegraph (% inputtext)
é definida como 1 e a variável inputtext contém o nome do
fim se
arquivo (incl. Caminho).

Mostra a caixa de diálogo de arquivo aberto padrão. Filtro


opendialog
opcional pode ser especificado.
if (% inputvalid = 1)
opendialog Se um nome de arquivo for confirmado, uma variável inputvalid
executar (% inputtext)
é definida como 1 e a variável inputtext contém o nome do
fim se
arquivo (incl. Caminho).

Salve o conteúdo da variável especificada no disco. A


Salve • variável salva desta forma está disponível para todos os salvar (contador)
scripts usando o comando carregar.

Carrega o conteúdo da variável especificada do


carga (contador, 0)
disco. Se nenhuma variável com aquele nome foi
carregar
salva antes, um valor padrão atrás da vírgula é
carga (contador,% contador)
atribuído.

Como o carregar comando, mas carrega o conteúdo da


variável do arquivo externo especificado. O formato do
arquivo externo é o seguinte:
loadexternal loadexternal (d: \ control.txt, contador, 0)
[Global]
variável1 = valor1
variável2 = valor2 etc.

Remova todas as variáveis da RAM. É preferível


chamar este comando no início de seu script
Redefinir Redefinir
sempre que você não precisar manter variáveis
criadas por scripts anteriores.
22

Controle de soquete:

Redireciona a string para o cliente de controle de


get (L:% lmaxdb, R:% rmaxdb) get
obter soquete. Se o eco do terminal estiver habilitado, a string
(% pilot)
é seguida por CR + LF.

Quebra qualquer script em execução. O comando


+++ relacionado ao controle de soquete. Também deve ser +++
validado por <Enter>.

Cliente MySQL:

Conecte-se ao servidor
mysql.connect MySQL especificado em mysql.connect
Configurações do cliente MySQL.

Envia uma consulta ao banco de


dados usando a sintaxe SQL. mysql.query (CREATE TABLE table1 (column1 FLOAT))
mysql.query Não permite recuperar
dados do banco de mysql.query (INSERT INTO table1 VALUES (% maxhold_))
dados.

Desconecte-se do
mysql.disconnect mysql.disconnect
Servidor MySQL.

As seguintes tags podem ser usadas para criar conteúdo dinâmico, para obter valores do sistema ou para inserir caracteres especiais:

Marcação Significado

%Tempo Hora real no formato HH-NN-SS Data


%data real no formato AAAA-MM-DD
% timestamp Número de segundos que se passaram desde 1.1.2000
%frequência Frequência em formato longo (87,5 MHz)
%frequencia Frequência em formato compacto (08750) Compensação de

%Deslocamento portadora (se obtida anteriormente por imf.get)

% offsetnoref Deslocamento da operadora (se obtido anteriormente por imf.get) sem mencionar a frequência de
referência

%piloto Desvio do piloto


% rds Desvio RDS
%Estágio Diferença de fase piloto para RDS
%qualidade Qualidade do sinal (se obtido anteriormente por getquality)

% amod Modulação AM em% (se obtido anteriormente getamod, P175 / P275 apenas) Nível de

%nível sinal em dBμV (se obtido anteriormente por getlevel, P175 / P275 apenas) Ruído

%ruído conforme mostrado no LCD (se obtido anteriormente getnoise)

% abovelimit % acima dev. limite (função de histograma)


% devtotallimit Limite de desvio incl. tolerância (conforme definido em Preferências)

% maxat MAX em (função de histograma)

% totalsamples Número total de amostras (função de histograma)


% min Desvio MIN Retenção
% devave Desvio AVE
% maxhold Desvio MAX (o valor atualizado a cada segundo) 10 seg.
% tsmaxhold MAX (se obtido anteriormente por envio (? X)) Potência
% pmlast de modulação - último valor
% pmmax Potência de modulação - valor MAX
23

% pmmin Potência de modulação - valor MIN


% pmave Potência de modulação - valor AVE
% pmabovelimit % do tempo a potência de modulação está acima do limite

% pmtotallimit Limite de potência de modulação incl. tolerância (conforme definido em

% lmaxdb Preferências) Máx. pico de dB no canal esquerdo (janela MPX)

% rmaxdb Máx. pico de dB no canal direito (janela MPX)


%Saldo Equilíbrio do canal linear R / L (se obtido anteriormente por * B seguido por? C) CR +

% cr LF (fim da linha)

%aba Tabulador
% rdspi RDS PI
% rdsps RDS PS
% rdsrt RDS RT
% rdspty RDS PTY
% rdsms RDS M / S
% rdstp RDS TP
% rdsta RDS TA
% rdsdi RDS DI
% rdsaf RDS AF
% rdseon RDS EON
% rdsecc RDS ECC
% rdsptyn RDS PTYN
% rdsstat1 Estatísticas de Grupo RDS 0A a 7A
% rdsstat2 Estatísticas de Grupo RDS 8A a 15A
% rdsstat3 Estatísticas de Grupo RDS 0B a 7B
% rdsstat4 Estatísticas de Grupo RDS 8B a 15B
% rdserr Erros e avisos de configurações RDS
%conectado Retorna 1 se a porta de comunicação está aberta ou a conexão TCP está ativa; caso
contrário, retorna 0.
%por cento Insere o sinal% sem processar a expressão subsequente como variável.
%localização Nome do local atual
% stationcount Número total de estações detectadas na varredura de banda

% stationindex Aponta para a estação de interesse de todas as estações detectadas na varredura de banda. Pode ser de
1 a% stationcount.

% station.frequency Frequência da estação apontada pelo% stationindex


- formato longo (87,5 MHz)
% station.freq Frequência da estação apontada pelo% stationindex
- formato compacto (08750) adequado para uso em nomes de arquivo

% station.level Nível de recepção da estação apontado pelo% stationindex


% station.noise Ruído de recepção da estação apontado pelo% stationindex
% station.rdspi RDS PI da estação apontado pelo% stationindex
% station.rdsps RDS PS ou descrição da estação apontada por% stationindex Dados
% station.userdata opcionais do usuário da estação apontada por% stationindex O texto
%Entrada de texto inserido usando consulta de entrada ou caixa de diálogo
% inputvalid Contém 1 se algum texto foi inserido usando a consulta de entrada ou caixa de diálogo; caso
contrário, contém 0.

% tempfolder Uma pasta do Windows onde os arquivos temporários podem ser

% appfolder colocados na pasta do aplicativo FM Scope, sem delimitador final (\)


24

% lasterror Contém um texto do último erro de execução do script. Gravável pelo usuário.

% tcpconfailed Retorna 1 se um problema de conexão TCP ou desconexão manual ocorreu durante o


processamento do script. Gravável pelo usuário - se usado no script, deve ser definido
como 0 antes de se comunicar com o dispositivo. Após o término da comunicação, a
variável% tcpconfailed pode ser testada por E se
comando. Os resultados da medição devem ser descartados se o valor 1 for
detectado.
% inlinesvg Mantém a imagem SVG no formato necessário para inserção embutida em HTML, ou
seja, remove todo o conteúdo fora do par <svg>… </svg>.
Veja também savégrafo e loadtext.

Importante!
As tags acima são reservadas e são processadas preferencialmente. Isso significa que nenhum nome de variável pode começar com qualquer uma
dessas tags reservadas, caso contrário, pode produzir resultados inesperados.

Para evitar a exibição da unidade, coloque _ atrás da etiqueta. Por exemplo,% maxhold irá mostrar 75,0 kHz mas% maxhold_ irá
mostrar 75,0 só.

Observação:

A linguagem do script é estritamente otimizada para uso com o equipamento analisador de FM. O mecanismo de script
mantém a simplicidade, por exemplo, não suporta operações matemáticas nos valores medidos.
25

Arquivo de script exemplo 1

(Meça uma estação, salve o relatório básico.)

setmode (0)
melodia (100,5)
dormir (600)
frequencydeviation.acquire
pegar o piloto

getrds
getphase
createreport (c: \ reports \% date% time -% frequency.txt)

Arquivo de script exemplo 2

(Meça uma estação, salve alguns valores em um arquivo de registro a cada minuto em um loop infinito.)

setmode (0)
melodia (91,9)
savetext (log.txt, arquivo de log de% frequência começando em% date% time% cr)
repetir:
dormir (60)
pegar o piloto

getrds
appendtext (log.txt, <% date% time> Desvio do piloto:% piloto, desvio RDS:% rds% cr) goto
(repetir)

Arquivo de script exemplo 3

(Sintonize periodicamente as estações de interesse, anexe algumas informações RDS aos arquivos de texto, cada estação um arquivo)

setmode (1)
repetir:
melodia (91,9)
chamar (saveata)
melodia (95,8)
chamar (saveata)
melodia (104,2)
chamar (saveata)
ir para (repetir)

guardar dados:

dormir (180)
rds.getdata
texto anexado (% freq.txt,% date% time% cr)
appendtext (% freq.txt, PS:% rdsps, PTY:% rdspty, TA:% rdsta,% crRT:% rdsrt% cr% cr) return
26

Arquivo de script exemplo 4

(Sintonize uma estação, obtenha dados RDS e salve-os.)

setmode (1)
melodia (91,9)
dormir (60)
rds.getdata
rds.getstatistics
rds.savedata (rds% freq -% rdsps.txt)

Arquivo de script exemplo 5

(Obtenha o deslocamento da transportadora no relatório.)

melodia (87,9) ; esta será a estação de referência


dormir (3)
imf.setasnormal

melodia (107,1)
dormir (3)
imf.get

createreport (C: \ report - 10710.txt)

melodia (104,3)
dormir (3)
imf.get

createreport (C: \ report - 10430.txt)


27

Arquivo de script exemplo 6

(Adquira uma varredura de banda, meça as estações de interesse e coloque todos os resultados no servidor ftp. O upload do FTP deve ser
definido antes, incluindo a pasta local c: \ fmscope \ data \. As pastas devem ser criadas antes.)

bandcan.acquire
bandascan.savegraph (c: \ fmscope \ data \ bandscan.jpg)

ftp.connect
ftp.put (bandscan.jpg)
ftp.disconnect

melodia (89,1)
chamar (processdata)
melodia (91,4)
chamar (processdata)
melodia (92,2)
chamar (processdata)
melodia (97,5)
chamar (processdata)
melodia (104,1)
chamar (processdata)
Pare

processdata:
setmode (0)
dormir (60)
modulationpower.run
dormir (900)
modulationpower.stop
modulationpower.savegraph (c: \ fmscope \ data \ pm% freq.jpg)
frequencydeviation.acquire
desvio de frequência.histograma (1)
desvio de frequência.savegraph (c: \ fmscope \ data \ hi% freq.jpg)
desvio de frequência.histograma (0)
desvio de frequência.savegraph (c: \ fmscope \ data \ dp% freq.jpg)
mpx.run
dormir (10)
mpx.stop
mpx.savegraph (c: \ fmscope \ data \ mx% freq.jpg)
setmode (1)
dormir (60)
rds.getdata
rds.getstatistics
rds.savedata (c: \ fmscope \ data \ rd% freq.txt)
relatório de criação (c: \ fmscope \ data \ rp% freq.txt)

ftp.connect
ftp.put (hi% freq.jpg)
ftp.put (dp% freq.jpg)
ftp.put (mx% freq.jpg)
ftp.put (pm% freq.jpg)
ftp.put (rd% freq.txt)
ftp.put (rp% freq.txt)
ftp.disconnect

Retorna
28

Arquivo de script exemplo 7

(Monitore permanentemente a estação, envie e-mail se não houver sinal ou áudio por mais de um minuto.)

melodia (106,2)
setmode (0)
set (signal_counter)
set (audio_counter)

repetir:
getquality
enviar (? X)

if (% qualidade <3)
inc (contador_do_sinal)
ir para (estágio 2)
fim se
set (signal_counter)

stage2:
if (% tsmaxhold <25)
inc (audio_counter)
ir para (estágio 3)
fim se
set (audio_counter)

stage3:
if (% signal_counter = 5)
ligar (enviar_email)
fim se
if (% audio_counter = 5)
ligar (enviar_email)
fim se

dormir (10)
ir para (repetir)

enviar email:
email.to ( info@radio.com , luis@radio.com )
email.subject (FM Scope Message)
email.body (Falha detectada em% frequência!)
email.send
Retorna
29

Arquivo de script exemplo 8

(Salve as estações da varredura de banda em um arquivo Excel.)

bandcan.acquire
definido (índice da estação, 1)

definir (nome do arquivo, Bandscan% date% time.csv)


savetext (% filename, "Frequency"; "Level [dBuV]"; "RDS PI"; "RDS PS"% cr) rpt:

if (% stationindex>% stationcount)
Pare
fim se
appendtext (% filename, "% station.frequency"; "% station.level"; "% station.rdspi"; "% station.rdsps"% cr) inc
(stationindex)
ir para (rpt)

Arquivo de script exemplo 9

(Meça as estações da varredura de banda, salve histogramas se houver amostras suficientes.)

bandcan.acquire
definido (índice da estação, 1)

setmode (0)

rpt:
if (% stationindex>% stationcount)
statusbartext (concluído).
Pare
fim se
statusbartext (Medindo% station.frequency% station.rdsps ...) tune (%
station.frequency)
dormir (120)
frequencydeviation.acquire
if (% totalsamples <20)
ir para (pular)
fim se
checkfilename (nome do arquivo,% freq% station.rdsps)
desvio de frequência.savegraph (% nomedoarquivo.jpg)
pular:
inc (stationindex)
ir para (rpt)

Arquivo de script exemplo 10 (usuários avançados)

(Trabalhando com array - um conjunto de variáveis cujos nomes são criados dinamicamente usando outra variável)

conjunto (índice, 0)

rpt:
if (% índice> 9)
Pare
fim se

conjunto (item% índice, item% índice índice)


textwindow.addline (o valor do item% index é% item% index)

inc (índice)
ir para (rpt)
30

servidor web

O software inclui servidor web interno, o conteúdo é disponibilizado para a operadora por meio de um navegador web padrão ou até mesmo
de um dispositivo móvel. O servidor da web suporta a exibição de conteúdo dinâmico especial, bem como formulários HTML (GET, POST) para
definir o conteúdo variável e controlar um script. O controle básico é implementado sem a necessidade de qualquer execução de script. O
servidor web não se destina à apresentação pública dos resultados e não oferece suporte a PHP ou ASP.

Antes de tentar usar o servidor da web, ele deve ser configurado primeiro em Opções / Servidor da web:

Habilitar Servidor Web Interno - Ativa o servidor web.


Porta TCP / IP - O número da porta na qual o servidor fornece o conteúdo. O padrão é 80.
Dir local - Se não estiver vazio, especifica o diretório raiz da web do usuário em seu disco rígido local. Normalmente, esta é a pasta que
contém o arquivo principal index.htm.

Autenticação - A autenticação deve ser habilitada se o servidor web puder ser acessado da Internet pública.

Limite de acesso - Se ativado, o servidor da web permite o acesso a apenas um cliente por vez. O acesso é negado após decorrido
o tempo máximo. O mesmo cliente pode se conectar novamente após atingir o tempo de liberação da última operação ativa. Isso
permite que outro cliente se conecte. Cada cliente é identificado por endereço IP e agente http.
31

Depois de configurado, abra o navegador da web e digite o endereço http: // localhost / ( para porta padrão 80) ou http:
// localhost: <porta> / ( para outras portas):

Se os valores não forem atualizados automaticamente, certifique-se de que a Atualização Online de Desvio e Sinal esteja
habilitada em Opções / Preferências / Geral e seu navegador suporte JavaScript.
32

Dica: os parágrafos a seguir são direcionados para aqueles que sabem escrever páginas da web dinâmicas.

Conteúdo dinâmico

Os parâmetros em tempo real podem ser consultados no site por meio do uso de tags dinâmicas. Essas tags são equivalentes às tags e
variáveis dinâmicas do script. Além disso, a sintaxe é a mesma. Quando as tags dinâmicas são colocadas em uma página da web HTML, os
valores reais correspondentes são enviados pelo servidor da web quando a página é exibida. Sintaticamente, as tags dinâmicas são nomes de
variáveis prefixados por um único caractere%.

Os seguintes arquivos podem incluir tags dinâmicas: .HTM, .HTML, .JS, .INC, .XML, .CSS, .XHTML

O site do usuário é composto por arquivos HTML padrão, que podem conter links para sites internos ou externos, scripts Java,
arquivos gráficos e muito mais. Usando as tags dinâmicas, a página também pode ser usada para exibir e atualizar
dinamicamente os valores medidos, variáveis de script etc. Por exemplo, para exibir o valor do nível piloto atual, insira% pilot em
qualquer lugar da página, como no exemplo a seguir:

<HTML>
<HEAD>
<TITLE> AMOSTRA DE PÁGINA </TITLE>
</HEAD>
<BODY>
<h1>% piloto </h1>
</BODY>
</HTML>

Ao veicular esta página inicial, o servidor da web substitui a string% piloto na página veiculada pelo valor atual desse
parâmetro.

Nota: O servidor da web não pode mostrar nenhum valor medido que não tenha sido recebido anteriormente do dispositivo.
Ao servir o conteúdo, o servidor da web normalmente não atualiza os valores do dispositivo, mas usa os valores mais recentes
conhecidos.

Endereços reservados

Os seguintes endereços fornecem conteúdo especial:

Endereço Descrição Exemplo


/ getvar / <variablename> Retorna o conteúdo da variável especificada (tag http: // localhost / getvar / time
dinâmica) em formato de texto simples.

/ getstr / <string> Retorna a string em formato de texto simples, com todas as http: // localhost / getstr /
tags dinâmicas substituídas pelo conteúdo real. A string deve O + tempo + é +% 25tempo
ser codificada por URL. + e + data + é +% 25data
/ getimg / <imagename> Retorna a imagem do gráfico especificada no formato SVG. <img src = ”/ getimg / mpx”>
O nome da imagem pode ser um dos seguintes: desvio de
frequência, poder de modulação, mpx, rf, varredura de
banda.

/ getimg / <imagename> / O mesmo que o anterior, mas você especifica também a <img src = ”/ getimg / mpx /
<resolução> resolução da imagem em pixels (largura x altura, sem espaços). 640x480 ”>
33

Variáveis reservadas

Há uma variável reservada chamada 'webaction' que é usada para realizar o controle básico do dispositivo. Assim que o
site retornar essa variável por meio do método GET ou POST, a seguinte operação será realizada, dependendo do conteúdo
da variável:

'Webaction'
Ação igual a
conteúdo variável
H Desvio de frequência / Adquirir

P energia de modulação / Funcionar

p Modulação Power / Stop


O MPX / Run
o MPX / Stop
D RDS / RBDS / Adquirir
UMA Varredura de banda / aquisição

G mudar para o modo de medição,


g mudar para o modo RDS, parar o
S script atual
s reinicie o script atual
frequência inserindo a frequência e clicando
por exemplo 91,9 no botão Tune

Para algumas operações, a variável interna chamada 'webwaitingfor' indica se a operação foi concluída ou não:

A operação a seguir ainda não


% webwaitingfor
foi concluída
H Desvio de frequência / Adquirir
D RDS / RBDS / Adquirir
UMA Varredura de banda / aquisição

F sintonizando em uma nova frequência

O estado básico do aplicativo FM Scope é indicado para o site por meio da variável chamada 'atualização':

% atualizando Significado

bit 0 Modulação Power running (1) ou não (0)


bit 1 MPX running (1) ou não (0)
bit 2 Indicador de barra de desvio de pico rápido ativo (1) ou não (0)

bit 3 Modo de medição (0) ou outro modo (1)

Interação com o script em execução

O servidor da web fornece não apenas a visualização do valor e o controle básico, mas também pode assumir o controle de um script
FM Scope. O pré-requisito é que o script processe as variáveis passadas do site. Normalmente, o site fornece um formulário para a
entrada do usuário. Depois que o usuário (ou JavaScript) envia os dados do formulário pelo método GET ou POST, o script em
execução no FM Scope detectará a alteração do conteúdo variável e fará as operações correspondentes. Todos os parâmetros
passados do formulário são visíveis para o script com o mesmo nome da variável, ou seja, o conteúdo do parâmetro pode ser
acessado por% parâmetro.

Resumo: O site não pode executar comandos de script diretamente, mas se um script já estiver em execução, o site pode controlar
seu fluxo por meio do conteúdo variável fornecido pelos métodos GET / POST.
34

Controle de soquete

O recurso de controle de soquete destina-se apenas a usuários avançados. É um método simples de controlar o aplicativo de
outro por meio de soquetes TCP / IP. No entanto, esta função não se destina principalmente ao controle remoto do equipamento
(em vez disso, consulte a seção 'Conexão').
Antes de tentar usar esta função, seus parâmetros devem ser definidos primeiro em Opções / Controle de Soquete:

Habilitado - Ativa o servidor de controle interno do Socket.


Eco Terminal - Se ativado, todos os caracteres recebidos são enviados de volta.
Porta TCP / IP - O número da porta na qual o servidor escuta um cliente.

O Socket Control aceita todos os comandos de script e, além disso, fornece também um canal para trás com a ajuda do comando obter
( veja a lista de comandos). Cada comando inserido é considerado um script separado. Se um arquivo de script está sendo
processado, todos os comandos inseridos pelo Socket Control são colocados na fila e processados posteriormente. A exceção a
esta regra é o comando +++ que interrompe qualquer script em execução.

Como começar?

Uma das melhores ilustrações de uso é controlar o aplicativo a partir do Windows Hyperterminal (ou outro terminal, como o PuTTY).
Execute o terminal, selecione o tipo de conexão TCP / IP e preencha o endereço do servidor e a porta.

Clique em OK para conectar. Certifique-se de que o recurso de controle de soquete esteja ativado e o aplicativo em execução.
35

Agendador de tarefas

O agendador de tarefas integrado permite agendar a execução de arquivos de script (* .fms) e qualquer outra execução de aplicativo ou abertura de
documento. Você também pode usá-lo para reiniciar / desligar o PC, para enviar qualquer string para a conexão ou para sair do aplicativo.

Para abrir o agendador de tarefas, selecione Opções / Agendador de tarefas no menu principal.

Habilitado - Ativa o Agendador de tarefas.


Vezes - Permite que você especifique os dias da semana e os horários do dia em que a tarefa será executada.
Excluir - Remove a tarefa selecionada.
Achar arquivo - Maneira fácil de encontrar um arquivo / aplicativo a ser executado. Este pode ser um arquivo de script ou qualquer outro arquivo.

Essas palavras-chave também são aceitas na linha de tarefas:


saída - Sai do aplicativo FM Scope
reinício - Reinicia o PC
desligar - Desliga o PC
enviar: - Envia qualquer comando RDS, por exemplo SEND: 096200 * F

Pontas

• Defina o atributo somente leitura para fmscope.ini para evitar alterações de configuração indesejadas.
O arquivo fmscope.ini, bem como o arquivo de conteúdo da variável de script, geralmente são colocados na pasta de configurações locais, por
exemplo:
C: \ Documents and Settings \ [usuário] \ Local Settings \ Application Data \ FM Scope \
• Quaisquer relatórios são bem-vindos! Por favor, envie suas sugestões ou relatórios de bug. Isso ajudará a criar uma nova versão
aprimorada deste aplicativo.
• Visite o fórum técnico em nosso site.
36

Opções SetProperty e ReadProperty

Propriedade Valor esperado ou devolvido


USPTY Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
OnlineUpdate Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
ScanRDS Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
AlwaysCheckRDS Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
Cores invertidas Valor inteiro , 0 (desabilitado) ou 1 (habilitado)
HighContrast Valor inteiro, 0 (baixo) ou 1 (alto) Valor inteiro,
DeviationLimit em kHz
DeviationTolerance Valor inteiro, em kHz
PmLimit Valor do ponto flutuante, em dBr

PmTolerance Valor do ponto flutuante, em dBr


Valor inteiro,
ExecutionSpeed
0 (velocidade mais baixa, 1 linha / seg.) ... 4 (velocidade mais alta, 100 linhas / seg.)
Modo de depuração Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
LogErrors Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
Sem pausas Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
HistogramBitmapWidth Valor inteiro, em pixels
HistogramBitmapHeight Valor inteiro, em pixels
PmBitmapWidth Valor inteiro, em pixels
PmBitmapHeight Valor inteiro, em pixels
MPXBitmapWidth Valor inteiro, em pixels
MPXBitmapHeight Valor inteiro, em pixels
RFBitmapWidth Valor inteiro, em pixels
RFBitmapHeight Valor inteiro, em pixels
BandscanBitmapWidth Valor inteiro, em pixels
BandscanBitmapHeight Valor inteiro, em pixels
OthersBitmapWidth Valor inteiro, em pixels
OtherBitmapHeight Valor inteiro, em pixels
DetalhesIngrafos Valor inteiro, 0 (desabilitado) ou 1
PmBoundaryMin (habilitado) Valor inteiro, -12 ... 11
PmBoundaryMax Valor inteiro, -11 ... 12
PmXAxisLength Valor inteiro, 1 ... 120, em minutos Valor inteiro,
WatermarkEnabled 0 (desabilitado) ou 1 (habilitado) String de texto
WatermarkText
WatermarkSize Valor inteiro, 0 (primeira opção) ... 8 (última opção) Valor

WatermarkPosition inteiro, 0 (primeira opção) ... 2 (última opção) String de


TrayIconHint texto (não pode ser lido pela propriedade de leitura) String
StatusBarText de texto

FTPHost String de texto

FTPUserName String de texto

FTPPassword String de texto

FTPRemoteDir String de texto

FTPLocalDir String de texto

FTPPassive Valor inteiro, 0 (desabilitado) ou 1 (habilitado) String


SMTPServer de texto

SMTPFrom String de texto

SMTPRequiresAuthentication Valor inteiro, 0 (desabilitado) ou 1 (habilitado)


SMTPSecureConnection Valor inteiro, 0 (desabilitado) ou 1 (habilitado)
SMTPUserName String de texto
SMTPPassword String de texto

MySQLServer String de texto


MySQLDb String de texto
MySQLUserName String de texto
MySQLPassword String de texto
Codificação Sequência de texto, UTF-8 ou ANSI. Afeta as funções de salvamento do texto do script.

Você também pode gostar