LAquis Apostila
LAquis Apostila
LAquis Apostila
1
Software Supervisrio
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
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:
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)
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.
Neste exemplo, os valores dos quatro tags sero armazenados no banco de dados TESTE.LB:
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 .
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.
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.
10
. 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
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.
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
14
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.
17
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
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.
20
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:
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....
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:
25
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.
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.
31
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
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
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.
36
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.
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.
38
39
n=ldbcount
if n>0 then
for i=1 to n
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
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:
Utilize o boto
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
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..
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:
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:
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
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 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
51
52
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
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
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 .
62
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
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:
64
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
GoTo
O comando GoTo (ir para) direciona a execuo do programa para a linha referenciada pelo "label".
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.
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:
ReDesenha:
Foco:
TelaCheia:
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:
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):
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
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.
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:
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 )
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:
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.
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.
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.
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:
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:
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" )
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:
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:
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
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.
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.
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.
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" )
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