Documente Academic
Documente Profesional
Documente Cultură
SFATURI SIMATIC
Automatizare total integrată
Note de aplicare
Declarația STL este cea mai mică „piesă” a unui program utilizator. Acesta definește o sarcină specifică pe care să
o efectueze CPU, cum ar fi încărcarea unei variabile într-un registru sau efectuarea unei operații matematice.
Structura unei instrucțiuni STL este prezentată mai jos, iar elementele individuale ale instrucțiunii sunt descrise
în continuare.
A) Etichetă – eticheta este un „nume” opțional atribuit unei declarații utilizate pentru „Sărit” sau
Operații „buclă”.
B) Operare – operațiunea este „sarcina care trebuie efectuată”, cum ar fi încărcare, transfer, adăugare.
C) Operand – operandul este „variabila” (sau datele) care trebuie manipulată de această declarație.
Operandul poate fi o „valoare” reală sau poate fi o adresă de memorie care conține datele sau poate fi
un pointer către o adresă de memorie care conține datele
Clienții SIMATIC NET pot folosi gratuit sfaturile aplicației. Aceste sfaturi sunt doar o abordare generală a utilizării SIMATIC NET cu diverse aplicații.
Aplicația dvs. specifică poate fi diferită. Este responsabilitatea dumneavoastră să utilizați corect SIMATIC NET în aplicațiile dumneavoastră.
Machine Translated by Google
B) Adresare directă - Adresarea directă se referă la utilizarea unei adrese reale de memorie sau obiect
pentru a specifica locația operandului. Un exemplu de listă de instrucțiuni ar fi încărcarea valorii
conținute în cuvântul Marker 46 în acumulator. Adresa operandului este denumită în mod explicit în
operație
A. L MW46 // Încărcați acumulatorul cu conținutul MW46
C) Adresare indirectă – Adresarea indirectă se referă la utilizarea unui „pointer” pentru a indica unde poate fi
găsită adresa operandului. Un exemplu de listă de instrucțiuni ar fi încărcarea acumulatorului cu conținutul
unui cuvânt de memorie, a cărui adresă este conținută într-un pointer. Adresa operandului nu este
calculată până la runtime. Acoladele sunt folosite pentru a semnifica o adresă indirectă către operand
B) Registru Adresare indirectă – În registrul de adresare indirectă, un registru de adrese este utilizat
pentru a calcula adresa reală a datelor. „Indicatorul” către adresa reală a datelor este stocat într-unul
dintre cele două registre de adrese ale PLC-ului, iar acesta este combinat cu o valoare „offset” pentru
a calcula adresa variabilei. Înregistrați adresa indirectă este forma cel mai bine acceptată de STL,
deoarece puteți afișa direct conținutul registrului de adrese pentru a vedea unde este îndreptat
indicatorul. Adresarea indirectă Register se execută, de asemenea, mai rapid decât adresarea indirectă
în memorie. Adresarea indirectă a Registrului poate fi folosită și pentru situații de programare în care
nu cunoașteți în mod explicit Zona de memorie a datelor reale până la timpul de execuție. Înregistrați
adresarea indirectă este tratată mai complet într-o notă a aplicației însoțitoare „Indicatori și adresare
indirectă în PLC-urile S7, volumul 2 – Înregistrați adresarea indirectă”
Clienții SIMATIC NET pot folosi gratuit sfaturile aplicației. Aceste sfaturi sunt doar o abordare generală a utilizării SIMATIC NET cu diverse aplicații.
Aplicația dvs. specifică poate fi diferită. Este responsabilitatea dumneavoastră să utilizați corect SIMATIC NET în aplicațiile dumneavoastră.
Machine Translated by Google
Exemplu cometariu
L MW [MD44] Acumul de încărcare din cuvântul marker a cărui adresă este stocată în MD 44, Dacă
MD44 conține Pointerul P#122.0, atunci această operație va încărca conținutul MW122
în acumulator.
L MW [DBD12] Acum . de la cuvântul marcator a cărui adresă este în DBD 12, Dacă DBD
12 conține pointerul P#122.0, atunci această operație va încărca conținutul
MW122 în acumulator.
Adresarea indirectă în memorie a memoriei de intrare periferică este prezentată mai jos:
Exemplu cometariu
L PIB [MD22] Acumul de încărcare de la octetul PI a cărui adresă este în MD 22, Dacă MD22
conține pointerul P#122.0, atunci această operație va încărca conținutul PIB 122 în
acumulator.
L PIW [DBD38] Încărcare acum. din cuvântul PI a cărui adresă este în DBD 38, dacă DBD 38
conține Pointerul P#122.0, atunci această operație va încărca conținutul PIW 122 în
acumulator.
Register Adresarea indirectă a memoriei de intrare periferică este prezentată mai jos:
Exemplu cometariu
LAR1 P#20.0 Preîncărcați Registrul de adrese 1 (AR1) cu un indicator (20.0). Apoi încărcați
L acumulatorul cu conținutul Marker Byte adresat de suma AR1 și offset-ul
MB [AR1, P#0.0]
P#0.0. În acest caz, acumulatorul ar fi încărcat cu conținutul MB20
Clienții SIMATIC NET pot folosi gratuit sfaturile aplicației. Aceste sfaturi sunt doar o abordare generală a utilizării SIMATIC NET cu diverse aplicații.
Aplicația dvs. specifică poate fi diferită. Este responsabilitatea dumneavoastră să utilizați corect SIMATIC NET în aplicațiile dumneavoastră.
Machine Translated by Google
Aceste obiecte bloc pot fi adresate indirect prin utilizarea unei forme întregi de adresare indirectă de memorie.
Exemple de această formă de adresare indirectă sunt prezentate în tabelul de mai jos
Exemplu cometariu
OPN DB [MW22] Aceasta va deschide un bloc de date a cărui adresă (numărul blocului de date)
este stocată ca număr întreg în MW22. Dacă MW22 conține valoarea întreagă
126, apoi blocul de date 126 va fi deschis.
RT [MW14} Această operațiune resetează cronometrul al cărui număr este stocat în MW14.
Dacă MW14 conține 24, atunci Timer #24 va fi resetat
Indicatori
Pointerii sunt „tipuri de date” speciale care sunt structurate pentru a conține o adresă de memorie S7. Pointerii pot
fi stocați ca „date” fie în locații de memorie, fie în registrele CPU S7. Există trei „clase” de pointeri conținute în
arhitectura S7. Acestea includ:
Această notă de aplicație va descrie „indicatori de zonă” în detaliu. Mai multe informații despre pointerii DB și
ORICE pointeri pot fi găsite și în nota aplicației însoțitoare „Pointers and indirect addressing in S7 PLCs, Volume 2
– Register Indirect Addressing”.
Indicatori de zonă
În general, un indicator de zonă trebuie să conțină cele trei componente de bază, așa cum se arată mai jos,
pentru a specifica o locație în memoria S7
A) Zona de adresă – zona de adrese a adresei descrie zona de memorie care este adresată. În general, zonele
de adrese S7 includ I/O periferice (PI și PQ), imagine de intrare și ieșire (I și Q), memorie de marcare (M),
date globale (DBx), date de instanță (DIx), date locale temporare (L ), și date locale temporare ale „blocului
apelant” (V). Zona de adrese poate conține, de asemenea, o specificație „nulă”, adică indicatorul care conține
doar o valoare „byte.bit”
B) Adresă octet – adresa octet este un număr care specifică decalajul octet în memorie
zonă. Adresa octet a unei zone de adrese începe de la octetul 0
Clienții SIMATIC NET pot folosi gratuit sfaturile aplicației. Aceste sfaturi sunt doar o abordare generală a utilizării SIMATIC NET cu diverse aplicații.
Aplicația dvs. specifică poate fi diferită. Este responsabilitatea dumneavoastră să utilizați corect SIMATIC NET în aplicațiile dumneavoastră.
Machine Translated by Google
Pointerii de zonă pe 32 de biți sunt construiti așa cum se arată în figura de mai jos. Este format din 4 octeți de
informații. Conținutul octetilor este descris mai jos.
Unde:
Tip de zonă = zona de memorie așa cum este specificat în tabelul de mai jos
Valoarea biților
Un tip de date Pointer este identificat în limbajele de programare S7 prin formatul „P#adresă”, unde „adresă” este
adresa de memorie care trebuie transformată într-un pointer, de exemplu:
Pointerii pot fi, de asemenea, creați folosind numele simbolic al unei locații de memorie. De exemplu, dacă tabelul de
simboluri include un simbol numit „Valve_12” care este atribuit lui M12.3, atunci folosind
LP# 123.0 Această operație în doi pași încarcă un „pointer intern de zonă” în
acumulator și apoi transferă valoarea indicatorului în MD4, care
T MD4 poate fi acum utilizat pentru o operație de adresare indirectă.
MD4 conține acum
00000000 00000000 00000011 11011000
LP# 123.0 Această operație în trei pași încarcă un indicator cu valoarea 123,0
în acumulator și stochează indicatorul în locația cuvântului dublu
T MD4 MD4. A treia instrucțiune va folosi apoi „indicatorul” găsit în MD4
. pentru a indica locația M123.0 și va încărca conținutul MB123 în
acumulator.
L MB [MD4]
Operațiunea indicatorului „Încrucișare zonă”. Descriere
OT [QW12]*
LT [MW12]*
Funcții de bloc OPN (aDB de deschidere) OPN DB [mw12]*
// Aceasta presupune că există un simbol întreg numit „index” care // Locație Element
conține indexul (de la 0 la 179) în tabel de masă
SLD 3 // Schimbați la stânga cu 3 biți pentru a crea un „indicator de index” MB21 Elementul 1
Clienții SIMATIC NET pot folosi gratuit sfaturile aplicației. Aceste sfaturi sunt doar o abordare generală a utilizării SIMATIC NET cu diverse aplicații.
Aplicația dvs. specifică poate fi diferită. Este responsabilitatea dumneavoastră să utilizați corect SIMATIC NET în aplicațiile dumneavoastră.
Machine Translated by Google
Programul „Simple Arrays” include un set de șase Funcții (FC10 până la FC15) pentru citirea și scrierea în matrice
de date BYTE, INTEGER sau FLOATING POINT. Programul include, de asemenea, un OB1 principal, trei blocuri
de date care conțin matrice de testare și trei tabele TVA pentru exercitarea acestor funcții.
Biblioteca cu șase funcții de manipulare a matricei va fi disponibilă pentru utilizare în catalogul de instrucțiuni,
așa cum se arată în figura de mai jos.
Informații conexe
Mai multe informații detaliate despre limbajul de programare Listă de instrucțiuni S7 pot fi găsite într-un
manual de Hans Berger numit „Automatizarea cu STEP7 în STL și SCL” ISBN
Numărul 3-89578-140-1
Clienții SIMATIC NET pot folosi gratuit sfaturile aplicației. Aceste sfaturi sunt doar o abordare generală a utilizării SIMATIC NET cu diverse aplicații.
Aplicația dvs. specifică poate fi diferită. Este responsabilitatea dumneavoastră să utilizați corect SIMATIC NET în aplicațiile dumneavoastră.
Machine Translated by Google
Note generale
Sfaturile pentru aplicații SIMATIC sunt furnizate pentru a oferi utilizatorilor produselor Simatic ale Siemens câteva
indicații cu privire la modul în care, din punctul de vedere al tehnicii de programare, pot fi rezolvate anumite sarcini.
Aceste instrucțiuni nu pretind să acopere toate detaliile sau variațiile echipamentelor și nici nu prevăd orice
eventualitate posibilă. Utilizarea Sfaturilor de aplicație Simatic este gratuită.
Siemens își rezervă dreptul de a face modificări în specificațiile prezentate aici sau de a face îmbunătățiri în orice
moment, fără notificare sau obligație. Nu exonerează utilizatorul de responsabilitatea de a folosi practici corecte în
aplicarea, instalarea, operarea și întreținerea echipamentului achiziționat. În cazul în care apare un conflict între
informațiile generale conținute în această publicație, conținutul desenelor sau al materialului suplimentar, sau
ambele, acestea din urmă vor avea prioritate.
Siemens nu este răspunzător, indiferent de motivul legal, pentru daune sau vătămări corporale rezultate din
utilizarea sfaturilor de aplicare.
Toate drepturile rezervate. Orice formă de duplicare sau distribuire, inclusiv extrase, este permisă numai cu
autorizarea expresă a SIEMENS.