Caracteristici ale declarațiilor de control program de aplicație

Utilizarea operatorului de control (declarațiile de control) pot organiza programe de utilizator ramificare, executarea ciclică a fragmentelor individuale de programe și de a efectua tranziția la programul de unitate pentru efectuarea de altă parte.

SCL limbaj de programare acceptă următoarele afirmații de control:

• IF - operatorul să efectueze ramificare în program cu condiția ca este verificată în raport cu variabila booleană;

• CASE - operator pentru a efectua ramificare în program, cu condiția ca verificarea împotriva număr întreg variabilă sau un parametru de tip INT;

• PENTRU - operatorul pentru organizarea în cicluri cu variabila program care este ciclul de contor;

• ÎN TIMP CE - operatorul pentru organizarea în cicluri ale programului care urmează să fie inițiat în anumite condiții;

• REPEAT - operatorul pentru organizarea în cicluri cu finalizarea programului cu condiția;

• CONTINUĂ - operatorul pentru a finaliza ciclul curent de trecere în program;

• EXIT - operatorul pentru a ieși din bucla în program;

• GOTO - operatorul să se mute într-o nouă locație de program indicat de o etichetă;

• RETURN - operatorul pentru a ieși din blocul de program.

Instrucțiune IF controlează executarea uneia sau pe de altă parte a programului, în funcție de starea unei variabile booleene. Utilizați instrucțiunea IF, utilizatorul poate programa un program de execuție diferit, cauzate de condițiile de sucursale.

În acest exemplu, ca și în precedent, condiție are valoarea TRUE sau FALSE. În cazul în care condiția este adevărată, atunci declarațiile după cuvântul cheie, atunci. În cazul în care condiția este falsă, atunci declarațiile după cuvântul cheie ELSE.

Puteți folosi orice număr de combinații de cuvinte cheie ELSEIF. APOI. IF între cuvinte-cheie. APOI. și ELSE. cuvinte cheie ELSE și următoarele afirmații sunt opționale.

IF Actual_value> Referință

APOI greater_than: = TRUE;

ELSEIF Actual_value

APOI greater_than: = FALSE;

greater_than ELSE: = FALSE;

In exemplul de mai sus, în cazul în care Actual_value variabilă mai mult decât Setpoint variabilă. apoi declarațiile care urmează cuvântul cheie atunci. Dacă, dimpotrivă, variabila Actual_value mai mică decât valoarea de referință variabilă. apoi declarațiile care urmează cuvântul cheie ELSEIF. În cazul în care nu sunt îndeplinite cele două expresii comparații, declarațiile după cuvântul cheie ELSE.

declarație CASE vă permite să alegeți să efectuați secvența dorită a declarațiilor în program, în funcție de valoarea unui parametru de tip INT.

Structura generală a programului cu o declarație CASE poate avea următoarea formă:

Selecția CAZ

Valorile CONST1 List, CONST2 etc. Se compune din constantele întregi (INT). mai multe opțiuni pentru formate de înregistrare pot fi utilizate pentru aceste constante. Ca constantele Consth comutator pot fi menționate:

• un singur întreg;

• O serie de numere întregi, de exemplu, 15..20;

• amestecul a fost separat prin virgulă numere întregi separate și gamă de numere întregi, de exemplu, 21,25,31..33.

În acest caz, fiecare valoare constantă a comuta Consth trebuie să fie unic.

Să valoarea care este atribuit ERROR_NUMBER. Depinde ID variabilă. Apoi, programul s-ar putea arăta astfel:

0. ERROR_NUMBER: = 0;

1,3,5. ERROR_NUMBER: = ID + 128;

6..10. ERROR_NUMBER: = ID;

ELSE. ERROR_NUMBER: = 16 # 7F;

FOR este utilizat pentru organizarea ciclurilor de cicluri contra. Execuția a intrat în ciclul de program fragment se va repeta atâta timp cât variabila (contorul ciclului) va rămâne în intervalul specificat.

Structura generală a programului cu FOR poate avea următoarea formă:

În tratamentul valoarea inițială operatorului este atribuit ciclul contra limit1 „i“. O misiune variabilă ciclu contor trebuie să fie de tip sau INT dint. Acesta ar trebui să aibă valori inițiale și finale, precum și pas-schimbare pas.

După fiecare trecere a programului (bucla) contorul buclei este incrementat prin creșterea dimensiunii pas pas, dacă etapa este specificat ca un număr pozitiv, sau a scăzut cu pas mărimea pasului, dacă etapa este specificat ca un număr negativ.

Când programarea linie ciclu cu pas nu este obligatorie. Dacă o astfel de condiție pentru contor buclă pasul lipsește, pasul (implicit) este luată egală cu unu. Dacă valoarea variabilei contor buclă este în afara intervalului specificat, programul trece la operator, care se află după END_FOR de cuvinte cheie.

FOR poate fi imbricate, adică, în cadrul ciclului FOR poate fi programat cu alte cicluri ale FOR, care sunt folosite ca bucla contra altor variabile.

În interiorul pentru ciclul poate fi programat pentru a trece la începutul ciclului (folosind CONTINUA operatorul de control) sau de ieșire completă din ciclul de a continua programul, începând imediat după END_FOR cuvântul cheie, (folosind EXIT operatorul de control).

De exemplu, să presupunem că aveți nevoie pentru a atribui valoare cuvintelor PIW PIW 128 pentru porțiunea periferică 142 de cuvinte în biți de memorie - cu 128 MW la 142 MW.

Programul acestei proceduri va avea următoarea formă:

FOR i: = 128 LA 142 DE DO 2

WHILE este utilizat pentru looping, împlinirea care durează atât timp cât sunt îndeplinite anumite condiții.

Structura generală a programului cu while poate avea următoarea formă:

ÎN TIMP CE Condiția DO

Înainte de fiecare trecere, o verificare stare Starea. În cazul în care condiția nu este îndeplinită (Stare = FALSE), programul merge la operator, care se află după END_WHILE de cuvinte cheie. Această tranziție este posibilă chiar și fără ciclu de program de trecere. Operatorii Statements nu sunt îndeplinite.

while poate fi imbricate. Astfel, într-o singură instrucțiune WHILE ciclu poate fi plasat cu alte cicluri while.

În interiorul buclei cu o while poate fi programat pentru a sări la începutul ciclului, folosind CONTINUE operatorul de control sau complet din bucla folosind operatorul EXIT de control. După lansarea programului va fi efectuată de către operator este situat după END_WHILE de cuvinte cheie.

REPEAT este utilizat pentru a bucla, punerea în aplicare a care se execută tot timpul, până la o condiție de finalizare a ciclului de prelucrare.

Structura generală a programului cu declarația REPEAT poate avea următoarea formă:

După fiecare ciclu de trecere verifică condițiile de condiție. În cazul în care condiția este îndeplinită (Stare = true), atunci ciclul nu vor fi procesate în continuare, iar programul va continua după END_REPEAT cuvinte cheie.

Astfel, ciclul de program este procesat cel puțin o dată, chiar și în cazul în care prima trecere prin bucla condiția finalizării prelucrării sale.

REPEAT poate fi imbricate. Astfel, într-o singură declarație REPEAT ciclu poate fi plasat cu alte cicluri REPEAT operatorului.

În interiorul buclei, folosind REPEAT poate fi programat pentru a sări la începutul ciclului, folosind CONTINUE operatorul de control sau de ieșire completă din ciclul de a continua programul, începând imediat după END_REPEAT cuvântul cheie (folosind EXIT operatorul de control).

Să presupunem, de exemplu, apelați funcția sistemului SFC 25 comprime pentru a reporni programul până când este finalizată, „compresie“ memorie de utilizator.

CONTINUE declarație este folosit pentru a finaliza ciclul curent, programul trece, amenajat cu operatorii PENTRU, while sau REPEAT.

După efectuarea declarația CONTINUE în program se desfășoară una dintre următoarele:

• în cazul în care ciclul este organizat prin intermediul operatorilor sau în timp ce REPEAT, condiția este verificată pentru a efectua următoarea trecere prin bucla;

• În cazul în care ciclul este organizat cu operatorul FOR, a avut loc la valoarea creșterii schimbării pedometrul buclă și condiția este testată - dacă variabila contor buclă într-un interval admisibil pentru ea.

FOR i: = 0 TO DO 2

Pentru k: = 0 până la 7 DO

IF (k<2 & i=0) THEN CONTINUE;

Operatorul EXIT servește pentru a finaliza ciclul de procesare organizat cu ajutorul operatorilor FOR, WHILE sau REPEAT. Randamentul operatorului ciclului EXIT nu depinde de condițiile care sunt verificate într-o buclă și pot fi realizate din orice punct al ciclului. Când ieșiți din bucla cu programul operatorului EXIT continuă să fie executată imediat după cuvinte cheie END_FOR, END_WHILE sau END_REPEAT.

Din bucla cu declarația EXIT este efectuată imediat la punctul ciclului de program, în cazul în care operatorul a îndeplinit.

FOR i: = 0 TO DO 2

Pentru k: = 0 până la 7 DO

IF (k = 2 i> 5) THEN EXIT;

În acest exemplu, ciclul se termină la un anumit FOR prevăzut pentru contor buclă k prin intermediul operatorului EXIT.

Declarație RETURN este utilizat pentru ieșire necondiționat din blocul curent și trecerea la rutina principală. Operatorul transmite OK variabila de stat RETURN pe unitatea de ieșire ENO, care se termină cu el.

IF Eroare <> 0 RETURN THEN;