Você está na página 1de 65

Machine Translated by Google

SCADA LAquis
Software de controle supervisório e aquisição de dados - LAquis

Desenvolvimento de
aplicativos de introdução simples

Leão Consultoria e Desenvolvimento de Sistemas Ltda Me, Brasil

http://laquisscada.com
http://www.lcds.com.br
Machine Translated by Google

Resumo
Introdução................................................. .................................................. ....3
Passo a passo ............................................. .................................................. .........4
1– Definição dos tags (pontos de E/S e variáveis)......................... ...............4 2–
Banco de Dados / Histórico / Relatório .............................. .............................................8
3– Objetos Visuais .................................................. .......................................10
4– Roteiro...... .................................................. .............................................. 17
5– Grupos de tags................................................. .........................................18
Planilha de tags. .................................................. ....................................... 23
Comunicação ........ .................................................. ....................................31
Fórmulas......... .................................................. .............................................32
Banco de dados... .................................................. .........................................33
Condutores.................................................. .................................................. ..........34
Dados e Relatório .................................. .................................................. .........37
Personalizando relatórios ....................................... ..............................................37
Banco de dados. .................................................. ..................................................
.41 Rede............................................. .................................................. .........45
Servidor ....................................... .................................................. ...................
45 Cliente .................................... .................................................. ................... ..........46
Objetos Visuais ....................................... .................................................. ..........47
Objetos de desenho vetorial .................................. .............................................50
Inserindo objetos visuais. .................................................. .........................53
Configuração do painel.................. .................................................. ..........53
Exemplos de objetos visuais ....................... .................................................. ...54
Introdução ao script.................................................. ........................................61

2
Machine Translated by Google

Introdução

SCADA LAquis é um software de controle supervisório e aquisição de dados. Da aquisição de dados ao


desenvolvimento de aplicativos.

A tela principal para desenvolvimento, é dividida em duas partes: na parte inferior onde há uma planilha com as tags e no painel
superior onde são colocados os objetos visuais.

Na planilha são definidos os pontos IN e OUT. Equipamentos, variáveis, arquivos, fórmulas, escalas ou outras propriedades e
propriedades definidas pelo usuário para cada caso.

No painel, os objetos visuais podem ser utilizados tanto para o desenvolvimento de sistemas específicos via script como
também para o simples acompanhamento de uma aquisição de dados. Cada objeto pode ser relacionado a uma tag definida na
folha de tags.

Ao configurar um banco de dados em tags de planilhas, você pode gerar relatórios, análises e gráficos com dados armazenados
por meio do menu "Relatórios".

Para iniciar o desenvolvimento de um novo aplicativo, clique no botão Novo. Aparece uma janela com vários modelos que
geram aplicativos predefinidos que podem ser alterados conforme a necessidade.

3
Machine Translated by Google

Passo a passo
Teste os passos abaixo, clicando no botão “Novo”, selecione <em branco>, clique em OK, digite um nome e salve.

5 passos básicos:
1 – Definição dos tags (pontos de E/S e variáveis).
2 – Arquivo/Relatório
3 – Objetos Visuais
4 – Roteiros
5 – Grupos de tags

1 – Definição dos tags (pontos de E/S e variáveis).


Defina os pontos de E/S na planilha de tags na parte inferior da tela principal. Essas tags podem ser variáveis de equipamento
genérico ou físico.
A planilha de tags contém propriedades para definir o que será lido ou escrito no equipamento. Algumas das principais propriedades
são: Nome, Título, Valor, Unidade, Driver/PLC, Banco de Dados, Param1, Param2, etc....
Cada propriedade pode ser uma coluna nesta planilha de tags. Escolha o driver do equipamento a ser utilizado na coluna Driver/PLC.
O driver pode ser configurado arrastando o ponteiro do mouse com o botão esquerdo na coluna Driver/PLC, ou clicando no título da
coluna Driver/PLC para selecionar todos os tags desejados no grupo.

Ao soltar o botão do mouse, a janela de seleção do driver será exibida:

4
Machine Translated by Google

O driver a ser escolhido depende do equipamento (hardware/PLC) utilizado.


Para simular um dispositivo utilize, por exemplo, o driver DEMO.
Por exemplo, para se comunicar com um dispositivo que utiliza o protocolo "MODBUS RTU" então escolha o driver MODBUS
RTU. O Param1 será o endereço do registrador e o Param2 será o número do nó do equipamento (Exemplo: Param1 = 400001
Param2 = 1.). Veja a descrição dos parâmetros MODBUS.

Configure a comunicação (porta, velocidade, temporização, etc....) no botão Config na janela do driver.

A seguinte janela aparecerá para as configurações da porta serial:

Defina os parâmetros de comunicação. Exemplo de configuração para porta serial COM1: 1:9600,N,8,1. (porta serial 1, 9600
bauds, sem paridade, 8 bits de dados, bits de parada 1).

Para usar o OPC, selecione o driver OPC, clique no botão "Config". Uma janela aparecerá para definir o ProgID e o ID do item.
Opcionalmente, para conexões remotas, digite o IP do servidor no campo Servidor:

- Defina as propriedades da tag.


Neste exemplo, nome (Tag1), título (Valor 1), unidade (° C), Param1 (40x0000) e Param2 (1):

5
Machine Translated by Google

Exemplo com quatro tags: (serão lidos quatro primeiros registros Holding do nó 1 do equipamento através do protocolo Modbus)

Para simular, pode-se utilizar o driver DEMOTESTE ou DEMO :

Para começar a ler os valores e testar a comunicação clique no botão


("Jogar" - Iniciar aplicação). Os valores serão mostrados na coluna Valor. Se
houver um erro de comunicação, uma mensagem "ERROR" aparecerá nesta coluna e na coluna "Status".

Para desconectar a comunicação, pressione o botão


("Parar" - Parar aplicação)

A tag também pode ser uma variável para fins genéricos. Use, por exemplo, o driver VAR.

Cada tag possui propriedades que podem ser personalizadas: alarmes, fórmulas, limites, etc...

Fórmula:
Exemplos:
Tag1*Tag2 Multiplicando duas etiquetas.
Tag3/7 *0.1 Dividir por 7
*Bit(0) Multiplique por 0,1 na leitura (IN) e divida por 0,1 na gravação (OUT).
Retorna o bit 0

Para acessar as opções da fórmula, clique no botão ao lado da coluna da fórmula.

6
Machine Translated by Google

Alarme:

Clique no botão do lado direito para definir as funções de alarme para um tag.

Também pode ser usado para criar descrições para cada valor de tag. Exemplo:

7
Machine Translated by Google

2 – Banco de Dados / Histórico / Relatório

A aquisição de dados em tags pode ser gravada em um arquivo (banco de dados). Clique na coluna do banco de dados. O banco
de dados pode ser configurado arrastando o ponteiro do mouse com o botão esquerdo do mouse na coluna do banco de dados
(como foi feito com o driver), ou clicando no título da coluna do banco de dados para selecionar todas as tags do grupo.

Neste exemplo, os valores das quatro tags serão armazenados no banco de dados TEST.LB:

O intervalo de tempo em que os valores são armazenados é definido na coluna Gravação.

Nota: por padrão, os dados são registrados na subpasta "dados" dentro da pasta principal do aplicativo. Para alterar as
configurações do banco de dados usando o item de menu "Relatórios" - "Editar Banco de Dados".

Com alguns dados já registrados no banco de dados é possível criar relatórios.

8
Machine Translated by Google

Para gerar um relatório com os dados registrados, clique no menu Dados e Relatórios - Abrir (ou insira um objeto botão no painel
e clique em "Mostrar relatório deste botão" - conforme explicado no passo 3).
Na primeira vez, nesta etapa de desenvolvimento, será exibida uma janela para escolha de um modelo de relatório (que pode ser
personalizado posteriormente):

Defina um nome para o relatório. Será um arquivo com extensão LGX que conterá layout, formatos, fórmulas, scripts e
outros recursos de relatórios.

(Se você deseja criar ou associar um relatório ao botão, basta clicar com o botão direito do mouse sobre o botão e selecionar
"Mostrar relatório deste botão" - veja na etapa 3.)

É possível customizar relatórios e também criar novos templates.


Dados e relatórios - Editar.

Veja mais detalhes sobre relatórios no tópico “Dados e Relatório” ou “Banco de Dados”.

9
Machine Translated by Google

3 – Objetos Visuais
No topo da tela principal do software está localizado o painel de objetos visuais. Neste painel os objetos e
controles visuais são desenhados e podem ser usados como interface para o usuário. Esses objetos podem ser displays,
imagens, animações, controles, etc...
Selecione o objeto desejado e coloque no painel. Clique no ícone do objeto na barra de ferramentas ou escolha o
objeto na janela da direita (a “guia objeto” quando nenhum objeto estiver sendo selecionado). Clique no painel ou arraste
o ponteiro do mouse com o botão esquerdo para desenhar o objeto.

No exemplo acima, foi adicionado um objeto "displaytext" e um objeto "Edit" usado para alterar os valores.
Cada objeto visual pode ser associado a uma tag. Para isso, clique duas vezes no objeto visual no painel, ou selecione
a propriedade "Fórmula" do objeto.

Selecione a "tag" a ser associada ao objeto visual. No exemplo acima, o Tag1.

A propriedade title na planilha da tag pode ser usada como descrição e passada automaticamente para o objeto
visual. (Os nomes das tags também podem ser definidos livremente, mas não devem ter espaços e não podem ser repetidos no
mesmo grupo).

10
Machine Translated by Google

Os objetos visuais têm propriedades diferentes. No exemplo a seguir foi incluído um botão clicando uma vez . Por
no botão, uma janela à direita mostra suas propriedades.

No exemplo acima, estas propriedades foram alteradas: Texto (com o valor "Relatório") e Relatório (definido para o nome do
relatório lgx). A propriedade Text neste caso é o título do botão. Se você deseja criar ou associar
um relatório ao botão, basta clicar com o botão direito do mouse sobre o botão e selecionar "Mostrar relatório deste botão".

Outra propriedade importante do botão é Command. Quando o botão é pressionado o valor do associado
tag será o valor da propriedade Command. Verifique também as propriedades da página, PopupPage e ChangeTag.
Veja as propriedades do botão no tópico “Exemplos de Objetos Visuais”.

Exemplo de objeto visual de termômetro. Os limites superior e inferior podem ser associados à planilha.

11
Machine Translated by Google

Criando/Desenhando objetos vetoriais

Caso queira importar exemplos prontos através do botão Importar ...

Para criar novos objetos vetoriais:

1 - Desenhe nas páginas do painel usando objetos vetoriais pelo botão "desenho"

Desmarque o botão "Desenho".


1 - Em outra página, adicione um objeto "ObjectPage", indicando na propriedade "Page" o local do desenho.

2 - Se você deseja torná-lo sensível ao valor de uma tag, atribua a tag ao “PageObject” e defina os valores
correspondentes na propriedade “Páginas”. Valor da tag = número da página. Exemplo: Pagename1 = 1, Pagename2
= 2 Quando o valor da tag for 0, o desenho na página 1 será exibido. Se o valor da tag for 1, o desenho na segunda
página será exibido.

3 - Caso queira transformá-lo em botão ative a propriedade "ChangeOnClick";

12
Machine Translated by Google

Animação:
3 - Caso queira configurar uma animação, coloque os números das páginas referentes aos quadros da
animação na propriedade "Páginas" (cada número deve ser separado por; - ponto e vírgula) e ative a propriedade
"Animação". A primeira página (na propriedade "Página") será ativada quando a "tag" associada ao objeto for 0.
Quando a "tag" for 1 então aí a animação será a alternância entre as páginas restantes. Exemplo: 3; 1: 2

4 - Se você deseja tornar o objeto sensível ao mouse, como um botão, ative a propriedade "ChangeOnClick". Por
clicando no objeto ele muda o valor do "tag" de 1 para 0.

Em vez dos números de página podem ser usados nomes de página.

Exemplo:
Pagename1;Pagename2;Pagename3
0=Pagename1;1=Pagename2 etc...

13
Machine Translated by Google

Antes de aprender a criar novos objetos, é necessário entender dois conceitos: Desenhar objetos vetoriais e PageObject.

Objetos de desenho:

Para desenhar no painel usando objetos vetoriais, clique no botão. .

Mais detalhes de objetos vetoriais veja o tópico Desenho de objetos .

Objeto de página:

Ele pode definir grupos de objetos com base em um painel padrão. Uma maneira de fazer isso é usando o objeto PageObject.

É possível criar um objeto com um grupo de objetos baseado em um painel padrão. Uma maneira de fazer isso é

usando o PageObject .

1 – Defina os objetos na página do painel (da página 1)

2 – Associe os objetos com tags. Podem ser tags dentro de um grupo.


3 – Coloque (na página 0) o objeto PageObject.
4 – Associe o objeto PageObject a uma tag ou grupo.

14
Machine Translated by Google

Exemplo de arquivo de imagem de objeto visual. Este objeto visual pode ser usado para muitos propósitos. Botões de dois estados,
informações de status, ilustração simples, etc... Os arquivos de imagens podem ser bmp, jpeg, gif ou emf (vetor).

No exemplo abaixo, a imagem está configurada para o botão de status duplo (propriedade de estado duplo):

Quando uma aplicação é executada, este objeto visual ficará como um botão (propriedade ChangeOnClick). Por
clicando neste objeto, o estado do tag associado muda para valores alternados entre 0 e 1. Sua exibição muda conforme a propriedade
"Status atual". O nome da figura deve ter o formato: <nome><estado ou valor>.emf ou .bmp. Neste caso, válvula0.emf e válvula1.emf.

Também pode ser usado um arquivo gif animado. Mesmo assim, defina o número máximo de estados.

15
Machine Translated by Google

No exemplo abaixo o objeto Picture está configurado como um botão com animação. (Estado duplo da propriedade desmarcado):

Quando a aplicação for executada este objeto visual também atuará como um botão (propriedade ChangeOnClick). Clicando
neste objeto, o estado do tag associado a ele será alterado para valores alternando entre 0 e 1. Mas quando a propriedade Current
State se tornar 1 o objeto entrará em um estado de animação alternando os estados de 1 para o número máximo de estados. O nome
da imagem também deve ter o formato <nome><estado>.emf ou .bmp. Nisso
case, motor1.emf e motor2.emf. Também pode ser usado um arquivo gif animado. No entanto, defina o número máximo de
estados.

Se desejar a intervenção do usuário para alterar o estado da tag, defina a propriedade ChangeOnClick.

Mais detalhes sobre objetos visuais veja o tópico Objetos Visuais.

16
Machine Translated by Google

4 – Roteiro

Scripts são sequências de instruções ou programas usados para customizar as ações do aplicativo para atender o
processo. Eles são executados dentro dos eventos disponíveis no sistema.

Exemplo:

Selecione um objeto, clique no texto da guia Script. Digite, por exemplo, Tag(“tag5”) = 1.

O motor Tag receberá o valor 1.

Observe que uma operação simples como essa, usada nesses exemplos, não requer necessariamente um script - este
exemplo é apenas para fins de compreensão. A mesma operação poderia ser feita, apenas configurando no objeto botão, a
propriedade Command para 1.

Para acessar algumas das funções de script, pressione F4.

17
Machine Translated by Google

5 – Grupos de tags

As tags podem ser divididas em grupos. Esses grupos podem ser estações, equipamentos, módulos,
máquinas, unidades, plantas, etc... Os nomes dos tags podem ser iguais entre si, bastando alterar os grupos e
endereços.

PAINÉIS:
Geralmente não é necessário desenvolver um painel para cada grupo se as tags forem iguais ou semelhantes. Caso
o painel seja o mesmo, e altere apenas grupos de endereços/tags, basta criar um painel. Uma vez configurado o
painel pode ser associado em tempo real para qualquer um dos grupos. Isso também se aplica a banco de dados e
relatórios.

BASE DE DADOS:
O banco de dados é registrado por grupo. Não é necessário criar um banco de dados diferente para cada grupo. Havendo vários
grupos com o mesmo banco, esses grupos serão automaticamente armazenados em paralelo da seguinte forma: cada registro terá
um campo para cada nome de tag e o nome do grupo será registrado no campo GROUPNAME. No relatório, eles podem ser exibidos
individualmente ou em grupos. Veja os exemplos abaixo.

Exemplo 1: Clique no menu Novo - Exemplo com grupos. Se você quiser usar este exemplo para iniciar o desenvolvimento
de seu aplicativo. Basta selecionar o exemplo com grupos, salvar e redefinir as tags, painéis e relatórios conforme necessário.

Exemplo 2: Manual passo a passo (10 passos):

1 - Crie um novo aplicativo em branco. (Menu Novo - <em branco>)


2 - Clique com o botão direito do mouse na lista de grupos, lado esquerdo da planilha de tags.

3 – Selecione a opção “Novo grupo...” Crie um grupo


“Grupo1”.

4 - Clique no botão "+ VAR" para adicionar tags neste grupo.

18
Machine Translated by Google

5 - Defina para este grupo, os equipamentos, os nomes dos tags, bases de dados, parâmetros, etc... Exemplo:

Opcionalmente crie tags VAR para representar o grupo, equipamento, unidade, central, módulo, produto, etc...
exemplo acima ID)

Renomeie o grupo, se necessário. Clique com o botão direito do mouse na guia do grupo e selecione a opção
"Renomear grupo ...".

6 - Para repetir ou duplicar os grupos, clique com o botão direito do mouse na aba do grupo, selecione a opção
"Avançado" - "Duplicar grupos...".

Digite o número de grupos a serem adicionados com base no grupo atual e clique em OK.
Defina os parâmetros de tags corretos para cada grupo. Endereços, nomes, etc... Em geral, mantenha o mesmo nome
de banco de dados, para todos os grupos. No banco de dados, o campo interno GROUPNAME diferenciará
automaticamente os registros do banco de dados.

Exemplo:

19
Machine Translated by Google

7 - Agora defina um painel padrão para um grupo. Defina nomes para as páginas do painel. Clique com o botão direito do
mouse na aba da página e selecione a opção Renomear. Exemplo:

Neste exemplo será utilizado a "Estação" como nome de página relacionada a um grupo. Defina
os objetos visuais nesta página e associe as tags ao primeiro grupo.

Exemplo:

20
Machine Translated by Google

8 - Na página principal, neste exemplo chamado "Principal", coloque botões com as propriedades
Página com o valor "Estação" e ChangeTag com a propriedade "1 - Sim". Associe cada botão ao grupo desejado.

Exemplo:

No modo de execução, quando o usuário clicar em um desses botões, a página "Estação" será mostrada, e seus objetos
automaticamente associados ao grupo.

Em vez de criar botões, você pode criar objetos personalizados com informações de cada grupo. Use neste caso PageObject.

Exemplo:

Este exemplo foi feito com 3 textos de display, um botão e um retângulo arredondado.
Este botão tem as propriedades Page e ChangeTag configuradas.

21
Machine Translated by Google

9 - Banco de dados: Use o mesmo nome de banco de dados, para todos os grupos. Automaticamente o campo GROUPNAME interno
irá diferenciar os registros no banco de dados.

Reproduz este aplicativo pelo menos uma vez. O sistema criará o banco de dados. Em seguida, pare o aplicativo.

Neste exemplo, para garantir que o ID do campo (tag) seja um texto, clique no menu "Dados e Relatórios" - "Editar Banco de
Dados". Clique no botão “Campos”. Tipo de campo ID definido como 1 - Texto.

10 - Relatório: Após armazenar alguns dados no banco de dados, crie um Button, clique com o botão direito do mouse sobre
ele, selecione a opção "Mostrar relatório deste botão".
Selecione neste caso, por exemplo, modelo "Geral por ID", etc....

Defina no relatório quais campos devem aparecer na listagem (campos de botão). Ou altere o layout do relatório conforme necessário.

Exemplo :

22
Machine Translated by Google

Planilha de tags
Uma simples aplicação de aquisição de dados pode ser feita na planilha na tela abaixo.

Cada linha da planilha é um tag relacionado a um ponto de I/O conectado a um equipamento (ex: PLC), fórmula, variável, etc...
depende do driver. A planilha contém essas colunas como propriedades de tags por padrão (podem ser adicionadas mais colunas
ou propriedades conforme necessário*):

Nome: nome da etiqueta. Será o nome da variável utilizada pela fórmula, objeto visual ou script para acessar seu valor. Para acessar
outras propriedades (colunas) da mesma tag use um ponto. (Exemplos: Tag1.setpoint, Temperature1 = Tag1.LS * Tag7)

Título: título ou descrição do significado da tag . O título pode ser enviado para todos os objetos visuais, bancos de dados
e relatórios relacionados à tag.
[...] Unidade.
Valor: valor da etiqueta.
Param1 e Param2: Valores para endereçar as variáveis do equipamento. Seus significados dependem do motorista. (Exemplo:
Param1 em MODBUS é o endereço da variável, por exemplo, 40x0007. Param2 é o nó)
Status: Status ou descrição do erro do tag atual. (Exemplos: Erro de Comunicação, Alarmes, descrição do código do Tag, etc...)

Banco de dados: nome do banco de dados para armazenar dados e criar relatórios. Para definir o banco de dados de todos os grupos de
tags, clique no bloco da coluna “banco de dados”.

Driver / PLC: Driver relacionado ao equipamento ou tipo de tag (ex: VAR para variável simples). Clique no botão Config para
definir a configuração de comunicação. Para definir todos os drivers do grupo de tags clique no bloco da coluna “Driver / PLC”.

Amostragem: Intervalo de tempo entre cada comunicação.


Gravação: Intervalo de tempo entre cada gravação de dados do banco de dados.
Fórmula: Fórmula, escala ou bit relacionado ao tag. O resultado da fórmula será constantemente atualizado em
o valor da etiqueta. Para definir uma escala simples utilize o símbolo * (Exemplo: *0,01). Mais detalhes consulte
Fórmula do tópico.
Alarme: Defina o comportamento do alarme da tag Clique no botão ao lado da coluna de alarme para acessar as opções de configuração.
"Padrão": 0 = Desligado; 1 = Maior que LS; -1 – Menor que LI. As colunas LI e LS são usadas como padrões de limites. (Superior
e Inferior) são usados como padrão para limites. Opcionalmente, pode ser criado um critério de alarme por fórmula. Exemplo 1:
"=(x<10)+(x>30)". Neste exemplo, o alarme é acionado se o valor do tag for menor que 10 ou maior que 30. Exemplo 2: "=(x<.Minimum)
+(x>.Maximum)". Neste exemplo o alarme é acionado se o valor do tag for menor que Mínimo ou maior que Máximo, que são, por
exemplo, colunas personalizadas que podem ser adicionadas.

Para definir valores para cada expressão, opcionalmente, faça como este exemplo:
=(x<10)+(x>30)#3 (x>10)*(x<15)#5 (para x<10
ou x>30 o valor do alarme é 3, e para valores entre 10 e 15 o alarme é 5)

Para casos mais avançados, você deseja usar o script para alterar o valor do alarme.

O alarme pode ser utilizado também para simplesmente definir um texto descritivo a ser colocado na coluna Status referente
ao tag. Exemplo: 0="Estado 0",1="Estado 1",2="Estado 2",3="Estado 3"

23
Machine Translated by Google

Colunas opcionais:

* Se necessário, podem ser criadas colunas personalizadas definindo propriedades personalizadas para as tags.
Essas colunas também podem ser registradas no banco de dados caso os campos tenham sido criados.

Exemplos: limites de segurança, nome do produto, evento, não conformidade, etc...


Para criar novas colunas utilize a opção no menu “Tags” - “Editar” – “Propriedades de tags personalizadas
(colunas)”.
Esses nomes devem ser curtos, sem espaço e sem reservados, para que sejam de fácil acesso por meio de
fórmulas ou script.

No script e na fórmula você pode acessar as tags definidas na planilha através de seus nomes. Exemplos:
tag1, pressão, Temperatura1.Alarme.

24
Machine Translated by Google

Grupos

As tags podem ser separadas entre grupos. Clique com o botão direito do mouse na parte inferior da planilha ou na lista à esquerda. Selecione o
item de menu:

Novo grupo: para criar um novo grupo.


Renomear grupo: para renomear o grupo selecionado.
Excluir grupo: para excluir o grupo selecionado.
Duplicar grupo: para duplicar o conteúdo do grupo selecionado em um novo grupo.

Cada grupo pode ser usado para separar um dispositivo, uma estação, uma máquina, um banco de dados, etc.... O banco de dados é registrado
pelo grupo em paralelo. Se os nomes das tags forem os mesmos para grupos diferentes, o sistema poderá registrar no mesmo banco de dados
todos os grupos de forma independente. Os registradores são separados pelo
campo NOME DO GRUPO. O painel com os objetos visuais, também pode ser preparado apenas uma vez, e vinculado automaticamente a qualquer
grupo quando o aplicativo estiver em execução.

Adicionar uma "tag" no grupo selecionado pode ser feito de várias maneiras:
- Clique no botão para adicionar uma etiqueta selecionando um driver.
- Clique no botão para adicionar uma tag de variável genérica.

30
Machine Translated by Google

Comunicação

Para definir a configuração de comunicação.

1 - Arraste o cursor do mouse sobre as células da planilha de tags na coluna Driver/PLC e selecione o driver.

ou

2 – Clique na coluna Driver/PLC do bloco na planilha de tags e selecione o driver.

ou

3 – Clique no menu - Driver e selecione o driver.

Pressionar o botão Config para mostrar uma janela de configuração de comunicação.

31
Machine Translated by Google

Fórmulas

A fórmula pode ser usada na planilha de tags (coluna de fórmula) ou objetos visuais.

Tanto no script quanto nas tags de fórmula podem ser acessadas pelos seus nomes. Exemplos: Tag1, pressão,
Temperatura1.setpoint.

x é o valor atual.

Exemplos de fórmulas:

Tag1*1,7 + 3
Celsius + 273,16
Farenheit > 100

Ex: Celsius + 273,16

Fórmulas genéricas:
Operadores: + - * </ >
>= <= = <> ^.

Exemplos de outras funções:


- *a+b: Multiplica por a e soma b quando o tag é atualizado. Mas faça o inverso quando a tag for escrita. Exemplo: *0,01 divida
ou multiplique por 100.
- *Bit(x): Retorna o valor do bit. Exemplo: *Bit(7) retorna o 7º bit.
- Bit(x,b1,b2): Retorna o valor entre os bits selecionados.
- Int(x): Retorna a parte int. Exemplo: Int(x*1000)/1000 - Abs(x):
Retorna o valor absoluto.
- Log(x): Logaritmo base 10.
- Ln(x): Base logarítmica e.
- Exp(x): Exponencial.
- Sqr(x): Raiz quadrada.

Fórmula na planilha de tags

Digite a fórmula na coluna Fórmula.


Exemplo:

Valor da etiqueta própria:

Para usar o mesmo valor de tag, use x. Exemplo: log(x)*1000

Escala:

Para definir uma escala com fatores multiplicativos e aditivos use a sintaxe: *a + b onde a é o fator multiplicativo eb o
fator aditivo. EXEMPLO: *1000 + 3. Os valores de leitura e alteração serão baseados nesses fatores. A escala pode ser
usada como conversão ou mesmo calibração.

Fórmulas também podem ser usadas em objetos visuais.

32
Machine Translated by Google

Base de dados

Para definir um banco de dados onde os dados serão armazenados, clique no título da coluna do banco de dados ou arraste as células.

Uma janela será exibida:

Selecione ou digite um nome de banco de dados. Caso não exista, o banco de dados será criado automaticamente na primeira gravação. Os
campos serão criados a partir dos nomes de tags definidos na planilha.
Usuários avançados: para criar um novo banco de dados manualmente, use a opção do menu 'Dados e relatórios "-" Editar banco de dados -
"Arquivo" - "Novo".

Selecione ou digite um nome de banco de dados. Caso não exista, o banco de dados será criado automaticamente na primeira gravação.

Para gerar um relatório com os dados registrados, clique no menu Dados e Relatórios - Abrir (ou insira um objeto botão no painel e clique em "Mostrar
relatório deste botão" - conforme explicado no passo 3).
Na primeira vez, nesta etapa de desenvolvimento, será exibida uma janela para escolha de um modelo de relatório (que pode ser personalizado
posteriormente):

33
Machine Translated by Google

Motoristas

O "driver" permite que o computador se comunique com o equipamento.

No LAquis, esses drivers podem ser desenvolvidos através de uma linguagem de script simples semelhante a "Basic" ou
através de uma linguagem interpretada LDriver ou através de dlls.

Alguns drivers disponíveis: -


MODBUS RTU ou MODBUS TCP: protocolo MODBUS . Utilizado para comunicação com uma ampla variedade de equipamentos.

- VAR: tag como variável genérica.


- DEMO: onda senoidal simulada variando de "Param1" a "Param2".
- OPC: conexão OPC.
- TIMER: Contador em milissegundos. Formato duplo Windows usa TIMERFORMAT.
- AGORA: Data e hora atual no formato duplo do Windows.

Exemplos de comunicações: menu Novo.

Para listar os drivers disponíveis, clique no título da coluna Driver / PLC.

Os drivers de arquivo estão na subpasta CTRLS.

34
Machine Translated by Google

Exemplo de driver MODBUS RTU:

A coluna Param1 é o endereço do registrador. Exemplo: "400001".


A coluna Param2 é o número do nó.

* Formato de endereço MODBUS:

- Registros de retenção: 4NNNNN ou 40xNNNN


- Registros de entrada: 3NNNNN ou 30xNNNN
- Status de entrada: 1NNNNN ou 10xNNNN
- Bobina: 0NNNNN ou 00xNNNN

onde NNNNN é o número do endereço do registrador em decimal ou NNNN é o número do endereço do registrador em hexa.

35
Machine Translated by Google

Selecione um motorista

Selecione um driver clicando na célula relacionada ao tag desejado e ao driver da coluna.


Selecione várias linhas arrastando o botão esquerdo do mouse sobre as células.

O driver a ser escolhido depende do equipamento (hardware/PLC) utilizado.

36
Machine Translated by Google

Dados e Relatório

Personalizando relatórios

Opções na opção de menu "Dados e relatórios":

Abrir ...: Abre ou cria relatórios.

- Editar...: Edita relatórios.

Os relatórios podem ser criados, após os dados registrados no banco de dados, inserindo um objeto botão no painel e clicando com o botão
esquerdo do mouse sobre ele, selecionando a opção "Mostrar relatório deste botão".

Na primeira vez, nesta etapa de desenvolvimento, será exibida uma janela para escolha de um modelo de relatório (que pode ser personalizado
posteriormente):

Esses formatos de relatório são registrados como um formato LGX. Internamente, eles são semelhantes a planilhas.

Selecione um modelo de relatório (Exemplo: Geral com graph.lgx). O relatório será gerado com base no modelo escolhido.

Um nome é criado automaticamente para o formato: <filename> .lgx. Este formato de relatório será associado ao Button e será salvo na mesma
pasta do arquivo LQS.

Crie novos relatórios conforme necessário.

Uma vez criado um relatório, ele pode ser modificado livremente.

37
Machine Translated by Google

Para editar os campos do relatório, clique opcionalmente no botão "Campos".

Para editar opções mais avançadas como planilha, clique no botão "Editar".

Botões na barra de ferramentas:

Abrir: Abre um formato de relatório.

Salvar. Salva o formato do relatório.

Imprimir: Imprime ou exporta o relatório.

Editar: Entra no modo de edição de planilha.

Executar: Vá para o modo de execução do relatório.

Gráfico: Abre gráfico gráfico isolado da planilha.

Formato: abre uma janela de formatação de célula de planilha.

Campos: Abre um editor de Campo simplificado para ajudar a criar uma lista de filtros.

Fórmula: Abre um navegador com fórmulas disponíveis para a planilha.

Para editar a formatação do gráfico, clique duas vezes nele.

38
Machine Translated by Google

Fórmulas e comandos

Algumas das fórmulas disponíveis para uso na planilha em formato de relatório:

=TAG(nome da etiqueta)
Retorna a tag especificada. Exemplo =TAG(“Tag1”)
=TAG(coluna,nome da tag Retorna
a célula da coluna da tag especificada.
=TÍTULO(nome da etiqueta)
Retorna o título da tag.
=CAMPO(nome do campo;id;data;banco de dados;idfield;filtro)
Retorna o primeiro campo do banco de dados endereçado por id. Apenas o nome do campo é obrigatório. Outros são opcionais.
=LASTFIELD(nome do campo;id;data;banco de dados;idfield;filtro)
Retorna o último campo do banco de dados endereçado por id. Apenas o nome do campo é obrigatório. Outros são opcionais.
=FIELDTOTAL(nome do campo;id;data;banco de dados;idfield;filtro)
Retorna a soma numérica dos campos do banco de dados endereçado por id. Apenas o nome do campo é obrigatório. Outros são opcionais.
=LISTA(nome do campo,filtro,data,banco de dados,máximo,datato,idfield,amostragem)
Retorna uma lista com base no filtro da célula abaixo.
=TEXTO(célula)
Trate a célula como um texto.

=TEXTO(célula1,célula2,célula3,...)
Concatenar células como texto separados por espaços.
=CONCATENAR(célula1,célula2,célula3,...)
Concatenar células como texto.
=MÉDIA(células)
Células médias.
=SOMA(células)
Soma das células.

=COUNT(células)
Contagem de células.

=DESVPAD(células)
Desvio padrão das células.
=MÁXIMO(células)
Valor máximo das células.
=MINIMO(células)
Valor mínimo das células.
=AMPLITUDE(células)
Amplitude das células.
=ÚLTIMO(célula)
Valor da última célula.

=ÚLTIMOTEXTO(célula)
Última célula como texto.

=ÚLTIMOTEXTO PREENCHIDO(célula)
Último texto preenchido.

=TSTUD(células)
"TSestudante" das células.
=TAGTEXT(nome da tag)
Retornar tag como texto.
=TAGGROUP(tagname,campo opcional)
Retorna o nome do grupo da tag ou outro campo de tag para retornar desse grupo.
=COMBO(texto1,texto2,texto3,...)
Crie um combo com textos.
=MAXABS(células)
Valor máximo absoluto de células.
=INCLINAÇÃO(célulasx,células)
Regressão linear da curva de forma de inclinação.
=INTERCEPT(célulasx,células)
Regressão linear da curva de forma de interceptação.
=CORRELAÇÃO(célulasx,células)
Correlação de células.
=MVT(células)
Converte mV para °C termopar T = MVJ(células)

Converte mV para °C termopar J =MVK(células)

Converte mV para °C termopar K = MVS(células)

Converte mV para °C termopar S =MVR(células)

Converte mV para °C termopar R @BUTTON(texto)

Botão para criar ações no evento "OnClick". Exemplo: if colclicked=5 then: if rowclicked=3 then: msgbox("test"): end if: end if @LISTBUTTON(texto)

Abre uma lista de banco de dados do campo ID em uma janela e retorna o registro selecionado pelo usuário para a célula à esquerda.
@LISTBUTTON(texto,CAMPO,BANCO DE DADOS,DATA1,DATA2)
Abre uma listagem de banco de dados do campo em uma janela e retorna o registro selecionado pelo usuário para a célula à esquerda.
@COMBOGROUPS Combo
com grupos. Retorna à célula à esquerda.
@COMBOGROUPS(campo,exclusivo)

39
Machine Translated by Google

Combo com grupos e o campo. Retorna à célula à esquerda. Se exclusivo não se repete.
@COMBODATABASE(banco de dados,campo,filtro,exclusivo)
Combo com campos de banco de dados com o filtro. Retorna à célula à esquerda.Se exclusivo não se repete.
@COMBOTAGS
Combo com os nomes das tags. Retorna à célula à esquerda.
@COMBOSUBTAGS
Combine com os nomes das tags nos grupos. Retorna à célula à esquerda.
@BUTTONEDITLIST(texto)
Janela de edição de campos na listagem principal.

Roteiros do relatório:

No modo de edição de modelo de relatório, crie scripts para programar processos específicos para cada evento.

Exemplo de evento OnAfterCalculation .

n=ldbcount ' Contar registros na tabela principal


se n>0 então

para i=1 a n '


Digitalize os registros na tabela principal

x=LdbCellN("Tag1",i) ' Retorna o valor na coluna Tag1


y=LdbCellN("Tag2",i) ' se Retorna o valor na coluna Tag2
x*y>10 então
LdbCellN("Tag3",i) = 1 ' Escreve um valor na coluna Tag3
senão
LdbCellN("Tag3",i) = 0 ' Escreve um valor na coluna Tag3
fim se

próximo

fim se

As planilhas para formatos de relatórios e análises são flexíveis e podem ser utilizadas para diversos tipos de relatórios, utilizando
ou não os dados armazenados em banco de dados. Esta planilha possui funções genéricas e específicas para construir relatórios
com cálculos, gráficos e tabelas com base nos dados armazenados.

Os formatos de relatório são escritos em arquivos com extensão LGX.

40
Machine Translated by Google

Base de dados

O banco de dados é uma estrutura flexível onde as informações são registradas. Pode ser de aquisição de dados ou tabelas auxiliares (usuários,
alarmes, produtos, etc...).
Os campos podem ser personalizados de acordo com a aplicação.

Os dados podem ser armazenados em banco de dados nos formatos LBX (binário), DBF ou TXT. Os dados também podem ser exportados.

Para fins históricos, este formato de banco de dados como padrão é separado internamente por data. O desempenho não é muito
afetado após anos de armazenamento de dados.
Exemplo: nome do arquivo<ddmmyy>.LBX.

Os campos podem ser criados automaticamente definindo um nome de banco de dados na planilha de tags e gravando pela primeira vez.

Ou pode ser criado manualmente:

Menu Dados e Relatórios, Editar Banco de Dados...

Escolha ou crie banco de dados:

Cardápio:

Arquivo
Editar
Editar ou listar (filtrar) dados armazenados no banco de dados
Campos

Editar campos

41
Machine Translated by Google

Novo
Cria um novo banco de dados
Excluir
Excluir dados do banco de dados

Alterar campos do banco de dados:

Colunas de campo:

- Nome: Nome do campo. Pode ser o nome da tag se estiver relacionado a tags.
- Tipo: Tipo de campo: 0
- Número: Campo numérico.

Tamanho: vazio ou 8: Ponto flutuante duplo (8 - bytes). 1: byte.

2: Inteiro (2 - bytes) assinado.


4: Inteiro longo (4 - bytes) assinado.
1 - Texto: Campo de texto; Comprimento máximo na coluna Tamanho.
- Tamanho: Tamanho numérico ou comprimento máximo do texto.
- Formato: Formato numérico em listagem simples. Exemplo: hh:nn:ss (formato duplo para hora).

42
Machine Translated by Google

Configuração do banco de dados

Pasta de banco de dados: Exemplo: c:\temp\. Padrão: <.>dados\ (os arquivos são armazenados na pasta atual\dados\)

Tabela: nome do arquivo. D aseparationformperformancepurposes usa <ddmmyy>. Exemplo: ARQUIVO<ddmmyy>.LBX.

Usuário: nome de usuário opcional.


Senha: senha opcional.

43
Machine Translated by Google

Editando banco de dados

Edita, lista, filtra, exporta ou importa dados armazenados no banco de dados selecionado:

Cardápio
Arquivo

Pesquisa: filtro de banco de dados simples para fins de teste.


Exportar: Exporte dados para TXT ou CSV.
Importar: Importe dados de arquivos TXT ou CSV.
Editar

Novo: Cria um novo registro.


Excluir: Exclui o registro selecionado.
Copiar: Copia as células selecionadas para a área de transferência.
Selecionar tudo: seleciona todos os dados.

Copiar tudo: Copie todos os dados e cabeçalho para a área de transferência.

44
Machine Translated by Google

Rede
Uma aplicação SCADA LAquis pode ser utilizada como servidor de rede via TCP ou WEB. Outras aplicações SCADA (LAquis) podem ser
utilizadas como cliente e vice-versa.

A comunicação em rede também pode ser feita via OPC.

Servidor

TCP:

Arquivo de Menu – Cliente e Servidor.

Ligue o servidor por TCP.


Clique em configurar TCP Server para selecionar a porta (padrão 1234).
Ative a geração de cliente (pelo menos uma vez).
Clique OK.
Salvar.

REDE:

Arquivo de Menu – servidor WEB.


Clique em ativar servidor WEB.

O endereço url aparecerá para teste.

45
Machine Translated by Google

Cliente

Automaticamente:

Ir para o endereço de url. Se necessário, via cliente de download TCP.

Exemplos: http://localhost:1234/ ou http://servername:1234/

Manualmente via TCP:

Abra o arquivo de aplicativo do projeto que será usado no computador cliente.

Arquivo de Menu – Cliente e Servidor.

Ative o Cliente.

Digite o endereço IP do servidor e clique em OK.

46
Machine Translated by Google

Objetos Visuais

Objetos visuais são inseridos no painel para desenvolvimento de aplicações específicas, bem como para monitoramento e controle
de tags.

Para associar o objeto a uma tag (ou sua propriedade) clique duas vezes sobre o objeto, ou com o botão direito do mouse escolha
a opção Tag (digite, se necessário, uma fórmula):

Selecione uma tag ou grupo ou tag e uma propriedade.

47
Machine Translated by Google

Para alterar suas propriedades, clique no objeto e use a janela do lado direito do painel.
Para cada tipo de objeto, diferentes listas de propriedades podem estar disponíveis como tamanhos de fonte, escalas, alarmes, cores, etc.

Os títulos dos objetos são definidos pela coluna "Título" na planilha de tags.

48
Machine Translated by Google

Objetos de desenho vetorial

Objetos usados para desenhos de fundo e criação de objetos.

Os objetos para desenhos vetoriais são tratados de forma diferente dos objetos visuais.

A edição de objetos de desenho vetorial é ativada por Button .

Uso:
1 - Podem ser combinados para gerar novos objetos visuais 2 - Plantas para
geração de interfaces 3D.
3 - Animações.
4 - Ilustrações simples.

Você também pode associar o valor da tag para algumas das propriedades do objeto.
Por exemplo, desenhe um objeto de escala e desenhe um objeto de polígono da seguinte forma:

Clique duas vezes no objeto polígono para abrir suas propriedades. Clique na célula da tag da coluna associada à coordenada MY (ponto
médio no eixo vertical do objeto). Selecione a etiqueta e clique em OK.

Ao executar a aplicação, a posição do polígono irá variar por tag dentro do intervalo definido.

50
Machine Translated by Google

Tipos de objetos vetoriais:

Genérico:

Tubo ou fio. (O tubo pode ser usado na planta para interface 3D também)

Polígono.

Elipse.

Cubo (projetado em 2D).

Cilindro (projetado em 2D).

Borda arredondada do retângulo.

planta de interface 3D:

Parede 3D.

Painel 3D.

Objeto (arquivo) 3D.

Criação do objeto:

Escala

Texto simples

Clique duas vezes no objeto para editar seus atributos.

51
Machine Translated by Google

Atributos de objetos de desenho vetorial

Nome: Nome do objeto vetorial.


Visível: Visibilidade.
Linha: atributos da borda da linha.
Cor (linha): Cor da borda da linha
Largura: Largura da linha.
Estilo: estilo de linha.
Preencher: Preencher atributos.

Cor (preenchimento): Cor de preenchimento do objeto vetorial.

Padrão (preenchimento): Preenchimento de padrão de objeto vetorial.

Preenchimento 2 (gradiente): Atributos do gradiente.


Cor (preencher 2): Cor de destino da cor gradiente.

Dimensões:

Por meio dessas propriedades, as dimensões e posições do objeto podem ser associadas a tags.

X1: posição do lado esquerdo do objeto.


Y1: Posição do lado superior do objeto.
Largura: Largura do objeto.
Altura: Altura do objeto.
X2: Posicione o lado direito do objeto.
Y2: posição lateral inferior do objeto.
MX: Posição média do objeto na horizontal.
MY: Posição média do objeto na vertical.

52
Machine Translated by Google

Inserindo objetos visuais

1 - Escolha um objeto na parte superior do painel, logo abaixo do menu, clicando sobre ele.
2 - Na área limpa entre o "menu" e a planilha existe um painel, segure o botão esquerdo do mouse e arraste, criando um retângulo, soltando
o botão do mouse após finalizar. O objeto escolhido deve aparecer dentro do retângulo.

3 - Ajuste a altura e a largura do objeto para melhor visualização.


4 - Crie outros objetos, da mesma forma. A cada objeto criado, o programa irá associá-lo a um canal de forma sequencial.

5 - Para associar manualmente o objeto visual a uma planilha de canais: selecione o objeto, clique duas vezes sobre ele e escolha a tag.

6 - Para alterar as propriedades do objeto selecione o objeto, utilize a janela ao lado direito.

Configuração do painel

Clique com o botão direito do mouse no painel e selecione a opção “Fundo e tamanho do painel”:

Imagem: defina um bitmap de fundo para a página do painel.


Cor: defina uma cor de fundo para a página do painel.

Lado a lado: bitmap de plano de fundo lado a lado.

Janela: Largura e Altura – Tamanho da janela (sem planilha de menus e tags).

53
Machine Translated by Google

Exemplos de objetos visuais


Exemplos de objetos visuais genéricos:

-
Texto de exibição
Marca de exibição.

- Editar

Editar etiqueta.

- Foto
Imagem para fundo, animação e resposta do estado.
- Botão
Botão de ativação do evento.

- Texto
Texto.

- PageObject
Objeto para replicar grupo de objetos.

- LCombo
Marca de combinação.

- Gráfico
Gráfico gráfico.
- Bar
Bar.
- Verificar
Verifique (ligado/desligado).

54
Machine Translated by Google

Texto de exibição

DisplayText
Exibe o valor ou texto da tag.

Propriedades principais:

Tag: Nome da tag ou fórmula.


Título: título do objeto (o padrão é o título da tag)
Nome: Nome do objeto.
Cor: Cor do texto.
Cor de fundo: Exibe a cor de fundo.
Visibilidade: se 0 invisível, caso contrário visível. Pode ser uma fórmula. (Exemplo: Tag1>30)

TitleSize: Tamanho do caractere do tamanho do título.


Borda: 1 - Sim. 0 - Não.
Formato: Formato numérico.
Alinhamento: 0 - Esquerda. 1 - Centro. 2 – Certo.
ShowUnit: 1 - Sim. 0 - Não.
TitleColor: Exibe a cor de fundo do título.
TitleTextColor: Cor do texto do título.
LI: Limite Inferior (limite inferior). Padrão: §.LI (da coluna de tag LI)
LS: Limite Superior. Padrão: §.LS (da coluna de tag LS)
ShowLimits: 1 – Apresenta setas indicando a ultrapassagem do limite.
AlarmColor: Cor de fundo quando o alarme está ativado.
InternalBorder: 1- Borda interna.
Tamanho: 0 - Tamanho do texto redimensionado automaticamente com a altura da tela. Caso contrário, o tamanho da fonte do texto.
ForceTitle: Força um texto de título.
UnitForce: Força um texto de unidade.
ForceText: Força um texto.
TransparentTitle: 1 – O fundo do título é transparente.
Estilo: 0 – Borda normal. 1 – Borda arredondada.

55
Machine Translated by Google

Editar

Editar

Valor da tag ou editor de texto.

Propriedades principais:

Tag: Nome da tag ou fórmula.


Título: título do objeto (o padrão é o título da tag)
Nome: Nome do objeto.
Cor: Cor do texto.
Cor de fundo: Exibe a cor de fundo.
Visibilidade: se 0 invisível, caso contrário visível. Pode ser uma fórmula. (Exemplo: Tag1>30)

TitleEditor: Força o título do editor.


Tamanho: 0 - Tamanho do texto redimensionado automaticamente com a altura da tela. Caso contrário, o tamanho da fonte do texto.
TransparentTitle: 1 – O fundo do título é transparente.
Alinhamento: 0 - Esquerda. 1 - Centro. 2 – Certo.
PostTitleEditor: Posição do título. 0 - Esquerda; 1 – Superior.
ShowUnit: 1 - Sim. 0 - Não.
TitleColor: Exibe a cor de fundo do título.
TitleTextColor: Cor do texto do título.
Fonte: Nome da fonte do texto.
Negrito: 1 - Negrito. 0 - Normal.
Itálico: 1 - Itálico. 0 - Normal.
Borda3D: 1 – Borda 3D.
Edit: 1 – Permite digitação. 0 – Desativar digitação.
EditText: Texto mostrado na janela do editor opcional (clique).
Formato: Formato numérico.
TagsSpreadsheet: 1 – Valor conectado à planilha de tags (padrão 1).
Máximo: valor máximo permitido.
Mínimo: Valor mínimo permitido.
Etapa: Etapa numérica usada no botão de rotação para alterar o valor.
Editor: 1 – Editor de painéis. 0 – Editor de janelas (clique).
MaxChar: Contagem máxima de caracteres.
PasswordDepends: Depende da senha a ser digitada.

56
Machine Translated by Google

Foto

Foto
Imagem de fundo, estado duplo ou animação.

Se a imagem estiver associada a uma tag, seu valor determinará seu comportamento nos estados ou no modo de animação.

Para definir uma animação ou vários estados, podem ser usados arquivos com valores numéricos após seus nomes. Exemplo:
Motor001.emf, Motor002.emf e Motor003.emf. A propriedade States define o número máximo de estados ou quadros para animação.

Propriedades principais:

Imagem: nome da imagem. Pode ser bmp, jpg, emf ou gif (animado ou não).
Tag: Nome da tag ou fórmula.
Nome: Nome do objeto.
Visibilidade: se 0 invisível, caso contrário visível. Pode ser uma fórmula. (Exemplo: Tag1>30)
Transparente: Fundo transparente.
Tamanho fixo: tamanho fixo original da imagem.
Borda: Desenhe uma borda ao redor da imagem.
Estados: Nmáximo número de estados para animação. (0..n)
CurrentState: Número do estado atual.
DoubleState: Define se o comportamento da imagem será de dois estados, caso contrário é uma animação.
ChangeClick: Alterna o valor do tag ou estado entre 0 e 1 ou os estados configurados.
Antialias: Faz um efeito antialias sobre a imagem esticada.
Value=State: Associa o valor do tag ao número do estado.

57
Machine Translated by Google

Botão

Botão
Botão de ativação do evento.

Propriedades principais:

Tag: Nome da tag ou fórmula.


Título: título do objeto (o padrão é o título da tag)
Nome: Nome do objeto.
Cor: Cor do botão.
Visibilidade: se 0 invisível, caso contrário visível. Pode ser uma fórmula. (Exemplo: Tag1>30)

Texto: Texto mostrado no botão. Para atalhos de teclado insere e & antes da letra desejada.
TextColor: Cor do botão de texto.
Relatório: Nome do arquivo de formato de relatório. Pode ser selecionado clicando com o botão direito do mouse sobre ele e
selecionando a opção de menu "Mostrar relatório deste botão".
Comando: Valor a ser enviado ao tag.
Página: Número da página do painel a ser alterada quando o usuário clica no botão. É o mesmo que no script no evento OnClick
fazendo isso por exemplo: Panel.Page = 7.
ChangeTag: Quando uma página do painel é alterada, suas tags são alteradas para a nova tag ou referência de grupo.

HotSpot: Botão invisível, mas ativo.


Margem: Largura da margem.
CharacterSize: tamanho da fonte do botão.
Negrito: Estilo da fonte em negrito: 1 - Negrito. 0 - Normal.
PagePopup: Chama uma página do painel como uma janela pop-up.
Pulse: Ao pressionar o botão o valor do tag muda entre as propriedades High e Low aguardando o tempo da propriedade PulseTime em
milissegundos .

58
Machine Translated by Google

PageObject

PageObject

Inclui objetos de outro painel de página. Diversas finalidades: 1 - Replica objetos


com diferentes tags ou grupos.
2 - Cria objetos de múltiplos estados 3 -
Animação de objetos de desenho vetorial.

Propriedades principais:

Tag: Nome da tag ou nome do grupo.


Título: título do objeto (o padrão é o título da tag)
Nome: Nome do objeto.
Cor: Cor do botão.
Visibilidade: se 0 invisível, caso contrário visível. Pode ser uma fórmula. (Exemplo: Tag1>30)

Página: Nome ou número da página do painel.


Páginas:
- Estado múltiplo: Páginas do painel e seus valores associados às tags. Exemplo: 0=pagename1;1=pagename2. (comportamento: quando
a tag for 0, a página do painel "pagename1" será mostrada no objeto da página. Se a tag for 1, a página do painel será "pagename2").

- Animação: As páginas do painel são quadros de animação se a tag referenciada estiver ativa. Exemplo:
nomedapágina1;nomedapágina2;nomedapágina3. Quando a tag for 1, a animação será a alternância entre as páginas do painel.

Exemplos podem ser importados pelo botão Importar.

59
Machine Translated by Google

Gráfico

Gráfico
Gráfico gráfico simples para monitorar em tempo real.

Propriedades principais:

Tag: Nome da tag ou nome do grupo.


Título: título do objeto (o padrão é o título da tag)
Nome: Nome do objeto.
Cor: Cor da primeira curva.
Cor de fundo: Cor de fundo do gráfico.
Visibilidade: se 0 invisível, caso contrário visível. Pode ser uma fórmula. (Exemplo: Tag1>30)

Máximo: máximo do eixo Y.


Mínimo: mínimo do eixo Y.
AutoScale: Se ativo, o máximo e o mínimo são calculados automaticamente.
GridColor: Cor da grade do gráfico.
DivisionsX: As divisões contam no eixo X.
DivisõesY: As divisões contam no eixo Y.
Pontos: Máximo de pontos permitidos para o gráfico.
Reiniciar: 1 - Reiniciar o monitoramento do gráfico.
TimeFormat: Formato de hora no eixo X. Exemplo: hh:nn:ss TimeDelta:
Intervalo de tempo máximo mostrado no gráfico.
TextColor: Cor do texto (números e texto).
Amostragem: Menor intervalo de tempo, em milissegundos, de atualização do gráfico.
Espessura: Espessura da linha das curvas.
Borda: Borda ao redor do gráfico.
CharSize: tamanho da fonte do texto.
TitleSize: Tamanho da fonte lado a lado no topo do gráfico.
Color2: Curva 2 cores Color3:
Curva 3 cores.
Color4: Curva 4 cores.
Color5: Curva 5 cores.
Legenda: 1 – Mostra a legenda.
Legend1: Legenda da curva 1.
Legend2: Legenda da curva 2.
Legend3: Legenda da curva 3.
Legend4: Legenda da curva 4.
Legend5: Legenda da curva 5.
FixX: 1 – Eixo X fixo. Caso contrário, role como um papel.

60
Machine Translated by Google

Introdução do roteiro
Linguagem para criar processos e ações de aplicativos customizados.

Exemplo:
Crie um botão. Programe sua ação através do script.
Execute o aplicativo. Quando este botão for clicado, seu script será executado.

Eventos

Existem dois tipos de eventos onde os scripts podem ser executados: eventos genéricos e eventos em objetos.

Eventos genéricos:

OnAfterScanning
Define o que acontece após a varredura principal das tags;
OnStart Define o que acontece quando o aplicativo é iniciado;
<Global> Define funções globais; OnGroups Define o que
acontece após a varredura principal de tags para cada grupo de
tags. Tags.Group é o nome do grupo atualizado. Use
Tag("tagname") para acessar uma tag do grupo atualizado.

OnFinish
Define o que acontece quando a aplicação é finalizada;
OnBeforeScanning Define o que acontece antes da varredura
principal das tags;

61
Machine Translated by Google

OnInterScanning
Define o que acontece durante a varredura de tags;
OnTag Define o que acontece quando uma tag é
atualizada. Use Tag() para acessar a tag.
OnAlarm
Define o que acontece quando o alarme é acionado. Use Tag() para acessar a tag com alarme.
Use Tag().alarme para acessar o alarme.
OnBeforeRecording
Define o que acontece antes da gravação das tags. Tag() é a tag a ser gravada.
OnAfterRecording
Define o que acontece após a gravação das tags. Tag() é a tag gravada.
OnKeyDown
Define o que acontece depois que o teclado é pressionado. Chave é o número da chave.

Eventos de objetos visuais:

OnClick
Define o que acontece quando um objeto é clicado. Tag() é a tag associada ao objeto clicado.
Panel.ThisObject acessa as propriedades do objeto clicado.
OnMouseDown
Define o que acontece quando um objeto é clicado (botão do mouse pressionado). Tag() é a tag associada ao objeto clicado.
Panel.ThisObject acessa as propriedades do objeto clicado.
OnMouseMove
Define o que acontece quando um objeto é clicado e o ponteiro do mouse é movido sobre esse objeto.
OnMouseUp
Define o que acontece depois que um objeto é clicado (botão do mouse para cima). Tag() é a tag associada ao objeto clicado.
Panel.ThisObject acessa as propriedades do objeto clicado.

62
Machine Translated by Google

Roteiro Visual

O script visual permite o desenvolvimento de aplicativos por meio de uma linguagem visual.
Cada objeto visual pode ser um comando, operação, constante, variável, etc...

Neste exemplo o valor 7 é colocado na tag x2. É equivalente, em script de texto, a x2 = 7.

Os pinos de saída estão sempre no lado direito do objeto. Os pinos de entrada estão no lado esquerdo.

63
Machine Translated by Google

Navegador de comandos

Para consultar tags, objetos e comandos disponíveis utilize a opção do navegador.


Na janela do script clique no botão "F4 - Comandos" ou pressione F4.

Selecione uma tag, objeto ou comando.

Dica: Digite o início do nome do comando. Uma janela apresentará um levantamento dos
comandos disponíveis.

64
Machine Translated by Google

Acessando tags no script

Exemplos:
x = tagname (retorna à variável x valor do tag cujo nome é tagname) t =
Temperatura1*100 (retorna à variável x valor do tag Temperatura1 x 100) x = Tag1.LS (retorna
à variável x tag tag1 propriedade LS ) x = Tag("Tag1") (retorna para a variável x o valor da tag
cujo nome é Tag1) s = Tag$(7) (retorna para uma variável string s o texto da tag cujo número de
linha da planilha é 7) x = Tag( "teste").LI (retorna à variável x a propriedade Tag1 LI) y =
Tag("Group1_Value1") (retorna à variável x a tag Value1 do grupo Group1)

.
y = Tag() (retorna à variável y valor atual da tag do objeto)

Acesse outros recursos da planilha de tags com Tags de objetos . Exemplo, retorna o número de contagem de tags: x =
Tags.Count.

Para usar uma tag como uma variável simples sem um dispositivo externo, use o driver VAR.

65
Machine Translated by Google

Variáveis de script

Variáveis podem ser criadas e usadas livremente em script em atribuições de valores ou como
parâmetros da função. (Uma tag também pode ser usada como variáveis, genéricas ou associadas a
equipamento).

Existem dois tipos de variáveis:


- Texto
- Número

Exemplos de criação de variáveis numéricas: x


=0
y = 7,43675
w = &HEEBBFF ' em hexadecimal
i = &B011010011101111111 ' binário
y=y+1
Eles podem ser calculados usando os operadores + - * / ou através de funções matemáticas pré-definidas.

Criando variáveis de texto, exemplos:


""
s=
text1 = "escada"

Conversão de número para texto: s = CStr( x )


Conversão de texto para número: x = Val( s )

Constantes de texto são definidas entre aspas. Os textos podem ser concatenados usando
+ operador.

Exemplo de concatenação de texto ". s = "Realized " + CStr( x ) + " teste(s). "
(NOTA: O comando IF requer == operador para comparação de strings)

As variáveis de texto também podem ser memória de pacotes de bytes. Eles podem ser usados para comunicação ou processamento de
dados binários. (veja funções como BytesToStr)

NOTA: Os nomes das tags são variáveis predefinidas.

Operações básicas

= : Associação. Exemplo: y = 1 .
+ : Soma. Ex: y = y + 1 .
- : Subtração. Ex: y = y – 1 .
*
: Multiplicar. Exemplo: y = y*2 .
/ : Divisão. Ex: y = y / 2 .

= : Associação. Ex: s = “texto” .


+ : Concatenação de texto. Ex: s = s + “texto” .

66
Machine Translated by Google

Comandos e expressões básicas

Expressão SE (condição)
Se a expressão indica uma decisão baseada na condição.

Exemplo 1:

Se <expressão> Então
...
Fim se

Se ( Tag1 = 2 ) Então
mensagem1 = "valor é 2"
Fim se

Exemplo2:

Variável de texto.

Se Não ( resposta == "ERRO" ) Então


Etiqueta1 = 3
Fim se

Exemplo3:

Expressão Else e ElseIf:

Se Tag1 > 3 Então


Etiqueta 7 = 3
ElseIf Tag1 = 1 Then
Etiqueta7 = 1
Senão
Etiqueta7 = 2
Fim se

A expressão ElseIf exige um Else no final.

Por

O comando For indica uma iteração em que uma variável i obtém valores de n1 a n2.

67
Machine Translated by Google

Expressão Enquanto (loop)

Expressão While indica um loop enquanto uma condição é verdadeira

Sintaxe:

Enquanto <condição>
...
FIM

Exemplo:

leitura = 1 x
=0
Enquanto ( leitura = 1 ) E ( x <= 20 )
...
Tag1.atualiza
leitura = Tag1
...
x=x+1
FIM

Vá para

O comando GoTo leva a execução a uma posição de rótulo.

Objetos visuais

Use o objeto de painel para acessar objetos visuais. Use script para acessar objetos visuais apenas como último recurso. Prefira
optar por associar tags a objetos e suas propriedades e alterar apenas as tags.

Panel.< nome do objeto>.<propriedade> [ = valor ]

Cada objeto tem propriedades específicas.

Propriedades comuns:

Atualizar
Atualizar objeto.
Valor
Valor do objeto principal (na maioria dos casos veio da tag)
Atualizar
Objeto de atualização. Panel.text1.Update.

Outras propriedades vão para o tópico do objeto Panel

68
Machine Translated by Google

Objeto do painel

O objeto Panel possui propriedades que acessam o painel de objetos visuais.

Propriedades principais:

Página:
Obtenha ou defina o número ou nome da página atual. Ex: Painel.Página=0

ChangeTagsFromPage ( página, nome da tag ou grupo ):


Associa as tags dos objetos da página do painel a outra tag ou grupo.

Marcação: Tag de objeto visual atual.

Grupo: Nome do grupo de objetos visuais atual. Ex: Tag(Painel.Grupo+”_temp”) = 1.

Atualizar: Atualização do painel. Painel.atualizar

Foco: Definir foco do painel

Tela cheia: Definir tela cheia do painel. Ex: Panel.FullScreen = True.

Window ( [x,y,] window, height ): Converte o


painel em uma janela. sinze Panel.Window(600.400)
Machine Translated by Google

Objetos de tags

Os objetos Tags permitem que o script acesse diretamente a planilha de tags.

Propriedades principais:

RowWhoseName (nome da tag): Retorna


a linha da planilha de tags.
StartRecord [( nome do grupo)]: Inicia
a gravação do banco de dados. Ex: Tags.StartRecord.
StopRecord [( nome do grupo)]: Para
a gravação do banco de dados. Ex: Tags.StopRecord.
RecordNow [(nome do grupo)]:
Força a gravação no momento.
TagName (linha):
Nome da tag da planilha de tags.
TagRow (nome da tag):
Número da linha da tag da planilha de tags.

Update (nome da tag):


Força a atualização da tag do equipamento. Ex: Tag.Atualização (“Tag1”)
Reproduzir (nome da tag):

Inicia a leitura na linha especificada. Planilha.Liga(3)


Pause (tag name): Pausa
a leitura na linha especificada. Planilha.Pausa(3)

Contar:
Número de etiquetas.
Ativado (marca):

A etiqueta está ativada.


Gravação (tag): A tag
está sendo gravada.
Salvar (nome do
arquivo): Salva o arquivo de projeto do aplicativo atual.
SaveColumn (nome do arquivo, column_name):
Exporta dados de coluna da planilha de tags.
OpenColumn (nome do arquivo, column_name):
Importa dados de coluna da planilha de tags.
Machine Translated by Google

Exemplo (OnAfterScanning)

Exemplo usando OnAfterScanning.

Se Tag(”Tag1”) > 20 Então


Tag$(”Mensagem”) = "Passou 20"
Senão
""
Tag$("Mensagem")
Fim se =

Exemplo – Evento global

Função MeuCálculo( x)

* 1,7
MeuCálculo = x
Função Final

Em um evento de objeto visual:

y = MeuCálculo( x)

Objeto global
O objeto global cria variáveis que podem ser acessadas em todos os eventos de script internos.

Sintaxe:

Global.<nome da variável> [ = valor ]

Exemplo:

Global.Variável = 5
Global.Teste = 2

' Em outro evento

x = Global.Variável
y = Global.Teste

OBS:
Global.Variable = 5 é o mesmo que StoreValue(5, "Variable")

90

Você também pode gostar