• Nenhum resultado encontrado

Linguagem STL

N/A
N/A
Protected

Academic year: 2021

Share "Linguagem STL"

Copied!
30
0
0

Texto

(1)

Treinamento de Programação de Controladores Festo

Treinamento de Programação de Controladores Festo

Objetivo:

Objetivo:

Utilização FST 4.10 como ferramenta de desenvo

Utilização FST 4.10 como ferramenta de desenvolvimento

lvimento e

e

manutenção de software

manutenção de software

Entender a

(2)

E

Estrutura do Statement Liststrutura do Statement List  ±

 ± Um prUm programa ograma de conde controle trole é coné constituídstituído de uo de um certo m certo númenúmero de ro de sentesentenças.nças.

S STTEEPP <<MMaarrkk>> IIFF SSwwiittcchh11 A ANNDD II11..11 T THHEENN SSEETT OO11..00 O OTTHHRRWW SSEETT HHoorrnn  ±

 ± Cada Cada linhlinha represa representa enta uma senuma sentença ptença para o conara o controlatrolador. Uma sedor. Uma sentençntença é compa é composta poosta por:r: 1.

1. InstruçInstruções ões STL (IFSTL (IF, AND, THE, AND, THEN, SET, OTHN, SET, OTHRW)RW) 2.

2. Operandos Operandos do controladdo controlador (inputs, outpuor (inputs, outputs, registradores, conts, registradores, contadores, temporizadores tadores, temporizadores ouou flags.)

flags.)  ±

 ± Os pOs prorogrgramamas as popodedem sem ser esr escricritos tos cocomomo:: 1.

1. PrograPrograma dma de Passoe Passos (Step Pros (Step Program)gram) 2.

2. PrograPrograma dma de Lógice Lógica Paraa Paralellelaa 3.

(3)

E

Estrutura do Statement Liststrutura do Statement List  ±

 ± Um prUm programa ograma de conde controle trole é coné constituídstituído de uo de um certo m certo númenúmero de ro de sentesentenças.nças.

S STTEEPP <<MMaarrkk>> IIFF SSwwiittcchh11 A ANNDD II11..11 T THHEENN SSEETT OO11..00 O OTTHHRRWW SSEETT HHoorrnn  ±

 ± Cada Cada linhlinha represa representa enta uma senuma sentença ptença para o conara o controlatrolador. Uma sedor. Uma sentençntença é compa é composta poosta por:r: 1.

1. InstruçInstruções ões STL (IFSTL (IF, AND, THE, AND, THEN, SET, OTHN, SET, OTHRW)RW) 2.

2. Operandos Operandos do controladdo controlador (inputs, outpuor (inputs, outputs, registradores, conts, registradores, contadores, temporizadores tadores, temporizadores ouou flags.)

flags.)  ±

 ± Os pOs prorogrgramamas as popodedem sem ser esr escricritos tos cocomomo:: 1.

1. PrograPrograma dma de Passoe Passos (Step Pros (Step Program)gram) 2.

2. PrograPrograma dma de Lógice Lógica Paraa Paralellelaa 3.

(4)

Programa de Passos (Step Program Programa de Passos (Step Program

))

 ±

 ± Cada pCada programrograma poda pode ter até 25e ter até 255 steps, qu5 steps, que podem ree podem recebeceber ou não um rór ou não um rótulo simbtulo simbólicólico(mark)o(mark)  ±

 ± Um proUm programa grama de passde passos podos pode ter pule ter pulos para ouos para outras patras partes do prtes do programrograma (JMP TO a (JMP TO step mastep mark)rk)  ±

 ± Um sUm step ptep pode ode conconter ter uma uma ou mou mais ais sensententençasças  ±

 ± Um senUm sentença cotença complempleta contem IF cota contem IF condiçãndição ,THEN cláo ,THEN cláusulusula e possivelmea e possivelmente OTHnte OTHRW cláuRW cláusulasula  ±

 ± O primeO primeiro steiro step podp pode ser uma e ser uma sentesentença incnça incomplompleta, iniciaeta, iniciando-sndo-se pe pelo THEelo THEN. Neste caN. Neste caso éso é somente uma parte executiva onde a cláusula THEN será

somente uma parte executiva onde a cláusula THEN será sempre executada sem que sejasempre executada sem que seja necessário uma condição de entrada.

necessário uma condição de entrada.  ±

 ± O proO progragrama é ma é exeexecutacutado pdo passasso a pao a passo ou ssso ou step btep by stey stepp  ±

 ± O coO controlntrole somee somente nte passa passa para para o próo próximo steximo step dep depois pois que que uma duma das clas cláusuláusulas THEN as THEN ouou OTHRW da última sentença do step corr

OTHRW da última sentença do step corrente tiver sido executada. Enquanto esta condiçãoente tiver sido executada. Enquanto esta condição não oco

(5)

Exemplo de programa de STEP simples STEP Mark1 IF I1.0 THEN SET F1.5 OTHRW RESET F1.5 STEP Mark2 THEN RESET F0.0 IF F1.5

THEN SET O0.7 SET F0.0 OTHRW SET O0.0

JMP TO Mark1 STEP Mark3

IF F0.0

AND I0.0 THEN SET O0.4 STEP Mark4

(6)

Programa de Lógica Paralela

 ± Um programa de lógica paralela é composto somente por sentenças, ou seja, não há

marcadores de passos (STEP). Um programa de lógica paralela é identico a um step de um programa de passos

 ± A primeira sentença pode ser incompleta. Todas as seguintes devem ser completas.

 ± Um programa de lógica paralela é um processo ciclico até que seja resetado, (assim com um programa em Ladder)

 ± Se for necessário rodar o programa somente uma vez, na última sentença este deverá ser  resetado (veja exemplo a seguir).

 ± O marcador de step STEP não poderá ser utilizado. Caso seja utilizado, ou será sinalizado erro, ou o programa deixará de ser ciclico, se a última cláusula THEN ou OTHRW for  executada o programa será desligado.

(7)

Exemplo de programa de Lógica Paralela THEN RESET F0.0

IF N I1.0 THEN SET O0.7

IF I1.7

THEN SET O1.7 OTHRWSET F0.0 RESET O1.7 ... ... IF F0.0 AND I1.0 THEN SET O1.0

RESET P1 OTHRWRESET P1

(8)

ProgramaExecutivo

 ± Um programa executivo é estruturado da mesma maneira que um programa de lógica paralela.  ± Não há instrução com cláusula THEN.

 ± Todas as sentenças são executadas sem condição de entrada.  ± Não é possível instrução JMP.

 ± Se for incluído um IF em uma programa executivo, erros serão informados

Exemplo de um programa Executivo: SET F0.0 RESET O1.0 LOAD V50 TO TW7 SET T7 CMP2 ...

(9)

Comentários

 ± Há duas formas de adicionar comentários em um programa STL:

1. Pequenos comentários com até 36 caracteres podem ser inseridos em linhas de programação, se iniciados pelo simbolo aspas ( ³ )

Exemplo:

IF

N

I1.7

´Sensor não acionado

2. Comentários com mais de 36 caracteres podem ser inseridos no inicio da linha se introduzidos através do símbolo aspas duplo (³ ³ )

(10)

Instruções do Statement List

STEP

 ± Sentença muito importante para determinar a estrutura de um programa ou, se pulos(JMP TO) são utilizados, determina a seqüência de processamento

 ± STEP pode ser seguido de um´rótulo simbólico (label). Este rótulo somente é necessário se for  utilizada a instrução JMP TO <rótulo do step de desvio>

Exemplo:

STEP Setup ...

...

THEN JMP TO Setup

 ± Durante a compilação do programa, os steps são renumerados internamente, a partir de 1 até o número de steps do programa

(11)

IF

 ± IF sempre introduz uma condição. Todos os operandos podem ser testados ou fazerem parte de uma associação lógica em uma sentença. O resultado representa a condição para o

processamento futuro. Exemplo: IF I1.0 AND N I1.1 ... THEN

 ± THEN introduz a parte executiva se a condição for verdadeira

 ± A sentença pode conter comando para modificar saídas, flags, temporizadores, chamada a outros programas e módulos, etc

Exemplo:

THEN LOAD V100 TO TP7

(12)

OTHRW

 ± OTHRW introduz a parte executiva se a condição for falsa. Exemplo

THEN SET O1.0 OTHRW RESET O1.0

(13)

STL conditional part

AND

Exemplo:

IF I1.0

AND I1.1 THEN SET O1.0 OTHRW SET O1.7

OR

Exemplo :

IF I1.0

OR I1.1 OR I1.7 THEN SET O1.0 OTHRWSET O1.7

(14)

EXOR

Exemplo

IF I1.0

EXOR I1.1 THEN SET O1.0 OTHRW SET O1.7

NOP Exemplo IF NOP THEN SET F1.0 N(NEGAÇÃO) Exemplo IF N O1.0 THEN JMP TO Setup

(15)

STL comandos executivos

SET

 ± SET ativa um bit. Pode ser usado para ativar operandos de um bit(timers, flags, inputs, outputs etc.)

RESET

 ± RESET desativa um bit. Pode ser usado para desativar operandos de um bit(timers, flags, inputs, outputs etc.)

LOAD

Exemplo:

THEN LOAD V500 TO TP31

(16)

JMP TO

 ± JMP TO desvia o programa para um step especificado Exemplo:

STEP Mark

IF I1.0

THEN SET O1.0 JMP TO Start ...

...

STEP Start ...

(17)

Funções especiais - Extended STL

SWAP

 ± Troca o byte mais significativo com o menos significativo do operando especificado Exemplo:

THEN LOAD V$55AA TO OW0 SWAP

TO OW1

(18)

SHIFT

 ± Esta instrução executa um troca entre o acumulador de bit (SBA) e o bit do operando

 ± Esta instrução pode ser usada para construir Shift Register com tamanho variável maior ou manor que 16 bits, com performance semelhante as instr uções SHL e SHR

Exemplo: STEP 10

IF I1.0 " entrada ativa THEN LOAD I1.1

TO F0.0 " um flag é utilizado para registrar  ³ o valor do bit a ser transferido SHIFT O1.1 " SWAP F0.0 <-> O1.1

SHIFT O1.2 " SWAP O1.1<-> O1.2 SHIFT O1.3 " SWAP O1.2<-> O1.3 SHIFT O1.4 " SWAP O1.3<-> O1.4

(19)

SHL

 ± SHL transfere os bits do operando uma posição para a esquerda e o bit mais a direita é carregado com zero. Seu efeito é uma multiplicação por 2.

Exemplo:

THEN LOAD V16 SHL

TO R7  ± O valor final em R7 é 32.

 ± SHR transfere os bits do operando uma posição para a direita e o bit mais a esquerda é carregado com zero. Seu efeito é uma divisão por 2.

Exemplo:

THEN LOAD V16 SHR

TO R7  ± O valor final em R7 é 8.

(20)

ROL

 ± Oefeito desta instrução é o mesmo que da instrução SHL exceto pelo fato de que o bit mais significativo é transferido através do bit de acumulador para o bit menos sgnificativo .

ROR

 ± Oefeito desta instrução é o mesmo que da instrução SHR exceto pelo fato de que o bit menos significativo é transferido através do bit de acumulador para o bit mais sgnificativo .

BID

 ± A instrução BID converte o valor do acumulador de 16 bits de binário para BCD. Exemplo:

THEN LOAD IW0 BID

TO OW7

DEB

(21)

INV

 ± Complementa o valor do acumulador de 16 bits usando método complemento de um Exemplo:

THEN LOAD OW1 INV

  AND IW1 TO OW1

CPL

 ± Complementa o valor do acumulador de 16 bits usando método complemento de dois. Seu efeito é o mesmo que multiplicar o valor por -1.

Exemplo: IF ( R32 < V0 ) THEN LOAD R32 CPL TO R22

(22)

Arithmetic functions

INC

 ± Soma 1 ao valor do operando de 16 bits. Exemplo:

IF I1.3 THEN INC R9

DEC

 ± Subtrai 1 do valor do operando de 16 bits. Exemplo:

IF I2.2 AND N I3.6 THEN DEC R9

(23)

 ± Em complemento as sentenças apresentadas, segue abaixos as operações aritméticas disponíveis:

(, ), +, -, *, /, <, <=, =, >=, >, <>

 ± Estas funções permitem operações aritméticas e comparações Exemplo: IF ( FW0 = V1234 )  AND ( R1 <> V0 ) THEN LOAD ( R5 + V10) TO R4

(24)

Module calls - Chamadas de módulos

CFMe CMP

 ± Instruções utilizadas para solicitar a execução de uma rotina de programa..  ± Modulos e Funções podem ser escritos em STL ou C

 ± Módulos e Funções podem utilizar Function Units (FU) para passar informações de ou para outros programas

 ± Ambos são utilizados para executar uma rotina externa ao programa.

 ± Se necessário fornecer parâmetros, então utiliza-se CMP ou CFM com WITH

 ± A diferença entre uma Função e um módulo é que função não pode conter steps e módulo é um programa que pode conter steps.

Exemplo

IF I1.2

THEN CFM 0

(25)

PLC operands ± ABREVIAÇÕES

b - Bit

w - Word (16 bits)

 ± Faixa de valores para operandos multibis ou word 0 to 65535 (Unsigned decimal) -32768 to +32767 (Signed decimal) $0000 to $FFFF (Hexadecimal)

Inputs

 ± 256 input words (0 to 255) de 16 bits (0 to 15), podem ser acessados como bit ou como word Input (bit):

Syntax: Iw.b Input word:

(26)

Outputs

 ± 256 outputs words (0 to 255) de 16 bits (0 to 15), podem ser acessados como bit ou como word Output (bit):

Syntax: Ow.b Input word:

Syntax: OWw

Flags

 ± 10,000 flag words (0 to 9999) de 16 bits (0 to 15), podem ser acessados como bit ou como word .

Flag (bit):

Syntax: Fw.b Flag word:

(27)

Registers

 ± 256 registers (0 to 255), somente podem ser acessados as words. Syntax: Rw

Timers

 ± 256 timers (0 to 255), podem ser programados como pulse (T), switch-on delay (TON) or  switch-off delay (TOFF) timers em LDR; em STL somente são programados como puilse. Timer status (bit):

Syntax: Tnn, TONnn, TOFFnn Timer value: TWnn

(28)

Counters

 ± 256 contadores (0 to 255),

C0 to C255 Counter status, bit CW0 to CW255 Counter word, multibit CP0 to CP255 Counter preset, multibit

Constants

Vnnnn Multibit

Function units

 ± 256 function units, 7 delas (32 to 38) são usadas para passar parâmetros para módulos e funções, as demias são destinadas para uso geral

(29)

Programs

- 64 bits utilizados para set reset e testes de ativação dos 64 possíveis programas P0 to P63 One-bit

Program statuses

PS0 to PS63 One-bit

 ± A associação do Program + Program Statues fornece informações sobre o estado dos programas

P PS Status 0 0 Inativo 0 1 No meaning

1 0 Ativo mas suspenso

(30)

Errors

E One-bit EW Multibit

Initial flags

 ± Quando um programa é executado pela primeira vez este flag é colocado em 1 e posteriormente resetado automaticamante

FI bit, para cada programa

Retentive operands ± FEC´s FW0 to 255 R0 to 127 TP0 to 127 C0 to 127 CP0 to 127 Password

Referências

Documentos relacionados

As mulheres travam uma história de luta por reconhecimento no decorrer do tempo sistematicamente o gênero masculino dominava o feminino, onde prevalecia a hierarquização do sexo

Durante a pesquisa foi possível observar que o marketing deve ser introduzido a qualquer tipo de empresa, seja ela de pequeno ou grande porte, e no caso das empresas

Almanya'da olduğu gibi, burada da bu terimin hiçbir ayrım gütmeden, modern eğilimleri simgeleyen tüm sanatçılar için geçerli olduğu anlaşılıyor.. SSCB'de ilk halk

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

No Brasil, nossa margem de contribuição bruta por hectolitro aumentou como resultado de uma sólida execução de preços, mas nossa margem EBITDA reduziu organicamente devido ao

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que

10- A audiência de conciliação designada pela ministra do Supremo Tribunal Federal Rosa Weber durou cerca de três horas e reuniu representantes do governo federal, do governo

O fabricante não vai aceitar nenhuma reclamação dos danos causados pela não observação deste manual ou por qualquer mudança não autorizada no aparelho.. Favor considerar