04 august 2014, autorul articolului: Körösi Ladislav, Inginerie electrică, Tehnologia informației
Volumul 7, numărul 8 Adăugați o postare

starea scării

Scopul articolului este de a familiariza cititorul cu instrucțiunile de bază ale software-ului RsLogix 5000 în limba diagramelor ladder (LD - Ladder diagram). Software-ul RsLogix 5000 este instrumentul de configurare și programare a programatorului programabil Logic Controller (PLC) al Rockwell Automation pentru seria ControlLogix, CompactLogix, FlexLogix, SoftLogix5800 și DriveLogix.

Examinați instrucțiunile dacă sunt închise (XIC)

Instrucțiunea XIC determină dacă valoarea bitului specificat ca parametru de instrucțiune este egală cu o unitate logică (TRUE). Folosit pentru a activa ieșirea („executarea instrucțiunii”) dacă bitul este TRUE. Această instrucțiune este disponibilă numai în limbajul de programare LD și nu este disponibilă în alte limbi (FBD, ST). Ieșirea instrucțiunii depinde de valoarea bitului, de starea scării, precum și de pașii de execuție:

  • În starea PRESCAN, ieșirea instrucțiunii este zero logic (FALS).
  • Dacă starea scării este FALS, atunci ieșirea instrucțiunii este FALS.
  • Dacă starea scării este ADEVĂRATĂ, atunci ieșirea instrucțiunii este ADEVĂRATĂ sau FALSĂ conform diagramei (Fig. 1).
  • În starea POSTSCAN, valoarea instrucțiunii este FALSĂ.


FIG. 1 diagramă de instrucțiuni XIC

Pur și simplu, ieșirea instrucțiunii XIC este valoarea parametrului său (bit). Un exemplu de evaluare a etichetei de testare este prezentat în FIG. 2. FIG. 2 din dreapta este o unitate logică animată verde, care este ieșirea instrucțiunii. Echivalentul în limbile text este:

DACĂ testați ATUNCI
ALTE
END_IF;


FIG. 2 Exemplu de instrucțiune XIC

Examinați instrucțiunea If Open (XIO)

Instrucțiunea XIO determină dacă valoarea parametrului instrucțiunii (valoarea bitului) este egală cu zero logic (FALS). Folosit pentru a activa ieșirea dacă bitul este setat la FALS. Această instrucțiune, ca și instrucțiunea XIC, nu este disponibilă în alte limbaje de programare. Ieșirea instrucțiunii depinde de valoarea bitului, precum și de pașii de execuție:

  • În starea PRESCAN, ieșirea instrucțiunii este zero logic (FALS).
  • Dacă starea scării este FALS, atunci ieșirea instrucțiunii este FALS.
  • Dacă starea scării este ADEVĂRATĂ, atunci ieșirea instrucțiunii este ADEVĂRATĂ sau FALSĂ în conformitate cu diagrama de flux (Fig. 3).
  • În starea POSTSCAN, valoarea instrucțiunii este FALSĂ.


FIG. 3 diagramă de instrucțiuni XIO

Ieșirea instrucțiunii XIO este valoarea negată a parametrului său (bit). În FIG. 4 din stânga arată că starea de biți este 0 (FALS) și ieșirea instrucțiunii este 1 (TRUE), care este animat în verde. Echivalentul în limbile text este:

DACĂ nu (testați) ATUNCI
ALTE
END_IF;


FIG. 4 Exemplu de instrucțiuni XIO

Instrucțiune de ieșire energizată (OTE)

Instrucțiunea OTE setează valoarea bitului (parametrul) în funcție de semnalul de intrare (starea) instrucțiunii. Dacă condiția de intrare este ADEVĂRATĂ, i. instrucțiunea este activată, apoi valoarea bitului este setată la TRUE. Dacă condiția de intrare este FALSĂ, i. instrucțiunea nu este activată, apoi valoarea bitului este setată la FALS. Instrucțiunea este disponibilă numai în limba LD. Valoarea bitului depinde de următoarele stări:

  • În starea PRESCAN, valoarea bitului este FALSĂ.
  • Dacă starea scării este FALS, atunci valoarea bitului este FALS.
  • Dacă starea scării este TRUE, atunci valoarea bitului este TRUE.
  • În starea POSTSCAN, valoarea bitului este FALSĂ.

În FIG. 5 este un exemplu de setare a valorii bitului de test în funcție de bitul condiție_1. În primul exemplu, intrarea de instrucțiuni OTE este FALS deoarece instrucțiunea XIC cu parametrul condiție_1 transmite instrucțiunea ca FALS. În al doilea exemplu, intrarea de instrucțiuni OTE este TRUE deoarece instrucțiunea XIC cu parametrul condition_1 produce TRUE. În limbaje de programare text, instrucțiunea echivalentă este:


FIG. 5 Exemplu de instrucțiune OTE

Instrucțiune de blocare a ieșirii (OTL)

Instrucțiunea setează valoarea bitului (parametrul) la TRUE cu o condiție de intrare validă. Instrucțiunea nu este disponibilă în alte limbaje de programare. Condiții care pot apărea:

  • În starea PRESCAN, valoarea bitului nu se modifică.
  • Dacă starea scării este FALSĂ, atunci valoarea bitului nu se modifică.
  • Dacă starea scării este TRUE, atunci valoarea bitului este setată la TRUE.
  • În starea POSTSCAN, valoarea bitului nu se modifică.

În FIG. 6 este un exemplu de instrucțiune OTL pentru a schimba condiția de intrare a condiției_1 din FALS în TRUE și apoi înapoi în FALSE. Din ultimul exemplu se poate observa că valoarea etichetei de test nu este modificată după expirarea condiției. Echivalentul unei instrucțiuni într-un limbaj de programare text este:

IF condition_1 THEN
test: = ADEVĂRAT;
END_IF;

Resetarea valorii bitului este de obicei efectuată de o instrucțiune Output unlatch (OTU). Desigur, și alte instrucțiuni pot reseta starea. Acestea includ instrucțiunea OTE deja descrisă, care suprascrie starea de biți pe baza condiției de intrare.


FIG. 6 Exemplu de instrucțiune OTL

Instrucțiuni de deblocare de ieșire (OTU)

Instrucțiunea setează (resetează, resetează) valoarea bitului la FALS cu o condiție de intrare validă. Instrucțiunile, precum și OTL nu sunt disponibile în alte limbaje de programare. Condiții care pot apărea:

  • În starea PRESCAN, valoarea bitului nu se modifică.
  • Dacă starea scării este FALSĂ, atunci valoarea bitului nu se modifică.
  • Dacă starea scării este ADEVĂRATĂ, atunci valoarea bitului este setată la FALS.
  • În starea POSTSCAN, valoarea bitului nu se modifică.

În FIG. 7 este un exemplu de instrucțiune OTU pentru a schimba condiția de intrare a condiției_1 din FALS în TRUE. În primul exemplu, testul etichetei nu este modificat deoarece condiția de intrare a instrucțiunii OTU nu este validă. În al doilea exemplu, în condiția validă, valoarea bitului a fost resetată. Echivalentul unei instrucțiuni OTU într-un limbaj de programare text este:

IF condition_1 THEN
test: = FALS
END_IF;


FIG. 7 Exemplu de instrucțiune OTU

Instrucțiune One Shot (ONS)

Instrucțiunea ONS este utilizată pentru a detecta marginea anterioară a semnalului de intrare, i. când condiția de intrare se schimbă de la FALS la TRUE, scoate valoarea TRUE. În caz contrar, ieșirea instrucțiunii este FALSĂ. Bitul auxiliar (așa-numitul bit de stocare), care este un parametru al instrucțiunii, este utilizat pentru a aminti starea curentă a intrării pentru următorul ciclu PLC, prin urmare schimbarea are loc dacă intrarea curentă la instrucțiune este TRUE și bitul auxiliar este FALS. Trebuie remarcat faptul că nu este potrivit să scrieți pe variabila de memorie utilizată pentru a stoca bitul auxiliar dintr-o altă locație din program, altfel instrucțiunea ONS nu va oferi un rezultat adecvat. Ieșirea instrucțiunii afectează fluxul semnalului în scara curentă, deci este utilizată pentru a executa condiționat alte instrucțiuni. Secvența stărilor:

  • În starea PRESCAN, valoarea bitului auxiliar este setată la TRUE și ieșirea instrucțiunii la FALSE. Această condiție asigură detectarea eronată.
  • Dacă starea scării este FALS, atunci valoarea bitului auxiliar și ieșirea instrucțiunii sunt setate la FALS.
  • Dacă starea scării este ADEVĂRATĂ, atunci instrucțiunea este executată conform schemei de flux (Fig. 8).
  • În starea POSTSCAN, valoarea bitului auxiliar și ieșirea instrucțiunii sunt setate la FALS.

Comanda echivalentă în limbajul text este

OUT: = TLACIDLO_1 ȘI (NU (SB_1));
SB: = BUTTON_1;

unde BUTTON_1 este intrarea în instrucțiune, SB_1 este bitul auxiliar și OUT este ieșirea instrucțiunii.


FIG. 8 diagramă de instrucțiuni ONS

Un exemplu de utilizare a instrucțiunii ONS în limbajul LD este prezentat în FIG. 9. Exemplul este identic din punct de vedere al funcționalității cu cel de mai sus în limbajul de programare text. Bitul OUT va avea starea TRUE pentru un ciclu numai dacă TLACIDLO_1 = TRUE și SB_1 = FALSE (adică TLACIDLO_1 din ciclul anterior avea starea FALSE). Folosind instrucțiunea ONS, este de asemenea posibil să detectați o margine de rulare, i. schimbarea semnalului de intrare de la TRUE la FALSE, astfel încât să se utilizeze un semnal negat la intrarea ONS (Fig. 10).


FIG. 9 Exemplu de instrucțiune ONS


FIG. 10 Exemplu de instrucțiune ONS pentru detectarea marginii de rulare

Instrucțiune One Shot Rising (OSR)

Instrucțiunea OSR, la fel ca instrucțiunea ONS, este utilizată pentru a detecta o margine anterioară. Spre deosebire de ONS, ieșirea instrucțiunii este scrisă într-un parametru (așa-numitul bit de ieșire). Din nou, nu este recomandabil să utilizați variabila utilizată pentru a stoca bitul auxiliar în altă parte a programului. În FIG. 9 și 11 sunt exemple de programe echivalente. Secvența stărilor:

  • În starea PRESCAN, valoarea bitului de stocare este setată la TRUE și bitul de ieșire la FALSE. În același timp, ieșirea de instrucțiuni care afectează fluxul semnalului este setată la FALS.
  • Dacă starea scării este FALS, atunci valoarea bitului auxiliar și ieșirea instrucțiunii sunt setate la FALSE. Bitul de ieșire nu se modifică.
  • Dacă starea scării este ADEVĂRATĂ, atunci instrucțiunea este executată conform schemei de flux ca și în cazul instrucțiunii ONS (Fig. 8).
  • În starea POSTSCAN, valoarea bitului auxiliar și ieșirea instrucțiunii sunt setate la FALS. Bitul de ieșire nu se modifică.


FIG. 11 Exemplu de instrucțiune OSR

Instrucțiune One Shot Falling (OSF)

Instrucțiunea OSF detectează o margine de rulare a semnalului de intrare. Are aceiași parametri (bit de stocare și bit de ieșire) ca instrucțiunea OSR. Nu este recomandabil să scrieți la o variabilă utilizată pentru a stoca un bit auxiliar dintr-o altă locație din program. Secvența stărilor de instrucțiuni este următoarea:

  • În starea PRESCAN, valoarea bitului de stocare este setată la TRUE și bitul de ieșire la FALSE. În același timp, ieșirea de instrucțiuni care afectează fluxul semnalului este setată la FALS.
  • Dacă starea scării este FALSĂ, atunci instrucțiunea este executată conform schemei de flux (Fig. 12).
  • Dacă starea scării este TRUE, atunci valoarea bitului auxiliar și ieșirea instrucțiunii sunt setate la TRUE. Bitul de ieșire este setat la FALS.
  • În starea POSTSCAN, ieșirea instrucțiunii este setată la FALS.


FIG. 12 Organigrama instrucțiunilor OSF

Un exemplu de instrucțiune OSF este prezentat în FIG. 13. După apăsare și apoi eliberarea butonului (BUTTON_1), bitul OUT este setat la TRUE pentru un ciclu.


FIG. 13 Exemplu de instrucțiune OSF

Exemple de utilizare a instrucțiunilor

Exemplul 1 - operațiunea ȘI

În FIG. 14 prezintă două exemple de operație SAU în combinație cu o operație ȘI. În scara nr. 0, eticheta C va fi TRUE dacă A = TRUE și B = TRUE. În al doilea exemplu din scara nr. 1, eticheta F va fi TRUE dacă D = TRUE și E = FALSE.


FIG. 14 Exemple de operare AND

Exemplul 2 - operație SAU

În FIG. 15 prezintă două exemple de operație ȘI. În scara nr. 0, eticheta D va fi TRUE dacă A = TRUE și B = TRUE sau C = FALSE și B = TRUE. Scrierea în limba textului este de ex. ca urmare a:

D: = (A SAU NU (C)) ȘI B;

În al doilea exemplu din scara nr. 1, eticheta H va fi TRUE dacă E = TRUE și F = FALSE sau G = TRUE. Scrierea în limba textului:

H: = (E ȘI NU (F)) SAU G;


FIG. 15 Exemple de operație SA în combinație cu ȘI

Concluzie

În majoritatea cazurilor, fiecare producător de PLC are (sau poate avea) un set diferit de instrucțiuni, indiferent dacă sunt instrucțiuni de bază de biți sau instrucțiuni de comunicare mai avansate sau chiar instrucțiunea PID. Scopul articolului a fost de a familiariza cititorii cu instrucțiunile de biți ale software-ului RsLogix 5000.

Mulțumiri

Această contribuție a fost creată datorită sprijinului Fundației Tatra banka - E-Talent de la Fundația Tatra banka nr. 2013et030.