LAquis Apostila

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

LAquis 4.

1
Software Supervisrio

Introduo para utilizao e desenvolvimento de aplicativos


Apostila 18/10/2013

Leo Consultoria e Desenvolvimento de Sistemas Ltda


http//:www.lcds.com.br
[email protected]

Sumrio
Introduo.........................................................................................................3
Passo a passo..................................................................................................4
1 Pontos de leitura e escrita (tags)...............................................................4
2 Banco de dados / Histrico / Relatrio......................................................8
3 Objetos visuais........................................................................................10
4 Script visual e texto...............................................................................18
5 Grupos de tags........................................................................................20
Modelos..........................................................................................................25
Planilha de pontos de Leitura e Escrita (Tags)...............................................26
Configurao da Comunicao....................................................................31
Frmula na planilha de tags.........................................................................32
Definio do banco de dados.......................................................................33
Drivers.............................................................................................................34
Selecionar um Driver....................................................................................36
Relatrio / Histrico / Anlise dos dados........................................................37
Relatrio na aplicao..................................................................................37
Criar relatrios a partir do modelo................................................................37
Editar Relatrios / Planilhas para anlise dos dados...................................38
Frmulas e comandos para planilhas LGX..................................................40
Bancos de dados..........................................................................................41
Campos (estrutura).......................................................................................42
Conexo/Tipo do banco de dados................................................................43
Editar (Abrir tabela)......................................................................................45
Rede...............................................................................................................46
Servidor........................................................................................................46
Cliente..........................................................................................................47
Comunicao em Rede................................................................................48
Objetos Visuais...............................................................................................49
Inserir Objeto Visual.....................................................................................53
Configurao do Painel................................................................................53
Exemplos de objetos visuais........................................................................54
DisplayText.....................................................................................................54
LEditar.............................................................................................................55
Figura..............................................................................................................56
Boto...............................................................................................................57
ObjetoPagina..................................................................................................58
MGrfico.........................................................................................................59
Scripts...............................................................................................................60

Introduo
No LAquis possvel tanto realizar aquisies de dados como tambm desenvolver programas
especficos para as mais diversas aplicaes.

A tela principal se divide em duas partes: a parte inferior, onde fica a planilha de tags (pontos de
entrada e sada) e a parte superior, painel onde so colocados os objetos visuais. Quando necessrio
possvel configurar para utilizar somente o painel de objetos para gerao de aplicativos.
Na planilha de tags so definidos os pontos de leitura e escrita, equipamentos, variveis, arquivos,
frmulas, escalas ou outras propriedades e parmetros criados pelo usurio para cada caso.
No painel, os objetos visuais podem ser usados tanto para o desenvolvimento de sistemas especficos
atravs de script como tambm para o acompanhamento simples de uma aquisio de dados. Cada
objeto pode estar relacionado a um tag definido na planilha de tags.
Definindo o banco de dados na planilha de tags, possvel gerar os relatrios e grficos de leituras
armazenadas atravs do menu "Relatrios".
Para iniciar o desenvolvimento de um novo aplicativo clique no boto Novo. Aparecer uma janela com
vrios modelos que geram aplicativos pr-definidos que podem ser alterados conforme a necessidade.

Passo a passo
Para testar os passos abaixo, clique no boto Novo, selecione branco, clique em OK, salve e digite um
nome.
Sero apresentados 5 passos bsicos:
1 Definio dos pontos de leitura e escrita (tags).
2 Arquivo / Relatrio
3 Objetos Visuais
4 Scripts visual e texto
5 Grupos de tags

1 Pontos de leitura e escrita (tags).


Defina os pontos de leitura e escrita na planilha de tags situada na parte inferior da tela principal. Estes
tags podem ser variveis dos equipamentos ou variveis para uso geral.
A planilha de tags contm as informaes necessrias para definir o que ser lido ou escrito nos
equipamentos. Alguns dos campos principais para cada tag so: Nome, Ttulo, Valor, Unidade,
Driver (Equipamento), Banco, Param1, Param2, etc.... Escolha os drivers dos equipamentos a
serem usados na coluna Driver (Equipamento).
O driver pode ser definido arrastando o ponteiro do mouse com o boto esquerdo pressionado sobre a
coluna Driver, ou clicando sobre o ttulo da coluna Driver para selecionar todos os tags desejados.

Ao soltar o boto do mouse a janela para seleo do driver ser mostrada:

Planilha de pontos de leitura e escrita ou tags.


O driver a ser escolhido depende do equipamento (hardware) utilizado.
Para testar o funcionamento do software sem equipamento utilize, por exemplo, o driver DEMOTESTE.
4

Se, por exemplo, desejar comunicar com um equipamento que utilize o protocolo Modbus rtu escolha o
driver MODBUS RTU.ldriver. O Param1 fica sendo o nmero do registro e o Param2 o nmero do n
(Exemplo: Param1=400001. Param2=1). Veja a descrio dos parmetros do driver Modbus no captulo
Drivers.
Configure a comunicao (porta, velocidade, temporizao, etc....) no boto Config da janela Driver ou
na coluna Config da planilha.
Ao pressionar o boto Config da janela Driver a seguinte janela ser mostrada para configurao da
porta serial:

Configure as caractersticas da comunicao. Exemplo de configurao para porta serial COM1:


1:9600,N,8,1. (porta serial 1, velocidade 9600, paridade nenhuma, bits de dados 8, bits de stop 1).
Se o driver for OPC, ao clicar sobre o boto Config ser apresentada uma janela para definio do
ProgID e Item ID do servidor OPC (opcionalmente para conexes remotas coloque o IP do servidor no
campo Servidor):

- Defina as outras caractersticas do tag.


Neste exemplo foram colocados o nome (Tag1), ttulo (Valor 1), unidade (C), Param1 (40x0000) e
Param2 (1):

Exemplo com quatro tags: (sero lidos os quatro primeiro registros holding do equipamento do n 1
atravs do protocolo Modbus)

Se desejar testar o software e no tiver equipamento conectado ao computador utilize, por exemplo, o
driver DEMOTESTE:

Para iniciar a leitura dos valores e testar a comunicao clique sobre o boto
(Ligar Iniciar aplicao). Na barra inferior ser apresentada uma
mensagem de atualizao dos tags. Os valores devero ser mostrados na coluna Valor. Se houver
erro de comunicao aparecer nesta coluna a mensagem ERRO e na coluna Status Erro de
leitura.
Para desligar a comunicao pressione o boto
(Parar Parar aplicao).

Os tags podem ser tambm variveis para diversos fins. Utilize, por exemplo, o driver VAR.

Cada tag possui vrias propriedades que podem ser configuradas: Alarmes, Frmulas, Limites, etc...

Frmula:
Exemplos:
Tag1*Tag2
Tag3/7
*0.1
*Bit(0)

Multiplica dois tags.


Divide por 7
Multiplica por 0.1 na leitura e divide 0.1 na escrita.
Retorna o bit 0

Para acessar as opes de frmulas clique sobre o boto ao lado da coluna frmula.
Alarme:
Clique sobre o boto ao lado da coluna Alarme para definir o funcionamento do alarme para o tag.
Pode ser usado tambm para definir descries para cada valor do tag.

2 Banco de dados / Histrico / Relatrio


Os valores lidos e controlados nos tags podem ser gravados em arquivo. Para isso clique sobre a
coluna Banco de dados. Da mesma forma que o driver, o banco de dados pode ser definido
arrastando o ponteiro do mouse com o boto esquerdo pressionado sobre a coluna Banco de dados,
ou clicando sobre o ttulo da coluna Banco de dados para selecionar todos os tags desejados.

Neste exemplo, os valores dos quatro tags sero armazenados no banco de dados TESTE.LB:

O intervalo de tempo em que os valores sero armazenados definido na coluna Gravao.


Observao: como padro, os dados (leituras) so gravados na sub-pasta dados dentro da pasta do
aplicativo lqs. Para alterar a configurao do banco de dados utilize a opo do menu Relatrios
Editar banco de dados.
Tendo alguns dados j gravados no banco de dados j possvel criar os relatrios. Um dos relatrios
pode ser considerado o principal, e o que ser mostrado a seguir.

Para gerar um relatrio dos dados gravados, clique menu Relatrios Criar... (ou coloque um boto
no painel e clique em Relatrio deste boto - conforme ser explicado no passo 3).

Na primeira vez, nesta fase de desenvolvimento, aparecer uma janela para escolha do modelo do
formato de relatrio:

Defina um nome para o relatrio. Ele ser um arquivo com extenso lgx que vai conter o layout e as
caractersticas do relatrio.
(Se quiser criar ou associar um relatrio ao boto, s clicar com o mouse direito sobre o boto e
selecionar Relatrio deste boto - veja no passo 3.)
possvel personalizar os relatrios e tambm criar novos modelos.
Opo do Menu Relatrios Editar .

Veja mais detalhes sobre os relatrios no captulo Gerao de Relatrios e sobre os


arquivos/banco de dados em Banco de dados.
Alarmes:
Para gerao de banco de dados de alarmes, utilize a coluna BancoAlarme na planilha de tags.

Depois crie os relatrios utilizando os modelos iAlarmes Completo.

3 Objetos visuais
Na parte superior da janela principal do software est situado o painel de objetos visuais. Neste painel
so programados os objetos e controles visuais que podero servir de interface para o usurio.
Selecione o objeto desejado e coloque no painel. Para isso clique sobre o cone do objeto na barra de
ferramentas ou escolha o objeto na janela direita, na aba Objeto, quando nenhum objeto estiver sendo
selecionado. Clique sobre o painel ou arraste o ponteiro do mouse com o boto esquerdo pressionado
para desenhar o objeto.

Objeto displaytext (visualizao)


Objeto LEditar (alterao de valores)

No exemplo acima foi adicionado um objeto displaytext, para visualizao de valores, e um objeto
LEditar para alterao de valores.
Cada objeto visual pode estar associado a um tag. Para isso clique duas vzes sobre o objeto ou
selecione a propriedade Frmula do objeto.

Selecione o tag a ser associado ao objeto. No exemplo acima, o tag valor2.

10

Os objetos visuais tm diversas propriedades. No exemplo a seguir foi includo um boto


uma vez sobre o boto aparecero suas propriedades na janela direita.

. Ao clicar

No exemplo acima foram alteradas as seguintes as propriedades Texto (com o valor Relatrio) e
Relatrio (com o valor 1 Relatrio do tag). A propriedade Texto, neste caso, o ttulo do boto. A
propriedade Relatrio com o valor 1 significa que ao pressionar o boto, ser mostrado o relatrio
principal do aplicativo atual associado ao tag do boto. Se quiser criar ou associar um relatrio ao
boto, s clicar com o mouse direito sobre o boto e selecionar Relatrio deste boto.
Outra propriedade importante do boto Comando. Quando o boto for pressionado o valor do tag
relacionado ser o valor da propriedade Comando. Veja tambm as propriedades Pagina, PopupPagina
e AlterarTag. Veja as propriedades do boto no tpico Exemplos de Objetos Visuais.
Exemplo de objeto visual termmetro. Os limites superior e inferior podem ser associados planilha.

11

Criando / Desenhando objetos vetoriais


Se quiser, importe exemplos prontos atravs do boto Importar...
Para criar novos objetos vetoriais:
1 - Desenhe nas pginas do painel utilizando os objetos vetoriais atravs do boto "Desenho"

Desmarque o boto "Desenho".


2 - Em outra pgina, adicione o ObjetoPgina", indicando na propriedade "Pgina" a localizao do
desenho.

3 - Se quiser torn-lo sensvel ao valor de um tag, associe o tag ao objeto pgina e coloque os valores
correspondentes na propriedade "Pginas". Valor do tag = Nmero da pgina. Exemplo: 0=1;1=2
Quando o valor do tag for 0 ento o desenho da pgina 1 ser mostrado. Se o valor do tag for 1 ento o
desenha da pgina 2 ser mostrado.

4 - Se quiser transform-lo em um boto ative a propriedade "CliqueAltera";

Animao:
3 - Se quiser configurar uma animao coloque os nmeros das pginas correspondentes aos quadros de
animao na propriedade "Pginas" (cada nmero deve ser separado por ; - ponto e vrgula) e ative a
12

propriedade "Animao". A primeira pgina (na propriedade "Pginas") ativada quando o "tag" associado
ao objeto for 0. Quando o "tag" for 1 ento ocorre a animao alternando entre as pginas restantes.
Exemplo: 3;1;2

4 - Se quiser tornar o objeto sensvel ao "mouse", como um boto, ative a propriedade "CliqueAltera". Ao
clicar sobre o objeto ele alterna o valor do "tag" entre 1 e 0.

Ao invs dos nmeros das pginas, podem ser usados os nomes das pginas.
Exemplos:
Nomedapagina1;Nomedapagina2;Nomedapagina3
0=Nomedapagina1;1=Nomedapagina2
etc...

13

Antes de aprender como criar novos objetos necessrio entender dois conceitos: objetos de desenho
vetorial e ObjetoPagina.
Objetos de desenho vetorial:
Para desenhar no painel utilizando objetos vetoriais clique sobre o boto

Mais detalhes dos objetos vetoriais veja o tpico Objetos para desenhos vetoriais

ObjetoPagina:
possvel definir grupos de objetos baseados em um painel padro. Uma das formas de fazer isso
utilizando o objeto ObjetoPagina

1 Defina objetos em uma das pginas do painel (a partir da pgina 1)

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


3 Coloque (na pgina 0) o objeto ObjetoPagina.
4 Associe o objeto ObjetoPagina a um tag ou grupo.

14

Criao de objetos desenhando em pginas separadas:


possvel criar seu objeto visual desenhando no prprio supervisrio em uma pgina separada.
Veja o exemplo de motor na figura abaixo:

Este objeto foi criado desenhando o motor usando objetos vetoriais em uma pgina separada:

Utilize um ObjetoPagina
e defina a pgina do motor na propriedade Pgina.
Para que o objeto seja alterado conforme o valor de um tag utilize a propriedade Pginas.
Crie objetos diferentes em pginas diferentes. Neste exemplo so usadas as pginas 2 e 3.

Na propriedade Pginas defina as pginas relacionadas com cada valor do tag. Por exemplo 0=2;1=3. Se
o valor do tag for 0 ser mostrado o motor verde (pgina 2). Se o valor do tag for 1 ento ser mostrado o
motor amarelo (pgina 3).
Se quiser alterar o tag clicando sobre o objeto coloque 1 na propriedade CliqueAltera.

Mais detalhes dos objetos vetoriais veja o tpico Objetos para desenhos vetoriais

15

Exemplo de objeto visual Figura. Este objeto visual pode ter diversas finalidades. Botes de dois
estados, informao de estado, simples ilustrao, etc....
No exemplo abaixo a Figura configurada como boto de duplo estado (propriedade Duplo estado):

Quando o aplicativo for executado este objeto visual se tornar como um boto (propriedade Clique
altera). Ao clicar sobre este objeto, o estado do tag associado ser alterado para valores que alternam
entre 0 e 1. Sua visualizao alterada conforme a propriedade Estado atual. O nome da figura deve
ter o formato <nome><estado>.emf ou bmp. Neste caso, vlvulaazul1.emf e vlvulaazul2.emf. O nmero
de estados neste caso 2.
Pode ser utilizado tambm arquivo gif animado. Mesmo assim defina o nmero mximo de estados.
(Para criar objetos desenhando no prprio supervisrio utilize os objetos vetoriais.)

16

No exemplo abaixo a Figura configurada conforme um boto com animao (propriedade Duplo estado
desmarcada):

Quando o aplicativo for executado este objeto visual tambm se tornar como um boto (propriedade
Clique altera). Ao clicar sobre este objeto, o estado do tag associado ser alterado para valores que
alternam entre 0 e 1. Mas quando a propriedade estado atual se torna 1 ento o objeto entra em estado
de animao variando de 1 at o nmero de estados. O nome da figura tambm deve ter o formato
<nome><estado>.emf ou bmp. Neste caso, motorverde1.emf e motorverde2.emf. Pode ser utilizado
tambm arquivo gif animado. Mesmo assim defina o nmero mximo de estados.
Para todos os casos se for desejada apenas a visualizao do sinal, sem a interveno do usurio, ento
a propriedade Clique altera deve ser desmarcada.

Mais detalhes sobre objetos visuais veja o captulo Objetos Visuais.

17

4 Script visual e texto


Scripts so seqncias de instrues ou programas usados para personalizar as aes do aplicativo
para atender o processo. Eles so executados dentro dos eventos disponveis no sistema.
Existem dois tipos principais de script no LAquis: visual e texto. O script visual uma linguagem que
funciona de forma grfica, anloga a um fluxograma. J o script texto uma linguagem semelhante ao
Basic.

Exemplo de Script texto


Selecione um objeto, clique sobre a aba Script texto. Digite, por exemplo, motor = 1.

O tag motor receber o valor 1.

Note que uma operao simples como esta, usada nestes exemplos, no requer necessariamente o uso
de script este exemplo foi colocado apenas para entender o princpio do script. A mesma operao
poderia ser feita, apenas colocando no objeto boto, a propriedade Comando como 1.

18

Para acessar alguns dos comandos disponveis no script tecle F4.

As possibilidades que o script oferece so muitas. Operaes, condies, iteraes, etc...

19

5 Grupos de tags
Os tags podem ser divididos em grupos. Estes grupos podem ser estaes, equipamentos,
mdulos, unidades, centrais, etc... Os grupos servem principalmente para evitar retrabalho. Os
nomes dos tags podem ser iguais entre si, mudando apenas os grupos e endereos.
TELAS:
Em geral, no precisa desenvolver uma tela para cada grupo se os tags forem iguais ou
parecidos. Se a tela for igual, e muda apenas endereos/grupos dos tags , basta fazer uma
tela. Uma vez definida a tela ela pode ser associada em tempo real para qualquer um dos grupos.
Isto vale tambm para os relatrios. Veja nos exemplos abaixo.
BANCO DE DADOS:
O banco de dados gravado por grupo, mas tambm em geral, no precisa criar um banco diferente para
cada grupo. Na existncia de vrios grupos com o mesmo banco, estes grupos sero armazenados
automaticamente em paralelo da seguinte forma: cada registro ter um campo para cada nome do tag e o
nome do grupo gravado no campo NOMEDOGRUPO. De qualquer forma, no relatrio, eles podem ser
exibidos individualmente ou em grupo. Veja nos exemplos abaixo.
Exemplo 1: Clique no menu Novo Exemplo com grupos. Se quiser, utilize este exemplo para iniciar o
desenvolvimento do seu aplicativo. Apenas selecione o exemplo com grupos, salve e redefina os tags,
telas e relatrios conforme a necessidade.
Exemplo 2: Passo a passo manual (10 passos):
1 - Crie uma nova aplicao em branco.
2 - Clique com o boto direito do mouse sobre a aba dos grupos, na planilha de tags.

3 - Selecione a opo Novo grupo de Tags....


Ser criado um grupo com o nome Grupo1.

20

4 - Clique no boto + VAR para acrescentar tags neste grupo.

5 - Defina, para este grupo, os equipamentos, os nomes dos tags, bancos de dados, parmetros, etc...
Exemplo:

Opcionalmentecrie tags como identificadores do tipo VAR para representar o grupo, equipamento,
unidade, central, mdulo, produto, etc... (No exemplo acima ID)
Se quiser, pode alterar o nome do grupo. Clique com o boto direito do mouse sobre a aba do grupo, e
selecione a opo Renomear grupo....
Exemplo:

6 - Para repetir ou duplicar os grupos, clique com o boto direito do mouse sobre a aba do grupo, selecione
a opo Grupos Avanado - Duplicar grupos....

Digite o nmero de grupos a serem acrescentados baseados no grupo atual e clique em OK.
Defina os parmetros corretos dos tags para cada grupo. Endereos, nomes, etc... Procure utilizar o
mesmo nome de banco de dados, igual para todos os grupos. No banco, o campo NOMEDOGRUPO vai
diferenciar automaticamente os registros do banco e sero tratados depois.
Exemplo:

21

7 - Defina agora uma tela padro para um grupo. Para facilitar defina nomes para as pginas do painel
(telas). Clique com o boto direito na aba das pginas, e selecione a opo Renomear. Exemplo:

Neste exemplo ser utilizada a aba Estao como uma pgina relacionada a um grupo.
Defina os objetos visuais nesta pgina, e associe com os tags do primeiro grupo.
Exemplo:

22

8 - Numa pgina principal, neste exemplo com o nome Principal, coloque botes com as propriedades
Pagina com o valor Estao e AlterarTag com a propriedade 1 Sim.
Associe cada boto com o grupo desejado.
Exemplo fazendo isto na pgina Principal:

Quando o usurio clicar sobre um destes botes, a pgina Estao ser mostrada, e seus objetos
associados automaticamente ao grupo (neste exemplo, estao).
Ao invs de criar botes, podem ser criados objetos personalizados com informaes de cada grupo (ou
estao). Utilize neste caso o objetopgina conforme os passos anteriores.
Exemplo:

Esta tela foi feita com 2 displaytexts, um led e um boto hotspot.


O boto hotspot um boto normal, com as propriedades Pagina e AlterarTag setados, mas
invisvel, permitindo aparecer os objetos abaixo dele. Para tornar um boto hotspot basta setar a
propriedade Hotspot como sendo 1 Sim.
9 - Banco de dados: Utilize um mesmo nome de banco de dados, igual para todos os grupos.
Automaticamente o campo NOMEDOGRUPO vai diferenciar os registros do banco.
23

Execute pelo menos uma vez o aplicativo, o sistema vai gerar o banco de dados, depois pare a
aplicao.
Neste exemplo, para garantir que o ID seja texto, clique no menu Dados e Relatrios - Editar banco de
dados. Selecione o boto Campo. No tipo do campo ID coloque 1 Texto.
10 Relatrio: Depois de gerados alguns dados sobre o relatrio, selecione um boto, com o mouse
direito clique sobre a opo Relatrio deste boto.
Selecione neste caso, por exemplo, o modelo Geral por GRUPO, Grupos AMOSTRAGEM ou Geral por
teste, etc....

Defina no relatrio quais os campos devero aparecer na listagem.


Exemplo:

24

Modelos
O LAquis disponibiliza modelos ("templates") de aplicaes pr-definidas. Os modelos podem ser usados
para adiantar o servio de desenvolvimento de novos aplicativos. Escolha o mais adequado para cada
caso. Os aplicativos gerados a partir dos modelos podem ser livremente modificados para se adaptarem
aplicao desejada.
Para acess-los clique sobre a opo do menu Arquivo - Novo ou no boto Novo
. Aparecer uma
janela com os modelos disponveis. Escolha o modelo e clique em OK. Digite o nome do novo aplicativo
e salve. A partir da possvel alterar e desenvolver o aplicativo.
Alguns modelos disponveis:

Novo aplicativo em branco sem modelo algum. Os arquivos,


tags, objetos visuais, programaes e relatrios devero ser
definidos.
<branco>

Exemplo simples para entendimento bsico dos objetos visuais,


aquisio de dados e relatrio. Gravao contnua dos tags.
Exemplo simples

Exemplo simples com gravao por teste, lote ou processo.

Exemplo simples por teste

Exemplo com tags divididos em grupos, neste caso, estaes.


(podem ser tambm unidades, equipamentos, mdulos, tipos,
etc...).
Exemplo com grupos

25

Planilha de pontos de Leitura e Escrita (Tags)


A programao de uma aquisio simples pode ser feita na planilha situada na parte inferior do programa.

Cada linha desta planilha pode ser um tag relacionado a um ponto de entrada ou sada conectado ao
instrumento, frmula, varivel, etc... dependendo do driver. A planilha contm os seguintes campos
(colunas) como "default" (podem-se criar quantas colunas forem necessrias a mais*):
Nome: Nome do "tag". Ser o nome da varivel utilizada pela frmula, objeto visual ou script para
acessar o seu valor. Para acessar outras colunas do mesmo tag utilize o ponto. (Exemplos:
Tag1.setpoint, temperatura1 = Tag1.LS*x2 )
Ttulo: Ttulo ou descrio do significado do "tag". O ttulo ser enviado para todos os objetos visuais
relacionados ao tag.
[...] Unidade da grandeza do valor.
Valor: Valor lido do "tag".
Param1 e Param2 Valores numricos de dois principais parmetros do equipamento. (Exemplo do
Param1 no caso MODBUS o endereo da varivel, ex: 400001)
Status: Descrio do status atual da leitura. (Exemplos: Erro de leitura, Alarmes, etc...)
Banco de dados: Nome do banco onde as leituras sero armazenadas. Para alterar todos os arquivos no
grupo selecionado clique sobre o cabealho "Banco de dados".
Driver (Equipamento / CLP): Driver do instrumento conectado ao sistema, tipo do tag ou uma varivel
(VAR). Ao selecionar o "driver" possvel definir a configurao para comunicao. Veja a coluna
"config" abaixo. Para alterar todos os drivers na planilha ou no grupo selecionado clique sobre o
cabealho "Driver".
Amostragem: Intervalo de amostragem entre uma leitura e outra.
Gravao: Intervalo entre uma gravao e outra no banco de dados.
Frmula: Frmula ou escala relacionada ao tag. O resultado da frmula ser constantemente atualizado
no Valor. Se quiser definir uma simples escala utilize o smbolo * (Exemplo: *0.01). Para saber mais veja
o captulo sobre a Frmula.
Alarme: Define o comportamento do alarme para o "tag". Clique sobre o boto ao lado do alarme
configurar. "Default": 0 = Desligado; 1 = Maior que LS; 0 - Menor que LI. As colunas LI e LS so usadas
como "default" para os limites. Opcionalmente pode-se criar um outro critrio de alarme atravs de uma
frmula Exemplo 1: "=(x<10)+(x>30)". Neste exemplo o alarme ser acionado se o valor do "tag" for menor
que 10 ou maior que 30. Exemplo 2: "=(x<.LIE)+(x>.LSE)". Neste exemplo o alarme ser acionado se o
valor do "tag" for menor que o valor na coluna LIE ou maior que o valor na coluna LSE.
Para definir valores para cada expresso opcionalmente faa como este exemplo:
=(x<10)+(x>30)#3 (x>10)*(x<15)#5 (para x<10 ou x>30 o valor do alarme 3, para valores entre 10 e 15 o
alarme 5)
Para casos mais avanados se desejar utilize o "script" para alterar o valor do alarme.
O alarme pode ser usado simplesmente para definir um texto descritivo a ser colocado na coluna status
relacionado ao tag. Exemplo: 1="Ligado"0="Desligado"
Colunas opcionais:
*Se for necessrio possvel criar colunas personalizadas definindo outras propriedades para os
"tags". Estas colunas tambm podem ser gravadas no arquivo de aquisio se os campos tiverem
sido criados. Exemplos: limites de segurana, nome do produto, ocorrncia, no conformidade, etc...
Para criar novas colunas utilize a opo no menu "Editar" - "Colunas de parmetros".
Estes nomes devem ser sucintos e sem acento para que sejam fceis de acessar atravs de
frmulas ou "scripts".
Importante: Alguns dos nomes de colunas personalizadas esto reservados:
No script e na frmula possvel acessar os "tags" definidos na planilha atravs de seus nomes.
Exemplos: Pressao, Temperatura1.Alarme.

Grupos
Os tags podem ser divididos em grupos. Na aba existente abaixo de planilha, ou na lista esquerda,
"clique" o boto direito do "mouse". Escolha a opo do menu:
- Novo grupo: para criar novo grupo.
- Renomear grupo: para renomear o grupo selecionado.
- Apagar grupo: para apagar o grupo selecionado.
- Duplicar grupo: para duplicar contedo do grupo selecionado em um novo grupo.

Cada grupo pode representar um equipamento ou um banco de dados. O banco gravado por grupo de
forma paralela. Se os nomes tags dos forem os mesmos para os diferentes grupos, ento o sistema pode
gravar num mesmo banco todos os grupos de forma independente. A tela, com os objetos visuais,
tambm pode ser elaborada apenas uma vez, e automaticamente associada para qualquer grupo quando
o aplicativo estiver sendo executado.

Acrescentar um "tag" no grupo selecionado pode ser feito vrias maneiras:


- clique sobre o boto
para adicionar o tag selecionando o driver.
- clique sobre o boto
para adicionar o tag como varivel.
- "clique" com o boto direto do "mouse" sobre a planilha e selecione a opo: Acrescentar linha (tag)
para adicionar o tag selecionando o driver.
- "clique" com o boto direto do "mouse" sobre a planilha e selecione a opo: Acrescentar linha (VAR)
para adicionar o tag como varivel.

30

Configurao da Comunicao
Para configurar os "tags" individualmente utilize a coluna "config" na planilha ou, na janela para
selecionar o "driver", defina a configurao. Na janela driver utilize o boto Config.
Se quiser selecionar uma configurao para todos os tags (ou todos os tags da pgina atual) clique sobre
o ttulo da coluna "Driver". Na janela driver utilize o boto Config.
Formato da configurao: porta:configurao (Exemplo: 1:9600,N,8,1)
Caso seja OPC ento o formato servidor->item.

Ao pressionar o boto "Config" a seguinte janela apresentada:

31

Frmula na planilha de tags


A frmula pode ser usada na planilha (coluna frmula) ou em objetos visuais.
Tanto no script como na frmula possvel acessar os "tags" definidos na planilha atravs de seus nomes.
Exemplos: Tag1, Pressao, Temperatura1.setpoint.
Exemplos de frmulas:
Tag1*1.7 + 3
Celsius + 273.16
Farenheit > 100
O nome da varivel relativo ao "tag" tambm o mesmo definido na coluna Nome da planilha de tags.

Ex: Celsius + 273.16


Frmulas em geral:
Os operadores so: + - * / > < >= <= = <> ^.
Algumas funes e comandos da frmula na planilha:
- *a+b: Multiplica o valor por a e soma b. Na escrita faz o oposto. Exemplo: *0.01 divide o valor por 100.
- *Bit(x): Retorna o valor dos bits escolhido. Exemplo: *Bit(7) retorna o stimo bit do valor.
- Bit(x,b1,b2): Retorna o valor dos bits escolhidos. Exemplo: Bit(x1,3,3) retorna o terceiro bit do valor x1.
- Int(x): Retorna a parte inteira do valor. Exemplo: Int(x*1000)/1000
- Abs(x): Retorna o valor absoluto.
- Log(x): Logaritmo na base 10.
- Ln(x): Logaritmo na base e.
- Exp(x): Exponencial.
- Sqr(x): Raiz quadrada.
Frmula na planilha:
Para relacionar uma frmula com a linha desejada basta escrev-la na coluna frmula da planilha de
"tags".
Exemplo:

Valor do prprio tag:


Para alterar o valor do prprio tag conforme a frmula, utilize a varivel x.
Exemplo: log(x)*1000
Escala:
Para definio de uma escala com fator multiplicativo e aditivo utilize a sintaxe: *a+b onde a o fator
multiplicativo e b o fator aditivo. Exemplo: *1000+3. Tanto a leitura como a alterao de valores ser
baseada nestes fatores. A escala pode ser usada como converso ou at mesmo calibrao.
As frmulas tambm podem ser utilizadas nos objetos visuais.
32

Definio do banco de dados


Para definir o nome do arquivo ou banco de dados onde as leituras sero armazenadas clique sobre a
clula da coluna Banco de dados. Para definir todos os arquivos no grupo selecionado clique sobre o
cabealho "Banco de dados".
A janela ser mostrada:

Selecione ou digite o nome do arquivo ou banco. Se este no existir ser automaticamente criado na
primeira gravao. Os campos sero criados a partir dos "tags" definidos na planilha.
Usurios avanados: para criar um novo banco manualmente utilize a opo do Menu "Dados e
Relatrios" "Editar Banco de Dados - "Arquivo" - "Novo".
O armazenamento pode ser feito no formato 1 tag por registro ou todos os tags por registro (padro).
Neste formato possvel incluir num registro quantos campos forem necessrios. Alm disso, possvel
tambm gravar as outras colunas (ou linhas relacionadas) da planilha de "tags".
Existem dois tipos de gravao: LB geral e o LB separado. O LB geral registra todos os "tags"
relacionados de uma varredura em um registro. O LB separado armazena um "tag" (e seus respectivos
dados relacionados) por registro. Neste caso possvel gravar "tags" com diferentes perodos de
amostragem no mesmo banco. Para ambos os casos existem formatos de relatrios prontos que montam
at planilhas gerais de amostragem com os "tags" disponveis. Mais detalhes de bancos LB aqui.
Na primeira gerao de relatrio (boto Relatrio

) ser apresentada a seguinte janela:

33

Escolha o modelo de relatrio. O relatrio ser gerado com base no modelo escolhido. Ser gerado um
nome para o formato escolhido que ser como "default" Conexo <nomedoarquivolb>.lgx. O formato deste
tipo de relatrio LGX e ser gravado na mesma pasta que o arquivo LQS. Veja mais detalhes sobre as
planilhas para relatrio e anlise LGX.

Drivers
O "driver" permite ao computador se comunicar com o equipamento.

No LAquis, estes "drivers" podem ser desenvolvidos atravs da uma linguagem script simples
semelhante ao "Basic" ou atravs de uma linguagem interpretada "LDriver".
Alguns "drivers" prontos disponveis:
- MODBUS RTU.LDriver: protocolo serial MODBUS RTU. Utilizado para comunicao com uma grande
variedade de equipamentos.
- VAR: tag como varivel ou memria (nmero ou texto).
- DEMO: demonstrao (senoidal variando de "Param1" at "Param2")
- OPC: Conexo OPC cujo endereo definido no "Config".
- TIMER: Contador em milissegundos. Para utilizar o formato "double" utilize TIMERFORMAT.
- SOFT: Valor varia logaritmicamente at o "set" especificado.
- LINEAR: Valor varia linearmente at o "set" especificado.
Para abrir exemplos de comunicao com alguns clps clique em Abrir Exemplos Exemplos CLPS.
Para listar os "drivers" disponveis clique na coluna "Drivers" da planilha de tags.
Os "drivers" esto no subdiretrio CTRLS (na pasta LAquis) com a extenso LD(x) ou LDriver.
O nome de um driver MODBUS desenvolvido em "ldriver" o Modbus RTU.ldriver.

34

Selecione o "driver" Modbus RTU.ldriver. Defina a porta e as configuraes de comunicao.


Na coluna Param1 defina o endereo* do parmetro. Exemplo: "400001".
Na coluna Param2 defina nmero do n.

Exemplo: endereo do valor 1 dos "holding registers" (param1=40001)


n fsico 1 (param2=1)

* Formato do endereo dos parmetros MODBUS:


- Holding registers: 4xxxxx
- Input registers: 3xxxxx
- Input status: 1xxxxx
- Coil: 0xxxxx
onde xxxxx o nmero do registro.
Veja o cdigo fonte completo no arquivo c:\Arquivos de Programas\LAquis\Ctrls\Modbus RTU.ldriver.

35

Selecionar um Driver
Selecione o "driver" clicando na clula correspondente linha do "tag" desejado e da coluna "driver". Se
desejar selecionar vrias linhas arraste o "mouse" com o boto esquerdo pressionado.

Escolha o "driver" desejado e clique sobre o boto OK.

36

Relatrio / Histrico / Anlise dos dados


As opes relacionadas a este tpico esto no menu "Relatrios":
- Criar...: Cria outros formatos de relatrios baseados em modelos.
- Abrir...: Abre relatrios criados a partir do formato LGX escolhido.
- Editar...: Altera/Cria formato de relatrios LGX.
- ou no objeto boto criado no painel, clique com o mouse direito e selecione a opo Relatrio deste
boto.
Estes formatos de relatrios so gravados no formato LGX. Internamente so semelhantes planilhas.
Os valores (dados) propriamente ditos so gravados no banco.

Relatrio na aplicao
Selecione um boto, clique com o mouse direito e selecione a opo Relatrio deste boto.
Na primeira gerao de relatrio ser apresentada a seguinte janela para escolher o modelo de relatrio
para criao do seu formato:

Escolha o modelo de relatrio (Exemplo: Individual com grfico.lgx). O relatrio ser gerado com base no
modelo escolhido.
Ser automaticamente criado um nome para o formato: <nomedoarquivolqs>.lgx. Este formato de
relatrio ser associado ao boto e gravado na mesma pasta que o arquivo LQS.
Se desejar criar outros formatos de relatrios baseados nos modelos acima, crie outros botes ou utilize
a opo do menu "Dados e Relatrios" - "Criar" descrito no captulo a seguir.

Criar relatrios a partir do modelo


Esta opo permite criar outros formatos de relatrio alm do formato padro descrito captulo anterior.
Menu "Relatrios e Dados" - "Criar relatrio...". Ser apresentada a janela para a escolha do modelo de
relatrio.
Escolha o modelo de relatrio (Exemplo: Individual com grfico.lgx). O relatrio ser gerado com base no
modelo escolhido e um arquivo LGX ser gerado. O formato deste tipo de relatrio LGX e pode ser
gravado na mesma pasta que o arquivo LQS.
Para abrir o relatrio utilize o menu Relatrios Abrir....
(Para criar ou alterar modelos de relatrios que possam ser usados como novos formatos modelo grave
o arquivo LGX na pasta do LAquis\RELS\RELG.)

37

Uma vez criado um modelo de relatrio este pode ser modificado livremente.

Para editar os campos da planilha pode utilizar o boto Campos. Para editar de forma mais
avanada como uma planilha, utilize o boto Editar.

Botes na barra de ferramentas:


Abrir: Abre um modelo de relatrio.
Salvar. Salva o modelo de relatrio.
Imprimir: Abre a tela de impresso do relatrio ou exportao.
Executar: Sai do modo de edio e executa funes especficas programadas do relatrio via script.
Grfico: Abre somente os grficos gerados pelo relatrio.
Formatar: Abre a janela de formatao de clula.
Campos: Abre o editor de campos da tabela principal.
Frmula: Abre um navegador de frmulas disponveis para a planilha do modelo de relatrio.

Para editar a formatao do grfico clique duas vezes sobre ele.

38

Frmulas e comandos para planilhas LGX


Algumas das frmulas disponveis para o uso na planilha do formato LGX de relatrio:
=TAG("nome do tag" ou linha)
Retorna o valor do tag escolhido na planilha de tags.
=TAG("coluna","linha")
Retorna o valor da planilha de tags referente coluna e a linha especificada. A coluna pode ser "VALOR", "SET", "PARAM1",
"PARAM2", "TITULO", "NOME", etc... A linha pode ser o nome ou o nmero da linha. Exemplos de colunas: valor, titulo, li, ...
=TITLE("nome do tag")
Retorna o ttulo do tag da planilha de tags com a unidade.
=FIELD("nome do campo",valordoid opcional,data opcional,banco opcional,campoid opcional,filtro extra)
Retorna o valor do campo lido do banco de dados.
=LASTFIELD("nome do campo",valordoid opcional,data opcional,banco opcional,campoid opcional,filtro extra)
Retorna o valor do ltimo campo lido do banco de dados.
=FIELDTOTAL("nome do campo",valordoid opcional,data opcional,banco opcional,campoid opcional,filtro extra)
Retorna a soma do campo lido do banco de dados.
=LISTA("nome do campo",filtro opcional,data opcional,banco opcional,maximo opcional,data2,campoid,"amostragem")
Retorna a lista do banco de dados do campo especificado.
=TEXTO(clula)
Trata valor da clula como texto.
=TEXTO(clula1,clula2,clula3,...)
Concatena clulas como texto separando por espaos.
=CONCATENAR(clula1,clula2,clula3,...)
Concatena clulas como texto.
=MEDIA(clulas)
Mdia dos valores no intervalo definido em clulas.
=SOMA(clulas)
Soma dos valores no intervalo definido em clulas.
=CONTA(clulas)
Contagem do nmero de itens no intervalo definido em clulas.
=DESVPAD(clulas)
Desvio padro dos valores no intervalo definido em clulas.
=MAXIMO(clulas)
Valor mximo no intervalo definido em clulas.
=MINIMO(clulas)
Valor mnimo no intervalo definido em clulas.
=AMPLITUDE(clulas)
Amplitude dos valores no intervalo definido em clulas.
=ULTIMO(clula)
Retorna o valor da ltima clula da lista vertical
=ULTIMOTEXTO(clula)
Retorna o texto da ltima clula da lista vertical
=ULTIMOTEXTOPREENCHIDO(clula)
Retorna o texto da ltima clula preenchida da lista vertical
=TSTUD(clulas)
"TStudent" dos valores no intervalo definido em clulas.
=TAGTEXTO("nome do tag" ou linha)
Retorna o valor como texto do tag escolhido.
=TAGGRUPO("nome do tag",campoopcional)
Retorna o nome do grupo ou o campo que deseja retornar daquele grupo.
=TAGCANAL(canal)
Retorna o valor do tag escolhido em funo do canal.
=COMBO(texto1,texto2,texto3,...)
Cria um combo com os textos definidos.
=MAXABS(clulas)
Mximo valor absoluto das clulas
=SLOPE(clulasx,clulasy)
Inclinao/Derivada da regresso linear da curva.
=INTERCEPT(clulasx,clulasy)
Intercepo/fator aditivo da regresso linear da curva.
=CORRELACAO(clulasx,clulasy)
Correlao da curva.
=MVT(clulas)
Converte tenso em "milivolt" para C de termopar tipo T
=MVJ(clulas)
Converte tenso em "milivolt" para C de termopar tipo J
=MVK(clulas)
Converte tenso em "milivolt" para C de termopar tipo K
=MVS(clulas)
Converte tenso em "milivolt" para C de termopar tipo S
=MVR(clulas)
Converte tenso em "milivolt" para C de termopar tipo R
@BOTAO(texto)
Boto para aes de script do evento "OnClick". Exemplo: if colunaclicada=5 then: if linhaclicada=3 then: msgbox("teste"): end if: end
if
@BOTAOLISTAGEM(texto)
Abre a listagem dos registros do banco com o campo ID e retorna na clula esquerda.

39

@BOTAOLISTAGEM(texto,CAMPO opcional,BANCO opcional,DATA1 opcional,DATA2 opcional)


Abre a listagem dos registros do banco com o campo especificado e retorna na clula esquerda..
@COMBOGRUPOS
Combo com os nomes dos grupos de tags. Retorna na clula esquerda.
@COMBOGRUPOS(campo,exclusivo)
Combo com os nomes dos grupos de tags acompanhados pelo campo especificado. Se exclusivo no repete. Retorna na clula
esquerda.
@COMBOBANCO(nomedobanco,campo,filtro,exclusivo)
Combo com o campo dos registros do banco especificado com filtro. Se exclusivo no repete o campo igual. Retorna na clula
esquerda.
@COMBOTAGS
Combo com os nomes dos tags. Retorna na clula esquerda.
@COMBOSUBTAGS
Combo com os nomes dos tags sob os grupos. Retorna na clula esquerda.
@BOTAOEDITLIST(texto)
Tela de edio de campos na listagem principal.

Scripts para relatrio:


No modo de edio do modelo de relatrio possvel criar scripts para programao de processos
especficos para cada evento.
Exemplo no evento OnDepoisVarreduras.

n=ldbcount

' Nmero de linhas da tabela

if n>0 then
for i=1 to n

' Percorre as linhas da tabela

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


y=LdbCellN("Tag2",i) ' Retorna o valor numrico da coluna Tag2
if x*y>10 then
LdbCellN("Tag3",i) = 1 ' Escreve o valor na coluna Tag3
else
LdbCellN("Tag3",i) = 0 ' Escreve o valor na coluna Tag3
end if
next
end if

40

As planilhas para relatrio e anlise so modelos genricos e podem ser usadas para diversos tipos de
relatrio, inclusive sobre os dados armazenados em bancos LB. Esta planilha possui funes voltadas
para construo de relatrios com clculos, grficos e tabelas baseadas nos dados armazenados.
Os formatos de relatrio deste tipo de planilha so arquivos gravados com extenso LGX.
Os arquivos, de formato "LGX", podem ser criados ou alterados conforme a necessidade do usurio. So
diversas as funes disponveis neste tipo de planilha.

possvel chamar um relatrio LGX, diretamente no modo apresentao, atravs de objetos botes
utilizando a propriedade "Relatrio". Veja mais detalhes no objeto visual boto.

41

Bancos de dados
O banco de dados do LAquis uma estrutura flexvel onde so gravadas informaes, podendo ser
dados de aquisio ou tabelas auxiliares.
Os campos podem ser personalizados de acordo com a aplicao. possvel criar ou editar campos
manualmente ou atravs da primeira gravao.

Os dados podem ser gravados em arquivos com formato LBX (padro binrio), DBF, TXT ou CSV. O
LBanco, com extenso LBX, um formato padro do LAquis. Possui flexibilidade na estrutura de campos
e podem ser utilizadas as ferramentas de relatrio e anlise do LAquis.
Alm da manuteno de histrico, possvel incluir num registro quantos campos forem necessrios.
Alm disso possvel tambm gravar as outras colunas (ou linhas relacionadas) da planilha de "tags".
Existem dois tipos de gravao: todos os tags por registro ou 1 tag por registro. O primeiro tipo registra
todos os "tags" relacionados de uma varredura em um registro. O outro tipo armazena um "tag" (e seus
respectivos dados relacionados) por registro. Para este caso existem formatos de relatrios prontos que
montam planilhas de amostragem e estatsticas gerais.
Se for necessrio possvel criar colunas personalizadas definindo outras propriedades para os "tags".
Estas colunas tambm podem ser gravadas no arquivo de aquisio se os campos tiverem sido criados.
Exemplos: limites de segurana, nome do produto, ocorrncia, no conformidade, etc... Para criar novas
colunas utilize a opo no menu "Editar" - "Colunas de parmetros". Estes nomes devem ser sucintos e de
preferncia sem acento.
O banco pode manter um histrico por quantos anos forem necessrios. Os arquivos LBX, por "default",
so internamente separados por dia. Esta definio feita no nome da tabela. Exemplo
nome<ddmmaa>.LBX. Veja mais detalhes aqui.

42

Escolha o banco LB a ser editado:

Menu:
Arquivo
Editar (Abrir tabela)
Edita, pesquisa, exporta, importa ou imprime os dados armazenados no banco LB selecionado.
Campos (estrutura)
Altera a estrutura de campos do banco LB selecionado.
Novo
Cria novo banco LB.
Eliminar
Elimina o banco LB selecionado.

Campos (estrutura)
Altera a estrutura de campos do banco LB selecionado:

A configurao fsica do banco definida na caixa de texto "Banco".


O formato padro o LBanco. Possui flexibilidade na estrutura de campos e podem ser utilizadas as
ferramentas de relatrio e anlise do LAquis.
43

Utilize o boto
banco de dados.

para alterar a configurao do Tipo da conexo do

Colunas para definio dos campos da tabela:


- Nome: Nome do campo. No deve possuir espaos. Evite os acentos.
- Tipo: Tipo do campo:
0 - Nmero: Campo numrico. Defina seu tipo na coluna tamanho:
vazio ou 8: Tipo "double" (8 - bytes) com ponto flutuante.
1: Tipo byte.
2: Tipo inteiro (2 - bytes) com sinal.
4: Tipo inteiro longo (4 - bytes) com sinal.
1 - Texto: Campo texto. Seu tamanho definido na coluna tamanho.
- Tamanho: Veja a coluna Tipo para cada caso.
- Formato: Formato do nmero. Exemplo: hh:nn:ss (trata o nmero "double" como tempo).

Conexo/Tipo do banco de dados


Utilize o
boto
a configurao do tipo da conexo do banco de dados.

para alterar

Prov/driv: Para o caso do LBanco (banco proprietrio do LAquis) o nome da pasta onde estaro os
arquivos de dados. Exemplo: c:\temp\. Para indicar a pasta principal do sistema ento use <.>. Exemplos:
<.> <.>banco\
Para o caso de ODBC o nome do banco de dados. Exemplo: c:\temp\arquivo.mdb
Tabela: Para o caso do LBanco o nome do arquivo binrio LBX. Se desejar separar os arquivos por data
utilize <ddmmyy>. Exemplo: PRENSA<ddmmyy>.LBX.
Se desejar separar na troca de turno coloque a hora de incio. Exemplo PRENSA<ddmmyy,19:30>.LBX Se desejar utilizar uma indentificao externa utilize <texto>. Exemplo: "LOTE
<texto>.LBX.
Para o caso de ODBC o nome da tabela do banco de dados.
Usurio: Nome do usurio opcional do banco de dados se for usado ODBC.
Senha: Senha opcional do banco de dados.
DSN: Opcionalmente defina o texto completo do DSN para a conexo ODBC.
LB Geral: Se estiver ativado ento cada registro do banco contm todas as leituras da varredura dos tags.
Se estiver desativado ento cada registro esta relacionado a um tag. Veja outros detalhes aqui.

44

Editar (Abrir tabela)


Edita, pesquisa, exporta, importa ou imprime os dados armazenados no banco LB selecionado:

Menu
Arquivo
Pesquisar: Abre a janela de pesquisa para filtrar os dados do banco.
Exportar: Exporta os dados para TXT ou CSV.
Importar: Importa dados a partir de arquivos TXT ou CSV.
Imprimir: Imprime os dados do banco.
Editar
Novo: Cria novo registro.
Apagar: Apaga registro selecionado.
Copiar: Copia as clulas selecionadas para a rea de transferncia.
Selecionar tudo: Seleciona todos os dados.
Copiar tudo: Copia todos os dados e cabealho para a rea de transferncia.

45

Rede
O servidor principal o microcomputador conectado aos aparelhos do servidor e podem at mesmo enviar
ordens para os equipamentos atravs da rede.
(um cliente pode ser tambm um servidor e vice-versa)
Configurao da rede:
1- Servidor
Nome do servidor, diretrio de comunicao, linhas a serem compartilhadas da planilha, etc..
2- Cliente
Conexo do cliente, diretrio de comunicao, IP, comandos, etc..

A comunicao em rede pode ser tambm implementada atravs de OPC.

Servidor
O servidor pode ser configurado de duas formas:
1 - Comunicao via TCP atravs da opo do menu Arquivo - Servidor TCP.
2 - Comunicao atravs de arquivo em diretrio comum, atravs da opo Cliente&Servidor no "menu"
Arquivo:

Clique sobre a opo "Servidor".


Escreva um nome qualquer para o servidor (no mximo 8 caracteres sem espaos).
O tempo em segundos para o servidor indica o intervalo entre cada atualizao dos dados na rede.
Defina um diretrio comum de comunicao em rede atravs do boto Avanado.

46

Cliente
Nos microcomputadores clientes, ou seja, aqueles no conectados ao equipamento e que devem receber
as informaes do servidor, escolha a opo Cliente&Servidor no "menu" Arquivo para abrir esta janela:

Escolha a opo "Cliente".


O cliente pode ser configurado de duas formas:
1 - Clique sobre o "combo" "Cliente conectado " e escolha o nome do servidor do qual deseja receber
os dados.
O tempo em segundos para o cliente indica o intervalo entre cada leitura da rede.
Defina tambm o diretrio de comunicao em rede comum ao servidor.
2 - Coloque o nmero do IP do servidor se for utilizada a comunicao via TCP.

47

Comunicao em Rede
Existem duas formas para configurar a comunicao em rede:
1 - Clique sobre o boto "Avanado>>" (na janela Cliente&Servidor do "menu" "Arquivo"). Escolha um
diretrio na rede que seja comum entre os microcomputadores clientes e servidor. Todos os micros
devero ser capazes de ler e gravar neste diretrio. O nome do diretrio ser armazenado no arquivo
LAquis.INI do "Windows" local ou no INI do LQS atual.
2 - Utilize o nmero do IP para comunicao via TCP. No servidor utilize a opo que se encontra no
menu Arquivo - Servidor TCP. No cliente coloque o valor do IP ao invs de selecionar o nome.

48

Objetos Visuais

Os objetos visuais so dispostos no painel para o desenvolvimento de aplicativos especficos e tambm


para o acompanhamento e controle dos "tags".

Consulte os Principais objetos visuais


Consulte os Objetos para desenho vetorial

Para associar o objeto a um "tag" (ou sua propriedade) clique duas vzes sobre o objeto, ou com o boto
direito do "mouse" escolha a opo "Tag" do objeto (digite, se necessrio, uma frmula):

Se desejar associar o valor do "tag" utilize apenas "x1" ou o nome do "tag" (Exemplo: P1 ou nivel). Se
quiser associar valores de outras colunas do mesmo "tag" utilize o ponto ou o "combo" ao lado do
nome. (Exemplo: x1.param1 ou x1.setpoint). Se necessrio digite uma frmula.
Consulte os Principais objetos visuais

49

Para alterar suas propriedades, clique sobre o boto "Opes do objeto" ou utilize a janela ao lado do
painel.
Para cada tipo de objeto, diferentes caractersticas podero ser alteradas como: cores, tamanhos de
letra, casas visveis, alarmes, etc.

Os ttulos dos objetos so definidos pela coluna "Ttulo" da planilha de "tags". Se a clula do ttulo
correspondente a um objeto estiver vazia ento a indicao ser "x<nmero da linha na planilha de
"tags">". Exemplo: "x30", ou seja, este objeto est relacionado linha 30. Este nome (x30) poder ser
usado em frmulas (x30*2 + 10).
Para alterar o cdigo fonte do objeto visual utilize o boto Editar.
Consulte os Principais objetos visuais
Para se alternar entre a visualizao automtica e manual dos objetos visuais utilize o boto

Viso automtica

50

Objetos para desenhos vetoriais

Objetos usados para desenhos vetoriais. Os objetos para desenhos vetoriais so tratados de forma
diferente dos objetos visuais normais.
A edio de objetos para desenhos vetoriais ativada atravs do boto

Utilizao:
1 - Podem ser combinados para gerao de novos objetos visuais
2 - Plantas para gerao de interfaces em 3D.
3 - Animaes.
4 - Simples ilustraes.

possvel tambm associar o valor de tags para algumas das propriedades do objeto.
Por exemplo, desenhe um objeto escala e desenhe um objeto polgono conforme abaixo:

Clique duas vezes sobre o objeto polgono para abrir suas propriedades. Clique sobre a clula da coluna
tag associada coordenada MY (ponto mdio no eixo vertical do objeto). Selecione o tag e clique em
OK.

Ao executar o aplicativo, a posio do polgono vai variar conforme o tag dentro da escala definida.

50

Tipos de objetos para desenhos vetoriais:


Geral:
Cano ou fio. (O cano pode ser usado na planta para interface em 3D tambm)
Polgono.
Elipse.
Cubo (projetado em 2D).
Cilindro (projetado em 2D).
Retngulo com borda arredondada.
Planta para interface em 3D:
Parede 3D.
Painel 3D.
Objeto (arquivo) 3D.
Gerao de objetos:
Escala
Texto simples
Clique duas vzes sobre o objeto para editar seus atributos.

51

Atributos dos objetos para desenhos vetoriais:

Nome: Nome do objeto para desenho vetorial.


Visvel: Visibilidade do objeto vetorial.
Linha: Existncia da linha de contorno principal.
Cor (da linha): Cor da linha de contorno principal.
Espessura: Espessura da linha de contorno principal.
Estilo: Estilo da linha de contorno principal.
Preenchimento: Existncia do preenchimento do objeto.
Cor (do preenchimento): Cor do preenchimento do objeto vetorial.
Padro (do preenchimento): Padro do preenchimento do objeto vetorial.
Preenchimento 2 (para gradiente): Existncia de gradiente de cor no preenchimento do objeto.
Cor (do preenchimento 2): Cor destino do gradiente de cor no preenchimento do objeto.
Dimenses:
Atravs destas propriedades possvel associar as dimenses e posies do objeto aos "tags". A relao
matemtica do valor da dimenso e o "tag" pode ser definida nas colunas "e.x1", "e.y1", "e.x2", "e.y2" ou
na coluna escala.
X1: Posio do lado esquerdo do objeto.
Y1: Posio do lado superior do objeto.
Largura: Largura do objeto.
Altura: Altura do objeto.
X2: Posio do lado direito do objeto.
Y2: Posio do lado inferior do objeto.
MX: Posio mdia do objeto na horizontal.
MY: Posio mdia do objeto na vertical.

52

Inserir Objeto Visual

1 - Escolha um objeto da parte superior da tela, logo abaixo do menu, "clicando" no mesmo. Para um
primeiro contato com o programa, recomendamos o visor com ponteiro ou o termmetro.
2 - Na rea limpa entre o "menu" e a planilha, segure o boto do "mouse" e arraste, gerando um
retngulo, soltando boto o "mouse" aps o trmino. O objeto escolhido dever aparecer dentro do
retngulo.
3 - Ajuste a altura e a largura do objeto para melhor visualizao.
4 - Crie outros objetos, de forma similar. A cada objeto criado, o programa ir associ-lo a um canal de
forma seqencial.
5 - Para associar manualmente o objeto visual a um dos canais da planilha: selecione o objeto, "clique"
duas vezes sobre este e escolha o "tag".
6 - Para alterar as propriedades do objeto selecione o objeto, utilize a janela ao lado ou "clique" duas
vezes sobre este e "clique" no boto "Opes do objeto...".
Todo o objeto visual possui a propriedade Frmula. Exemplo: x1*2+5 onde x1 o valor da primeira linha
da planilha de "tags". O valor apresentado pelo objeto ser o resultado da frmula.
Se desejar associar o prprio valor do "tag" utilize apenas "x1" ou o nome do "tag" (Exemplo:
temperatura1). Se quiser associar valores de outras colunas do mesmo "tag" utilize o ponto (Exemplo:
x1.param1 ou x1.setpoint)
Para alternar entre a visualizao automtica e manual dos objetos visuais utilize o boto

Configurao do Painel
Configurao do painel de objetos visuais do LAquis:

Figura: esta opo permite selecionar uma figura de fundo para o painel (tela) atrs dos objetos visuais.
Lado a lado: se esta opo estiver ativada, a figura disposta na tela lado a lado repetidamente. Se
desativada, a figura ser disposta no canto superior esquerdo.
Janela: Largura e Altura - possvel definir o tamanho da tela (em pixels) quando a aplicao for
executada.
Pr visualizao: se esta opo estiver ativada, possvel visualizar a figura selecionada na rea de
trabalho no momento em que est sendo escolhida.
Fundo normal: se esta opo estiver ativada, a cor da tela de fundo se torna cinza. Se desativada, o
fundo recebe o preenchimento de um padro.

53

Exemplos de objetos visuais


So estes alguns dos principais objetos visuais:
-

DisplayText
Mostrador de valores.

LEditar
Editor de valores.

Figura
Figura para fundo, duplo estado ou animao.

Boto
Boto de ativao de evento.

LTexto
Texto explicativo.

ObjetoPagina
Objeto que agrupa e inclui todos os objetos de uma determinada pgina do painel.

LCombo
Editor de valores com combo.

MGrfico
Grfico para acompanhamento em tempo real.

Barra
Barra com limites.
- TChave
Chave de duplo estado.
- Check
Chave de duplo estado em formato de boto e luz.
- Acrescenta
Boto para acrescentar novo registro no banco de dados.
- Lista
Boto para listar registros do banco de dados.
- Tanque
Tanque de nvel.
- Funil
- Tanquefechado
- PID
Boto para controle PID sobre o "tag" relacionado.
- Receita
Boto para execuo de receita (tempos e "setpoints") sobre o "tag" relacionado.
-

Gauge
Gauge ponteiro analgico.

DisplayText
DisplayText
Mostrador de valores (ou texto).

54

Frmula (tag): Nome do "tag" ou frmula indicando o valor associado ao objeto.


Ttulo: Ttulo opcional do objeto.
Cor: Cor do texto ou valor.
Cor de fundo: Cor de fundo do objeto.
Visibilidade: se 0 o objeto est invisvel, caso contrrio estar visvel. Pode ser includa uma frmula.
(Exemplo x7>30)
Atualizao: Menor intervalo de tempo, em milissegundos, da atualizao do objeto.
Tamanho ttulo: Tamanho do ttulo do objeto.
Borda: 1 - Utilizar borda ao redor do objeto. 0 - No utilizar borda.
Formato: Formato do texto ou valor a ser visualizado no objeto. Exemplo: 0.2f
Alinhamento: Alinhamento do texto. 0 - esquerda. 1 - centro. 2 - direita. 3 - preenchimento.
MostraErro: 1 - Mostra informao de erro de leitura. 0 - Fica invisvel se houver erro de leitura.
MostraUnidade: 1 - Mostra a unidade do tag.
CorTitulo: Cor do fundo do ttulo do "display".
CorTextoTitulo: Cor do ttulo do "display".
LI: Limite inferior. Padro: .LI (quer dizer que ser lido o valor da coluna LI do tag)
LS: Limite superior. Padro: .LS (quer dizer que ser lido o valor da coluna LS do tag)
MostrarLimites: 1 - Mostra setas indicando se o valor ultrapassou os limites.
CorAlarme: Cor do fundo do "display" caso o valor ultrapasse os limites.
BordaInterna: Se for 1 o ttulo fica acima da borda do "display". Se for 0 o ttulo fica dentro da borda.
Tamanho: Se for 0 o tamanho do texto do valor do "display" ajustado automaticamente com a
altura do objeto. Se for maior do que zero ento usado como o nmero do tamanho da fonte.
Nome: Nome do objeto.

LEditar
LEditar
Editor de valores (ou texto).

Propriedades:
Frmula (tag): Nome do "tag" ou frmula indicando o valor associado ao objeto.
Texto: Texto do editor de valores.
Ttulo: Ttulo opcional do objeto.
Cor: Cor do texto ou valor.
Cor de fundo: Cor de fundo do objeto.
Visibilidade: se 0 o objeto est invisvel, caso contrrio estar visvel. Pode ser includa uma frmula.
(Exemplo x7>30)
Atualizao: Menor intervalo de tempo, em milissegundos, da atualizao do objeto.
TituloDoEditor: Ttulo do editor de texto. Se for vazio ento o ttulo igual ao do tag.
Tamanho: Tamanho do texto. Se 0 o tamanho fica sendo proporcional altura do editor.
Transparente: Se 1 o fundo transparente.
Alinhamento: Alinhamento do texto. 0 - esquerda. 1 - centro. 2 - direita. 3 - preenchimento.
PosTtuloEditor: Posio do ttulo. 0 - Esquerda; 1 - Acima.
Fonte: Fonte do texto.
Bold: 1 - Texto em negrito. 0 - Texto normal.
Itlico: 1 - Texto em itlico. 0 - Texto normal.
Borda3D: Se 1 desenha uma borda ao redor do objeto.
Editar: Se 0 no permite a editar o valor. Normalmente est em 1.
EditarTexto: Texto que aparece na janela opcional de edio (dois cliques).
Comando: Comando interno a ser enviado para a planilha de "tags".
Formato: Formato do texto a ser visualizado no objeto. Exemplo: %0.2f
Planilha: Se 0 o valor objeto no atualizado conforme o "tag" na planilha. Normalmente est em 1.
Mximo: Mximo valor numrico permitido.
Mnimo: Mnimo valor numrico permitido..
Passo: Passo numrico a ser usado no "spin" da janela opcional de edio (dois cliques).
Editor: Se 0 no utilizado o editor no painel e sim apenas a janela de edio. Normalmente est
em 1.
Nome: Nome do objeto.
55

Figura
Figura
Figura para fundo, duplo estado ou animao.

Se a figura estiver associada a um "tag" ento seu valor 1 ou 0 ir determinar se a figura estar em estado
de animao, duplo estado ou parada.
Para definir uma animao ou duplo estado, utilize arquivos com valores numricos aps seus nomes.
Exemplo: Motor001.emf, Motor002.emf e Motor003.emf. A propriedade Estados define o nmero mximo
de estados ou quadros para animao. Veja o exemplo canos1.lqs.
Propriedades:
Figura: Nome da figura. Pode ser bmp, jpg, emf ou gif (simples ou animado).
Frmula (tag): Nome do "tag" ou frmula indicando o valor associado ao objeto.
Transparente: Se selecionado o fundo transparente.
Tamanho fixo: A figura mantm seu tamanho original fixo.
Borda: Desenha uma borda ao redor da figura.
Visibilidade: se 0 o objeto est invisvel, caso contrrio estar visvel. Pode ser includa uma frmula.
(Exemplo x7>30)
Estados: Nmero mximo de estados habilitados para a figura. (0 .. n)
Estado atual: Nmero do estado atual (se houver mais de um estado).
Duplo estado: Define se os estados compreendem uma animao ou apenas dois estados.
"Clique" altera: Alterna o valor do "tag" associado ao objeto em 1 ou 0 se o usurio clicar sobre
figura.
Antialias: Suaviza as linhas do "metafile".
Nome: Nome do objeto.
Utilize a caixa abaixo das propriedades para escolher a figura.

56

Boto
Button
Boto de ativao de evento.

Propriedades:
Tag: Nome do "tag" ou frmula indicando a linha da planilha de "tags" associada ao boto.
Texto: Texto que ser mostrado no boto. Para associar uma tecla de atalho para o boto use o
smbolo & antes da letra desejada.
Relatrio: Nome do modelo relatrio .lgx que ser apresentado pressionar o boto. Pode ser
selecionado ou criado clicando com o boto direito do mouse sobre o boto Relatrio deste boto.
Cor: Cor do boto.
Visibilidade: se 0 o boto est invisvel, caso contrrio estar visvel. Pode ser includa uma frmula.
(Exemplo Tag1=1)
Comando: Valor que ser colocado no "tag" associado ao boto.
Margem: Largura da borda em alto relevo do boto.
Nome: Nome do boto.
Letra: Tamanho da fonte que ser usada no texto mostrado no boto.
Cor do texto: Cor do texto mostrado no boto.
Bold: Tipo da letra do texto mostrado no boto: 1 - Negrito. 0 - Normal.
Pagina: Numero da pgina que ser selecionada no painel de objetos visuais quando o boto for
pressionado. o mesmo que usar o comando script Painel.Pagina = pgina.
PopupPagina: Numero da pgina do painel que ser acionada como popup quando o boto for
pressionado. o mesmo que usar o comando script Painel.Popup(pgina).
AlterarTag: Altera os tags dos objetos da pgina escolhida para o tag ou grupo do boto. A pgina
pode ser escolhida na propriedade Pagina ou PopupPagina. o mesmo que usar o comando script
Painel.AlteraTodosOsTagsDaPagina(pgina,nome).
HotSpot: Boto fica invisvel, mas ativo.
Pulso: Ao pressionar o boto o tag alterado como um pulso. O valor do tag fica durante o perodo de
tempo TempoPulso (ms) no valor Alto. Depois passado para o valor definido na propriedade Baixo.
(o comportamento diferente da propriedade Comando que altera simplesmente o valor do tag).
Propriedade Alto
Propriedade Baixo
Propriedade TempoPulso (ms)

57

ObjetoPagina
ObjetoPagina
Objeto que agrupa e inclui todos os objetos de uma determinada pgina do painel.

Propriedades:
Pgina: Nmero da pgina que contm os objetos que formam o conjunto.
Pginas:
- Troca de estado: Texto opcional contendo pginas do painel e seus respectivos valores dos tags
associados. Exemplo: 0=NomedaPagina1;1=NomedaPagina2. (quando o valor do "tag" for 0 ento
a pgina ser "NomedaPagina1". Se o valor for 1 a pgina ser "NomedaPagina2").
- Animao: Pginas que sero usadas para sequenciar a animao. Exemplo:
NomedaPagina1;NomedaPagina2;NomedaPagina3. Quando o tag for 1 ento ser iniciada a
animao trocando o estado do objeto entre as pginas definidas.
Frmula (tag): Nome do "tag" ou frmula indicando o valor associado ao objeto. Todos os objetos
internos sero associados conforme o "tag" principal mantendo as propriedades dos tags internos. Ao
invs do "tag" pode ser usado o nome do Grupo. Neste caso apenas o grupo dos "tags" dos objetos
internos ser alterado.
Visibilidade: se 0 o objeto est invisvel, caso contrrio estar visvel. Pode ser includa uma frmula.
(Exemplo Tag1=1)
Nome: Nome do objeto.
Se quiser, pode importar exemplos de objetos pgina prontos clicando no boto Importar....
Veja tambm o exemplo simples (Menu Arquivo - Novo - Exemplo Simples)
Os objetos pgina podem ser copiados e associados aos seus respectivos "tags" ou grupos de "tags".

58

MGrfico
MGrafico
Grfico para acompanhamento em tempo real.

Propriedades:
Frmula (tag): Nome do "tag" ou frmula indicando o valor associado ao objeto.
Ttulo: Ttulo opcional do objeto.
Cor: Cor da primeira curva.
Cor de fundo: Cor de fundo do grfico.
Visibilidade: se 0 o objeto est invisvel, caso contrrio estar visvel. Pode ser includa uma frmula.
(Exemplo x7>30)
Atualizao: Deve ser sempre 0. No caso do grfico utilize a propriedade "Sampling".
Mximo: Mximo valor superior da escala no eixo Y.
Mnimo: Mnimo valor inferior da escala no eixo Y.
Auto Escala: Se 1 a escala automtica. Seno os limites Mximo e Mnimo sero usados.
Cor da Grade: Cor da grade na parte interior do grfico.
DivisesX: Nmero de divises na escala do eixo X.
DivisesY: Nmero de divises na escala do eixo Y.
Pontos: Nmero mximo de pontos permitidos no grfico.
Reinicia: Se 1 as curvas so apagadas e o grfico pode reiniciar o acompanhamento.
FormatoTempo: Formato em que os valores de tempo no eixo X sero mostrados. Exemplo:
hh:nn:ss DeltaTempo: Intervalo mximo de tempo que os valores sero mostrados no grfico.
CorTexto: Cor dos nmeros e textos no grfico.
Sampling: Menor intervalo de tempo, em milissegundos, da atualizao do grfico. Somente no caso
deste grfico de acompanhamento deixe a propriedade Atualizao em 0 e utilize o "Sampling".
Espessura: Espessura das linhas do grfico.
Borda: Se 1 desenhada uma borda 3D ao redor do grfico.
TamanhoLetra: Tamanho das letras e dos nmeros colocados no grfico.
TamanhoTtulo: Tamanho do ttulo colocado sobre o grfico.
Cor2: Cor da curva 2.
Cor3: Cor da curva 3.
Cor4: Cor da curva 4.
Cor5: Cor da curva 5.
UsarLegenda: Se 1 a legenda (definida nas propriedades abaixo) mostrada.
Legenda1: Texto da legenda para curva 1.
Legenda2: Texto da legenda para curva 2.
Legenda3: Texto da legenda para curva 3.
Legenda4: Texto da legenda para curva 4.
Legenda5: Texto da legenda para curva 5.
FixoX: Se 1 fixa o eixo X, seno realiza a rolagem como se fosse um papel.
Nome: Nome do objeto.

59

Script
Nesta linguagen possvel criar programas acessando os "tags", suas propriedades e objetos.
Exemplo:
Crie um boto. Programe sua ao atravs do script.
Execute a aplicao. Ao clicar neste boto o script programado ser executado.
OBS: Os "drivers" de comunicao tambm podem ser desenvolvidos atravs de "script" ou da linguagem
"ldriver".

Eventos
Existem dois tipos de eventos onde os scripts podem ser executados: eventos gerais e eventos nos
objetos.

Eventos gerais:
OnDepoisVarreduras
define o que acontece depois das varreduras;
OnStart
define o que acontece no incio da aplicao;
<Global>
define as funes que sero usadas em toda sua aplicao;
OnGrupos
define o que acontece na atualizao de cada grupo de tags. Planilha.Grupo o nome do grupo a
ser atualizado. Para acessar um tag do grupo a ser atualizado utilize Tag("nomedotag"). Para
acessar um tag de outro grupo utilize o nome completo do tag. Exemplo Grupo1_nomedotag.
OnFinish
define o que acontece na hora que termina.
OnAntesVarreduras
define o que acontece antes das varreduras na planilha;
60

OnDuranteVarreduras
define o que acontece durante as varreduras;
OnTag
define o que acontece quando um tag tem o seu valor atualizado e alterado. Para acessar o
alarme use atualizado use Tag().
OnAlarme
define o que acontece quando a propriedade Alarme do tag alterada. Tag() o "tag" cujo alarme
foi alterado. Para acessar o alarme use Tag().alarme;
OnAntesGravao
define o que acontece antes da gravao de cada linha no banco principal; Tag() o "tag" a ser
gravado;
OnDepoisGravao
define o que acontece depois da gravao de cada linha no banco principal; Tag() o "tag"
gravado;
OnClickDisplays
define o que acontece quando um dos "displays" da tabela de objetos visuais for "clicado". Tag()
o "tag" do objeto "clicado".
OnKeyDown
define o que acontece quando uma tecla pressionada. Key o nmero da tecla.
Eventos de objetos visuais:
OnClick
define o que acontece quando o usurio clica sobre o objeto. Tag() o "tag" do objeto "clicado".
Painel.EsteObjeto acessar as propriedades do objeto "clicado".
OnMouseDown
define o que acontece quando o boto do mouse pressionado sobre o objeto. Tag() o "tag" do
objeto "clicado". Painel.EsteObjeto acessar as propriedades do objeto "clicado".
OnMouseMove
define o que acontece quando o mouse arrastado sobre o objeto (pressionado).
OnMouseUp
define o que acontece quando o boto do mouse "despressionado" sobre o objeto. Tag() o
"tag" do objeto "clicado". Painel.EsteObjeto acessar as propriedades do objeto "clicado".
OnCommand
define o que acontece quando ocorre uma alterao em um objeto de edio de texto. Tag() o
"tag" do objeto alterado. Event.Value o valor para o qual ser alterado.

61

Browser
Para consultar os tags, objetos e comandos disponveis utilize a opo browser.
Na janela do script texto clique no boto "F4 - Browser" ou tecle F4. Na janela do script visual selecione o
objeto .

Selecione o tag, objeto ou comando desejado.


Dica: Se quiser, digite o incio do nome do comando. Uma janela apresentar uma pesquisa dos
comandos disponveis.

62

Acessando os "tags" da planilha de E/S (Objeto TAG)


Exemplos:
x = nomedotag (retorna o valor do tag cujo nome nomedotag na varivel x)
t = Temperatura1*100 (retorna na varivel t o valor do tag Temperatura1 x 100 )
x = x7.LimiteSuperior (retorna na varivel x o valor da propriedade LimiteSuperior do tag x7)
x = Tag("V1") (retorna o valor do tag de nome V1 na varivel x)
s = Tag$(7) (retorna o valor texto do tag da linha 7 da planilha na varivel s)
c = Tag("teste").Canal (retorna o valor do tag de nome teste na varivel c)
y = Tag("Grupo1_valor1") (retorna o valor do tag de nome valor1 do grupo Grupo1)
Se o nome no for informado ento ser usado o "tag" relativo ao evento ou grupo atual.
y = Tag()
Para acessar outras caractersticas da planilha de "tags" utilize o objeto Tags. Exemplo, para retornar o
nmero de tags: x = Tags.Count.
Se desejar forar a leitura do "tag" executando o "driver" correspondente execute a propriedade atualiza.
Exemplo: nomedotag.atualiza
Para utilizar um "tag" como uma simples varivel, sem um equipamento externo, utilize o "driver" VAR.

63

Variveis
Variveis podem ser criadas e utilizadas livremente dentro do script em atribuies de valores ou como
parmetros de funes. Os tags tambm podem ser usados como variveis (genricas ou associadas a
um equipamento).
Existem dois tipos de variveis:
- Texto
- Nmero

Para criar variveis numricas:


Inicialize a varivel como nmero.
Exemplo: x = 0
y = 7.43675
w = &HEEBBFF ' em hexa
i = &B011010011101111111 ' em binrio
y=y+1
As variveis nmero podem ser calculadas atravs dos operadores + - * / ou atravs de diversas funes
matemticas pr-definidas.
Para criar variveis texto:
Inicialize a varivel como texto.
Exemplo: s = ""
texto1 = "supervisrio"
Converte nmero em texto: s = CStr( x )
Converte texto em nmero: x = Val( s )
As constantes de texto so definidas entre aspas. Os textos podem ser concactenados utilizando o
operador +.
Exemplo de concatenao de texto: s = "Realizados " + CStr( x ) + " teste(s). " (Para usar
variveis texto no comando If utilize o operador ==. - veja Expresso If)
As variveis texto tambm podem funcionar como memrias ou pacotes de bytes. Podem ser usadas para
comunicao ou tratamento de dados binrios. (veja funes como BytesToStr)
Diversos tipos de manipulao de texto (string) podem ser realizados atravs de funes pr-definidas
(veja as funes para manipulao de strings no captulo Texto).

Ateno: os nomes dos "tags" j so variveis pr-definidas. Veja o tpico Acessando os "tags".

Operaes bsicas
Variveis numricas:

= : Associa. Ex: y = 1 .
+ : Soma. Ex: y = y + 1 .
- : Subtrao. Ex: y = y 1 .
* : Multiplicao. Ex: y = y*2 .
/ : Diviso. Ex: y = y / 2 .
Variveis texto:

= : Associa. Ex: s = texto .


+ : Concactena texto (string). Exemplo: s = s + texto .

64

Comandos e expresses bsicas

Expresso If (Condio)
A expresso If indica uma deciso baseada numa condio.
Exemplo1:
If <expresso> Then
...
End If
If ( x1 = 2 ) Then
mensagem1 = "valor 2"
End If
Se x1 igual a dois ento mensagem1 ser: "valor 2".
Exemplo2:
No caso de uma varivel texto no script texto utilize o operador "==".
If Not ( resposta1 == "ERR" ) Then
x8 = 3
End If
Se resposta1 igual a "ERR" ento x7 ser 3.
Exemplo3:
Expresso com Else e ElseIf:
If x1 > 3 Then
x8 = 3
ElseIf x1 = 1 Then
x8 = 1
Else
x8 = 2
End If
A expresso ElseIf exige tambm um Else no final.

For
O comando For indica uma repetio onde a varivel recebe valores de n1 at n2.

No exemplo acima o valor de i varia de 1 at 10. A expresso s = s + Chr( i ) ser executada 10 vezes.
65

Expresso While (repetio, loop, iterao)


A expresso While indica uma repetio baseada numa condio.
Sintaxe:
While <condio>
...
WEnd
Exemplo:
leitura = 1
x=0
While ( leitura = 1 ) And ( x <= 20 )
...
x1.atualiza
leitura = x1
...
x=x+1
WEnd
No exemplo acima, enquanto a leitura realizada por um equipamento for igual a 1 e x for menor ou igual a
20 ento a repetio permanece.

GoTo
O comando GoTo (ir para) direciona a execuo do programa para a linha referenciada pelo "label".

No exemplo o programa no executar a linha onde x = 1.


O programa executar a partir da linha referenciada pelo label, ou seja, x = 2.

Objetos Visuais
Utilize o objeto Painel para acessar os objetos visuais. Utilize o script para acessar os objetos visuais
apenas em ltimo caso. Quando puder, opte sempre por associar os tags aos objetos e suas propriedades,
e altere apenas os tags.

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


Para cada objeto existem propriedades comuns e especficas. Para consultar as propriedades especficas
necessrio abrir a ajuda especializada do objeto.

Propriedades comuns:
Refresh
Redesenha o objeto de forma a atualizar apenas os itens necessrios.
SetPoint
Valor usado para o retorno da informao para o Set da planilha. Geralmente usado o envio de dados
para o equipamento.
Valor
Valor principal do objeto. Geralmente usado como leitura do equipamento. Obj.gauge7.Valor = 0
66

Update
Redesenha o objeto de forma completa. Painel.texto2.Update.
Exemplos:

Painel.Led2.Estado = 1
o estado do objeto "Led2" ser igual a 1, ou seja, ligado
s = Painel.texto1.TEXTO
s recebe o texto digitado no objeto "texto1"
Propriedade especial: UpdateMode:
A propriedade UpdateMode do objeto Obj define a forma de como os objetos sero atualizados quando
associados a algum valor.
Valores possveis:
0 - Atualiza-o completamente redesenhando todas as partes do objeto.
1 - No redesenha o objeto apenas os dados internos so alterados.
2 (default) - Atualiza somente as partes necessrias do objeto para a visualizao.
Exemplo: Painel.UpdateMode = 2
Veja outras propriedades do objeto Painel: Objeto Painel

67

Objeto Painel
O objeto Painel possui propriedades que acessam a configurao da tela, alm dos objetos visuais.
Propriedades e mtodos disponveis no objeto Painel:
Pagina:
Nmero da pgina atual. Painel.Pagina=0
Popup ( pgina ):
Abre a pgina como uma janela "popup". Painel.Popup(1)
AlteraTodosOsTagsDaPagina ( pgina, nome do tag ou grupo ):
Altera todos os tags ou grupo dos tags dos objetos visuais da pgina.
Painel.AlteraTodosOsTagsDaPagina(1, "x7" )
Tag:
Nome do tag do objeto visual atual. Tag(Painel.Tag) = 1.
Grupo:

Nome do grupo do objeto visual atual. Tag(Painel.Grupo+_temp) = 1.

ReDesenha:

Redesenha o painel. Painel.ReDesenha

Foco:

Seleciona o foco do windows para o painel. Painel.Foco

TelaCheia:

Define se o painel uma janela que preenche toda a tela.

Janela ( [x,y,] largura, altura ):


Define o painel como uma janela. Painel.Janela(600,400)
Menu:
Habilita ou desabilita o menu com o boto direito do mouse no painel de objetos.
Borda:

Define se a janela contm borda. Painel.Borda = True

Figura:

Define o nome do arquivo BMP para a figura de fundo no painel. Painel.Figura =

"figura.bmp"
FiguraLadoaLado:
Se True ento a figura de fundo repetida e disposta lado a lado no painel.
Cor:
Define a cor de fundo no painel.
Tipo:

0 - Painel normal com os objetos visuais. 1 - Tabela de visores.

Exemplo:

Explicao:
1 - A pgina visualizada ser a de nmero 1;
2 - Painel preencher a tela inteira;
3 - Ser mostrada a pgina 0 e o tamanho da janela ser 640 por 480.

Objeto Tags
O objeto Tags permite ao script acessar diretamente a planilha de pontos de leitura e escrita "tags". Veja
tambm o objeto TAG (tpico Acessando os tags da planilha de pontos de E/S).
Propriedades e mtodos disponveis no objeto Planilha:
LinhaCujoNome (nome_do_tag):
Retorna a linha da planilha cujo nome o nome_do_tag.
Grava [(linha)]:
Inicia a leitura em todas as linhas ou na linha especificada. Planilha.Grava.
PararGravacao [(linha)]:
Pra a gravao em todas as linhas ou na linha especificada.
Planilha.PararGravacao(7)
ClienteServidor:
Mostra a janela Cliente&Servidor.
GravaAgora (linha):
Fora gravao do tag no arquivo especificado na planilha.
NomeDoTag (linha):
Retorna o nome do tag da linha especificada.
LinhaDoTag (nome_do_tag):
Retorna a linha do tag relativo ao nome especificado.
LinhaCujoCanal (canal):
Retorna o nmero da linha cujo canal o nmero especificado.
Atualiza (linha): Fora a leitura do tag da linha da planilha. Planilha.Atualiza (<linha>)
Liga (linha):

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

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


DesLiga (linha):
Desliga a leitura/gravao na linha especificada. Planilha.Desliga(3)
LinhaAtual:
Linha atual da planilha que esta sendo lida. l =Planilha.LinhaAtual
VarreduraAtual (linha):
Varredura atual da leitura na linha especificada.
Tags ou Count:
Nmero de tags definidos na planilha.
Ligado (linha):
Seta/Retorna se a linha especificada est realizando leitura.
Gravando (linha):
Seta/Retorna se a linha especificada est realizando gravao.
TempoAtual (linha):
Retorna o tempo da leitura/gravao da linha especificada.
TempoAtualAlarme (linha):
Retorna o tempo da leitura do alarme na linha especificada.
Apaga:
Apaga toda a planilha.
AbreLQS (arquivo):
Abre um arquivo de extenso LQS ( ) dentro da planilha.
Planilha.AbreLQS ( arquivo.lqs )
SalvaLQS (arquivo):
Salva um arquivo de extenso LQS ( ) dentro da planilha.
Planilha.SalvaLQS ( arquivo.lqs )
SalvaColuna (arquivo, nome_da_coluna):
Exporta os dados de uma coluna da planilha em um arquivo texto.
AbreColuna (arquivo, nome_da_coluna):
Importa os dados de uma coluna da planilha de um arquivo texto.
SalvaColunasEspeciais [(arquivo)]:
Exporta os dados de todas as colunas especiais para um arquivo texto.
AbreColunasEspeciais (arquivo, nome_da_coluna):
Importa os dados de todas as colunas especiais a partir de um arquivo texto.

Exemplo (OnDepoisVarreduras)
Este um exemplo simples de utilizao de scripts no LAquis usando o evento OnDepoisVarreduras.
if x1 > 20 then
tag$(Mensagem)="Ultrapassou 20"
else
tag$(Mensagem)=""
end if
Explicao do script acima: Se o "Valor" lido no primeiro tag (x1), ou seja, na linha 1 da planilha, for maior
que 20, ento o texto do objeto associado ao tag Mensagem ser "Ultrapassou 20". Seno (se "Valor" no
for maior que 20) o texto do objeto ser vazio.

90

Exemplo - Evento Global (script texto)

Exemplo de utilizao do evento <Global>.

No evento "Global" criamos a funo dobro(x), especificando que: "dobro" igual a duas vezes a varivel
x.
x2 = dobro(x1)
Por exemplo, no evento OnClick de um boto programamos:
- x igual ao valor do texto do objeto "textcontrol"
- y igual ao dobro de x.
- O valor do objeto "texto1" ser o valor de y, ou seja, o resultado da funo dobro(x).
Ou seja; se x (valor do objeto "textcontrol1") for igual a 5, y (valor do objeto "texto1") ser igual a 10.

Funes e objetos de memria

Objeto global
O objeto Global permite criar variveis que podem ser acessadas em todos os eventos do LAquis.
Sintaxe:
Global.<nome da varivel> [ = valor ]
Exemplo:
Global.Variavel = 5
Global.Teste = 2
' Em outro local da aplicao:
x = Global.Variavel
y = Global.Teste
Observao: Global.Variavel = 5 o mesmo que StoreValue(5, "Variavel")

Objeto Memory
O objeto Memory contm as propriedades e mtodos necessrios para a acessar e manipular dados
numa rea de memria. possvel criar blocos de dados, arrays e campos especiais tendo como base
um ponteiro de memria.
Script visual: Objeto "comandos". Tipo Objetos. Item Memria.
Exemplo 1:

Exemplo 2:

Propriedades e mtodos disponveis no objeto Memory:

Alloc (tamanho):
Aloca uma rea de memria com o tamanho especificado. p = Memory.Alloc ( 255 )
Free (p, tamanho):
Libera a rea de memria apontada pelo ponteiro p. Memory.Free ( p, 255 )

ReAlloc (p, tamanho):


Realoca a rea de memria p para outro tamanho sem perder os dados.
Byte (p, posio):
L ou escreve um byte numa posio da memria apontada pelo ponteiro p.
Double (p, posio):
L ou escreve um double (8 bytes) numa posio da memria apontada pelo ponteiro p.
Long (p, posio):
L ou escreve um long (4 bytes) numa posio da memria apontada pelo ponteiro p.
Integer (p, posio):
L ou escreve um integer (2 bytes) numa posio da memria apontada pelo ponteiro p.
Word (p, posio):
L ou escreve um word (2 bytes) numa posio da memria apontada pelo ponteiro p.
PChar (p, posio):
L ou escreve um pchar (texto) numa posio da memria apontada pelo ponteiro p.
Comandos de alta velocidade:
MemoryWriteLong ( p, posicao )
Escreve um long (4 bytes) numa posio apontada pelo ponteiro p.
MemoryWriteByte ( p, posicao )
Escreve um byte (1 byte) numa posio apontada pelo ponteiro p.
MemoryWriteDouble ( p, posicao )
Escreve um double (8 bytes) numa posio apontada pelo ponteiro p.
MemoryWriteWord ( p, posicao )
Escreve um word (2 bytes) numa posio apontada pelo ponteiro p.
MemoryReadLong ( p, posicao )
Retorna um long (4 bytes) de uma posio apontada pelo ponteiro p.
MemoryReadByte ( p, posicao )
Retorna um byte (1 byte) de uma posio apontada pelo ponteiro p.
MemoryReadDouble ( p, posicao )
Retorna um double (8 bytes) de uma posio apontada pelo ponteiro p.
MemoryReadWord ( p, posicao )
Retorna um word (2 bytes) de uma posio apontada pelo ponteiro p.

StoreValue
Comando StoreValue ( valor, nome )
Armazena um valor numrico dentro de uma rea de memria global referenciada por um nome. A funo
RestoreValue usada para acessar este nmero. Opcionalmente utilize o objeto Global para acessar
estes valores. (Objeto Global)
Script visual: Objeto "comandos". Tipo Objetos. Item Memria.
Parmetros:
valor:

Nmero a ser armazenado na memria global.

nome: Nome que ser usado como referncia para acessar o nmero atravs da funo RestoreValue.

Exemplo:
"" StoreValue ( 30, "teste" )
...
x = RestoreValue ( "teste" ) ""
No exemplo acima a varivel x recebe o valor 30.

RestoreValue
valor = RestoreValue ( nome )
L um valor numrico armazenado numa rea de memria global referenciado por um nome. O comando
StoreValue usado para armazenar este nmero. Opcionalmente utilize o objeto Global para acessar
estes valores.(Objeto Global)
Script visual: Objeto "comandos". Tipo Objetos. Item Memria.
Exemplo:
StoreValue ( 30, "teste" )
...
x = RestoreValue ( "teste" )
No exemplo acima a varivel x recebe o valor 30.

ExistsValue
x = ExistsValue ( nome )
Retorna True se o nmero referenciado pelo nome existe na memria global gravado pelo comando
StoreValue .
Script visual: Objeto "comandos". Tipo Objetos. Item Memria.
Exemplo:
...
If ExistsValue ( "teste" ) Then
x = RestoreValue ( "teste" )
...
...
End If

ClearValue
Comando ClearValue ( nome )
Desassocia a varivel referenciada pelo nome da memria global. Para fins de desempenho a rea de
memria no desalocada e pode servir de espao para novos armazenamentos pelo comando
StoreValue. Se desejar desalocar a parte da memria global que no est sendo utilizada basta invocar o
comando CompactStoredValues.
Script visual: Objeto "comandos". Tipo Objetos. Item Memria.
Exemplo:
StoreValue ( 30, "teste1" )
StoreValue ( 40, "teste2" )
StoreValue ( 50, "teste3" )
...
ClearValue ( "teste2" )
...
CompactStoredValues

FreeStoredValues
Comando FreeStoredValues
Libera a memria global utilizada para armazenar as variveis atravs do comando StoreValue.

Script visual: Objeto "comandos". Tipo Objetos. Item Memria.


Exemplo:
StoreValue ( 30, "teste" )
...
x = RestoreValue ( "teste" )
...
FreeStoredValues

CompactStoredValues
Comando CompactStoredValues
Compacta a memria global utilizada para armazenar as variveis atravs do comando StoreValue. A
compactao s til se algumas das variveis forem eliminadas da memria atravs do comando
ClearValue. As lacunas que no foram preenchidas depois so desalocadas da memria global.
Script visual: Objeto "comandos". Tipo Objetos. Item Memria.
Exemplo:
StoreValue ( 30, "teste1" )
StoreValue ( 40, "teste2" )
StoreValue ( 50, "teste3" )
...
ClearValue ( "teste2" )
...
CompactStoredValues

Objeto Tabela

O objeto Tabela contm as propriedades e mtodos para a manipulao de uma tabela em formato de
planilha. Nesta tabela podem ser apresentados os resultados de operaes realizadas na aplicao ou at
mesmo servir de entrada de dados. Uma vez criada a tabela possvel gerar relatrios na tela, impressos
ou para exportao.
Script visual: Objeto "comandos". Tipo Objetos. Item Tabela.

O ttulo da tabela: "Relatrio"


O nmero de colunas: 3
O nmero de linhas: NumLeituras + 1
O valor de determinada clula (seguindo a sequncia - linha,coluna):Linha 0, coluna 0 = "#" , e assim
sucessivamente.
Tabela.Mostra: o que define o tamanho, ou seja, a resoluo da tabela, no exemplo - 320 por 480.

Propriedades e mtodos disponveis no objeto ArquivoTexto:


Nome:
Nome da tabela.

Titulo:
Ttulo da janela onde ser apresentada a tabela.
Colunas:
Nmero de colunas da tabela.
Linhas:
Nmero de linhas da tabela.
ColunasFixas:
Nmero de colunas fixas (em cinza) esquerda da tabela.
LinhasFixas:
Nmero de linhas fixas (em cinza) no topo da tabela.
Celula (coluna, linha):
L ou escreve o contedo da clula na coluna e linha especificada.
CorTexto (coluna, linha):
Cor do texto na clula correspondente coluna e linha especificada.
Cor (coluna, linha):
Cor do fundo da clula correspondente coluna e linha especificada
Largura (coluna):
Largura em pixels da coluna especificada na tabela.
Altura (linha):
Altura em pixels da linha especificada na tabela.
Visivel:
Torna a tabela visvel ou no.
Mostra ( [x1, y2,] dx, dy ):
Apresenta a tabela para o usurio e no permite eventos no plano inferior.
MostraNormal ( [x1, y2,] dx, dy ):
Apresenta a tabela para o usurio.
Salva ( arquivo ):
Grava os dados da tabela em arquivo texto.
Abre ( [ y [, x ],] arquivo, [ajusta] ):
Abre o arquivo texto e dispe os dados na tabela nas posies especificadas.
ApagaLinha (linha):
Apaga a linha especificada da tabela.
InsereLinha (linha):
Insere uma linha na posio especificada.
Libera:
Libera a memria alocada para a tabela atual.
LiberaTodas:
Libera a memria alocada para todas as tabelas criadas.
Coluna:
L ou define a posio da coluna do cursor na tabela.
Linha:
L ou define a posio da linha do cursor na tabela.
SomenteLeitura:
Se True a tabela no poder ser alterada pelo usurio.
BordaFixa:
Se True o tamanho da janela onde est a tabela no poder ser ajustado.

Funes e objetos de arquivos e banco de dados

Objeto LB
Propriedades:
LB.Data
Determina a data relacionada do banco para o caso de arquivos BANCO<DDMMYYYY>.LDB. Caso
contrrio LB.Data = 0.
Ex: LB.Data=int(now)
LB.Abre(arquivo_ldb)
Abre o arquivo .ldb indicado e retorna opcionalmente um nmero relacionadp ao banco.
Ex: banco = LB.Abre("TESTE.LDB")
LB.BancoNumero(banco)
Seleciona o banco aberto atravs do seu nmero.
Ex: LB.BancoNumero(banco)
LB.Filtro(sql_ou_critrio)
Filtra e seleciona os registros de acordo com o comando SQL ou o critrio no formato LBanco. Para
selecionar todos os registros basta fazer LB.Filtro("").
Ex: LB.Filtro("VALOR > 30")
LB.Registros
Retorna o nmero de registros selecionados pelo Filtro.
Ex: x = LB.Registros
LB.Posicao
Retorna ou determina a posio atual do banco em funo do filtro. Varia de 0 at Registros-1.
Ex: LB.Posicao=0
LB.PosicaoReal
Retorna ou determina a posio real fsica atual do banco. Varia de 0 at Registros-1 quando o filtro
vazio.
Ex: x=LB.PosicaoReal
LB.NovoRegistro
Posiciona o banco para acrescentar novo registro.
Ex: LB.NovoRegistro
LB.Le
L o registro apontado pela posio atual. Os dados podem ser retornados pelos mtodos Campo e
CampoN.
Ex: LB.Le
LB.Grava
Grava os dados no registro apontado pela posio atual. Os dados so definidos pelos mtodos Campo e
CampoN.
Ex: LB.Grava
LB.Campo(nome_do_campo)
Retorna ou define o valor do campo no formato texto.
Ex: LB.Campo("OBS")="Acima do limite"
LB.CampoN(nome_do_campo)
Retorna ou define o valor do campo no formato numrico.
Ex: LB.CampoN("TEMPO")=now
LB.Titulo(nome_do_campo)
Retorna o ttulo do campo.
Ex: s=LB.Titulo("CODIGO")

LB.Tipo(nome_do_campo)
Retorna o tipo do campo. Os tipos so: 0-Nmero,1-Texto,2-AutoInc,3-Data/Hora,4-Binrio.
Ex: x=LDB.Tipo("VALOR")
LB.Formato(nome_do_campo)
Retorna o formato do campo.
Ex: s=LB.Formato("VALOR")
LB.Campos
Retorna o nmero de campos do banco atual.
Ex: n=LB.Campos
LB.NomeDoCampo(indice_do_campo)
Retorna o nome do campo a partir do ndice que varia de 0 at LB.Campos-1.
Ex: s=LB.NomeDoCampo(0)
LB.Ordena(campo_de_ordenao)
Ordena os registros filtrados utilizando o campo de ordenao especificado.
Ex: LB.Ordena("TEMPO")
LB.FechaBanco(banco)
Fecha o banco especificado.
Ex: LB.FechaBanco(banco)
LB.Fecha
Fecha o banco atual.
Ex: LB.Fecha
LB.Tabela
Apresenta a tabela de edio do banco.
Ex: LB.Tabela
LB.TabelaDoLB(banco,texto,data)
Retorna o nome da tabela do LB sem abrir o banco. Texto e data so parmetros opcionais para o nome
da tabela.
Ex: s=LB.TabelaDoLB("Banco.LB","",0)
LB.PastaDoLB(banco,pastadefault)
Retorna a pasta dos arquivos de dados sem abrir o banco. Pastadefault a pasta que ser colocada no
lugar de "<.>".
Ex: s=LB.PastaDoLB("Banco.LB",App.AplPath)
LB.Mostra(largura,altura,campos,pesquisa,alterar,adicionar,imprimir,utilizarpesquisa)
Mostra a janela para listagem ou edio dos dados de um banco.
Ex: LB.Mostra(565,383,"TESTE.LB","",0,0,1,0)

Objeto Ini
Ini.ReadNumber
A funo Ini.ReadNumber ( arquivoini, sesso, campo, valordefault )
O mtodo ReadNumber do objeto Ini l um valor numrico dentro de um campo numa sesso do
arquivoini.
Script visual: Objeto "comandos". Tipo Comandos. Item Ini.
Exemplo:
x = Ini.ReadNumber ( App.Path + "TESTE.INI", "CONFIGURAO", "Altura", 0 )

Ini.ReadString
texto = Ini.ReadString ( arquivoini, sesso, campo, valordefault )
O mtodo ReadString do objeto Ini retorna o valor texto lido a partir de um campo dentro de um sesso
no arquivoini.
Script visual: Objeto "comandos". Tipo Comandos. Item Ini.
Exemplo:
s = Ini.ReadString ( App.Path + "TESTE.INI", "CONFIGURAO", "Ttulo", "" )

Ini.WriteString
Comando Ini.WriteString ( arquivoini, sesso, campo, valor )
O mtodo WriteString do objeto Ini escreve um valor texto dentro de um campo numa sesso do
arquivoini.
Script visual: Objeto "comandos". Tipo Comandos. Item Ini.
Exemplo:
Ini.WriteString ( App.Path + "TESTE.INI", "CONFIGURAO", "Ttulo", "Aplicao X" )

Ini.WriteNumber
Comando Ini.WriteNumber ( arquivoini, sesso, campo, valor )
O mtodo WriteNumber do objeto Ini escreve um valor numrico dentro de um campo numa sesso do
arquivoini.
Script visual: Objeto "comandos". Tipo Comandos. Item Ini.
Exemplo:
Ini.WriteNumber ( App.Path + "TESTE.INI", "CONFIGURAO", "Altura", 100 )

100

Objeto ArquivoTexto
O objeto ArquivoTexto contm as propriedades e mtodos necessrios para a manipulao de arquivos
texto.
Script visual: Objeto "comandos". Tipo Comandos. Item ArquivoTexto.
Exemplo 1:

Exemplo 2:

Propriedades e mtodos disponveis no objeto ArquivoTexto:


Abre (arquivo):
Abre o arquivo e retorna seu handle. n = ArquivoTexto.Abre("teste.txt")
Fecha (harquivo):
Fecha o arquivo. ArquivoTexto.Fecha( n )
Eof [(harquivo)]:
Retorna True se chegou o fim do arquivo texto. Fim = ArquivoTexto.Eof
Le [(harquivo)]:
L e retorna uma linha de texto. texto = ArquivoTexto.Le
Grava ( [harquivo,] texto):
Grava uma linha de texto.
Acrescenta ( [harquivo,] texto ):
Acrescenta (append) uma linha de texto.

Objeto ArquivoBin
O objeto ArquivoBin contm as propriedades e mtodos necessrios para a manipulao de arquivos
binrios de formato livre. possvel ler ou gravar blocos de memria de qualquer tamanho.
Script visual: Objeto "comandos". Tipo Comandos. Item ArquivoBin.
Exemplo 1:

Exemplo 2:

Propriedades e mtodos disponveis no objeto ArquivoBin:


Abre (arquivo):
Abre o arquivo e retorna seu handle. n = ArquivoBin.Abre("teste.bin")
Fecha (harquivo):
Fecha o arquivo. ArquivoBin.Fecha( n )
Registros (harquivo):
Retorna o nmero de bytes do arquivo. r = ArquivoBin.Registros( n )
Posicao (harquivo):
Posiciona o arquivo no byte especificado. ArquivoBin.Posicao (n) = 31
LeBloco ( harquivo, ponteiro, tam ):
L um bloco de bytes e armazena na memria apontada pelo ponteiro.
GravaBloco ( harquivo, ponteiro, tam ):
Grava um bloco de bytes armazenados na memria apontada pelo ponteiro.
Le (harquivo):
L e retorna apenas um byte.
Grava (harquivo):
Grava apenas um byte.

Objeto Dialog
O objeto Dialog contm as janelas para a entrada de nomes de arquivos por parte do usurio.
Script visual: Objeto "comandos". Tipo Comandos. Item Arquivos.
Mtodos disponveis no objeto Dialog:
Open [ (caminhoinicial [, filtro] ) ]:
Apresenta uma janela para a entrada de um arquivo a ser aberto.
Save [ (caminhoinicial [, filtro] ) ]:
Apresenta uma janela para a entrada de um arquivo a ser gravado.
Tando o mtodo Open como o mtodo Save retornam o nome do arquivo digitado ou escolhido. Se o texto
retornado for vazio ento significa que o usurio cancelou a operao.
Exemplo:
Dim nome
nome = Dialog.Open ( App.Path, "Arquivos Texto (*.txt)|*.txt|Todos os Arquivos (*.*)|*.*" )
If Not ( nome == "" ) Then
ArquivoTexto.Abre ( nome )
...
...
End If

FileExists
valor = FileExists ( arquivo )
Retorna True se o arquivo especificado existe.
Exemplo:
x = FileExists ( App.Path + "arquivo.dat" )
se este arquivo existe ento x recebe o valor True.

Kill
Comando Kill ( arquivo )
Apaga o arquivo especificado do disco.
Exemplo:
Kill ( App.Path + "arquivo.dat" )

' Se o usurio no cancelou


' Utiliza o arquivo definido pela varivel nome

Funes de texto

Funo Val
x = Val ( texto )
A funo Val retorna o valor numrico correspondente ao texto.
Exemplo:

Funo CStr
texto = CStr ( nmero )
A funo CStr retorna o texto correspondente a um valor numrico.
Exemplo:

Funo Mid
texto resultante = Mid ( texto, posio inicial, posio final )
A funo Mid retorna uma parte do texto. Exemplo: Mid ("Palavra",3,5) retorna os caracteres de 3 a 5, ou
seja, "lav".
A posio 1 o primeiro caracter, a posio 2 o segundo, e assim por diante.
Exemplo:

Funo CopyString
texto resultante = CopyString ( texto, posio inicial, n )
A funo CopyString retorna uma cpia dos n caracteres partir da posio inicial indicada.
Exemplo:
s = CopyString ( "Teste da funo CopyString", 10, 6 )
Retorna em s a palavra "funo".

Funo LeftS
texto resultante = LeftS ( texto, n )
A funo LeftS retorna uma cpia dos n caracteres esquerda do texto.
Exemplo:
s = LeftS ( "Teste da funo left", 5 )
Retorna em s a palavra "Teste".

Funo RightS
texto resultante = RightS ( texto, n )
A funo RightS retorna uma cpia dos n caracteres direita do texto.
Exemplo:
s = RightS ( "Teste da funo", 6 )
Retorna em s a palavra "funo".

Funo DeleteString
texto resultante = DeleteString ( texto, posio inicial, n )
A funo DeleteString retorna uma cpia do texto eliminando n caracteres partir da posio inicial.
Exemplo:
s = DeleteString ( "Teste da funo", 7, 3 )
Retorna em s o texto "Teste funo".

Funo BytesToStr
string = BytesToStr ( byte1, byte2, byte3, ... )
A funo BytesToStr retorna um texto (string) com os bytes indicados. Este string funciona como uma
memria ou um pacote de bytes. usado para comunicao ou tratamento de dados binrios.
Exemplo:
s = BytesToStr ( 0, 5, canal, &HF3, 13, 10 )

Funo Len
A funo Len retorna o nmero caracteres na varivel texto.
Exemplo:

Funo InStr
posio = InStr ( texto, expresso )
A funo InStr retorna a posio de uma expresso dentro de uma varivel ou constante texto.
Se a expresso no for encontrada ento a posio 0.
A posio 1 o primeiro caracter, a posio 2 o segundo, e assim por diante.

Exemplo:

Se desejar procurar a partir de uma posio inicial use:


posio = InStrPos ( posio inicial, texto, expresso )

Funo StrToNumber
nmero = StrToNumber ( texto, posio inicial, posio final )
A funo StrToNumber converte parte de um texto (string como seqncia de bytes) para nmero byte,
word ou long.
Exemplo:
x = StrToNumber ( s, 5, 6 )
Retorna em x no formato word (2 bytes) o valor determinado pelos bytes 5 e 6 do string s.

Funo NumberToStr
string = NumberToStr ( nmero [,bytes] )
A funo NumberToStr converte um nmero para texto (string) como uma seqncia de bytes, word ou
long. Este string funciona como uma memria ou um pacote de bytes. usado para comunicao ou
tratamento de dados binrios.
Exemplo:
s = ""
s = NumberToStr ( x, 2 )
Retorna em s dois bytes do valor x no formato word.

Funo Format
texto = Format ( nmero, formato )
A funo Format retorna, a partir de um nmero, um texto no formato especificado.
Exemplo: x = now (agora), mas a varivel s receber a nmero x no formato dd/mm/yyyy (dia, ms e ano).
Exemplos:

Funo IntToHex
A funo IntToHex retorna um nmero no formato hexa-decimal (texto).
No caso, 12408767 com seis dgitos equivale a "CC99FF".
Exemplo:

IntToBin
s = IntToBin ( nmero, dgitos )
A funo IntToBin retorna um nmero no formato binrio em texto.
No caso, 12408767 com 24 dgitos (bits) equivale a "101111010101011110111111".
Exemplo:
s = ""
s = IntToBin ( 12408767, 24 )
A varivel s fica sendo 101111010101011110111111.

Funo HexToInt
A funo HexToInt retorna o valor numrico correspondente ao nmero no formato hexa-decimal (texto).
Exemplo:

Se quiser digitar diretamente no cdigo utilize &H. Exemplo x = &HCC99FF

Funo Chr
caracter = Chr ( nmero )
A Chr retorna o caracter texto correspondente ao seu nmero ANSI (1 a 255).
Exemplo: 65 equivale a "A".
Exemplos:

Funo Ord
A funo Ord retorna o nmero ANSI correspondente ao caracter especificado.
Exemplo: "A" equivale a 65.
Exemplo:

Funo Trim
texto = Trim ( expresso )
A funo Trim retorna um texto retirando todos os espaos em branco direita e esquerda da
expresso texto.
Exemplo:

110

Funo UpCase
TextoMaisculo = UpCase ( texto )
A funo UpCase retorna o texto com suas letras maisculas.

TextoBytes
texto = TextoBytes ( expresso )
A funo TextoBytes (ou HexText) retorna um texto como uma seqncia de nmeros no formato
hexadecimal (com dois dgitos cada um) representando os bytes correspondentes aos caracteres da
expresso.
Exemplo:

Funes matemticas

F1G
y = F1G ( x1, y1, x2, y2, x )
Retorna o valor y correspondente ao x conforme uma funo do primeiro grau definida pelos dois pontos
(x1,y1) e (x2,y2).
Exemplo:
x = F1G ( 0, 20, 100, 40, 50 )
no exemplo acima a varivel x recebe o valor 30.

Rnd
A funo Rnd retorna um valor aleatrio de 0 a 1.
Exemplo 1:

Exemplo 2:

Randomize
O comando Randomize opcional. Este comando inicializa uma varivel interna para a gerao de
nmeros aleatrios atravs da funo Rnd.

Int
valor = Int ( x )
A funo Int retorna a parte inteira do nmero especificado "x".
Exemplo 1:

Exemplo 2:

Frac
valor = Frac ( x )
A funo Frac retorna a parte fracionria de x.
Exemplo:
y = Frac ( 5.43672123 )
no exemplo acima a varivel y recebe o valor 0.43672123.

Round
valor = Round ( x )
A funo Round retorna o nmero especificado "x" arredondado para o prximo inteiro.
Exemplo 1:
y = Round ( 7.85524789 )
no exemplo acima a varivel y recebe o valor 8.

GetDecimals
valor = GetDecimals ( x )
A funo GetDecimals retorna o nmero de casas decimais do nmero x.
Exemplo 1:
y = GetDecimals ( 7.1234 )
no exemplo acima a varivel y recebe o valor 4.

Mod
A funo Mod retorna o resto de uma diviso entre os dois nmeros especificados.

PI
A funo PI retorna o valor do nmero pi (3,14...).

Sin
A funo Sin retorna o seno do nmero especificado em radianos.

Cos
A funo Cos retorna o cosseno do nmero especificado em radianos.

Power
resultado = Power ( x, y )
A funo Power retorna o resultado do nmero "x" elevado a "y".

Sqrt
valor = Sqrt ( x )
Retorna o valor da raiz quadrada de x.
Exemplo:
x = Sqrt ( 4 )
no exemplo acima a varivel x recebe o valor 2.

Exp

resultado = Exp ( x )
A funo Exp retorna o resultado do nmero e (2,71828183) elevado a "x".

Exp10
valor = Exp10 ( x )
A funo Exp10 retorna o resultado de 10 elevado a x.
Exemplo:
x = Exp10 ( 3 )
no exemplo acima a varivel x recebe o valor 1000.

Log
resultado = Log ( x )
A funo Log retorna o resultado do logaritmo de x na base dez.

Ln
resultado = Ln ( x )
A funo Ln retorna o resultado do logaritmo neperiano de x.

Sgn
valor = Sgn ( x )
A funo Sgn retorna o sinal de x. Se x negativo ento Sgn retorna -1. Se x positivo ento Sgn retorna
1.
Exemplo:
y=0-4
x = Sgn ( y )
no exemplo acima a varivel x recebe o valor -1.

Troca
resultado = Troca ( valoratual,valor1,valor2 )
A funo Troca retorna alternadamente o valoratual trocado entre valor1 e valor2. Os valores, assim como
o resultado, podem ser nmeros ou textos.

Funes de bits

Bits(nmero, bit [, bit2])


A funo Bits retorna o valor do bit ou da faixa de bits sobre um nmero.
Exemplo: x = Bits(y, 3)
(retorna o bit 3 da varivel y)

Bytes(nmero, n)
A funo Bytes retorna ensimo byte do nmero.
Exemplo: x = Bytes(ylong, 1).

BitsAND(nmero1, nmero2)
A funo BitsAND retorna o resultado da operao AND sobre dois nmeros.

BitsOR(nmero1, nmero2)
A funo BitsOR retorna o resultado da operao OR sobre dois nmeros.

BitsSHL(nmero, nmero de bits)


A funo BitsSHL retorna o resultado da operao SHL sobre um nmero.

BitsSHR(nmero, nmero de bits)


A funo BitsSHR retorna o resultado da operao SHR sobre um nmero.

BitsNOT(nmero)
A funo BitsNOT retorna o resultado da operao NOT sobre um nmero.

BitsXOR(nmero1, nmero2)
A funo BitsXOR retorna o resultado da operao XOR sobre dois nmeros.

Funes de tempo

Objeto Timer
O objeto Timer um contador que retorna o nmero correspondente ao tempo em milisegundos a partir
de um Timer.Reset. Esta funo muito til para fazer contagem de tempo como no exemplo abaixo:
Timer.Reset
...
While Timer < 7000 ' Enquanto Timer for menor que 7 segundos
... ' Processo
WEnd
Pode-se criar vrios Timers atribuindo nomes:
x = Timer.<nome>[.Reset]
Exemplo:
Timer.Relogio1.Reset
...
While Timer.Relogio1 < 7000 ' Enquanto Timer for menor que 7 segundos
... ' Processo
WEnd

Objeto Clock
O objeto Clock um contador semelhante ao Timer, mas retorna a data/hora em formato double. A
contagem disparada a partir de um Clock.Reset. Esta funo muito til para fazer contagem de tempo
como no exemplo abaixo:
Clock.Reset
... ' Processo
x = Clock
s = ""
s = Format ( x, "hh:nn:ss" ) ' Retorna o tempo corrido
' no formato hora minuto segundo
Pode-se criar vrios Timers atribuindo nomes:
x = Clock.<nome>[.Reset]
Exemplo:
Clock.Relogio1.Reset
...
If Clock.Relogio1 < StrToTime ( "03:07:00" ) Then ' Se Clock for menor que
' 3 horas e 7 minutos
... ' Processo
End If

Now
A funo Now retorna o dia, ms, ano, hora, minuto, segundo e milisegundo atual em apenas um nmero
(double).
x = Now
MsgBox ( Format ( x, "dd/mm/yyyy hh:nn:ss" ) ) ' Mostra a data hora no formato
' exemplo: 01/07/2006 03:10:07
...
A parte inteira o nmero de dias. A parte fracionria contm as horas minutos e segundos.
1 hora 1 / 24 = 0.0416....
1 minuto 1 / 24 / 60 = 6.94... E-4
1 segundo 1 / 24 / 60 / 60 = 1,157407...E-5
1 milissegundo 1 / 24 / 60 / 60 / 1000 = 1,157407...E-8
...

Day(datanmero)
A funo Day retorna o nmero correspondente ao dia a partir de uma varivel tempo conforme o
exemplo abaixo.
x = Day(now)

Month(datanmero)
A funo Month retorna o nmero correspondente ao ms a partir de uma varivel tempo conforme o
exemplo abaixo.
x = Month(now)

Year(datanmero)
A funo Year retorna o nmero correspondente ao ano a partir de uma varivel tempo conforme o
exemplo abaixo.
x = Year(now)

Hour
A funo Hour retorna o nmero correspondente hora a partir de uma varivel tempo conforme o
exemplo abaixo.

Minute
A funo Minute retorna o nmero correspondente ao minuto a partir de uma varivel tempo conforme o
exemplo abaixo.
x = Minute(now)

Second
A funo Second retorna o nmero correspondente ao segundo a partir de uma varivel tempo conforme
o exemplo abaixo.
x = Second(now)
Observao: Da mesma forma possvel retornar o tempo em milisegundos com a funo MiliSecond.

WeekDay
A funo WeekDay retorna o nmero correspondente ao dia da semana a partir de uma varivel tempo
conforme o exemplo abaixo.
x = WeekDay(now)

StrToTime
A funo StrToTime retorna o nmero correspondente ao horario a partir de uma varivel texto.
Se a varivel texto s for um horrio (exemplo "15:03:05") ou uma data (exemplo "01/01/2006") a funo
retorna um nmero no formato tempo double.
t = StrToTime ( s )

DateToNumber
x = DateToNumber ( dia,ms,ano )
A funo DateToNumber retorna o nmero correspondente data definida pelos valores dia, ms e ano.
Exemplo:
t = DateToNumber ( 1, 7, 6 )
A varivel t recebe a data 01/07/2006 no formato double.

Delay ou Sleep
O comando Delay ou Sleep fora um pausa durante um tempo especificado em milisegundos.

120

Funes de aplicativo

App.Stop
Mtodo App.Stop
O mtodo Stop do objeto App interrompe a execuo do LAquis e fecha o programa.

App.Path
caminho = App.Path
A propriedade Path do objeto App retorna a pasta onde se encontra o executvel do LAquis.

App.ExeName
caminho = App.ExeName
A propriedade ExeName do objeto App retorna o nome completo mais a pasta de onde foi executado o
LAquis.

App.APLName
caminho = App.APLName
A propriedade APLName do objeto App retorna o nome do arquivo APL ou LQS (aplicao) que est
sendo utilizado.

App.APLPath
caminho = App.APLPath
A propriedade APLPath do objeto App retorna a pasta do arquivo APL ou LQS (aplicao) que est sendo
utilizado.

App.Title
caminho = App.Title
A propriedade Title do objeto App define o ttulo ou o nome da aplicao. Este nome ser escrito sobre o
cone na barra de tarefas e na lista de tarefas do Windows.

App.Priority
Propriedade App.Priority
A propriedade Priority do objeto App define a prioridade do programa LAquis em relao aos outros
aplicativos que esto sendo executados ao mesmo tempo no sistema operacional.
Se Priority for 0 ento o LAquis tem prioridade normal. Se for de nvel 1 ento o LAquis ter uma
prioridade um pouco maior em relao aos outros aplicativos que esto sendo executados ao mesmo
tempo. Se a propriedade Priority for 2 ento o LAquis ter grande prioridade sobre os outros programas e
estes comprometero bem menos o desempenho do LAquis.

App.PortConfig
caminho = App.PortConfig
A propriedade PortConfig do objeto App invoca a janela de configurao da porta serial.

App.ContinuousReading
caminho = App.ContinuousReading
A propriedade ContinuousReading do objeto App indica se a opo leitura contnua est ativada.

DoEvents
Comando DoEvents
O comando DoEvents permite que o sistema operacional execute as operaes e mensagens pendentes.

Funes de janelas de mensagens

Input
A funo Input apresenta uma janela simples para entrada de dados e retorna o texto digitado pelo
usurio.
Exemplo 1:

Exemplo 2:

Ask
A funo Ask apresenta uma caixa de mensagem com os botes Sim e No. Retorna True ou False
dependendo da resposta dada pelo usurio.
Script visual: Objeto "comandos". Tipo Comandos. Item Especial.

MsgBox
O comando MsgBox apresenta uma caixa de texto para informaes ao usurio.
Exemplo 1:

Exemplo 2:

Objeto GRID
O objeto Grid permite acessar a planilha LGX da janela de relatrios.
Grid.Abre(arquivoLGX[,x,y])
Abre uma janela com a planilha LGX.
Desliga
Fecha a janela com a planilha LGX.
Prepara(arquivo)
Prepara sem mostrar a janela com a planilha LGX. usado para permitir a utilizao do comando Cells.
Grid.Mostra(x,y[,z])
Mostra a janela com a planilha LGX.
Grid.Cells(x,y)
Valor da clula em formato texto da coluna X e da linha Y da planilha LGX.
Grid.Cellsn(x,y)
Valor da clula em formato nmerico da coluna X e da linha Y da planilha LGX.
Grid.Col
Coluna atual do cursor na planilha LGX.
Grid.Row
Linha atual do cursor na planilha LGX.
Calcula
Executa o clculo da planilha LGX.
Grid.TipoModal
Se TipoModal for 1 a janela, quando aparecer no permitir que o processo continue, at sair da mesma.

Comandos principais da planilha de relatrios

Celula(coluna,linha): L ou altera o valor da clula texto.


CelulaN(coluna,linha): L ou altera o valor da clula nmero.
Colunas: Retorna o nmero de colunas.
Linhas: Retorna o nmero de linhas.
Largura(coluna): Largura da coluna.
Altura(linha): Altura da linha.
Coluna: Nmero da coluna atual do cursor.
Linha: Nmero da linha atual do cursor.
LimparPlanilha(coluna1,linha1,coluna2,linha2) : Limpa as clulas da faixa especificada na planilha.
LimparFormato(coluna1,linha1,coluna2,linha2) : Limpa o formato das clulas da faixa especificada.
Apagalinha(linha) : Elimina a linha especificada.
InsereColuna(coluna) : Insere uma coluna vazia no local especificado.
InsereLinha(linha) : Insere uma linha vazia no local especificado.
DesenhaSempre: Propriedade da planilha 1 ou 0. Se 1 a planilha redesenhada a cada alterao.
ReDesenha: Fora o desenho da planilha.
PausaCalculo: Pra de executar o clculo.
Calcula: Fora a execuo do clculo.
LarguraDoTexto(texto): Retorna a largura do texto especificado.
CelulaNome(nome): L ou altera o valor da clula texto pelo nome.
CelulaNNome(nome): L ou altera o valor da clula nmero pelo nome.
Color(coluna,linha): Cor da clula.
Font.Color(coluna,linha): Cor da fonte da clula.
Font.Size(coluna,linha): Tamanho da fonte da clula.
Font.Bold(coluna,linha): Clula em negrito.
Formato(coluna,linha): Retorna ou define o formato da clula especificada.
Alignment(coluna,linha): Retorna ou define o alinhamento da clula especificada.
Bloqueado(coluna,linha): Retorna ou define se a clula est bloqueada.
Calendario(coluna,linha) : Executa o calendrio para alterao do valor da clula especificada.
Formula(coluna,linha): Retorna ou define a frmula da clula especificada.
Borda(coluna1,linha1,coluna2,linha2,borda,cor) : Atributos das bordas de uma faixa de clulas.
RowSelect: Tipo do cursor como seleo de linha. (1 ou 0)
LinhaAlterada: Nmero da linha alterada (exemplo: ao sair da clula evento OnSairDaCelula).
ColunaAlterada: Nmero da coluna alterada (exemplo: ao sair da clula evento OnSairDaCelula).
AceitarAlteracao: Define se a alterao da clula deve ser efetivada (1 ou 0).
ColunaClicada: Retorna o nmero da coluna clicada (evento OnClick).
LinhaClicada: Retorna o nmero da linha clicada (evento OnClick).
ColunaTexto: Retorna o nmero da coluna do texto a ser alterado no evento OnTexto.
LinhaTexto: Retorna o nmero da linha do texto a ser alterado no evento OnTexto.
CelulaTexto: Retorna ou define o valor do texto a ser alterado no evento OnTexto.
Ordena(coluna,tipo,coluna1,linha1,coluna2,linha2) : Executa a ordenao de uma faixa de clulas.
ImportarTxt(arquivo,coluna,linha) : Importa texto de um arquivo.
ExportarTxt(arquivo,coluna,linha,colunas,linhas) : Exporta texto de um arquivo.
ColarTexto(texto,coluna1,linha1,coluna2,linha2) : Cola texto separado por tabs e enters
Veja tambm o captulo Planilha para relatrios e anlise.

Outras funes e objetos

Execute Event
ExecuteEvent ( <evento>, <objeto> )
Executa o evento do objeto visual ou script especificado.

EscPressed
A funo EscPressed retorna True se o usurio digitou a tecla ESC.
Script visual: Objeto "comandos". Tipo Comandos. Item Especial.

VRel.Execute
Comando VRel.Execute [(nome)]
Executa a janela de impresso utilizando opcionalmente como formato de relatrio o arquivo .rlv
especificado.
Script visual: Objeto "comandos". Tipo Comandos. Item VREL.
Parmetro:
nome:
Nome do arquivo .rlv a ser utilizado como formato de relatrio.
Exemplo:
VRel.Execute ( "Arquivo1.rlv" )

Declare (script texto)


Script texto:
Declare Function <nome> Lib <dll> Alias <nomeusado> (<parmetros>) As <tipo>
O comando Declare permite utilizar bibliotecas DLL dentro do script no LAquis. O formato dos comandos
deve ser stdcall.
Nesta verso do LAquis todas as funes devem retornar algum valor.
Parmetros:
nome: Nome da funo original.
dll:

Nome da biblioteca dll. Pode ser o nome do arquivo entre aspas ou somente o nome principal.

nomeusado:
Nome da funo que ser usada no script.
parmetros:
Variveis com os seus respectivos tipos separadas por vrgula conforme o exemplo.
tipo:
Tipo do retorno da funo.
Exemplo:
Declare Function Poe Lib CCALC Alias Poe1 ( ByVal canal As Word, ByVal valor As Double ) As
Long
Declare Function MessageBoxA Lib USER32 Alias MessageBox ( ByVal Handle1 As Long, ByVal p1
As String, ByVal p2 As String, ByVal Handle2 As Long ) As Long
Dim s
MB_ICONEXCLAMATION = &H30
x = 40
texto = MessageBox ( 0, "Teste de MessageBox", "Ttulo", MB_ICONEXCLAMATION )
Poe1 ( 5, x )
Para funes que retornam valores nos parmetros, declare estas variveis com o tipo Long e trate-o da
mesma forma que um ponteiro. Utilize o objeto Memory para acessar esta rea de memria. Veja um
exemplo abaixo:
Note que o parmetro texto deveria ser String mas na verdade encarado como se fosse um ponteiro.

130

Você também pode gostar