Regras de Execução:
O ISaGRAF é um sistema sı́ncrono. Todas as operações são disparadas por um relógio. A duração básica
do relógio é chamada de tempo de ciclo.
A hierarquia dos programas é dividida em 4 seções ou grupos: Begin, Sequential, End e Functions. As
operações básicas processadas durante um ciclo são:
Os programas das seções BEGIN e END descrevem operações cı́clicas. Eles não dependem do tempo.
Os programas da seção SEQUENTIAL descrevem operações seqüenciais, onde a variável tempo aparece
explicitamente para distinguir as operações básicas.
Os programas da seção BEGIN são sistematicamente executados no inı́cio de cada ciclo de execução. Os
programas da seção SEQUENTIAL são executados com base nas regras dinâmicas de SFC ou FC (e ob-
viamente implementados em uma destas linguagens). Os programas da seção END são sistematicamente
executados a cada fim de de ciclo de execução. Programas das seções BEGIN e END não podem ser
escritos nas linguagens SFC e FC.
Laboratório de Informática Industrial - Profs. Carmela M. P. Braga e Luiz T. S. Mendes - DELT/UFMG - 2008
2
Programas da seção FUNCTIONS são sub-programas que podem ser chamados por outro programa no
projeto. Um programa da seção FUNCTION pode chamar outro programa desta seção.
O uso das diferentes seç oes não é obrigatório. Por exemplo, um programa pode ser totalmente executado
apenas na seção BEGIN.
1. Se você estiver num computador com Windows 7, é necessário primeiro executar a máquina vir-
tual do Windows XP: selecione Menu Iniciar → Todos os programas → Windows Virtual PC →
Windows XP Mode. Do contrário, pule para o passo 2.
• Selecione File→Select Project Group e, na janela apresentada, clique na opção New Group.
• Na nova janela apresentada, clique bo botão de Browse e selecione seu diretório de trabalho
usual. Em seguida, digite EX1 na caixa Name e clique no botão OK.
• Clique no botão Select da janela anteriormente aberta.
4. Criar projeto: no menu da janela de Project Management, selecionar File→New , dando nome ao
projeto na janela que se abrirá. Ajustar a opção IO Configuration para None.
5. Após isto, abrir o projeto com duplo clique no nome, ou selecionando File→Open;
6. Criar a Base de Dados selecionando File→Dictionary, e então declarando as variáveis e seus tipos;
7. Criar programa (quantos desejar dentro do projeto), definindo, na criação do mesmo, a seção de
que fará parte, bem como a linguagem de programação a ser utilizada no seu desenvolvimento e, no
caso de programas em SFC, a hierarquia desejada (opção child of). Para tal, selecionar File→New ;
10. Executar a conexão de I/O, que é dependente do hardware externo de aquisição. Este passo é mais
complexo, sendo detalhado a seguir:
Laboratório de Informática Industrial - Profs. Carmela M. P. Braga e Luiz T. S. Mendes - DELT/UFMG - 2008
3
Atividades
Deverá ser desenvolvido um projeto que execute a operação automática de um reservatório industrial,
dotado de um agitador interno.
Para implementar os programas referentes a este projeto no ambiente ISaGRAF, defina a seguinte Base
de Dados no dicionário do seu projeto. Na definição das variáveis, deixe o campo Network Address em
branco.
Laboratório de Informática Industrial - Profs. Carmela M. P. Braga e Luiz T. S. Mendes - DELT/UFMG - 2008
4
3. Quando o estado de reserv cheio for verdadeiro, fechar a válvula de entrada e ligar o agitador por
10s, além de escrever o status da seqüência na variável seqstatus (’Agitando’ ).
4. Decorridos os 10s, desligar o agitador, abrir a válvula de saı́da para esvaziar o reservatório e escrever
o status da seqüência na variável seqstatus (’Esvaziando’ ).
5. Verificar se o reservatório está vazio (ou seja, se reserv vazio é verdadeiro). Caso esteja, retornar
ao passo 1.
Teste seu programa minuciosamente. É comum, em automação industrial, ignorarmos (por descuido ou
desconhecimento) algumas situações operacionais importantes durante o projeto, as quais porém podem
ser reveladas mediante um teste cuidadoso.
• A lógica de cada estado do programa em SFC, quando descrita em ST (texto estruturado), deve
ser encapsulada entre o par de declarações ACTION(qualificador ) e END ACTION, onde qualificador
descreve um qualificador opcional para a ação. Os qualificadores mais freqüentemente usados são o
N, que indica que a ação será executada continuamente enquanto o estado estiver ativo, e o P, que
indica uma ação pulsada (no ISaGRAF, é executada apenas uma vez quando o estado for ativado).
Exemplo:
ACTION(N):
x:= x+1;
desligado := FALSE;
END_ACTION;
Observe que as palavras-chave ACTION e END ACTION não podem ser usadas num programa declarado
na linguagem ST.
• Para facilitar a construção da lógica, podem ser usados, se necessário, estados vazios (sem nenhuma
ação definida) e transições vazias (sempre avaliadas como TRUE neste caso).
• A variável interna que acumula o tempo decorrido num dado estado é designada, no ISaGRAF,
por GSn.T onde n corresponde ao número do estado. Quando o estado torna-se desativado, esta
variável passa a ter valor indefinido. Por exemplo, para descrever a transição do estado 2 para o
estado 3 de um programa hipotético em SFC, poder-se-ia empregar a seguinte expressão:
Note, no exemplo anterior, o uso do prefixo ‘T#’, que indica as constantes do tipo de dados TIME.
– Programas SFC que não têm um “pai” são chamados programas principais (main SFC pro-
grams).
– Programas-pai são ativados pelo sistema quando a aplicação é iniciada.
– Um programa pode ter vários programas-filhos.
– Um programa-filho não pode ter mais de um programa-pai.
– Um programa-filho só pode ser controlado por seu programa-pai.
– Um programa-pai não pode controlar os filhos de seus próprios programas-filhos.
1. Fora do bloco de ações ACTION...END ACTION, na forma prog filho(N | S | R). Esta forma
é usualmente a mais simples.
Laboratório de Informática Industrial - Profs. Carmela M. P. Braga e Luiz T. S. Mendes - DELT/UFMG - 2008
5
2. Dentro de um bloco de ações ACTION...END ACTION através das funções GSTART e GKILL
do ISaGRAF.
Na primeira forma, o qualificador N indica que o programa-filho inicia-se quando o passo torna-se
ativo, e encerra-se quando o passo torna-se inativo. O qualificador S indica que o programa-filho
é iniciado quando o passo torna-se ativo, e continua sua execução quando o passo é desativado. O
qualificador R encerra o programa-filho quando o passo é ativado.
Bibliografia
Conteúdos do HELP do ISaGRAF, V. 3.30, 1990-1998, CJ International.
Laboratório de Informática Industrial - Profs. Carmela M. P. Braga e Luiz T. S. Mendes - DELT/UFMG - 2008