Sunteți pe pagina 1din 10

1

Microautomatele programabile SIMATIC S7-200



Pentru automatizarea proceselor industriale firma SIEMENS a dezvoltat o gam de
microsisteme modulare, structurat n 4 clase: S7-200, S7-300, S7-400 i C7. Clasa S7-200 (Micro
Programmable Logic Controller Micro PLC) reprezint o soluie de automatizare a proceselor
de dinamic redus i anvergur mic. Prin multiplele posibiliti de configurare i extindere,
precum i prin standardele de comunicaie implementate, aceste Micro PLC ofer o mare
flexibilitate n dezvoltarea ulterioar a soluiei de automatizare adoptate i n integrarea ei ntr-o
conducere ierarhizat i distribuit.
n vederea unei configurri optime a sistemului numeric clasa S7-200 dispune de modulele
prezentate n Tabelul I.:
Tabelul I. Modulele de configurare ale clasei S7-200
Tip modul Caracteristici Observaii
CPU-221 6 DI & 4 DO & 1 port RS 485 neexpandabil
CPU-222 8 DI & 6 DO& 1 port RS 485 max 2 module extensie
CPU-224 14 DI & 10 DO & 2 porturi RS 485 max 7 module extensie
CPU-224 XP 14 DI & 10 DO & 2 AI & 1 AO & 2 porturi RS 485 max 7 module extensie
C
P
U

CPU-226 24 DI & 10 DO & 2 AI & 1 AO & 2 porturi RS 485 max 7 module extensie
EM-221 8 DI sau 16 DI
EM-222 8 DO Vcc sau 4 DO releu
M
o
d
u
l

D
I
/
D
O

EM-223
4 DI & 4 DO Vcc sau 16 DI & 16 DO Vcc
4 DI & 4 DO releu sau 16 DI & 16 DO releu
8 DI & 8 DO Vcc sau 32 DI & 32 DO Vcc
8 DI & 8 DO releu sau 32 DI & 32 DO releu

EM-231

4 AI sau 8 AI CAN 12 bii

EM-232 2 AO sau 4 AO CNA 12 bii
M
o
d
u
l

A
I
/
A
O

EM-235 4 AI CAN 12 bii & 1 AO CNA 12 bii
EM-277 Comunicaie PROFIBUS
EM-241 Interfa MODEM
SINAUT MD
720-3
GPRS-GSM conexiune MODEM
CP 243-1 Comunicaie Ethernet
CP 243-1 IT Comunicaie Internet
M
o
d
u
l

c
o
m
u
n
i
c
a

i
e

CP 243-2 Modul master interfa AS
EM 231 TC
Msurare temperatur senzori termocuple
4 AI sau 8 AI CAN 16 bii

EM 231 RTD
Msurare temperatur senzori tip rezisten
2 AI sau 4 AI CAN 16 bii

EM 253 Modul comand poziionri motor pas cu pas
M
o
d
u
l
e

s
p
e
c
i
a
l
e

SIWAREX MS Modul msurare greutate cu puni tensometrice
TD 100C 4 linii x 16 caractere
TD 200 2 linii x 20 caractere
TD 400 4 linii x 32 caractere
OP 73 micro 160 x 48 pixeli C
o
n
s
o
l


o
p
e
r
a
t
o
r

TP 177 micro 320 x 240 pixeli Touch panel

n scopul unor automatizri minore unitile centrale au ncorporat un sistem minimal de
interfaare cu semnale logice i analogice de intrare i unul sau dou porturi de comunicaie.

I. Resursele hardware ale unitii centrale CP-222
CP-222 este un sistem numeric cu microcontroler care constituie nucleul de prelucrare a
semnalelor unei structuri de control. Modulul are 2 variante constructive (CPU-222 AC/DC,
CPU222 DC/DC/DC) difereniate prin modul de alimentare (240 Vca, respectiv 24 Vcc) i tipul
ieirilor digitale (cu relee 2 A, respectiv cu tranzistoare 24 Vcc/0.75 A).
Unitatea central CPU-222 DC/DC/DC dispune de 4KB de memorie program de tip
EEPROM (flash) i 2KB de memorie de date. Opional, ea poate fi echipat cu o cartel de

2
memorie de tip flash pentru salvarea complet a programelor utilizator dar i a altor tipuri de
documente.
n ceea ce privete posibilitile de interfaare, modulul are integrate 8 intrri digitale, 6 ieiri
digitale i un port de comunicaie serial de tip RS-485, avnd viteza maxim de comunicaie de
187.5 Kbaud (Fig.1).

Fig.1. Micro PLC CPU-222

Pentru gestionarea evenimentelor declanate intern sau extern se pot utiliza 256 numrtoare
pe 16 bii. De asemenea, pentru realizarea de temporizri (numrarea intervalelor de timp) se
dispune de 256 temporizatoare pe 16 bii, avnd 3 tipuri de rezoluie (Tabelul II).
Tabelul II. Temporizatoarele CPU-222
Rezoluie Tip temporizare Numr temporizator
Cu acumulare (retentive on delay) T0, T64
1 ms
Cu resetare (on/off delay) T32,T96
Cu acumulare (retentive on delay) T1-T4, T65-T68
10 ms
Cu resetare (on/off delay) T33-T36, T97-T100
Cu acumulare (retentive on delay) T5-T31,T69-T95
100 ms
Cu resetare (on/off delay) T37-T63,T101-T255

Cele 8 intrri digitale pot fi utilizate n configuraie standard (citire stare traductoare/butoane
logice) ns unele pot fi configurate i pentru implementarea de funcii tehnologice. Astfel, CPU-
222 dispune de 4 numrtoare de mare vitez, de 32 bii (High-Speed Counters HSC0, HSC3,
HSC4, HSC5), fiecare avnd 12 moduri de funcionare. Cu aceste resurse interne, de exemplu, se
poate configura uor un port de citire a informaiei de poziie provenit de la un traductor
incremental rotativ (TIRO), semnalele acestuia putnd fi conectate, n funcie de modul ales, la
primele 6 intrri numerice.
De asemenea, sistemul dispune de dou generatoare interne de semnale de frecven variabil
i factor de umplere 50% (Pulse Train Operation PTO) sau cu factor de umplere variabil (Pulse
Width Modulation PWM), primul generator fiind asociat ieirii digitale 0 iar cel de-al doilea
ieirii digitale 1. n acest fel, pe lng utilizarea standard a ieirilor digitale, de comand a
elementelor de execuie binare, primele dou ieiri pot fi utilizate i ca generatoare de semnal
digital cu parametri dependeni de timp, frecvena maxim de lucru fiind de 20 KHz.

II. Resursele software ale unitii centrale CP-222
CPU-222 dispune de un sistem de operare propriu, care permite prelucrarea informaiei att la
nivel de bit (automat programabil cu prelucrare pe bit) ct i la nivel de cuvnt (automat
programabil cu prelucrare pe cuvnt). Prelucrarea informaiei se realizeaz n cadrul fiecrui ciclu
de scanare conform cu Fig 2. Dup cum se observ, n mod normal, citirea intrrilor se realizeaz
la nceputul unui ciclu de scanare iar valorile acestora sunt copiate ntr-un registru imagine.
Prelucrrile ulterioare care folosesc stri ale intrrilor digitale vor folosi valorile din acest
registru. Dac ns se dorete citirea unei valori la momentul prelucrrii se impune utilizarea
instruciunilor de citire imediat.


3
















Fig.2. Ciclul de scanare al Micro PLC CPU-222
De asemenea, pe msur ce valorile variabilelor de ieire sunt disponibile n urma execuiei
programului utilizator acestea nu sunt actualizate imediat ci sunt nscrise ntr-un registru imagine
al ieirilor. Actualizarea ieirilor se realizeaz la sfritul ciclului de scanare, prin copierea
valorilor din registrul imagine n ieirile fizice ale unitii centrale. Totui, dac se impune
actualizarea imediat a acestora trebuie utilizate instruciuni de atribuire imediat.
ntre momentul finalizrii execuiei programului utilizator i cel al actualizrii ieirilor
automatul programabil execut funcii asociate propriului sistem de operare. Astfel, n aceast
etap sunt executate att funciile de comunicaie cu panoul operator sau consola de programare/
monitorizare / depanare ct i cele de diagnoz a strii de bun funcionare.

n cadrul unei aplicaii sunt prelucrate urmtoarele tipuri de date
Reprezentare Byte (B) Word (W) Double Word (D)
unsigned integer 0255 065535 04294967295
signed integer -128127 -3276832767 -21474836482147483647
real (floating point) - - -3.4028E383.4028E38

Pe lng memoria de date utilizator (2KB) Micro PLC-222 mai dispune de urmtoarele
resurse:
Registrul imagine pentru intrri digitale (I0.0I15.7);
Registrul imagine pentru ieiri digitale (Q0.0Q15.7);
Zona de memorie pentru variabile intermediare globale (VB0VB2047);
Zona de memorie pentru variabile intermediare locale (LB0LB63);
Zona de memorie de bit pentru variabile logice intermediare (M0.0M31.7);
Memorie special (SM0.0SM299.7);
Intrri analogice (AIW0, AIW2, ... AIW30);
Ieiri analogice (AQW0, AQW2, ... AQW30);
4 registre acumulator de 32 bii (AC0AC3);
Zona de memorie pentru temporizatoare (T0T255);
Zona de memorie pentru numrtoare (C0C255);
4 numrtoare de mare vitez (HC0, HC3, HC4, HC5).
Datele asociate unei aplicaii sunt memorate n diferite locaii de memorie care au adrese
unice. Pentru a se accesa un bit dintr-o zon de memorie organizat pe octei se utilizeaz tehnica
de adresare direct byte.bit de forma:
[ID_zon_memorie][Adres_byte.Numr_bit]
Exemplu: I0.0, Q0.3
START
Citire intrri
Execuie program utilizator
Funcii de comunicaie
Diagnoz CPU
Actualizare ieiri

4
Pe de alt parte accesul datelor la nivel de octet, cuvnt sau cuvnt dublu se realizeaz dup
formatul:
[ID_zon_memorie][Dimensiune][Adres_byte_start]
Exemplu: VB100, VW100, VD100
Datele multioctet sunt memorate dup convenia big-endian, adic la adresa mai mic este
memorat octetul mai semnificativ.
Observaii:
1. Pentru adresarea dispozitivelor sistemului (numrtoare, temporizatoare, numrtoare de
mare vitez, acumulatoare) se utilizeaz urmtorul format de adresare:
[ID_zon_memorie][Numr_dispozitiv]
Exemplu: C0, T1, HC3, AC2
2. Unui dispozitiv de temporizare i sunt asociate dou variabile:
valoarea curent, care reprezint un ntreg pe 16 bii avnd semnificaia de numr de
intervale de timp contorizate;
valoarea logic a temporizatorului, care desemneaz starea logic a comparaiei dintre
valoarea predefinit i cea curent.
Pentru a accesa aceste dou tipuri de valori trebuie folosite instruciuni corespunztoare (cu
operanzi pe cuvnt, respectiv cu operanzi pe bit).
3. Biii memoriei speciale ofer posibilitatea de-a se realiza o comunicare ntre CPU-222 i
programul utilizator. Ei pot fi utilizai pentru a selecta i controla unele funcii speciale ale CPU.
De exemplu, SM0.1 are valoarea 1 numai pe perioada primului ciclu de scanare. n acest fel se
poate apela condiionat o subrutin de iniializare.

Accesarea datelor din memorie se poate realiza i prin tehnica de adresare indirect folosind
pointeri. Pointerul reprezint un cuvnt dublu (D) care conine adresa unei alte locaii de memorie.
Ca i n limbajele de programare de nivel mediu (de exemplu C), definirea unui pointer se
realizeaz prin utilizarea caracterului ampersand (&), urmat de adresa locaiei de memorie
adresat. Operandul de intrare al unei instruciuni precedat de acest caracter semnific faptul c n
transfer este implicat adresa locaiei de memorie i nu coninutul acesteia. Pe de alt parte,
utiliznd un asterisc (*) n faa unui operand al unei instruciuni se specific faptul c acel operand
este un pointer al unei locaii de memorie.
Exemplu:
MOVD &VW200, AC1 - Creeaz un pointer, prin copierea adresei variabilei VW200 n AC1
MOVW *AC1, AC0 - Copiaz valoarea adresat de AC1 (adic VW200) n AC0.

Observaie: Pentru a preciza o valoare constant ca operand sunt utilizate urmtoarele formate:
[valoare zecimal] Exemplu: 255
16#[valoare hexazecimal] Exemplu: 16#FF
2#[numr_binar] Exemplu: 2#11111111
[text ASCII] Exemplu: text
[ir caractere] Exemplu: ir

Orice aplicaie poate fi dezvoltat cu ajutorul unui program principal i al unui numr de
subrutine apelate explicit sau executate ca urmare a unei cereri de ntrerupere declanat de
diverse evenimente. n Tabelul III sunt prezentate o parte din aceste evenimente precum i nivelul
lor de prioritate. Spre deosebire de subrutinele asociate unor ntreruperi, subrutinele apelate
explicit pot fi apelate recursiv (apelul unei subrutine din interiorul altei subrutine) pn la nivelul 8
de imbricare.
Pentru dezvoltarea de aplicaii necesare unei automatizri se utilizeaz mediul de dezvoltare
STEP 7 - Micro/Win V4. El conine toate instrumentele utile unei elaborri rapide i uoare a unui
program: editor, compilator, depanator, program de transfer fiier obiect.


5
Tabelul III. Evenimente generatoare de ntreruperi
Numr eveniment Descriere ntrerupere Grupul de prioritate Prioritatea n grup
8 Recepie caracter Port 0 0
9 Transmisie caracter Port 0 0
23 Recepie complet mesaj
Comunicaie
(prioritate maxim)
0
19 PTO 0 complet 0
20 PTO 1 complet 1
0 front cresctor I0.0 2
2 front cresctor I0.1 3
4 front cresctor I0.2 4
6 front cresctor I0.3 5
1 front cztor I0.0 6
3 front cztor I0.1 7
5 front cztor I0.2 8
7 front cztor I0.3 9
12 CV=PV HSC0 (val.curent=val.predefinit) 10
27 Schimbare direcie HSC0 11
28 Reset extern HSC0 12
32 CV=PV HSC3 (val.curent=val.predefinit) 19
29 CV=PV HSC4 (val.curent=val.predefinit) 20
30 Schimbare direcie HSC4 21
31 Reset extern HSC4 22
33 CV=PV HSC5 (val.curent=val.predefinit)
Evenimente discrete
(prioritate medie)
23
10 ntrerupere ciclic 0 (T
e
=SMB34) 0
11 ntrerupere ciclic 1 (T
e
=SMB35) 1
21 CV=PV T32 (val.curent=val.predefinit) 2
22 CV=PV T96 (val.curent=val.predefinit)
Temporizri
(prioritate mic)
3

Programarea aplicaiilor se poate realiza folosind unul din cele trei editoare disponibile:
Ladder Logic (LAD);
Function Block Diagram (FBD);
Statement List (STL).
Primele dou editoare permit programarea grafic intuitiv, folosind fie strategia logicii
constituit pe relee de contact, fie cea constituit pe diagrame de pori logice elementare.
Programarea grafic cu ajutorul editorului LAD se bazeaz pe emularea circulaiei curentului
electric de la o surs de putere printr-o serie de condiii de intrare logice care, la rndul lor,
valideaz condiiile de ieire logice. Strategia de programare presupune existena n partea stng
a diagramei a unei bare energizate care, prin diferite condiii logice de contact, poate comanda
bobina unui element de execuie binar. Un astfel de program este structurat n reele care sunt
executate ciclic de la stnga la dreapta i de sus n jos. n afar de simbolurile de contact (condiii
logice de intrare) i cele de bobine (ce reprezint rezultatul logicii de ieire), editorul folosete i
chenare dreptunghiulare care includ instruciuni suplimentare asociate dispozitivelor
(numrtoare, temporizatoare) sau instruciunilor aritmetice. Un astfel de editor este recomandat
programatorilor neexperimentai, fiind uor de neles i suficient de utilizat n lume.
Ca i editorul anterior, editorul FBD permite, de asemenea, dezvoltarea grafic a aplicaiilor.
Spre deosebire de LAD, care utilizeaz conceptul de flux de putere furnizat de bara energizat,
FBD folosete conceptul de flux de control stabilit cu ajutorul blocurilor logice interconectate. n
acest caz elementele de contact sau bobinele de releu sunt substituite cu pori logice elementare
care asigur prelucrri echivalente. O astfel de programare permite o bun reprezentare pentru
urmrirea fluxului de prelucrare ntr-o aplicaie.
n comparaie cu editoarele LAD i FBD, editorul STL impune o programare textual
convenional bazat pe utilizarea unui limbaj de asamblare asociat automatelor programabile
din clasa S7-200. Dei programarea este mai laborioas, adresndu-se n mod special
programatorilor cu experien, acest mod de dezvoltare a aplicaiilor permite rezolvarea unor
probleme de automatizare imposibil de implementat prin programare grafic.

6
III. Setul de instruciuni al Micro PLC-222
Setul de instruciuni implementat pentru programare textual este suficient de variat pentru a
nlesni implementarea uoar a soluiilor de automatizare. El reunete att tipurile de instruciuni
specifice unui automat programabil cu prelucrare pe bit, utilizat pentru automatizarea proceselor
secveniale, ct i cele specifice unui microcontroler, utilizat pentru controlul proceselor dinamice.
n cea de-a doua categorie se regsesc instruciuni logice i aritmetice la nivel de octet, cuvnt sau
cuvnt dublu dar i instruciuni de aritmetic n virgul mobil. Sunt, de asemenea, bine
reprezentate i instruciunile de lucru cu iruri de caractere, tabele de cutare precum i
instruciunile de conversie a diferitelor formate de reprezentare a informaiei. Pentru structurarea
i controlul programului sunt disponibile instruciuni corespunztoare, facilitnd astfel dezvoltarea
de funcii specifice prin subrutine sau lucrul cu ntreruperi, validarea sau invalidarea sistemului de
ntreruperi etc.
Dei setul de instruciuni al celor mai multe automate programabile realizate de diferii
productori are n esen aceleai tipuri de instruciuni, exist ns i mici diferene n modul de
parametrizare i/sau operate. De aceea, de-a lungul timpului, Comisia Electrotehnic
Internaional (International Electrotechnical Commission IEC) a elaborate un standard global
(IEC 1131-3) care ine cont de cele mai multe aspecte specifice de programare a PLC. Prin acest
standard se ncurajeaz productorii de astfel de echipamente s implementeze seturi de
instruciuni care s fie compatibile att n modul de parametrizare ct i n cel de operare.
n anexa I sunt prezentate instruciunile limbajului de asamblare pentru clasa de Micro PLC
S7-200. Ultima coloan a tabelului marcheaz instruciunile compatibile cu standardul IEC 1131.

Instruciuni cu prelucrare pe bit
Pentru implementarea logicii de control limbajul de programare textual STL utilizeaz o
stiv logic cu o geometrie 9 x 1b (Fig.3a). Valorile vi0vi8 noteaz valorile iniiale oarecare ale
stivei. Instruciunile de transfer (LD, LDI, LDN, LDNI) ncarc o valoare nou (vn) n stiv. Dup
execuie valoarea iniial vi8 este pierdut.













a. b. c. d. e.
Fig.3. Operaii logice cu stiva
Instruciunile logice (A, AI, AN, ANI, O, OI, ON, ONI) realizeaz operaiile corespunztoare
dintre operandul precizat explicit i valoarea iniial din vrful stivei (vi0) salvnd rezultatul
s0=[vi0][operaie][bit] tot n vrful stivei (Fig.3b). Instruciunea NOT complementeaz valoarea
din vrful stivei (s0=/vi0).
Instruciunile logice ale stivei (ALD, OLD) efectueaz operaiile logice corespunztoare
dintre valorile primelor dou nivele ale stivei, rezultatul s0=[vi0][operaie][vi1] fiind salvat n
vrful stivei. n urma execuiei acestor tipuri de instruciuni adncimea stivei descrete cu un
nivel, valoarea variabilei din ultimul nivel fiind nepredictibil (Fig.3.c.).
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vn
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
s0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
s0
vi2
vi3
vi4
vi5
vi6
vi7
vi8
x
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vi0
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
x

7
Instruciunea LPS (Logic Push) duplic valoarea din vrful stivei i o mpinge n stiv,
pierzndu-se astfel ultima valoare (Fig.3.d). Instruciunea LPP(Logic Pop) scoate din stiv
valoarea din vrful stivei, valoarea nivelului doi devenind noua valoare a vrfului stivei (Fig.3.e).












a. b.
Fig.4. Alte operaii logice cu stiva

Instruciunea LRD (Logic Read) copiaz valoarea nivelului doi n vrful stivei. Stiva nu este
micat ns valoarea veche din vrful stivei este distrus prin supranscriere (Fig.4.a).
Instruciunea LDS (Load Stack) duplic bitul din nivelul N i plaseaz aceast valoare n
vrful stivei. Prin deplasarea stivei ultima valoare este pierdut (Fig.4.b).
Instruciunile EU (Edge Up) respectiv ED (Edge Down) seteaz valoarea din vrful stivei
dac detecteaz o variaie n sensul precizat al valorii iniiale din vrful stivei; altfel valoarea stivei
este resetat.
Instruciunile de atribuire (=, =I) copiaz valoarea vrfului stivei n registrul imagine al ieirii
precizate.
Instruciunile de iniializare (S, SI, R, RI) poziioneaz corespunztor un numr N precizai de
bii, ncepnd cu adresa bitului specificat explicit.
Execuia secvenial a instruciunilor grafice condiionate se bazeaz pe principiul lanului tip
daisy-chain (EN- Enable In ENO Enable Out). Corespunztor, n STL o astfel de instruciune este
condiionat de valoarea din vrful stivei. Dac o instruciune condiionat este executat cu
succes se seteaz un bit special ENO. Acest bit este accesibil cu ajutorul instruciunii And ENO
(AENO).


















vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vi1
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7
vi8
vi2
vi0
vi1
vi2
vi3
vi4
vi5
vi6
vi7

8
Anexa I. Setul de instruciuni al clasei Micro PLC S7-200

Instruciuni pe bit

Sintax STL Operaie IEC
LD Bit
LDI Bit
LDN Bit
LDNI Bit
Load
Load Immediate
Load Not
Load Not Immediate




A Bit
AI Bit
AN Bit
ANI Bit
AND
AND Immediate
AND Not
AND Not Immediate




I
n
t
r

r
i

O Bit
OI Bit
ON Bit
ONI Bit
OR
OR Immediate
OR Not
OR Not Immediate




S
t
i
v


NOT
ALD
OLD
LPS
LRD
LPP
LDS N
EU
ED
Stack Negation
And Load
Or Load
Logic Push (stack control)
Logic Read (stack control)
Logic Pop (stack control)
Load Stack (stack control)
Detection of Rising Edge
Detection of Falling Edge






I
e

i
r
i

= Bit
=I Bit
S Bit, N
R Bit, N
SI Bit, N
RI Bit, N
AENO
NOP N
Assign Value
Assign Value Immediate
Set bit Range
Reset bit Range
Set bit Range Immediate
Reset bit Range Immediate
And ENO
No Operation








C
o
m
p
a
r
a

i
i

LDBx IN1, IN2
ABx IN1, IN2
OBx IN1, IN2
LDWx IN1, IN2
AWx IN1, IN2
OWx IN1, IN2
LDDx IN1, IN2
ADx IN1, IN2
ODx IN1, IN2
LDRx IN1, IN2
ARx IN1, IN2
ORx IN1, IN2
LDSx IN1, IN2
ASx IN1, IN2
OSx IN1, IN2
Load result of Byte Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
AND result of Byte Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
OR result of Byte Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
Load result of Word Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
AND result of Word Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
OR result of Word Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
Load result of DWord Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
AND result of DWord Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
OR result of DWord Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
Load result of Real Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
AND result of Real Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
OR result of Real Compare; IN1 (x:<, <=,=, >=, >, <>) IN2
Load result of String Compare; IN1 (x: =, <>) IN2
AND result of String Compare; IN1 (x: =, <>) IN2
OR result of String Compare; IN1 (x: =, <>) IN2

N
u
m

t
o
a
r
e
CTU Cxxx, PV
CTD Cxxx, PV
CTUD Cxxx, PV
HDEF HSC, MODE
HSC N
PLS Q
Count Up
Count Down
Count Up/Down
Define High-Speed Counter mode
Activate High-Speed Counter
Pulse Output






T
e
m
p
o
r
i
z
a
t
o
a
r
e

TON Txxx, PV
TOF Txxx, PV
TONR Txxx, PV
BITIM OUT
CITIM IN, OUT


On-Delay Timer
Off-Delay Timer
Retentive On-Delay Timer
Beginning Interval Time
Calculate Interval Time







9
Instruciuni pe cuvnt
Sintax STL Operaie IEC
I
n
s
t
r
u
c

i
u
n
i


t
r
a
n
s
f
e
r

MOVB IN, OUT
MOVW IN, OUT
MOVD IN, OUT
MOVR IN, OUT
BIR IN, OUT
BIW IN, OUT
BMB IN, OUT, N
BMW IN, OUT, N
BMD IN, OUT, N
SWAP IN


Move Byte, Word, DWord, Real

Move Byte Immediate Read
Move Byte Immediate Write

Block Move Byte, Word, Dword

Swap Bytes







I
n
s
t
r
u
c

i
u
n
i



l
o
g
i
c
e

INVB OUT
INVW OUT
INVD OUT
ANDB IN1, OUT
ANDW IN1, OUT
ANDD IN1, OUT
ORB IN1, OUT
ORW IN1, OUT
ORD IN1, OUT
XORB IN1, OUT
XORW IN1, OUT
XORD IN1, OUT

Invert Byte, Word and Dword (1s complement)


Logical AND of Byte, Word, and Dword


Logical OR of Byte, Word, and Dword


Logical XOR of Byte, Word, and DWord

R
o
t
a

i
i
/
D
e
p
l
a
s

r
i

RRB OUT, N
RRW OUT, N
RRD OUT, N
RLB OUT, N
RLW OUT, N
RLD OUT, N
SRB OUT, N
SRW OUT, N
SRD OUT, N
SLB OUT, N
SLW OUT, N
SLD OUT, N
SHRB DATA, S_BIT,N

Rotate Right Byte, Word, Dword


Rotate Left Byte, Word, Dword


Shift Right Byte, Word, Dword


Shift Left Byte, Word, Dword

Shift Register Bit













C
o
n
v
e
r
s
i
i

d
e

t
i
p

BTI IN, OUT
ITB IN, OUT
ITD IN, OUT
DTI IN, OUT
DTR IN, OUT
TRUNC IN, OUT
ROUND IN, OUT
BCDI OUT
IBCD OUT
ATH IN, OUT, LEN
HTA IN, OUT, LEN
ITA IN, OUT, FMT
DTA IN, OUT, FMT
RTA IN, OUT, FMT
ITS IN, FMT, OUT
DTS IN, FMT, OUT
RTS IN, FMT, OUT
STI STR, INDX, OUT
STD STR, INDX, OUT
STR STR, INDX, OUT
DECO IN, OUT
ENCO IN, OUT
SEG IN, OUT
Convert Byte to Integer
Convert Integer to Byte
Convert Integer to Double Integer
Convert Double Integer to Integer
Convert DWord to Real
Convert Real to Double Integer
Convert Real to Double Integer
Convert BCD to Integer
Convert Integer to BCD
Convert ASCII to Hex
Convert Hex to ASCII
Convert Integer to ASCII
Convert Double Integer to ASCII
Convert Real to ASCII
Convert Integer to String
Convert Double Integer to String
Convert Real to String
Convert Substring to Integer
Convert Substring to Double Integer
Convert Substring to Real
Decode
Encode
Generate 7-segment pattern

























10

i
r
u
r
i

d
e

c
a
r
a
c
t
e
r
e
SLEN IN, OUT
SCAT IN, OUT
SCPY IN, OUT
SSCPY IN, INDX, N, OUT
CFND IN1, IN2, OUT
SFND IN1, IN2, OUT
String Length
Concatenate String
Copy String
Copy Substring from String
Find First Character within String
Find String within String






A
r
i
t
m
e
t
i
c

n

v
i
r
g
u
l




f
i
x


+I IN1, OUT
+D IN1, OUT
-I IN1, OUT
-D IN1, OUT
MUL IN1, OUT
*I IN1, OUT
*D IN1, OUT
DIV IN1, OUT
/I IN1, OUT
/D IN1, OUT
INCB OUT
INCW OUT
INCD OUT
DECB OUT
DECW OUT
DECD OUT
Add Integer or Double Integer;
IN1+OUT=OUT
Subtract Integer or Double Integer
OUT-IN1=OUT
Multiply Integer (16*16->32)
Multiply Integer or Double Integer
IN1 * OUT = OUT
Divide Integer (16/16->32)
Divide Integer or Double Integer
OUT / IN1 = OUT

Increment Byte, Word or Dword


Decrement Byte, Word, or Dword

A
r
i
t
m
e
t
i
c

n

v
i
r
g
u
l


m
o
b
i
l

+R IN1, OUT
-R IN1, OUT
*R IN1, OUT
/R IN1, OUT
SQRT IN, OUT
LN IN, OUT
EXP IN, OUT
SIN IN, OUT
COS IN, OUT
TAN IN, OUT
PID TBL, LOOP
Add Real; IN1+OUT=OUT
Subtract Real; OUT-IN1=OUT
Multiply Real; IN1 * OUT=OUT
Divide Real; OUT/IN1 = OUT
Square Root
Natural Logarithm
Natural Exponential
Sine
Cosine
Tangent
PID Loop







T
a
b
e
l
e

ATT DATA, TBL
FILL IN, OUT, N
FND= TBL, PTN, INDX
FND<> TBL, PTN, INDX
FND< TBL, PTN, INDX
FND> TBL, PTN, INDX
LIFO TBL, DATA
FIFO TBL, DATA
Add data to table
Fill memory space with pattern

Find data value in table that matches comparison


Get data from table









Instruciuni control program
Sintax STL Operaie IEC

FOR INDX,INIT,FINAL

NEXT
JMP N
LBL N
END
STOP
CALL N [N1,...]
CRET
ATCH INT, EVNT
DTCH EVNT
CEVNT EVNT
ENI
DISI
CRETI
WDR

For/Next Loop

Jump to defined Label
Define a Label to Jump to
Conditional End of Program
Transition to STOP Mode
Call a Subroutine [N1, ... up to 16 optional parameters]
Conditional Return from SBR
Attach Interrupt routine to event
Detach event
Clear Interrupt event
Enable Interrupts
Disable Interrupts
Conditional Return from Interrupt
WatchDog Reset (300 ms)

S-ar putea să vă placă și