+ All Categories

C4

Date post: 23-Dec-2015
Category:
Upload: andreea-ilisei
View: 5 times
Download: 1 times
Share this document with a friend
Description:
C4-apm
42
Automatele Allen Bradley tipul SLC 500
Transcript
Page 1: C4

Automatele Allen Bradley tipul SLC 500

Page 2: C4

Organizarea memoriei

• Memoria este împărţită în fişiere, care sunt de 2 tipuri:

– fişiere program

– fişiere de date

• Fiecare program creat pentru automatul Allen Bradley are asociate atât fişiere program, cât şi fişiere de date.

• Fişierele program sunt numerotate şi pot fi maxim 256. Implicit sunt create doar 3 fişiere program şi anume:

– fişierul 0 ce cuprinde informaţii referitoare la configuraţia hardware a automatului

– fişierul 1 este rezervat

– fişierul 2 conţine diagrama Ladder realizată de către utilizator

• Celelate posibile fişiere program sunt create numai în situaţia în care utilizatorul foloseşte subrutine.

Page 3: C4

Fișiere de date

• Fişierele de date conţin informaţii asociate cu intrările şi ieşirile (externe) precum şi cu toate celelalte instrucţiuni care compun diagrama Ladder. În plus, ele mai conţin informaţii cu privire la operaţiile procesorului. Fişierele de date sunt numerotate şi pot fi maxim 256. Implicit sunt create primele 10 fişiere. Fiecare fişier conţine maxim 256 elemente formate din 1 sau 3 cuvinte. Structura acestor fişiere de date este prezentată mai jos:

• 0: Imagine ieşiri: conţine valorile intrărilor în format binar• 1: Imagine intrări: conţine valorile ieşirilor în format binar• 2: Stare: conţine informaţii de stare• 3: Bit: utilizat de catre instructiunile pe bit• 4: Timer: utilizat de către instrucţiunile de temporizare (timer)• 5: Counter: utilizat de către instrucţiunile de numărare (counter)• 6: Control: utilizat în instrucţiuni de stivă, shiftare, secvenţiere etc.• 7: Întregi: folosit de catre instrucţiunile care au ca parametri

operanzi de tip Integer• 8: Rezervat• 9: Folosit în reţea

Page 4: C4

Adresarea fișierelor de date

Page 5: C4

Adresarea fișierelor de date

• Fişierele de date conţin elemente. Elementele pot fi de un cuvânt sau de trei cuvinte. Un cuvânt are 16 biţi. În consecinţă este necesară adresarea la nivel de:– element– cuvânt– bit

• Adresarea la nivel de element: N7:15– N este tipul fişierului – 7 este numărul fişierului– : este delimitatorul de element– 15 este numărul elementului

• Adresarea la nivel de cuvânt: T4:7.ACC – T7:4 au aceeaşi semnificaţie ca în primul caz– . este delimitatorul de cuvânt– ACC este cuvântul adresat

• Adresarea la nivel de bit: B3/15 – / este delimitatorul de bit– 15 este bitul adresat

Page 6: C4

Structura Fişierelor de imagine ale intr'rilor şi ieşirilor

• Biţii din aceste fişiere corespund ieşirilor şi intrărilor fizice ale automatului. Formatul general de adresare pentru aceste fişiere este: – O:s/b respectiv I:s/b

unde:

O – ieşire, I – intrare,

s – numărul slotului pe care se găseşte modulul de I/O

/ – delimitatorul de bit

b – numărul intrării adresate

• Exemplu: – O:4/6 : ieşirea 6 de pe slotul 4

– I:1/7: intrarea 7 de pe slotul 1

Page 7: C4

Structura Fişierului de bit

• Formatul general de adresare pentru aceste fişiere este: Bf:e/b sau Bf/b unde,

B – identifică tipul fişieruluif – numărul fişieruluie – cuvântul din cadrul fişieruluib – bitul adresat

• Exemplu:– B3:1/5 – bitul 5 din cuvântul 1 al fişierului de bit B3– B3/18 – bitul 18 al fişierului B3

• Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor pe bit

Page 8: C4

Structura Fişierului de tip Timer

• Aceste fişiere conţin elemente a câte trei cuvinte, având maxim 256 de elemente. Un element tipic are structura din tabelul de mai jos:

• Formatul de adresare este: Tf:e.s sau Tf:e/b

unde, T – identifică tipul fişierului (Timer)

f – numărul fişierului

e – elementul din cadrul fişierului

s – cuvântul din cadrul elementului

b – bitul adresat

• Exemplu:

– T4:0.ACC – cuvântul ACC din elementul 0 al fişierului de Timer 4

– T4:1/DN – bitul DN din elementul 1 al fişierului de Timer 4

• Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor de tip timer

Page 9: C4

Structura Fişierului de tip Counter

• Aceste fişiere conţin elemente de trei cuvinte, având maxim 256 de elemente. Un element tipic are structura din tabelul 2.3:

cu semnificaţia: – CU = Count Up

– CD = Count Down

– DN = Done

– OV = Overflow

– UN = Underflow

– UA = Update Accumulated Value

• Formatul general de adesare este: Cf:e.s sau Cf:e/b, semnificaţiile fiind cele de la fişierele de tip timer

• Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor de tip counter

Page 10: C4

Structura Fişierului de tip Control

• Aceste fişiere conţin elemente de trei cuvinte, având maxim 256 de elemente. Un element tipic are structura din tabelul de mai jos:

cu semnificaţia:

– EN = Enable

– EU = Unload Enable

– DN = Done

– EM = Stack Empty

– ER = Error

– UL = Unload

– IN = Inhibit

– FD = Found

• Formatul general de adresare este Rf:e.s sau Rf:e/b cu semnificaţiile deja cunoscute.

• Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor de tip stivă, shiftare, secvenţiere

Page 11: C4

Structura Fişierului de tip Integer

• Acest tip de fişier conţine elemente de un cuvânt, maxim 255 de elemente.

• Formatul de adresare este Nf:e.

unde e = 0..255 reprezintă numărul elementului.

• Sunt folosite în instrucţiuni de comparaţie, matematice, practic aici sunt stocate variabilele de tip întreg.

Page 12: C4

Limbajul Ladder Diagram pt. Automatele Allen Bradley

• Un program în Ladder Diagram este o înşiruire de ramuri. Întrucât instrucţiunile pot fi împărţite în două mari categorii, de intrare şi de ieşire, pe orice ramură trebuie să existe cel puţin o instrucţiune de ieşire. Fiecare instrucţiune are asociat un simbol grafic şi o valoare logică – TRUE sau FALSE.

• În partea stângă se găsesc instrucţiuni de intrare (una sau mai multe) care formează întotdeauna o expresie logică de intrare. Expresia logică de la intrare este alcatuită din operatori logici (ŞI, SAU).

• În partea dreaptă se găsesc instrucţiuni de ieşire, una sau mai multe. Efectul instrucţiunii de ieşire depinde de valoarea logică a expresiei de la intrare.

Page 13: C4

Execuția ramurilor

Page 14: C4

Execuția ramurilor

• Pentru a mări flexibilitatea realizării programelor, există posibilitatea de a introduce expresii logice complexe pe o ramură, mărind astfel complexitatea blocului logic generat:

Expresia de intrare = ( A AND NOT(B) ) OR C

Page 15: C4

Execuția ramurilor

• În mod asemănator poate avea loc şi o ramificare a instrucţiunilor de ieşire.

D = (A AND NOT(B)) OR C

E = (A AND NOT(B)) OR C

F = (A AND NOT(B)) OR C

• Toate instrucţiunile de ieșire depind în mod identic de instrucţiunile de intrare

Page 16: C4

Execuția ramurilor

• În mod asemănator poate avea loc şi o ramificare a instrucţiunilor de ieşire.

F = ((A AND B) OR C) AND E

D = (A AND B) OR C

Page 17: C4

Exemplu de diagram' Ladder

• Prima ramură din diagrama de mai sus nu este corectă, întrucât conţine două instrucţiuni de intrare şi nici una de ieşire. Celelalte ramuri sunt corect editate, cu observaţia că ultima ramură are doar o instrucţiune de ieşire, situaţie întâlnită doar atunci când acea instrucţiune trebuie executată la fiecare ciclu automat.

Page 18: C4

Tipuri de instrucțiuni

• instrucţiuni pe bit

• instrucţiuni de tip timer/counter

• instrucţiuni de I/O şi întreruperi

• instrucţiuni de comparaţie

• instrucţiuni matematice

• instrucţiuni logice şi de mutare

• instrucţiuni pentru lucrul cu fişiere

• instrucţiuni de shiftare

• instrucţiuni de secvenţiere

• instrucţiuni de control

• blocuri funcţionale

Page 19: C4

Instrucțiuni pe bit

• Toate instrucţiunile pe bit necesită ca parametru adresa unui bit dintr-un fişier de date.

• --] [-- XIC (Examine if Close). Instrucțiune de intrare. Este

TRUE când bitul testat este 1 (on).

• --]/[-- XIO (Examine if Open). Instrucțiune de intrare. Este

TRUE când bitul testat este 0 (off).

• --( )-- OTE (Output Energize). Instrucțiune de ieşire. Este

TRUE (seteaz' bitul de ieşire) când toate condițiile

precedente din ramur' sunt TRUE. Reseteaz' bitul altfel.

Page 20: C4

Instrucțiuni pe bit

• --(L)-- OTL (Output Latch). Instrucţiune de ieşire. Bitul adresat devine TRUE (1) când condiţiile precedente de pe ramură sunt TRUE. Când condiţiile devin FALSE, OTL rămâne TRUE până când o ramură ce conţine o instrucţiune OTU cu aceeaşi adresă devine TRUE.

• --(U)-- OTU (Output Unlatch). Instrucţiune de ieşire. Bitul adresat devine FALSE (0) când condiţiile precedente de pe ramură sunt TRUE. Când condiţiile devin FALSE, OTU rămâne FALSE până când o ramură ce conţine o instrucţiune OTL cu aceeaşi adresă devine TRUE.

• --[OSR]-- OSR (One-Shot Rising). Instrucţiune de intrare. Trece ramura în TRUE pentru o scanare, la fiecare tranziţie din FALSE – TRUE a condiţiilor precedente din ramură.

Page 21: C4

Instrucțiunea OSR

• Când instrucţiunea de intrare trece din FALSE (ciclul automat anterior) în TRUE (ciclul automat curent), instrucţiunea OSR condiţionează ramura astfel încât ieşirea trece în TRUE pentru o scanare a programului (adică in cadrul ciclului automat actual). Apoi, la următoarele cicluri automat, ieşirea devine sau rămâne FALSE pentru următoarele scanări, până când intrarea face o nouă tranziţie din FALSE în TRUE.

• OSR este o instrucţiune de intrare utilă activării unei instrucţiuni de ieşire o singură dată şi anume la prima scanare a programului de către automat. Este des folosită pentru activarea unei etape iniţiale dintr-o diagramă SFCsau pentru testarea tranziţiei din starea inactivă in cea activă a unei intrări digitale. Necesită ca parametru adresa unui bit care va fi folosit intern de către instrucţiune, pnetru memorarea starii anterioare (de la ciclul automat anterior) a expresiei de dinaintea ei de pe ramură.

Page 22: C4

Instrucțiuni de tip Timer

1. TON (Timer On-Delay). Instrucţiune de ieşire.

• Parametrii instrucţiunii:

– Timer : adresa unei element din fişierul de tip timer T4

– Time base: reprezintă pasul de incrementare al acumulatorului pentru numărare. În cazul automatului nostru este fixat la 0.01 sec = 10 ms.

– Preset: valoarea presetată – timpul dorit de măsurat/ baza de timp

– Acc: valoare acumulată – se introduce la editare de obicei este 0 ca valoare de start a acumulatorului, valoarea acestuia fiind incrementată în timpul execuţiei programului, la fiecare ciclu automat, cu o valoare numerică egală cu valoarea timpului scurs de la ciclul anterior împarţit la baza de timp

Page 23: C4

Funcționarea instrucțiunii TON

• Dacă expresia de la intrare este adevarată atunci instrucţiunea TON incrementează accumulatorul la fiecare ciclu automat cu numărul de incremente de timp trecute de la ciclul anterior.

• Dacă valoarea accumulatorului depăşeşte valoarea presetată → atunci bitul DN din primul cuvânt al elementului de timer folosit devine 1 (acest bit putând fi testat intr- ramura următoare), asta însemnând că a trecut timpul dorit.

• Dacă expresia de la intrare este falsă, contorizarea se opreşte, accumulatorul şi biţii de stare (EN, TT, DN.....) sunt resetaţi.

Page 24: C4

Instrucțiuni de tip Timer

2. TOF (Timer Off-Delay). Instrucţiune de ieşire.

– Analog cu TON, dar incrementarea valorii din acumulator are loc atâta timp cât în ramură condiţiile sunt FALSE. Când condiţiile devin TRUE, ( ACC ) = 0

3. RTO (Retentive Timer). Instrucţiune de ieşire.

– Analog cu TON, dar dacă expresia de la intrare trece din TRUE în FALSE atunci se oprește incrementarea dar (ACC) și biţţi destare rămân la ultima valoare (nu devin 0).

Page 25: C4

Instrucțiuni de tip Counter

1. CTU (Count Up). Instrucţiune de ieşire.

• Parametrii instrucţiunii:

– Counter: adresa unei element din fişierul counter C5

– Preset: valoarea presetată – se introduce atunci când se editează programul

– Acc: reprezintă valoarea acumulată după fiecare incrementare a numărătorului

• Funcţionarea:

– Instrucţiunea incrementează ACC – la fiecare trecere din FALSE în TRUE a expresiei de la intrare (în cadrul a două cicluri automate consecutive).

– Dacă valoarea ACC depăşeşte PRE → atunci bitul DN din primul cuvânt al bitului folosit devine 1

– Resetarea ACC și a biţilor de stare se face numai prin instrucţiunea Reset.

Page 26: C4

Instrucțiuni de tip Counter

• CTD (Count Down). Instrucţiune de ieşire.

– Similar cu CTU, cu deosebirea că decrementeză valoarea acumulată. Necesită ca parametri adresa unui element dintr-un fişier de tip Counter precum şi o valoare presetată şi una iniţială pentru acumulator.

• RES (Reset). Instrucţiune de ieşire. Resetează elemente de tip Timer sau Counter. Dacă expresia de la intrare este adevarată – resetează accumulatorul şi biţii de stare ai elementului adresat.

Page 27: C4

Instrucțiuni de comparație

Sunt instrucţiuni de intrare, au ca operanzi cuvinte ale fişierelor de date.

•EQU (Equal)

Compară (A) cu (B), unde A şi B sunt adrese de cuvinte

Dacă (A) = (B), atunci instrucţiunea devine TRUE.

•NEQ (Not Equal).

Devine TRUE dacă (A) diferit de (B).

•LES (Less Than).

Devine TRUE dacă (A) < (B).

•LEQ (Less Than or Equal)

Devine TRUE dacă (A) ≤ (B).

•GRT (Greater Than)

Devine TRUE dacă (A) > (B).

•GEQ (Greater Than or Equal)

Devine TRUE daca (A) ≥ (B).

Page 28: C4

Instrucțiuni de comparație

• MEQ (Masked Comparison for Equal): Permite testarea egalităţii după aplicarea unei măşti.

• LIM (Limit Test) : Permite testarea încadrării unei valori între două limite. Low Limit = val./adr. limită inferioară. Test = val./adr.val. test. High Limit = val./adr. limită superioară. Este TRUE când Low Lim ≤ Test ≤ High Lim.

Page 29: C4

Instrucțiuni matematice

Sunt instrucţiuni de ieșire, acceptă trei operanzi, dintre care maxim unul poate fi o constantă.

•ADD (Add) Dest = A + B

•SUB (Substract) Dest = A - B

•MUL (Multiply) Dest = A * B

•DIV (Divide) Dest = A / B

•NEG (Negate) Dest = (complement faţă de 2) Sursa

•CLR (Clear) Dest ← 0

•SQR (Square Root)

•SCL (Scale Data) Dest ← (Sursa):Rate.

Page 30: C4

Instrucțiuni logice și transfer de date

• Sunt instrucţiuni de ieşire. Instrucţiunile logice se aplică bit cu bit datelor stocate la adresele sursă. Au efect doar când condiţiile de pe ramură sunt TRUE

• MOV (Move) (Dest) ← (Sursa).

• MVM (Masked Move) : Analog cu MOV, dar după ce sursa a fost trecută prin Mask; masca poate fi o valoare hexa (o constantă).

• AND (And) (Dest) = A AND B

• OR (Or) (Dest) = A OR B

• XOR (Exclusive Or) (Dest) = A XOR B

Page 31: C4

Instrucțiunile Jump și Label

• JMP este o instrucţiune de ieşire care are efect doar când expresia de intrare de pe ramură este TRUE

• JMP produce un salt în program pe ramura etichetată corespunzător. Se poate face și salt înapoi dar cu precauţii.

• LBL este o instrucţiune de intrare și trebuie să fie prima de pe ramură

Page 32: C4

Instrucțiuni relativ la subrutine

• JSR : instrucţiune de ieșire, produce salt la prima ramură din subrutina din fișierul program dat ca parametru

• SBR : instrucţiune de intrare, TRUE tot timpul, folosită doar pt. Claritate

• RET : instrucţiune de ieșire, marchează sfârșitul execuţiei unei subrutine

• Există 8 nivele de ierarhizare

Page 33: C4

Dezvoltarea unui program Ladder pornind de la o

diagram' Grafcet (SFC)• Pentru ca un program de control conceput sub forma unei diagrame Ladder să

funcţioneze corect şi să fie dezvoltat uşor, o soluţie foarte eficientă este ridicarea iniţială a unei diagrame de tip Grafcet (SFC) pornind de la specificaţiile procesului

• Elementele principale ale unei diagrame Grafcet sunt etapele, tranziţiile, acţiunile asociate etapelor, divergenţele, paralelismul etc. Etapele de creare ale unei diagrame Ladder pentru un automat Allen Bradley SLC 500 sunt următoarele:

– Se construieşte diagrama Grafcet de control logic al procesului

– Se identifică intrările, ieşirile necesare automatului, precum şi numărul de temporizări, contorizări necesar

– Se asociază intrările şi ieşirile cu biţi din fişierele de imagine ale intrărilor şi ieşirilor

– Se asociază fiecare etapă a diagramei Grafcet cu câte un bit dintr-un fişier de tip BIT al automatului Allen Bradley (spre exemplu din fişierul B3)

– Se alocă pentru fiecare temporizare sau contorizare câte un element dintr-un fişier de tip Timer sau Counter.

Page 34: C4

Dezvoltarea unui program Ladder pornind de la o

diagram' Grafcet (SFC)• Pentru fiecare etapă se scriu, în principiu două ramuri de tipul:

• Etapele iniţiale sunt activate cu ajutorul instrucţiunii OSR. Mici modificări apar atunci când în diagrama Grafcet există divergenţe şi paralelisme.

• În cazul în care dintr-o etapă se poate tranzita în diferite alte etape din cauza existenţei mai multor condiţii de tranziţie, trebuie editată câte o ramură de tip 2 pentru fiecare condiţie de tranziţie. Starea de activare a unei etape se testează cu instrucţiunea XIC aplicată bitului asociat etapei.

• Dacă ulterior activării unei tranziţii urmează un paralelism în care mai multe secvenţe vor rula simultan, o dată cu dezactivarea etapei curente vor fi activate toate etapele iniţiale ale tuturor secvenţelor paralele.

• Ieşirile digitale pot fi activate şi dezactivate atât cu instrucţiunea OTE cât şi cu instrucţiunile pereche OTL şi OTU. Instrucţiunea OTE se foloseşte atunci când o acţiune este activă numai în etapa curentă şi va trebui dezactivată o dată cu dezactivarea etapei. Dacă o ieşire trebuie să îşi menţină valoarea şi în etapele următoare, ea trebuie activată obligatoriu cu instrucţiunea OTL.

Page 35: C4

Exemplu

• Să considerăm că avem de controlat un proces a cărui diagramă Grafcet este reprezenată în figura:

Page 36: C4

Identificarea I/O și asocierea biților cu etapele

diagramei• Presupunând că pe slotul 1 al automatului se găseşte un modul de intrări digitale cu

16 intrări iar pe slotul 3 un modul de ieşiri digitale cu 24 ieşiri, putem conecta intrările şi ieşirile către proces conform tabelului

• Asocierea etapelor Grafcet cu biţi din fişierul de Bit B3 se poate face conform tabelului

Page 37: C4

Scrierea programului Ladder

• Bitul B3/0 va fi rezervat instrucţiunii OSR ca parametru intern.

• Etapa 1 va fi activată iniţial cu ajutorul instrucţiunii OSR astfel:

• Deoarece în etapa 1 nu au loc acţiuni, nu se mai scrie nici o ramură de tip 1 pentru etapă. În schimb, deoarece are loc o divergenţă pornind din etapa 1, trebuie scrise două ramuri de tip 2 pentru cele două condiţii de tranziţie ce se exclud:

Page 38: C4

Scrierea programului Ladder

• Pentru tranziţia cu condiţia i1:

• Pentru tranziţia cu condiţia i2:

Page 39: C4

Scrierea programului Ladder –Etapa 2

• Pentru etapa 2 trebuie scrise cele 2 ramuri tipice:

– Ramura tip 1

– Ramura tip 2

Page 40: C4

Scrierea programului Ladder –Etapa 3

• Etapa 3 nu are acţiuni asociate, iar tranziţia din această etapă este condiţionată de activarea etapei 103, astfel încât pentru etapa 3 se scrie o singură ramură de tip 2 şi anume:

• Această ramură este valabilă ca ramură de tip 2 şi pentru traziţia din etapa 103, fiind suficientă editarea ei o singură dată.

Page 41: C4

Scrierea programului Ladder –Etapa 101

• Ramura de tip 1:

• Ramura de tip 2:

Page 42: C4

Scrierea programului Ladder –Etapa 102

• Ramura de tip 1:

• Ramura de tip 2:


Recommended