Texto Estruturado Structure Text (ST) Texto Estruturado
É uma forma de Programação de
alto nível muito poderosa, com raízes em Linguagens tradicionais como: Pascal, C e ADA (Algorithm Description Language) Texto Estruturado • É uma forma de Programação de alto nível muito poderosa, com raízes em Linguagens tradicionais como: Pascal, C e ADA (Algorithm Description Language);
• De grande utilidade para realizar
funções e cálculos matemáticos complexos de forma compacta e legível Exemplo de comandos em Texto Estruturado Exemplo de comandos em Texto Estruturado Comando de Decisão IF As instruções entre “{ }” são IF <Boolean_expression1> THEN <IF_instructions> opcionais {ELSIF <Boolean_expression2> THEN As instruções após cada Expressão <ELSIF_instructions1> Booleana somente são executadas . em caso de ela ser verdadeira ELSIF <Boolean_expression n> THEN Apenas as Instruções da primeira <ELSIF_instructions n-1> ELSE expressão verdadeira encontrada <ELSE_instructions>} serão executadas END_IF; Caso não encontre nenhuma expressão verdadeira, as instruções após ELSE serão executadas, se houverem Exemplo de comandos em Texto Estruturado CASE <Var1> OF Comando de Decisão CASE <Value1>: <Instruction 1> Se <Var1> possui o valor <Value1> <Value2>: <Instruction 2> então as instruções <Instruction 1> <Value3, Value4, serão executadas Value5>: <Instruction 3> Podemos associar diversos valores <Value6 .. para a execução das mesmas Value10>: <Instruction 4> instruções separando-as por “,”. ... Podemos associar também uma faixa <Value n>: <Instruction n> de valores usando “..”
ELSE <ELSE instruction> Caso não encontre nenhuma
expressão verdadeira, as instruções END_CASE; após ELSE serão executadas, se houverem Exemplo de comandos em Texto Estruturado INT_Var :INT; FOR <INT_Var> := <INIT_VALUE> TO <END_VALUE> {BY <Step size>} DO <Instructions> END_FOR;
Comando de Loop FOR
As instruções dentro do Loop FOR serão executadas continuamente enquanto <INT_Var> não for maior que <END_VALUE> MUITO CUIDADO, um Loop mal programado pode levar o Controlador entrar em erro por “WATCHDOG”, pois o Exemplo de comandos em Texto Estruturado REPEAT <Instructions> UNTIL <Boolean expression> END_REPEAT;
Comando de Loop REPEAT
As instruções são executadas pelo menos uma vez antes da expressão de teste ser avaliada As instruções dentro do Loop REPEAT serão executadas continuamente enquanto a expressão <Boolean expression> for verdadeira. MUITO CUIDADO, um Loop mal programado pode levar o Controlador entrar em erro por “WATCHDOG”, pois o tempo de Scan subirá excessivamente. Exemplo de comandos em Texto Estruturado REPEAT <Instructions> UNTIL <Boolean expression> END_REPEAT;
Comando de Loop REPEAT
As instruções são executadas pelo menos uma vez antes da expressão de teste ser avaliada As instruções dentro do Loop REPEAT serão executadas continuamente enquanto a expressão <Boolean expression> for verdadeira. MUITO CUIDADO, um Loop mal programado pode levar o Controlador entrar em erro por “WATCHDOG”, pois o tempo de Scan subirá excessivamente.