S7-200 · Privire de ansamblu asupra automatelor programabile din familia SIMATIC. Fig 1: Privire...

13
S7-200 1. Privire de ansamblu asupra automatelor programabile din familia SIMATIC. Fig 1: Privire de ansamblu 2. Prezentare generala Seria S7-200 reprezinta o linie de micro-PLC (micro - programmable logic controller) care poate controla o diversitate de aplicati de automatizare. S7-200 are un design compact, cost redus si un vast set de instructiuni, toate aceste avantaje facand din S7-200 solutia perfecta pentru controlul de aplicatii mici. Fig 2: S7-200 detalii Fig 3: Module: ceas si baterie, baterie, memorie suplimentara Fig 4: Modulul CPU de baza + modulul de extensie

Transcript of S7-200 · Privire de ansamblu asupra automatelor programabile din familia SIMATIC. Fig 1: Privire...

S7-200

1. Privire de ansamblu asupra automatelor programabile din familia SIMATIC.

Fig 1: Privire de ansamblu

2. Prezentare generala

Seria S7-200 reprezinta o linie de micro-PLC (micro - programmable logic controller)

care poate controla o diversitate de aplicati de automatizare.

S7-200 are un design compact, cost redus si un vast set de instructiuni, toate aceste

avantaje facand din S7-200 solutia perfecta pentru controlul de aplicatii mici.

Fig 2: S7-200 detalii Fig 3: Module: ceas si baterie, baterie, memorie

suplimentara

Fig 4: Modulul CPU de baza + modulul de extensie

Fig 5: Module de extensie

Fig 6: Modalitatea de adaugare a modulelor de extensie

Obiective:

Instalare si realizarea legaturilor

Intelegerea operatiilor CPU, tipuri de date, modurile de adresare, ciclul de memorie,

protectia prin parola si comunicatia retelei.

Specificatii

Descrieri si exemple pentru Simatic instructiuni de programare

Fig 7: Modalitatea de conectare

S7-200 pune la dispozitia utlizatorului o gama larga de procesore:

221 CPU

222 CPU

224 CPU

S7-200 poate fi conectat la mai multe module optionale, el fiind format in principal din

unitate centrala de procesare (CPU), sursa de tensiune si modulul de intrari iesiri.

CPU-ul executa programele si memoreaza datele pentru controlul task-ului. Sursa de

tensiune furnizeaza energia necesara pentru modulul de baza si modulele suplimentare.

Numarul de module de intrari/iesiri se poate mari, folosind module suplimentare. Intrarile

monitorizeaza semnalele primite de la dispozitivele de camp (senzori, switch-uri) pe cand

iesirile controleaza elementele de executie (pompe, motoare). Portul de comunicatie permite

conectarea CPU-ului la dispozitive de comunicare. CPU-ul dispune de asemeni de leduri ce

indica: starea RUN/ STOP, starea urenta a intrarilor/iesirilor, detectare erori. CPU dispune si

de un ceas in timp real precum si de o memorie EEPROM ce memoreaza/ transfer programe

intre CPU.

3. Interfata de programare pentru S7-200 se numeste Step 7 - Micro/Win 32.

Fig 8: Interfata cu utilizatorul

4. Conectarea S7-200 la PC se realizeaza folosind un cablu PC/PPI. PPI reprezinta

acronimul de la Point to Point Interface.

Starea pozitiei pinilor care determina rata de transfer (pinii 1, 2 si 3 dau rata de

transfer, iar pinii 4 si 5 trebuie sa fie 0).

Capatul lui RS-232 se conecteaza la PC (com1 si com2)/USB

Capatul RS-485 se conecteaza la S7-200

Fig 9: Modalitatea de conectare a PLC-ului la CPU printr-un cablu PPI

Situatii generatoare de erori -> setari gresite ale ratei de transfer, modalitatea de

adresare a nodurilor retelei, modalitatearea de conectare a PC/PPI

Actualizarea comunicatiei cu S7-200 se realizeaza prin intermediul „Communicatins ->

Refresh icon -> CPU nume”.

Fig 10: Setarea/actualizarea modalitatilor de comunicare

Schimbarea paremetrilor se poate face in sectiunea „Communications -> PC/PPI cable”

Fig 11: Selectarea interfetei PPI Fig 12: Proprietatile interfetei PPI

Schimbarea in linie a parametrilor de comunicatie:

View -> System Block

Port(s) tab (valori predefinite – adresa =2; rata de transfer = 9,6 Kbps)

Iconita Download pentru incarcarea valorilor in PLC

Fig 13: Schimbarea parametrilor de comunicatie

5. Conceptul de baza in programarea lui S7-200:

S7-299 CPU citeste starea intrarilor

Programul memorat in CPU foloseste aceste intrari pentru a evalua logica de

control;

La rularea unui program, CPU revizuieste datele.

CPU scrie datele la iesire. Fig 14: Modaliatea de

executie a unui

program

Fig 15a: Ciclul de

executie al unui

program

Fig15b: Ciclul de executie al

programului

Limbajele de editoare de programare sunt:

Statement List (STL)

Ladder Logic (LAD)

Function Block Diagram (FBD)

Fig 16. Exemplu de program STL

Fig17. Exemplu de program LAD

Fig 18. Exemplu de program FBD

Elementele de baza in realizarea unui program sunt:

Programul de baza – contine instructiuni care controleaza aplicatia. Acestea sunt

executate secvential.

Subrutinele – sunt elemente optionale de programare si sunt executate doar daca sunt

apelate in programul principal.

Rutinele de intrerupere – sunt elemente optionale memorate ca parti ale programului si

executate atunci cand evenimentul de intrerupere o cere. Regula de excutare a

intreruperilor este : „primul venit, primul servit”.

Fig 19. Exemplu de program folosind o subrutina si o rutina de intrerupere

6. Memoria CPU: Tipuri de date si moduri de adresare

S7-200 CPU prezinta zone specializate de memorie pentru a accesarea datelor de control

mai repede si mai eficient. Zonele de memorie pot fi adresate in doua moduri: direct si

indirect (pointeri).

6.1. Adresarea directa a zonelor de memorie:

CPU-ul lui S7-200 memoreaza informatia in diferite locatii de memorie care au adrese unice.

Utilizatorul poate specifia adresa de memorie pe care o doreste sa o utilizeze, acest lucru

permitand aplicatiei sa aiba acces direct la informatie. Accesarea unui bit in zona de memorie

implica specificarea unei adrese care include: identificarea zonei memoriei, adresa byte-ului,

numarul de biti.

Fig 20: Zone de memorie adresabile

Fig 21: Accesarea unui bit de date din memoria CPU-ului

Se pot accesa date in diferite zone de memorie precum V, I, Q, M, S, L si SM in format byte,

word sau double-word. Astfel, adresarea specificata include: identificatorul zonei de

memorie, dimensiunea datelor, adresa byte de start.

Fig 22: Comparare in accesarea aceleeasi adrese pentru date de tip byte, word si double-word.

Datele din zonele de memorie T, C, HC si AC sunt accesate printr-o adresa care include:

identificatorul de zona, numar (adresa valorii curente).

Adresarea Registrului de Intrare (I)

Accesarea registrului de intrare se poate face în: bit, byte, word sau double-word.

Format: bit: I [byte address].[bit address] I0.1

byte, word, double-word I [size].[starting byte address] IB4

Adresarea Registrului de Ieșire (Q)

Accesarea registrului de ieșire se poate face în: bit, byte, word sau double-word.

Format: bit: Q [byte address].[bit address] Q1.1

byte, word, double-word Q [size].[starting byte address] QB4

Adresarea Zonei de Memorie V (Variabile)

Zona de memorie destinată variabilelor se folosește pentru stocarea rezultatelor

intermediare ale operațiilor. Accesarea zonei de memorie V se poate face în: bit, byte, word

sau double-word.

Format: bit: V [byte address].[bit address] V10.1

byte, word, double-word V [size].[starting byte address] VW100

Adresarea Zonei de Memorie M (Bit Memory)

Zona de memorie Bit Memory se folosește pentru stocarea stărilor intermediare ale

unei operații sau alte informații de control (comunicații de control). Accesarea zonei de

memorie M se poate face în: bit, byte, word sau double-word.

Format: bit: M [byte address].[bit address] M26.7

byte, word, double-word M [size].[starting byte address] MD20

Adresarea Zonei de Memorie S (Sequence Control Relay)

Zona de memorie Sequence Control Relay se folosește pentru organizarea

operațiilor-mașină sau a pașilor în cadrul segmentelor de program. Zonele de memorie S

permit segmentarea logică a programului de control. Accesarea zonei de memorie S se poate

face în: bit, byte, word sau double-word.

Format: bit: S [byte address].[bit address] S3.1

byte, word, double-word S [size].[starting byte address] SB4

Adresarea Zonei de Memorie Speciale (SM)

Zona de memorie specială reprezintă un mijloc de stocare a informației ce comunică

între CPU și programul utilizatorului. Biții zonei de memorie specială sunt folosiți pentru a

controla câteva funcții speciale ale CPU-ului lui S7-200 precum:

- Bitul care pornește primul ciclu de scanare;

- Aranjarea biților la rate fixe;

- Biții care atată starea instrucțiunilor, atât matematice cât și operaționale.

Accesarea zonei de memorie SM se poate face în: bit, byte, word sau double-word.

Format: bit: SM [byte address].[bit address] SM0.1

byte, word, double-word SM [size].[starting byte address] SMB86

Adresarea Zonei de Memorie Locală (L)

Zona de memorie locală este similară zonei de memorie V, cu excepția că zona V are

o acoperire globală pe când zona de memorie L are o acoperire locală (aceeași locație de

memorie nu poate fi accesată din orice entitate program – program principal, subrutină, rutină

de întrerupere). Automatul programabil S7-200 furnizează 64 bytes de memorie locală (L)

pentru transferul parametrilor catre subrutine.

Accesarea zonei de memorie L se poate face în: bit, byte, word sau double-word.

Format: bit: L [byte address].[bit address] L0.0

byte, word, double-word L [size].[starting byte address] LB33

Adresarea Zonei de Memorie Timer (T)

Automatul programabil S7-200 dispune de numărătoare ce numără incrementele de timp,

având rezoluții de 1ms, 10ms sau 100ms. Variabilele accesate de către un numărător sunt:

- Valoarea curentă = un întreg cu semn pe 16 biti care memorează intervalul de timp

înregistrat de catre numărător.

- Timer bit = bit setat ca rezultat al comparației dintre valoarea curentă și valoarea

prestabilită.

Format: T [timer number] T24

Accesarea unei dintre cele două valori (bit sau word) depinde de instrucțiunea folosită.

Astfel, instrucțiunile cu operanzi bit accesează un timer bit, pe când instrucțiunile cu operanzi

word vor accesa valoarea curentă.

Fig 23: Adresarea unei variabile de tip T

Adresarea Zonei de Memorie Counter (C)

Numaratrul unui automat programabil de tip Simatic S7-200 reprezinta un dispozitiv

care numara fiecare tranzitie low-to-high. Unitatea de comanda a lui S7-200 dispune de 3

tipuri de numaratoare: numarator crescator, numarator descrescator, numarator crescator-

descrescator.

Fiecare numarator are 2 variablie principale: valoarea curenta, counter bit.

Format: C [timer number] C20

Fig 24: Adresarea unei variabile de tip C

Adresarea Intrarilor Analogice (AI)

S7-200 converteste valori reale (analogice – temperatura, tensiune etc) in valori

digitale pe 16 biti. Aceste valori pot fi accesate folosind formatul: indentificator (AI),

dimensiunea datelor (W), adresarea byte de start (AIW8).

Format: AIW [starting byte addres] AIW8

Intrarile analogice sunt valori pe 16 biti si incep intotdeauna cu octeti numere pare, de

aceea IA se pot accesa cu adrese de octeti numere pare (AWI0, AIW2, AIW4). Valorile IA

sunt valori read-only!

Fig 25: Adresarea unei variabile de tip AI

Adresarea Iesirilor Analogice (AQ)

S7-200 converteste o valoare digitala pe 16 biti intr-o valoare de curent sau tensiune

(proportionala cu valoarea digitala). Aceste valori pot fi scrise folosind: AQ (identificator), W

(dimensiune date). Adresa byte de start. Iesirile analogice sunt valori pe 16 biti si incep

intotdeauna cu octeti numere pare, rezultand AQ se pot scrie cu adrese de octeti numere pare

(AQW0, AQW2, AQW4 ...).

Valorile AQ sunt valori write-only!

Fig 26: Adresarea unei variabile de tip AQ

Adesarea Acumulatoarelor (AC)

Acumulatoarele sunt dispozitive de citire/scriere care pot fi utilizate ca memorii.

Acumulatoarele pot fi folosite pentru:

Transferul parametrilor la/de la subrutine;

Memorarea valorilor intermediare folosite in calculul.

Unitatea centrala a automatului programabil S7-200 dispune de 4 AC pe 32 biti (ACO, AC1,

AC2, AC3).

Datele din AC pot fi accesate ca: byte, word, double-word.

Format: AC [accumulator number] ACO

Fig 27: Adresarea unei variabile de tip AC

Adresarea High-Speed Counter (HC)

Counterele de mare viteza sunt destinate inregistrarii evenimentelor de foarte mare viteza.

Valoarea curenta a numaratoarelor este un intreg cu semn pe 32 biti.

Format: HC [hidh-speed counter number] HC1

Valoarea curenta este read-only si poate fi adresata doar ca double-word.

Fig 28: Adresarea unei variabile de tip HC

Valori Constante

In instructiunile S7-200 se pot folosi constante, care sunt de tip word, double-word si byte.

CPU memoreaza toate constantele ca numere liniare care pot fi apoi reprezentate in zecimal,

hexazecimal, ASCI sau real in virgula mobila.

6.2. Adresarea Indirecta foloseste un pointer pentru accesarea datelor in

memorie.

CPU S7-200 permite folosirea pointerilor pentru adresarea indirecta a urmatoarelor zone de

memorie: I, Q, V, M, S, T (valoarea curenta), C (valoarea curenta).

Crearea unui pointer.

Pointerii sunt locatii de memorie pe 32 de biti care contin adresa unei alte locatii de memorie.

Se pot folosi ca pointeri doar locatiile de memorie V si L si registrele-acumulatoarelor AC1,

AC2 si AC3. Pentru crearea unui pointer se foloseste instructiunea MOVD (Move Double

Word) pentru a muta adresa locatiei de memorie adesate indirect in locatia pointerilor.

MOVD &VB100, VD204

MOVD &MB4, AC2

MOVD &C4, L6

Operandul de intrare al instrtuctiunii trebuie precedat de & pentru a preciza ca adresa locatiei

de memorie va fi mutata in locatia data de operandul de iesire (pointerul).

Folosirea unui pointer pentru accesarea datelor

Daca se foloseste un asterisc (*) in fata unui operand al unei instructiuni, atunci se specifica

faptul ca operandul este un pointer. In figura de jos, *AC1 arata ca AC1 este un pointer la o

valoare de lungime word, fiind referita de o instructiune MOVW. Astfel, valorile care sunt

memorate in V200 si V201 sunt mutate in acumulatorul AC0.

Fig 29: Adresarea indirecta folosind pointeri

Modificarea unui pointer Deoarece ponterii sunt valori pe 32 de biti, se pot utiliza instructiuni double-word pentru modificarea valorii

unui pointer. Operatii matematice simple precum adunarea sau incrementarea se pot folosi pentru modificarea

valorilor pointerilor. Trebuie sa se tina cont de dimensiunea datelor accesate:

Accesarea Byte => incrementare cu 1 a valorii pointerului

Accesarea word, valoare curenta timer, valoare curenta counter => adunare sau incrementare cu 2 a

valorii pointerului.

Accesarea double-word => adunare sau incrementare cu 4.

Fig 30: Modificarea unui pointer.