Vous êtes sur la page 1sur 32

Apostila de Treinamento

.13

Introduo Programao_________________________________

Captulo .13
Introduo Programao

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.13. Introduo Programao_________________________________

Objetivos do Captulo
Este captulo introduz a linguagem de programao VBA (Visual Basic for Application) que vem
embutida no iFIX, a qual permite personalizar e automatizar a aplicao.
O captulo est organizado nos seguintes tpicos:

Introduo ao VBA

Diferenas entre Visual Basic e VBA

Como usar o VBA no iFIX

Programao versus Tag de Programao

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.13. Introduo Programao_________________________________


A. Terminologia:

VB - Visual Basic
-

normalmente se refere ao Microsoft Visual Basic 5.0 ou 6.0

isto externo ao iFIX e VBA

VBA - Microsoft Visual Basic for Applications


-

ambiente de desenvolvimento orientado a objetos e baseado em eventos que


suporta formulrios Microsoft e ActiveX

normalmente referenciado como parte integrada do iFIX

usado com os produtos da Microsoft para personalizao

adicionar uma barra de ferramentas no Excel

criar um formulrio no Access

VBE - Visual Basic Editor


-

parte do VBA

acessvel a partir do WorkSpace

B. Diferenas entre Visual Basic for Applications e Visual Basic

O Visual Basic usa o Visual Basic for Applications como seu cdigo central

O VB permite criar executveis e controladores ActiveX

O VBA permite personalizar e aumentar as capacidades de um produto

Existem algumas variaes nos nomes de alguns eventos e propriedades

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.13.1.Visual Basic for Applications_______________________________


A. No iFIX, o VBA pode ser usado para:

Animar objetos;

Gerar telas e objetos automaticamente;

Ler ou escrever em blocos da base de dados;

Executar outros programas automaticamente;

Incorporar caractersticas personalizadas de segurana;

Criar caixas de dilogo e mensagens personalizadas para o operador;

Acessar as fontes de dados ODBC;

Inserir controles ActiveX personalizados ou de terceiros;

Criar assistentes (wizards) personalizados para tarefas realizadas com


freqncia; etc.
B. Viso Geral

O cdigo de programao no iFIX permite acessar propriedades, mtodos e


eventos de componentes padres do VBA e objetos do iFIX.

A Figura .13-1 traz uma tabela com definio dos termos usados em VBA.

As propriedades, mtodos e eventos de um determinado objeto so baseados


na classe do objeto. Exemplo: um retngulo no possui as mesmas propriedades de
fontes de um texto.

Os objetos respondem aos eventos de acordo com um cdigo de programao


escrito para cada evento. possvel escrever cdigos de programa para um ou para
vrios os eventos, conforme a necessidade.

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.13.1.. Visual Basic for Applications______________________________

Terminologia VBA
Objetos

Conjunto de dados e procedimentos tratados como unidades. Cada


objeto possui propriedades, mtodos e eventos que podem ser
usados para escrever programas.
Exemplos: retngulo, objeto timer, evento de schedule.

Propriedades

Caractersticas de um objeto.
Exemplos: cor, tamanho, posio na tela.

Mtodos

Sub-rotinas que afetam o comportamento do objeto.


Exemplos: scale, refresh.

Eventos

Aes que objetos reconhecem, tais como clicar sobre o objeto


com o mouse ou alterar o seu tamanho.
Se tiver um cdigo de programao associado ao evento, ento o
cdigo ser executado quando o evento for disparado.
Eventos podem ocorrer como resultado de uma ao do usurio,
de um cdigo de programa ou outras ocorrncias no iFIX (um
schedule por exemplo).
Exemplos: clique do mouse, quando alcana um valor de uma
tabela de limites.
Figura .13-1: Terminologia VBA

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.13.2.Programando no iFIX______________________________________
A. Associando cdigo de programao a objetos

Existem duas maneiras de associar cdigos VBA a objetos:


-

Atravs dos assistentes de comandos;

Usando o editor de VBA.

B. Usando os Assistentes de Comandos

Os assistentes de comandos podem ser acessados na barra de ferramentas


Experts. Para habilitar esta barra de ferramentas na tela:
-

Selecione a opo Toolbars do menu WorkSpace.

Selecione Picture no campo Owner.

Habilite a barra de ferramentas Experts.

Esta barra de ferramentas possui botes que inserem cdigo das aes mais
usadas, como:
-

Abrir ou fechar uma tela;

Escrever um valor em um tag;

Reconhecer um alarme.

Para usar um assistente de comando (experts):


-

Selecione o objeto na tela que deseja associar um comando.

Selecione o boto com o comando desejado da barra Experts.

Existem outros assistentes de comandos disponveis no iFIX. Para adicionar


mais botes na barra de ferramentas Experts, consulte o Captulo 18 sobre como
personalizar as barras de ferramentas.

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.13.2.. Programando no iFIX_____________________________________

Boto

Nome do Boto

Descrio

Data Entry Expert

Entrada de valores.

OpenPicture Expert

Abrir uma tela.

Close Picture Expert

Fechar uma tela.

Replace Picture Expert

Substituir

Open Digital Tag Expert

Abrir um tag digital.

Close Digital Tag Expert

Fechar um tag digital.

Toggle Digital Tag Expert

Alternar o estado de um tag digital.

Acknowledge Alarm Expert

Reconhecer um alarme.

Figura .13-2: Assistentes de Comandos

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.13.2.. Programando no iFIX_____________________________________


C. Usando o Editor de VBA

O cdigo de programao pode ser inserido usando o editor de VBA. Para


acessar o editor de VBA, clique com o boto direito do mouse sobre o objeto na tela e
selecione Edit Script.

A Figura .13-3 mostra um exemplo simples de cdigo VBA associado ao


evento de clique sobre o objeto da tela chamado Rect5:
-

Linha 1 cria o procedimento (ou sub-rotina) chamado Rect5_Click(). Note


que o cdigo:

est associado a um objeto chamado Rect5.

ser executado quando o objeto Rect5 for clicado.

Linha 2 executa a funo (ou comando) CloseDigitalPoint

envia o valor 1 para o tag especificado.

Linha 3 finaliza a execuo do procedimento.


As pginas 10 e 11 mostram outros exemplos de cdigos de programa.

Copyright 2002, Intellution, Inc.

Apostila de Treinamento

.13.2.. Programando no iFIX_____________________________________

Figura .13-3: Exemplo de Programa

Copyright 2002, Intellution, Inc.

Fundamentos do iFIX

.13.2.. Programando no iFIX_____________________________________

Private Sub RoundRect1_Click()


OpenPicture "NomeTela"
End Sub
Figura .13-4: Exemplo 1 de Programa

Private Sub Rect1_Click()


WriteValue 30, "Fix32.SCADA.TEMP_SP.F_CV"
End Sub
Figura .13-5: Exemplo 2 de Programa

Private Sub Oval1_DblClick()


AcknowledgeAllAlarms "NomeTela"
End Sub
Figura .13-6: Exemplo 3 de Programa

Copyright 2002, Intellution, Inc.

10

Apostila de Treinamento

.13.2.. Programando no iFIX_____________________________________

Private Sub Rect2_Click()


Rect2.RotationAngle = Rect2.RotationAngle + 20
End Sub
Figura .13-7: Exemplo 4 de Programa

Private Sub Rect3_Click()


Dim iValue As Integer
iValue = ReadValue("Fix32.SCADA.AO_TEMP.F_CV")
If iValue < 50 Then
RampValue "50", False, "AO_TEMP"
Else
MsgBox "Valor acima de 50."
End If
End Sub
Figura .13-8: Exemplo 5 de Programa

Copyright 2002, Intellution, Inc.

11

Fundamentos do iFIX

.13.3.Usando o Editor de VBA___________________________________


A. Abrindo o Editor de VBA

A partir do menu WorkSpace, selecione Visual Basic Editor


ou

Selecione com o boto direto do mouse o objeto que ir conter o programa.

Veja a Figura .13-9.

B. Componentes do Editor de VBA

Project Explorer (rvore do Sistema)


-

Em geral, fica localizado na janela esquerda do editor.

Cada tela listada como um projeto.

Property Windows (Janela de Propriedades)


-

Mesmo tipo de informao do WorkSpace.


Code Window (Janela de Cdigo)

Em geral a maior janela no editor.

Esta seo contm o programa atual.

A Figura .13-9 mostra um exemplo.

Copyright 2002, Intellution, Inc.

12

Apostila de Treinamento

.13.3.. Usando o Editor de VBA__________________________________

Figura .13-9: Editor do VBA

Copyright 2002, Intellution, Inc.

13

Fundamentos do iFIX

.13.4.Ferramentas de Programao_______________________________
A. Como Obter Ajuda sobre o VBA

O Help do VBA chamado iFIX Automation Reference e pode ser usado para
buscar ajuda sobre programao no iFIX.

Este Help contm ajuda sobre todos objetos, propriedades, mtodos, eventos e
sub-rotinas disponveis.

A Figura .13-10 mostra uma lista de todos os tpicos disponveis do


Automation Interface Help

A Figura .13-11 mostra uma lista das sub-rotinas mais usadas.

Figura .13-10: Automation Interface Help

Copyright 2002, Intellution, Inc.

14

Apostila de Treinamento

.13.4.. Ferramentas de Programao_____________________________

Sub-rotina

Descrio

AcknowledgeAllAlarms

Reconhece todos os alarmes da tela.

AcknowledgeAnAlarm

Reconhece o alarme de um bloco.

DisableAlarm

Desabilita a verificao do limite de alarme do bloco.

EnableAlarm

Habilita a verificao do limite de alarme do bloco.

CloseDigitalPoint

Fecha o bloco digital (envia o valor 1).

OpenDigitalPoint

Abre o bloco digital (envia o valor 0).

ToggleDigitalPoint

Alterna o estado de um bloco digital entre aberto e fechado.

ClosePicture

Fecha a tela.

OpenPicture

Abre a tela.

ReplacePicture

Fecha a tela e abre outra em seu lugar.

OffScan

Coloca o bloco fora de varredura.

OnScan

Coloca o bloco para varredura.

ToggleScan

Altera o estado de varredura do bloco.

SetAuto

Estabelece o bloco para o modo automtico.

SetManual

Estabelece o bloco para o modo manual.

ToggleManual

Altera o modo do bloco entre automtico e manual.

ReadValue

L o valor do bloco.

WriteValue

Estabelece um valor para o bloco.

RampValue

Aumenta ou diminui o valor do bloco atravs de uma


porcentagem da faixa da unidade de engenharia (EGU).

LocateObject

Busca uma tela para o objeto e o seleciona.

LogIn

Executa o programa de conexo.

PictureAlias

Estabelece um apelido (alias) para a tela.


Figura .13-11: Sub-Rotinas Mais Usadas do iFIX

Copyright 2002, Intellution, Inc.

15

Fundamentos do iFIX

.13.5.VBA versus Tag de Programa_______________________________


A. Introduo

O uso de programao durante o desenvolvimento de uma aplicao quase


que indispensvel, e pode ser usada em vrios lugares do iFIX.

Em geral, pode-se programar de duas formas:


-

Usando o VBA.

Usando tags da base de dados do processo.

B. Programao via VBA

Disponvel dentro do ambiente grfico do WorkSpace e do Scheduler.

Oferece uma vasta quantidade de comandos e propriedades.

O programa executado de acordo com o disparo de eventos.

C. Programao via Base de Dados do Processo

Disponvel em vrios tags da base de dados:


-

Programa (PG)

Evento (EV)

Tempo (TM)

Clculo (CA), etc.

Oferece uma quantidade restrita de comandos.

O programa executado de acordo com o scan time do tag.

Copyright 2002, Intellution, Inc.

16

Apostila de Treinamento

.13.5.. VBA versus Tag de Programa______________________________

VBA

Tag de Programa (PG)

Executado apenas no modo Run.

Executado enquanto o SAC estiver


atuando.

Nmero ilimitado de linhas de cdigo.

At 20 linhas de cdigo (cada PG pode


chamar outro bloco PG para aumentar as
linhas do cdigo).

A velocidade do programa depende da


velocidade do PC.

As linhas de cdigo do PG so executadas


dentro de um ciclo do SAC (1/20simo de
segundo).

Possui uma lista extensa de funes


matemticas (funes trigonomtricas,
logartmicas, etc.).

No possui funes matemticas (pode


realizar alguns clculos via bloco de
clculo).

Pode usar variveis.

No pode usar variveis (pode usar blocos


da base de dados como variveis).

Faz manipulao de texto.

No realiza manipulao de texto (pode


usar blocos de texto para fazer
manipulaes limitadas de texto).

Figura .13-12: VBA versus Tag de Programa

Copyright 2002, Intellution, Inc.

17

Fundamentos do iFIX

.13.6._____________________________________________Exerccio .13

Programando em VBA
Exerccio .13

Copyright 2002, Intellution, Inc.

18

Apostila de Treinamento

__________________________________________________Exerccio .13
Objetivos:
Aps a realizao deste exerccio, o aluno estar apto para elaborar programas que realizam tarefas
simples como:
1. Manipular a navegao de tela.
2. Criar uma caixa de dilogo para executar um comando.
Informaes sobre o exerccio:
Neste exerccio, iremos continuar com o desenvolvimento da aplicao de produo de cerveja.
Iremos criar agora alguns programas bsicos para realizar tarefas simples. Na primeira parte
deste exerccio, iremos criar uma nova tela para atuar como tela inicial de navegao
(Overview). A partir desta tela, ser possvel abrir as outras telas da aplicao. Entretanto, o
modo com que cada tela aberta ser diferente. Quando terminar, sua tela dever se parecer
com:

Na segunda parte deste exerccio, iremos criar uma caixa de dilogo para o operador para
confirmar uma ao em uma vlvula.
Quando terminar este exerccio, v para a prxima seo e responda as questes.

Copyright 2002, Intellution, Inc.

19

Fundamentos do iFIX

__________________________________________________Exerccio .13
A. Cria uma nova tela.
Faz uma nova tela e adiciona objetos grficos.
1. A partir do menu File, selecione New Picture.
Uma nova tela sem ttulo aparece.
2. Adicione objetos texto nova tela usando a figura abaixo como referncia.
Quando terminar, sua tela dever se parecer com:

Obs.: Esta tela ser usada como uma tela principal de navegao entre as telas da
aplicao de produo de cerveja. Neste exerccio, iremos adicionar botes para alterar
a partir desta tela para outras telas que voc desenvolveu.
3. Salve esta nova tela usando o seguinte nome:
Overview

Copyright 2002, Intellution, Inc.

20

Apostila de Treinamento

__________________________________________________Exerccio .13
B. Adiciona um retngulo.
Cria um retngulo para atuar como um push button.
1. Certifique-se de que a barra de ferramentas dos Experts esteja aberta
2. A partir do menu Insert, selecione Rectangle.
O cursor muda para o formato de uma cruz.
3. Desenhe um retngulo ao lado do texto Mash Mixer.
Um novo retngulo aparece.
4. Selecione o retngulo e clique o boto Replace Picture Expert
A seguinte caixa de dilogo aparece:

5. Configure as seguintes opes com os valores da direta:


Replace Current Picture in Run Mode:
New Picture:
6. Quando terminar, selecione OK.
Voc ir retornar para a tela Overview.
7. Salve as alteraes feitas na tela Overview.

Copyright 2002, Intellution, Inc.

21

Habilitado
MashMixer

Fundamentos do iFIX

__________________________________________________Exerccio .13
C. Adiciona um bitmap.
Cria um bitmap para atuar como um push button.
1. Abra a tela FermTank.
2. A partir do menu Edit, selecione Select All.
Todos os objetos da tela ficaro rodeados por cruzes.
3. Mantendo selecionada a tecla <CRTL>, selecione o grfico para retir-lo da seleo
4. A partir do menu Edit, selecione Copy As Bitmap.
5. Feche a tela FermTank para retornar para a tela Overview.
6. A partir do menu Edit, selecione Paste.
Os objetos do tanque de fermentao so colados na tela Overview como uma figura
grande.
7. Usando a Janela de Propriedades, configure as seguintes propriedades do bitmap com os
valores listados a direita:
Width:
Height:
ButtonStyle:
Name:

6
5
BitmapButtonPush
bmpFermTank

8. Mova o bitmap para o lado esquerdo do texto Fermentation Tank.


A tela deve-se parecer agora com:

Copyright 2002, Intellution, Inc.

22

Apostila de Treinamento

__________________________________________________Exerccio .13
C. Adiciona um bitmap (continuao).
9. Usando o boto direito do mouse, clique no bitmap e selecione Edit Script.
O editor de Visual Basic abre.
10.

Digite o seguinte programa no evento Click do bmpFermTank:


ReplacePicture "C:\Dynamics\PIC\FermTank.grf
A tela deve-se parecer agora com:

11.

A partir do menu File selecione Close and Return to WorkSpace Application

12.

Salve as alteraes feitas na tela Overview.

Copyright 2002, Intellution, Inc.

23

Fundamentos do iFIX

__________________________________________________Exerccio .13
D. Adiciona um Bitmap.
Adiciona um bitmap para atuar como push button.
1. A partir do menu Insert, selecione Bitmap.
A caixa de dilogo para selecionar um arquivo aparece.
2. Selecione o seguinte arquivo e selecione o boto Open quando terminar.
C:\Dynamics\App\BrewKettle.bmp
O bitmap Brew Kettle inserido na tela Overview.
3. Usando o boto direito do mouse, selecione o bitmap Brew Kettle e selecione
Transparent Color.
A caixa de dilogo para selecionar uma cor aparece.
4. A partir da caixa de cor, selecione Bright Cyan (fica na linha superior) e selecione ento
OK.
5. Usando o boto direito do mouse, clique no bitmap Brew Kettle e selecione Enable
Transparency.
6. Redimensione o bitmap tal que caiba no lado esquerdo do texto Brew Kettle.
A tela deve-se parecer com:

Copyright 2002, Intellution, Inc.

24

Apostila de Treinamento

__________________________________________________Exerccio .13
D. Adiciona um Bitmap (continuao).
7. Usando a Janela de Propriedades, altere o nome do bitmap para:
bmpBrewKettle
8. Usando o boto direito do mouse, selecione o novo bitmap e selecione Edit Script.
O editor de Visual Basic abre.
9. Entre com o seguinte programa no evento Click do bmpBrewKettle:
ReplacePicture "C:\Dynamics\PIC\BrewKettle.grf
A tela deve-se parecer agora com:

10.

A partir do menu File selecione Close and Return to WorkSpace Application

11.

Salve as alteraes feitas na tela Overview.

Copyright 2002, Intellution, Inc.

25

Fundamentos do iFIX

__________________________________________________Exerccio .13
E. Adiciona um push button.
Cria um push button para trocar uma tela.
1. A partir do menu Insert, selecione Push Button.
Um boto adicionado no centro da tela.
2. Mova o push button para o lado esquerdo do texto Lauter Tun.
3. Usando a Janela de Propriedades, configure as seguintes propriedades do boto com os
valores da direta:
Caption:
Name:

Lauter Tun
cmdLauterTun

4. Com o boto direito do mouse, selecione o push button e selecione Edit Script.
O VBE aberto.
5. Digite o seguinte programa no evento Click do cmdLauterTun:
ReplacePicture "C:\Dynamics\PIC\LauterTun.grf
6. A partir do menu File selecione Close and Return to WorkSpace Application
A tela deve-se parecer agora com:

7. Salve as alteraes feitas na tela Overview.

Copyright 2002, Intellution, Inc.

26

Apostila de Treinamento

__________________________________________________Exerccio .13
F. Adiciona um outro push button.
1. A partir do menu Insert, selecione Push Button.
Um boto adicionado no centro da tela.
2. Mova o boto para a esquerda do texto Whirlpool Filter.
3. Com o novo boto selecionado, abra a Janela de Propriedades.
4. Configure as seguintes propriedades com os valores da direta:
Name:
Height:
Width:
Picture:

cmdFilter
7
6
C:\Dynamics\App\WhirlpoolTank.bmp

A tela deve-se parecer agora com:

Copyright 2002, Intellution, Inc.

27

Fundamentos do iFIX

__________________________________________________Exerccio .13
F. Adiciona um outro push button (continuao).
5. Usando o boto direito do mouse, clique no novo boto e selecione Edit Script.
O editor do Visual Basic aberto.
6. Entre com o seguinte programa no evento Click do cmdFilter:
ReplacePicture "C:\Dynamics\PIC\Filter.grf
A tela deve-se parecer agora com:

7. A partir do menu File selecione Close and Return to WorkSpace Application


8. Salve e feche a tela Overview.

Copyright 2002, Intellution, Inc.

28

Apostila de Treinamento

__________________________________________________Exerccio .13
G. Adiciona um novo programa.
1. Abra a tela BrewKettle.
2. Usando o boto direito do mouse, selecione a vlvula de sada e selecione Edit Script.
O editor de VBA abre.
3. Digite o seguinte programa no evento Click da ValveHorizontalOnOff2:
Obs.: Certifique-se de estar usando o evento Click. O comando Edit o padro!

Private Sub ValveHorizontalOnOff2_Click()


Dim Resposta
Resposta = MsgBox("Alterna o switch?", vbYesNo, "Confirma")
If Resposta = vbYes Then
ToggleDigitalPoint "Fix32.LAB#.BREW_SWITCH.F_CV"
Else
MsgBox "Nenhuma Alterao "
End If
End Sub

Use o nome do
seu n aqui.

4. A partir do menu File selecione Close and Return to WorkSpace Application


5. Salve e feche a tela.

Copyright 2002, Intellution, Inc.

29

Fundamentos do iFIX

__________________________________________________Exerccio .13
H. Altera para o modo de execuo.
1. Altere para o modo de execuo e abra a tela Overview.
2. Explore os cinco botes diferentes desta tela. Qual a diferena entre eles?

3. A partir da tela BrewKettle, clique na vlvula de sada. Descreva o comportamento


deste objeto.

4. Que objeto pode ser adicionado tela Brew Kettle para mostrar o estado da vlvula de
sada? Se houver tempo, adicione esta funcionalidade a tela.

Fim do Exerccio

Copyright 2002, Intellution, Inc.

30

Apostila de Treinamento

.13.7.Questes de Reviso______________________________________

1. Quais so as diferenas entre VB e VBA?

2. D exemplos de objetos, propriedades, mtodos e eventos usados no exerccio deste captulo.

3. Descreva alguns lugares no iFIX onde se pode utilizar programao.

4. Explique algumas das vantagens e desvantagens dos cinco diferentes modos que o comando
ReplacePicture foi usado na tela Overview.

5. Explique algumas consideraes necessrias a serem feitas entre usar um bloco de programa e
um programa em VBA.

Copyright 2002, Intellution, Inc.

31

Fundamentos do iFIX

13.7 Questes de Reviso______________________________________

pgina em branco

Copyright 2002, Intellution, Inc.

32

Vous aimerez peut-être aussi