Woordlogica-operaties
Binair & Selectie
Manipuleer gegevens in het hart van de registers. Van bit-voor-bit binaire maskering tot complex multiplexen, optimaliseer de verwerking van uw gegevenswoorden.
Wat zijn woordlogica-operaties in TIA Portal?
Woordlogica-operaties maken het mogelijk om Booleaanse berekeningen uit te voeren op alle bits van een woord (Word, DWord, LWord). Ze zijn essentieel voor bit-maskering, het vergelijken van binaire patronen of vereenvoudigd beheer van gegroepeerde signalen.
Deze sectie bevat ook krachtige selectiefuncties zoals SEL en MUX, waarmee dynamisch een waarde kan worden gekozen uit meerdere op basis van een voorwaarde of index, evenals tools voor coderen (ENCO) en decoderen (DECO) voor statusbeheer.
Bitwise Logica
Booleaanse verwerking op Word en DWord
AND / OR / XOR — Binaire operaties
ANDWat het doet
Voert een logische bewerking (AND, OR, Exclusieve OR) uit op elke overeenkomstige bit tussen twee of meer ingangen. Het resultaat wordt geleverd in een woord van dezelfde grootte.
Wanneer te gebruiken
Specifieke bits maskeren (AND met een masker), alarmen combineren of statusveranderingen bit voor bit detecteren.
Pro Tips
AND is perfect voor het 'uitschakelen' van bits, OR voor het 'inschakelen'.
XOR is ideaal om twee woorden te vergelijken en te identificeren welke bits verschillen.
U kunt extra ingangen toevoegen aan het blok door op het gele icoon te klikken.
INVERT — Eenercomplement
INVWat het doet
Inverteert de status van elke bit in het ingangswoord (0 wordt 1, 1 wordt 0).
Wanneer te gebruiken
Een groep sensorsignalen inverteren of specifieke binaire berekeningen voorbereiden.
Pro Tips
Gelijk aan de NOT-operator in klassiek programmeren, maar toegepast op het hele woord.
Zeer nuttig voor communicatie met apparatuur van derden met geïnverteerde logica.
Pas op dat u dit niet verwart met het tweeërcomplement (NEG).
Selectie & Multiplexing
Dynamische waarderouting
SEL — Binaire selectie
SELWat het doet
Selecteert een van twee ingangen (IN0 of IN1) op basis van de status van een binaire ingang G (G=0 -> IN0, G=1 -> IN1).
Wanneer te gebruiken
Kiezen tussen een handmatige en automatische setpoint, of schakelen tussen twee temperatuurdrempels.
Pro Tips
Grafisch equivalent van de ternaire operator (voorwaarde ? a : b).
Compacter dan een IF-blok of twee conditionele overdrachtnetwerken.
Werkt met bijna alle datatypes (Int, Real, Time...).
MUX / DEMUX — Multiplexers
MUXWat ze doen
MUX selecteert één ingang uit N op basis van een index K. DEMUX routeert een ingang naar één van N uitgangen op basis van index K.
Wanneer te gebruiken
Receptbeheer (selectie op index), dynamische HMI-weergave of datarouting naar verschillende werkstations.
Pro Tips
Index K begint bij 0. Als K=0, wordt IN0 geselecteerd.
Gebruik de ELSE-ingang van de MUX om een standaardwaarde te definiëren als de index buiten bereik is.
DEMUX is zeer krachtig voor het distribueren van een meting naar verschillende logboeken.
Coderen & Decoderen
Conversie tussen index en bitpositie
DECO — Decoderen
DECOWat het doet
Activeert de bit waarvan het nummer overeenkomt met de ingangswaarde. Alle andere bits van het uitgangswoord worden op 0 gezet.
Wanneer te gebruiken
Een stapnummer omzetten in een binair signaal om een specifieke uitgang aan te sturen.
Pro Tips
Als de ingang 3 is, wordt bit 3 (de 4e) van het uitgangswoord 1.
Maakt het eenvoudig om van een integer naar een bitmasker te gaan.
Ideaal voor het aansturen van signaalzuilen of statusindicatoren.
ENCO — Coderen
ENCOWat het doet
Retourneert het nummer van de minst significante bit (LSB) die in status 1 staat in het ingangswoord.
Wanneer te gebruiken
Identificeren welke fout is opgetreden in een alarmwoord om het bijbehorende bericht weer te geven.
Pro Tips
Als het ingangswoord 2#0000_1000 bevat, retourneert ENCO 3.
Omgekeerde werking van DECO.
Zeer nuttig voor het transformeren van signalen van discrete positiesensoren naar een numerieke waarde.
Woordverwerking vs Individuele Bit
Waarom werken op het volledige woord?
| Scenario | Woordlogica Aanpak | Voordeel |
|---|---|---|
| 8 uitgangen op 0 dwingen | MOVE 0 -> Word | 1 netwerk vs 8 contacten |
| Een byte maskeren | AND 16#00FF | Chirurgische precisie |
| 16 signalen inverteren | INVERT | Snelheid van uitvoering |
| Kies 1 waarde / 10 | MUX | Maximale leesbaarheid |
| Een meting routen | DEMUX | Flexibele logica |
| Alarmprioriteit | ENCO | Directe diagnose |
Veelgestelde Vragen
Wat is het verschil tussen MUX en een Array?
MUX is een hardcoded instructie voor een paar waarden (vaak < 10). Gebruik voor honderden waarden een Array met dynamische indexering [i] in SCL.
Kan ik een AND uitvoeren op REAL types?
Nee, bitwise logische operaties (AND, OR, XOR) zijn alleen toegestaan op binaire types (Byte, Word, DWord, LWord).
Hoe werkt de DEMUX index?
De K-ingang definieert naar welke uitgang de IN-waarde wordt gekopieerd. Als K=2, wordt IN naar OUT2 gekopieerd. Alle andere uitgangen behouden hun vorige waarde of 0, afhankelijk van de configuratie.
Verandert INVERT het teken van een getal?
Nee, INVERT flipt bits. Om het teken te veranderen (tweeërcomplement), gebruikt u de instructie NEG (Wiskunde) of vermenigvuldigt u met -1.