Programarea in limbajul Statement List



Programarea in limbajul Statement List

1.1            Introducere

Limbajul STL  permite programatorului sa rezolve s



arcini de comanda, utilizand instructiuni simple, care descriu operatia de executat a controlerului.  

Caracteristica modulara a programarii in acest limbaj permite utilizatorului sa rezolve sarcini complexe intr-un mod eficient  si simplu.

Operanzii STL sunt identificatori ai controlerului FEC (Front End Controller, produs de firma Festo), acestia pot fi intrari, iesiri, temporizatoare, numaratoare, flag-uri, programe si reprezinta numele acestor resurse. Utilizarea unor operanzi in program reprezinta modul de accesare a resurselor din controler pe care le reprezinta operanzii.

Operanzii pot fi de un bit (single bit) sau mai multi biti (multibiti), in general 16, care formeaza un cuvant.

Operanzii de un bit pot fi adevarati sau falsi (1 sau 0 logic), pot fi evaluati (interogati) si li se poate modifica valoarea. Corespunzator fiecarui operand de un bit exista un registru al procesorului (Single Bit Accumulator) in care se incarca operandul, in timpul evaluarii sau modificarii acestuia.

Operanzii multibiti sunt resurse accesate prin 8 biti (octet) sau cuvant (16 biti). Operatiile cu operanzi multibiti pot fi: compararea cu valori constante sau alti operanzi multibiti, atribuirea de valori constante sau de valori a altor operanzi, incrementarea/decrementarea cu o unitate a valorii sale, manipularea valorii operandului prin operanzi multibiti aritmetici sau logici. Corespunzator fiecarui operand multibiti, in momentul modificarii valorii acestuia, se incarca un registru special al procesorului numit Multibit Accumulator.

Operatorii sunt simboluri utilizate in programarea STL, care modifica sau folosesc valoarea numerica sau logica a operanzilor. Acestia pot fi: N (negatie), V (valoare zecimala), V$ (valoare hexazecimala), V% (valoare binara), operatii +, -, *, /, <, >, =, <>, <=, >= , () paranteze pentru stabilirea prioritatii in evaluarea unor expresii complexe.

1.2            Elemente STL

·         Step

·         Propozitii     -           Parti conditionale

-           Parti de executie

1.2.1        Step

·         Cu toate ca utilizarea cuvantului cheie STEP este optionala, multe programe  STL utilizeaza instructiunea STEP.

·         Instructiunea STEP marcheaza inceputul unui bloc logic in codul programului.

·         Fiecare program STL poate contine pana la 255 pasi discreti.

·         Fiecare STEP poate sa contina una sau mai multe propozitii.

·         Fiecarui STEP i se poate atribui un nume optional sau o eticheta.

·         Eticheta unui STEP este necesara numai daca acelui pas i se atribuie mai tarziu destinatia unei instructiuni de salt  (jump)

1.2.2        Propozitii

·         Propozitia constituie elementul de organizare de baza al programului.

·          

·         Fiecare propozitie contine o parte conditionala si o parte executiva

.

a.      Partea conditionala

·         Partea conditionala serveste la declararea uneia sau mai multor conditii care urmeaza sa fie evaluate la rularea programului ca fiind adevarate sau false.

·         Aceasta parte incepe uzual cu cuvantul cheie IF si continua cu una sau mai multe linii care descriu conditiile ce urmeaza a fi evaluate.

·         Daca conditiile sunt evaluate ca adevarate, atunci se vor executa toate instructiunile din partea executiva.

·         De exemplu:

o        IF I0.1

o        IF I0.2 AND I0.3

b.      Partea executiva

·         Aceasta este sectiunea din propozitie unde sunt activate iesirile daca partea conditionala este evaluata ca adevarata.

·         De exemplu:

    • THEN SET Y1
    • THEN RESET Y2
    • THEN JMP TO START

1.3            Instructiunea STEP

In forma sa cea mai simpla, un STEP include cel putin o propozitie.

STEP (Label)         - etichetele pentru STEP pot contine pana la 8 caractere alfanumerice

IF            I0.0          - daca Input 0.0 este activ

THEN  SET O0.3  - atunci activeaza Output 0.3 si treci la pasul urmator

·        Este important sa se inteleaga ca programul VA ASTEPTA la acest pas pana cand conditiile sunt/devin adevarate, moment in care actiunile din partea executiva se vor executa. 

·        Numai dupa aceea programul va trece la pasul urmator.

1.4            Propozitie simpla cu un pas

STEP Start                            

IF                            I0.0          - Parte conditionala

THEN     SET         O0.0        - Parte executiva

STEP Stop

IF                            I0.1

THEN  RESET       O0.0

·         Programul va porni cu primul pas, STEP Start.

·         Daca conditia I0.0 este adevarata, atunci se va executa partea executiva (Set O0.0) si se va trece la pasul urmator, STEP Stop.

·         Daca conditia este falsa, programul va astepta la pasul Start.

1.5            Propozitii multiple intr-un pas

·           Daca partea conditionala din prima propozitie este adevarata, atunci se va executa partea executiva si se va trece la a doua propozitie. Daca nu este adevarata, se va trece la a doua propozitie FARA NICI o executie. Nu se va astepta la prima propozitie.

STEP Start

IF                                            I0.0                          prima propozitie

THEN                     SET         O0.0        

IF                                            I0.1                          a doua propozitie

THEN     SET         O0.1

IF                                            I0.2                          a treia propozitie

THEN                     SET         O0.2

STEP Stop

IF                                            I0.1

THEN             RESET            O0.0

                        RESET            O0.1

                        RESET            O0.2

·         Daca partea conditionala din a doua propozitie este adevarata, atunci se va executa partea executiva si se va trece la a treia propozitie. Daca nu este adevarata, se va trece la a treia propozitie FARA NICI o executie. Nu se va astepta la a doua propozitie.

·         Daca partea conditionala din a treia propozitie este adevarata, atunci se va executa partea executiva si se va trece la URMATORUL PAS. Daca nu este adevarata, se va trece la a prima propozitie, la a doua propozitie si la a treia propozitie si se vor executa bucle de evaluare a conditiilor din propozitii, in interiorul pasului curent. 

·         In general, numai cand ultima propozitie din STEP este adevarata, se va trece la pasul urmator.

1.6              Executia unui pas cu instructiunea OTHRW (Otherwise)

STEP Start                                            

IF                                            I0.0         

THEN                     SET         O0.0       

OTHRW   RESET O0.0                              - Partea executiva

STEP Stop

IF                                            I0.1

THEN        RESET O0.0

·         Programul va executa primul pas, STEP Start.

·         Daca conditia I0.0 este adevarata, atunci se va executa partea executiva (Set O0.0) si se va trece la pasul urmator, STEP Stop. Altfel , (Otherwise) daca conditia nu este adevarata, se va executa RESET O0.0 si se va trece la pasul urmator, STEP Stop.

·         In acest caz, nu se va mai astepta la pasul STEP Start, ori se va executa SET O0.0 ori RESET O0.0 si se va trece la pasul urmator.

1.7            Utilizarea comenzii ELSE in loc de comanda OTHRW

·         FST 4 ofera posibilitatea de a utiliza comanda "ELSE" in loc de "OTHRW".

·         Unii dintre programatori sunt mai familiarizati cu comanda "ELSE", pentru ca se utilizeaza in mod curent in limbajele de programare.

·         Pentru a utiliza comanda  "ELSE", trebuie sa se schimbe preferintele.

·         Click pe "Extras", "Preferences" si "STL Editor"

·         Activeaza "Use ELSE instead of OTHRW". Click "OK".



Ultimele documente adaugate
Mihai EminescuMihai Eminescu
   - Opere romantice - autori si opere reprezentative Gioacchino Rossini, Giuseppe Verdi, Richard Wagner
Mihai Beniuc
   - Mihai beniuc - „poezii"
Mihai EminescuMihai Eminescu
   - Mihai eminescu - student la berlin
Mircea EliadeMircea Eliade
   - Mircea Eliade - Mioara Nazdravana (mioriţa)
Vasile AlecsandriVasile Alecsandri
   - Chirita in provintie de Vasile Alecsandri -expunerea subiectului
Emil GirlenuEmil Girlenu
   - Dragoste de viata de Jack London
Ion Luca CaragialeIon Luca Caragiale
   - Triumful talentului… (reproducere) de Ion Luca Caragiale
Mircea EliadeMircea Eliade
   - Fantasticul in proza lui Mircea Eliade - La tiganci
Mihai EminescuMihai Eminescu
   - „Personalitate creatoare” si „figura a spiritului creator” eminescian
George CalinescuGeorge Calinescu
   - Enigma Otiliei de George Calinescu - geneza, subiectul si tema romanului



Scriitori romani