Você está na página 1de 4

PLC - Rotinas e Subrotinas

Chamada de Subirrotina
Para PLC Allen-Bradley - SBR [Subrotina]
Exemplo:

Uma subrotina serve para armazenar sees repetitivas da


lgica do programa que devem ser executadas a partir de diversos
pontos dentro de um projeto. Uma subrotina economiza memria
porque voc a programa apenas uma vez.
Colocada como a primeira instruo em um arquivo de
subrotina, a instruo SBR identifica o arquivo. Esse o nmero do
arquivo usado na instruo JSR para identificar o alvo para onde o
programa deve saltar.
Essa instruo no tem bits de controle. Ela sempre avaliada
como verdadeira. A instruo deve ser programada como a primeira
instruo da primeira linha de uma subrotina. O uso dessa instruo
opcional, porm recomendado.
AVISO: As sadas controladas de dentro de uma subrotina
permanecem no seu ltimo estado at que a subrotina seja
executada novamente.
Salto para uma Subirrotina
JSR [Saltar para Subrotina]
Exemplo:

JSR uma instruo de sada que faz com que o processador


salte para o arquivo alvo da subrotina. Voc s pode saltar para a
primeira instruo em uma subrotina. Cada subrotina deve ter um
nmero de arquivo exclusivo (decimal, 3-255).
Aninhar subrotinas permite direcionar o fluxo do programa, do
programa principal para uma subrotina e da para outra subrotina. As
seguintes regras aplicam-se quando aninhar subrotinas:

Processadores Fixo e 5/01 - voc pode aninhar subrotinas at 4


nveis.
Processadores 5/02, 5/03, 5/04 e MicroLogix - voc pode aninhar
sub-rotinas em at 8 nveis.
RET [Retorno da Subrotina]
Exemplo:

Essa instruo de sada marca o final da execuo da subrotina


ou o final do arquivo de subrotina. Ela faz com que o processador
retome a execuo no arquivo do programa principal na instruo
seguinte instruo JSR onde ele saiu do programa.
Se a seqncia de subrotinas aninhadas est envolvida, a
instruo faz com que o processador retorne a execuo do programa
para a subrotina anterior.
Sem uma instruo RET, o comando END (sempre presente na
subrotina) retorna automaticamente a execuo do programa para a
instruo JSR no seu programa de contatos que a chamou.
Chamada de Subirrotina para PLC SIEMENS
Para chamada de subirrotina O PLC da SIEMENS utiliza o
Comando CALL_XX, onde XX est representando o programa
chamado. Por exemplo:
CALL : Sem parmetro, chama uma funo.
CALL_FB : Chama um bloco de Funes( FB )
CALL_FC : Chama uma Funo(FC)
CALL_SFB : Chama um sistema de FB
CALL_SFC: Chama um sistema de FC
Call Sem Parmetros- Com a instruo Call FC/SFC sem
parmetros podemos
chamar uma Funo ou um Sistema de Funes que no vem com
parmetros.
Na seo de codificao de uma funo (FC), voc na pode
especificar qualquer parmetro do typo de Bloco_FC como endereo
para uma chamada condicional.
Voc pode, contudo, um parmetro do tipo Bloco_FC como o
endereo de um bloco de funes (FB). Ao executar esta instruo
ocorrero as seguintes aes:

O Endereo para retorno ao programa principal aps a execuo


da subirrotina ser salvo.
Os dados so salvos.
rea para armazenar os dados locais da FC ou SFC.

CALL_FB

(Call FB Como Box)

O
smbolo
depende da FB (se tem e
quantos parmetros existem). EN, ENO e o nome ou nmero da
funo.
Descrio
CALL_FB ou CALL_FC so executadas quando o estado do sinal EN
1.

Onde Teremos os seguintes Parmetros:


Parameter

Data Type

EM
ENO
FB no.
DB no.

BOOL
BOOL
BLOCK_FB
BLOCK_DB

Memory
Area
I, Q, M,
I, Q, M,
-

Description
Enable imput
Enable output
Number of the FB/DB,
range depends on the
CPU

EXEMPLO:
Programa Semforo e Pisca-pisca utilizando subrotinas JSR, SBR e RET.
A seleo do funcionamento como semforo ou como pisca-pisca
feita atravs de chaves onof
LAD 2 Arquivo Principal

LAD 3 PISCA-PISCA

LAD 4 SEMFORO

DESAFIO:
Crie um programa Semforo e Pisca-pisca utilizando subrotinas a
instruo Call e RET. O semforo deve funcionar das 6 s 24 h e
o pisca-pisca das 0 s 6 h, automaticamente, a partir do
relgio de tempo real do CLP.