Besedilne logične operacije
Binarno in Izbira
Manipulirajte s podatki v osrčju registrov. Od po bitnega binarnega maskiranja do kompleksnega multipleksiranja — optimizirajte obdelavo vaših podatkovnih besed.
Kaj so besedilne logične operacije v TIA Portalu?
Besedilne logične operacije omogočajo izvajanje Boolovih izračunov na vseh bitih besede (Word, DWord, LWord). So nujne za maskiranje bitov, primerjanje binarnih vzorcev ali poenostavljeno upravljanje skupinskih signalov.
Ta razdelek vključuje tudi močne funkcije izbire, kot sta SEL in MUX, ki omogočata dinamično izbiro ene vrednosti med večimi na podlagi pogoja ali indeksa, ter orodja za kodiranje (ENCO) in dekodiranje (DECO) za upravljanje stanj.
Po bitna logika
Boolova obdelava na Word in DWord
AND / OR / XOR — Binarne operacije
ANDKaj počne
Izvede logično operacijo (AND, OR, XOR) na vsakem ustreznem bitu med dvema ali več vhodi. Rezultat je podan v besedi iste velikosti.
Kdaj uporabiti
Maskiranje specifičnih bitov (AND z masko), kombiniranje alarmov ali zaznavanje sprememb stanja bit po bit.
Pro Nasveti
AND je idealen za 'izklop' bitov, OR za njihov 'vklop'.
XOR je idealen za primerjavo dveh besed in identifikacijo bitov, ki se razlikujejo.
Bloku lahko dodate dodatne vhode s klikom na rumeno ikono.
INVERT — Eniški komplement
INVKaj počne
Preobrne stanje vsakega bita v vhodni besedi (0 postane 1, 1 postane 0).
Kdaj uporabiti
Invertiranje skupine senzorskih signalov ali priprava specifičnih binarnih izračunov.
Pro Nasveti
Enakovredno operatorju NOT v klasičnem programiranju, vendar uporabljeno na celotni besedi.
Zelo uporabno za komunikacijo z opremo tretjih oseb z invertirano logiko.
Pazite, da tega ne zamenjate z dvojiškim komplementom (NEG).
Izbira in multipleksiranje
Dinamično usmerjanje vrednosti
SEL — Binarna izbira
SELKaj počne
Izbere enega od dveh vhodov (IN0 ali IN1) na podlagi stanja binarnega vhoda G (G=0 -> IN0, G=1 -> IN1).
Kdaj uporabiti
Izbira med ročno in avtomatsko nastavitveno vrednostjo ali preklop med dvema temperaturnima pragovoma.
Pro Nasveti
Grafični ekvivalent ternarnega operatorja (pogoj ? a : b).
Bolj kompakten kot blok IF ali dve omrežji za pogojni prenos.
Deluje s skoraj vsemi tipi podatkov (Int, Real, Time...).
MUX / DEMUX — Multipleksorji
MUXKaj počneta
MUX izbere en vhod med N na podlagi indeksa K. DEMUX usmeri vhod v enega od N izhodov na podlagi indeksa K.
Kdaj uporabiti
Upravljanje receptov (izbira po indeksu), dinamični prikaz na HMI ali usmerjanje podatkov na različne delovne postaje.
Pro Nasveti
Indeks K se začne pri 0. Če je K=0, je izbran IN0.
Uporabite vhod ELSE pri MUX-u za določitev privzete vrednosti, če je indeks izven obsega.
DEMUX je zelo močan za distribucijo meritve v različne dnevnike zgodovine.
Kodiranje in dekodiranje
Pretvorba med indeksom in položajem bita
DECO — Dekodiranje
DECOKaj počne
Aktivira bit, katerega številka ustreza vhodni vrednosti. Vsi ostali biti izhodne besede so nastavljeni na 0.
Kdaj uporabiti
Pretvorba številke koraka v binarni signal za krmiljenje specifičnega izhoda.
Pro Nasveti
Če je vhod 3, bo bit 3 (četrti) izhodne besede imel stanje 1.
Omogoča enostaven prehod s celega števila na bitno masko.
Idealno za krmiljenje signalnih stolpov ali indikatorjev stanja.
ENCO — Kodiranje
ENCOKaj počne
Vrne številko najmanj pomembnega bita (LSB), ki je v stanju 1 v vhodni besedi.
Kdaj uporabiti
Identifikacija, katera napaka se je pojavila v besedi alarmov za prikaz ustreznega sporočila.
Pro Nasveti
Če vhodna beseda vsebuje 2#0000_1000, ENCO vrne 3.
Obratna operacija od DECO.
Zelo uporabno za pretvorbo signalov iz diskretnih senzorjev položaja v numerično vrednost.
Obdelava besede vs posamezen bit
Zakaj delati na celotni besedi?
| Scenarij | Pristop Word Logic | Prednost |
|---|---|---|
| Prisili 8 izhodov na 0 | MOVE 0 -> Word | 1 omrežje vs 8 kontaktov |
| Maskiraj bajt | AND 16#00FF | Kirurška natančnost |
| Invertiraj 16 signalov | INVERT | Hitrost izvajanja |
| Izberi 1 vrednost / 10 | MUX | Maksimalna berljivost |
| Usmeri meritev | DEMUX | Prilagodljiva logika |
| Prioriteta alarma | ENCO | Takojšnja diagnostika |
Pogosta Vprašanja
Kakšna je razlika med MUX in poljem (Array)?
MUX je navodilo, zapisano v kodi za nekaj vrednosti (pogosto < 10). Za stotine vrednosti uporabite polje z dinamičnim indeksiranjem [i] v SCL.
Ali lahko izvedem AND na tipih REAL?
Ne, po bitne logične operacije (AND, OR, XOR) so dovoljene samo na binarnih tipih (Byte, Word, DWord, LWord).
Kako deluje indeks pri DEMUX-u?
Vhod K določa, v kateri izhod se kopira vrednost IN. Če je K=2, se IN kopira v OUT2. Vsi ostali izhodi ostanejo pri prejšnji vrednosti ali 0, odvisno od konfiguracije.
Ali INVERT spremeni predznak števila?
Ne, INVERT preobrne bite. Za spremembo predznaka (dvojiški komplement) uporabite navodilo NEG (Matematika) ali pomnožite z -1.