SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ



Podobné dokumenty
Instrukční soubor 32 bit

SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ

SOUBOR INSTRUKCÍ PLC TECOMAT

PŘÍKLADY PROGRAMOVÁNÍ PLC TECOMAT - MODEL 32 BITŮ

PŘÍKLADY PROGRAMOVÁNÍ PLC TECOMAT - MODEL 16 BITŮ

Strojový kód. Instrukce počítače

SEKVENČNÍ LOGICKÉ OBVODY

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

1. Programování PLC. Programovatelné automaty II - 1 -

Algoritmizace a programování

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

Programování. řídících systémů v reálném čase. Střední odborná škola a Střední odborné učiliště - - Centrum Odborné přípravy Sezimovo Ústí

Princip funkce počítače

PŘÍRUČKA PROGRAMÁTORA PLC TECOMAT

Pohled do nitra mikroprocesoru Josef Horálek

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Popis instrukční sady procesoru ADOP

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

PŘÍRUČKA PROGRAMÁTORA PLC TECOMAT

Aritmetické operace a obvody pro jejich realizaci

a operačních systémů

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Způsoby realizace této funkce:

Typy a použití klopných obvodů

Assembler - 2.část. poslední změna této stránky: Zpět

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

Technické vybavení programovatelných automatů řady TC600

Instrukční sada pro používání ControlLogix a CompactLogix výňatek

Obsah DÍL 1. Předmluva 11

Registry 32 bitové pro všeobecné použití: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

Program "Světla" pro mikropočítač PMI-80

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115


Čísla, reprezentace, zjednodušené výpočty

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Přerušovací systém s prioritním řetězem

Architektury počítačů a procesorů

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Procesor z pohledu programátora

Čísla, reprezentace, zjednodušené výpočty

5 Přehled operátorů, příkazy, přetypování

8. Laboratoř: Aritmetika a řídicí struktury programu

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení. N Měřicí a řídicí technika 2012/2013. Logické proměnné

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

v aritmetické jednotce počíta

Binární logika Osnova kurzu

Knihovna WebGraphLib

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

3. ZÁKLADNÍ INSTRUKCE JAZYKA TECHNOL

Struktura a architektura počítačů (BI-SAP) 5

Opakování programování

Knihovna EpsnetLib TXV první vydání září 2012 změny vyhrazeny

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

BI-JPO (Jednotky počítače) Cvičení

Řízení IO přenosů DMA řadičem

LEKCE 6. Operátory. V této lekci najdete:

Programovatelná počítadla CT6M a CT6S

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Logické funkce a obvody, zobrazení výstupů

2.9 Čítače Úkol měření:

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Praktické úlohy- 2.oblast zaměření

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

3. Počítačové systémy

KOMBINAČNÍ LOGICKÉ OBVODY

LabView jako programovací jazyk II

Číselné soustavy. Binární číselná soustava

Profilová část maturitní zkoušky 2014/2015

Racionální čísla, operátory, výrazy, knihovní funkce

Sada 1 - Základy programování

Kubatova Y36SAP 8. Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR Kubátová Y36SAP-strojový kód 1

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

MIDAM MW 240 modbus 2 x DI, 2 x DO

BDIO - Digitální obvody

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Knihovna ConvertLib TXV první vydání září 2013 změny vyhrazeny

Vyčtení / zapsání hodnot z/do OMC8000 pomocí protokolu UDP

Programování PLC Tecomat v jazyce mnemokódů. Podpůrný text pro cvičení z předmětu Mikropočítače a PLC

RS485/MODBUS-RTU ver. 4 s rozšířením pro R24

ACM-MODBUS, popis komunikace s převodníkem

Struktura a architektura počítačů (BI-SAP) 7

ISU Cvičení 3. Marta Čudová

Programovací jazyk Pascal

Transkript:

SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ

Obsah SOUBOR INSTRUKCÍ PLC TECOMAT MODEL 32 BITŮ 17. vydání - září 2010 OBSAH ÚVOD...5 1. INSTRUKCE PRO ČTENÍ A ZÁPIS DAT...8 LD, LDQ, LDC...8 LDIB, LDI, LDIW, LDIL, LDIQ...11 LEA...13 WR, WRC...14 WRIB, WRI, WRIW, WRIL, WRIQ...17 WRA...19 PUT...21 2. LOGICKÉ INSTRUKCE...23 AND, ANC...23 OR, ORC...26 XOR, XOC...29 NEG...32 SET, RES...33 LET, BET...35 FLG...37 STK...39 ROL, ROR...40 SHL, SHR...42 SWP, SWL...43 3. ČÍTAČE, POSUVNÉ REGISTRY, ČASOVAČE, KROKOVÝ ŘADIČ...44 CTU, CTD, CNT...44 SFL, SFR...50 TON, TOF...52 RTO...56 IMP...59 STE...61 4. ARITMETICKÉ INSTRUKCE...63 ADD, SUB...63 MUL, MULS...64 DIV, DID, DIVL, DIVS, MOD, MODS...65 INR, DCR...68 EQ, LT, LTS, GT, GTS...70 CMP, CMPS...72 MAX, MAXS, MIN, MINS...73 ABSL, CSGL, EXTB, EXTW...74 BIN, BIL, BCD, BCL...75 2 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů 5. OPERACE SE ZÁSOBNÍKY...77 POP...77 NXT, PRV, CHG, CHGS...78 LAC, WAC...79 PSHB, PSHW, PSHL, PSHQ, POPB, POPW, POPL, POPQ...80 6. INSTRUKCE SKOKŮ A VOLÁNÍ...82 JMP, JMD, JMC, JMI...82 JZ, JNZ, JC, JNC, JB, JNB, JS, JNS...83 CAL, CAD, CAC, CAI...85 RET, RED, REC...86 L...87 7. ORGANIZAČNÍ INSTRUKCE...88 P, E, ED, EC...88 NOP...90 BP...91 SEQ...92 8. TABULKOVÉ INSTRUKCE...93 LTB...93 WTB...96 FTB, FTBN...99 FTM, FTMN...102 FTS, FTSF, FTSS...105 9. BLOKOVÉ OPERACE...107 SRC, MOV...107 MTN, MNT...109 FIL...111 BCMP...112 10. OPERACE SE STRUKTUROVANÝMI TABULKAMI...113 LDSR, LDS...113 WRSR, WRS...115 FIS, FIT...117 FNS, FNT...119 11. ARITMETICKÉ INSTRUKCE V PLOVOUCÍ ŘÁDOVÉ ČÁRCE...121 ADF, ADDF, SUF, SUDF...121 MUF, MUDF, DIF, DIDF...123 EQF, EQDF, LTF, LTDF, GTF, GTDF, CMF, CMDF...125 MAXF, MAXD, MINF, MIND...127 CEI, CEID, FLO, FLOD, RND, RNDD...128 ABS, ABSD, CSG, CSGD...129 LOG, LOGD, LN, LND, EXP, EXPD, POW, POWD, SQR, SQRD, HYP, HYPD...130 SIN, SIND, ASN, ASND, COS, COSD, ACS, ACSD, TAN, TAND, ATN, ATND...132 UWF, IWF, ULF, ILF...134 ULDF, ILDF, FDF...135 UFW, IFW, UFL, IFL...136 UDFL, IDFL, DFF...137 3 TXV 004 01.01

Obsah 12. INSTRUKCE REGULÁTORU PID...138 CNV...138 PID...143 PIDA...155 13. INSTRUKCE OBSLUHY TERMINÁLU A OPERACE SE ZNAKY ASCII...162 TER...162 BAS...189 ASB...190 STF, STDF...192 FST, DFST...194 14. SYSTÉMOVÉ INSTRUKCE...196 RDT, WRT...196 RDB, WDB, IDB...198 STATM...201 CHPAR...202 RFRM...204 IDTM...206 TABM...207 CRCM...208 NSLOCK...210 TODT, FRDT...211 LIP...213 PIP, PIPR...214 FUZ, DFZ...216 15. PŘENOS UŽIVATELSKÉHO PROGRAMU MEZI RŮZNÝMI MODELY SOUBORU INSTRUKCÍ...219 15.1. Operace s proměnnými...219 15.2. Operace na u...220 15.3. Redukce instrukcí a jejich ekvivalenty...220 15.4. Instrukce SWL nezaměňuje A0 a A1...222 15.5. Zrušení kaskádování aritmetických operací...222 15.6. Formáty násobení a dělení...223 15.7. Přímý přístup do periferních modulů...223 15.8. Podpora vyššího jazyka...223 15.9. Uživatelské instrukce...224 15.9.1. Operace se znaménkem...225 15.9.2. Tabulkové instrukce...226 15.9.3. Blokové instrukce...227 15.9.4. Limitní instrukce...227 15.9.5. Instrukce obsluhy terminálu a operace se znaky ASCII...228 15.9.6. Výpočet zabezpečovacích znaků...229 15.9.7. Zabezpečovací instrukce...230 15.9.8. Fuzzy logika a interpolace...230 PŘEHLED INSTRUKCÍ...231 Přehled instrukcí s přípustnými operandy...231 Abecední seznam instrukcí...237 4 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů ÚVOD Zásady popisu instrukcí V následujících kapitolách jsou popsány jednotlivé instrukce PLC. Velká část instrukcí připouští operandy různých typů z různých prostorů, nebo mohou být i bezoperandové. V zájmu přehlednosti popisu nebudeme podrobně popisovat všechny možné kombinace, ale pouze typické případy. Například přístup k operandům X, Y, S, D, R je vždy analogický. Popíšeme-li tedy chování instrukce LD %R12.3, budeme předpokládat, že instrukce LD %X1.7 se chová obdobně. Přehledy instrukcí s přípustnými operandy pro jednotlivé typy centrálních jednotek jsou uvedeny v příloze. V titulní hlavičce každé instrukce je uvedena její symbolická zkratka a název. Dále je uvedena tabulka znázorňující stav u a zápisníku před a po instrukci. Následují přípustné operandy (X, Y, S, D, R, #, T) a jejich typy pro jednotlivé řady centrálních jednotek, popis funkce, ovlivňované příznaky a typické příklady chování. Vzhledem k tomu, že centrální jednotky se em šířky 32 bitů umožňují programování ve vyšším jazyce podle normy IEC 61131, budeme používat typy proměnných odpovídající této normě. Od původních typů Teco se liší kromě jména především tím, že rozlišují znaménkové a neznaménkové proměnné. Přehled typů proměnných podle IEC 61131 a jejich ekvivalentů podle Teco je uveden v tab.1.1. Tab.1.1 Přehled typů proměnných podle IEC 61131 a jejich ekvivalentů podle Teco IEC 61131 Teco charakteristika bool bit 1 bit byte byte 8 bitů usint byte 8 bitů bez znaménka sint byte 8 bitů se znaménkem word word 16 bitů uint word 16 bitů bez znaménka int word 16 bitů se znaménkem dword long 32 bitů udint long 32 bitů bez znaménka dint long 32 bitů se znaménkem real float 32 bitů s pohyblivou řádovou čárkou lreal double 64 bitů s pohyblivou řádovou čárkou Absolutní adresy jsou psány s uvozujícím znakem %, který je při programování centrálních jednotek se em šířky 32 bitů povinný. Stejně tak zápis prefixů je psán ve tvaru indx() (viz kap.15.8.). Řady centrálních jednotek a model u Centrální jednotky PLC TECOMAT a regulátorů TECOREG jsou rozděleny podle svých vlastností do následujících řad: řada B řada C řada D řada E řada G - NS950 CPM-1B, CPM-2B - TC650, TC700 CP-7001, CP-7002 - TR050, TR200, TR300, TC400, TC500, TC600, NS950 CPM-1D - NS950 CPM-1E - TC700 CP-7003, CP-7005 5 TXV 004 01.01

řada K řada L řada M řada S Úvod - softplc, FOXTROT CP-1004, CP-1005, CP-1008, CP-1014, CP-1015, CP-1016, CP-1018 TC700 CP-7004 TC700 CP-7007 - NS950 CPM-1M - NS950 CPM-1S, CPM-2S PLC TECOMAT mají dva modely u, které se od sebe liší šířkou jedné vrstvy. Řady B, D, E, M a S mají jednotlivé vrstvy u široké 16 bitů, zatímco ostatní řady mají vrstvy u široké 32 bitů. Z toho plynou určité rozdíly mezi chováním jednotlivých modelů. Tato příručka je věnována výhradně centrálním jednotkám se em šířky 32 bitů. Instrukční soubor pro centrální jednotky se em šířky 16 bitů je popsán v příručce Soubor instrukcí PLC TECOMAT - model 16 bitů, TXV 001 05.01. Rozdíly v chování obou modelů a přenos uživatelského programu mezi nimi je popsán v kapitole 15 této příručky. Zásady zobrazení příkladů V příkladech některých instrukcí jsou paměťové prostory a PLC zobrazeny graficky podle zásad odpovídajících použitému formátu. Malá písmena označují libovolnou nezměněnou hodnotu. Podrobnosti o formátech dat v paměťových prostorech a u jsou uvedeny v Příručce programátora PLC TECOMAT TXV 001 09.01. V popisech instrukcí je vždy jako aktivní použit A, na jeho místě však může být kterýkoli další. Stručný přehled souboru instrukcí 1. Instrukce pro čtení a zápis dat Čtení a zápis dat ve všech formátech, nepřímé čtení a zápis, podmíněný zápis a zápis s alternací nejvyššího bitu. 2. Logické instrukce Logické instrukce AND, OR, XOR s přímými i negovanými operandy, negace, detekce náběžné hrany nebo obou hran, podmíněné nastavení nebo nulování proměnné, rotace vlevo i vpravo, posun vlevo i vpravo, logické sklopení u, záměna bytů vrcholu u, logické funkce vrcholu u. 3. Čítače, posuvné registry, časovače, krokový řadič Dopředný, zpětný a obousměrný čítač, posuvný registr vlevo i vpravo, časovač se zpožděným přítahem nebo odpadem, integrující časovač, impulz definované délky, krokový řadič. 4. Aritmetické instrukce Aritmetické instrukce v pevné řádové čárce (8, 16, 32 bitů), bez znaménka i se znaménkem, sčítání, odčítání, násobení, dělení, inkrementace, dekrementace, porovnání, limitní funkce, absolutní hodnota, změna znaménka, převod z binární soustavy na BCD kód a opačně. 5. Operace se y Posun u, výměna ů, přesun hodnot mezi y, systémový stack. 6 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů 6. Instrukce skoků a volání Přímé skoky, nepřímé skoky, podmíněné skoky, přímá volání podprogramu, nepřímá volání, podmíněná volání, návrat z podprogramu, podmíněný návrat z podprogramu, návěští. 7. Organizační instrukce Začátek a konec procesu, podmíněný konec procesu, konec cyklu, prázdná instrukce, ladicí bod, podmíněné přerušení procesu. 8. Tabulkové instrukce Čtení a zápis do tabulky nebo pole v zápisníku, hledání hodnoty. 9. Blokové operace Přesun bloku dat, přesun tabulky do zápisníku a opačně, plnění bloku konstantou. 10. Operace se strukturovanými tabulkami Čtení a zápis položky strukturované tabulky, hledání položky, plnění položky konstantou. 11. Aritmetické instrukce v plovoucí řádové čárce Sčítání, odčítání, násobení, dělení, porovnání, zaokrouhlování, absolutní hodnota, logaritmické, exponenciální a goniometrické funkce, převod mezi formáty s plovoucí a pevnou řádovou čárkou. 12. Instrukce regulátoru PID Převod měřených analogových hodnot na normalizované hodnoty s diagnostikou okrajových stavů, PID regulátor, PID regulátor s automatickým laděním. 13. Instrukce obsluhy terminálu a operace se znaky ASCII Obsluha znakového displeje, převod čísel na ASCII řetězce a opačně. 14. Systémové instrukce Přístup k obvodu reálného času, zápis do a čtení z přídavné paměti DataBox, ovládání a diagnostika periferního systému, výpočet zabezpečovacích znaků, zamykání uživatelského programu, speciální funkce - lineární a prostorová interpolace, fuzzy logika. Existuje ještě jedna skupina instrukcí, které nejsou v této příručce popsány. Jsou to instrukce určené výhradně pro podporu vyššího jazyka. V uživatelských programech psaných v instrukcích PLC se nepoužívají. 7 TXV 004 01.01

1. Instrukce pro čtení a zápis dat 1. INSTRUKCE PRO ČTENÍ A ZÁPIS DAT LD, LDQ LDC Čtení dat Čtení negovaných dat Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand LD a A6 A5 A4 A3 A2 A1 A0 a a LD [lreal] a A5 A4 A3 A2 A1 A0 a a LDQ a A5 A4 A3 A2 A1 A0 a a LDC a A6 A5 A4 A3 A2 A1 A0 a a Operandy bool byte usint sint word uint int dword udint dint LD X Y S D R C G K L C G K L C G K L C G K L C G K L C G K L LD # C G K L C G K L LDQ # C G K L LDC X Y S D R C G K L C G K L C G K L C G K L Funkce LD LDQ LDC Popis - čtení dat na vrchol u - čtení 64-bitové konstanty na vrchol u - čtení negovaných dat na vrchol u Instrukce LD a LDQ přečte data z adresovaného místa a beze změny ji uloží na vrchol u, instrukce LDC přečtená data neguje a pak ji uloží na vrchol u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool posunou o jednu úroveň vpřed a nastaví shodně všech 32 bitů vrcholu u A0. Instrukce s operandem typu byte, usint a sint posunou o jednu úroveň vpřed a zapíší do nejnižšího bytu vrcholu u A0. Ostatní byty vrcholu jsou vynulovány. Instrukce s operandem typu word, uint a int posunou o jednu úroveň vpřed a zapíší do spodního wordu vrcholu u A0. Horní word vrcholu je vynulován. Instrukce s operandem typu dword, udint, dint a real posunou o jednu úroveň vpřed a zapíší na celý vrchol u A0. Instrukce s operandem typu lreal posunou o dvě úrovně vpřed a zapíší na vrchol u A01. real lreal 8 TXV 004 01.01

Příklad Soubor instrukcí PLC TECOMAT - model 32 bitů #reg bool cteni, ctenic, zapis, zapisc P 0 LD cteni WR zapis LDC ctenic WR zapisc E 0 Schéma LD %R10.3 A0 A1 A2 A3 A4 A5 A6 A7 před instrukcí LD aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb cccccccc cccccccc cccccccc cccccccc dddddddd dddddddd dddddddd dddddddd eeeeeeee eeeeeeee eeeeeeee eeeeeeee ffffffff ffffffff ffffffff ffffffff gggggggg gggggggg gggggggg gggggggg hhhhhhhh hhhhhhhh hhhhhhhh hhhhhhhh zápisník po instrukci LD bit R10 76543210 01101100 A0 A1 A2 A3 A4 A5 A6 A7 11111111 11111111 11111111 11111111 aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb cccccccc cccccccc cccccccc cccccccc dddddddd dddddddd dddddddd dddddddd eeeeeeee eeeeeeee eeeeeeee eeeeeeee ffffffff ffffffff ffffffff ffffffff gggggggg gggggggg gggggggg gggggggg LD %R10 před instrukcí LD zápisník po instrukci LD A0 aaaaaaaa A0 A1 bbbbbbbb A1 A2 cccccccc R10 $6C A2 A3 dddddddd A3 A4 eeeeeeee A4 A5 ffffffff A5 A6 gggggggg A6 A7 hhhhhhhh A7 $0000006C aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg 9 TXV 004 01.01

1. Instrukce pro čtení a zápis dat LD %RW10 LD %RL10 před instrukcí LD zápisník A0 aaaaaaaa A0 A1 bbbbbbbb A1 A2 cccccccc R10 $6C A2 A3 dddddddd R11 $E7 A3 A4 eeeeeeee A4 A5 ffffffff A5 A6 gggggggg A6 A7 hhhhhhhh A7 před instrukcí LD zápisník A0 aaaaaaaa A0 A1 bbbbbbbb A1 A2 cccccccc R10 $6C A2 A3 dddddddd R11 $E7 A3 A4 eeeeeeee R12 $14 A4 A5 ffffffff R13 $10 A5 A6 gggggggg A6 A7 hhhhhhhh A7 po instrukci LD $0000E76C aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg po instrukci LD $1014E76C aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg LD %RD10 před instrukcí LD zápisník po instrukci LD A0 A1 A2 A3 A4 A5 A6 A7 aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh R10 R11 R12 R13 R14 R15 R16 R17 $6C $E7 $14 $10 $77 $35 $C5 $4A A01 A2 A3 A4 A5 A6 A7 $1014E76C $4AC53577 aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff 10 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů LDIB, LDI, LDIW, LDIL, LDIQ Nepřímé čtení dat Instrukce Vstupní parametry Výsledek ADR ADR A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 LDIB, LDI ADR a a a LDIW, LDIL ADR a a a LDIQ ADR a A6 A5 A4 A3 A2 A1 a a ADR - čtená adresa (typ udint) Operandy bool byte usint sint word uint int dword udint dint LDIB bez operandu C G K L LDI bez operandu C G K L LDIW bez operandu C G K L LDIL bez operandu C G K L C G K L LDIQ bez operandu C G K L Funkce LDIB - čtení bitu dat z bitové adresy uložené na vrcholu u LDI - čtení 8 bitů dat z adresy uložené na vrcholu u LDIW - čtení 16 bitů dat z adresy uložené na vrcholu u LDIL - čtení 32 bitů dat z adresy uložené na vrcholu u LDIQ - čtení 64 bitů dat z adresy uložené na vrcholu u Popis Instrukce LDIB, LDI, LDIW, LDIL a LDIQ použijí jako adresu obsah vrcholu u. Obsah této adresy beze změny uloží na vrchol u. Obsah zdrojového místa je nezměněn. Instrukce LDIB zpracovává vrchol u jako tzv. bitovou adresu. Bitovou adresu z bytové adresy vynásobením 8 a přičtením čísla bitu, ze kterého chceme číst. Ostatní instrukce používají bytovou adresu. K získání bitové a bytové bázové adresy se používá instrukce LEA. Instrukce LDIB nastaví shodně všech 32 bitů vrcholu u A0 na hodnotu přečteného bitu. Instrukce LDI zapíše přečtenou hodnotu do nejnižšího bytu vrcholu u A0. Ostatní byty vrcholu jsou vynulovány. Instrukce LDIW zapíše přečtenou hodnotu do spodního wordu vrcholu u A0. Horní word vrcholu je vynulován. Instrukce LDIL zapíše přečtenou hodnotu na celý vrchol u A0. Instrukce LDIQ posune o jednu úroveň vpřed a zapíše přečtenou hodnotu na vrchol u A01. Tyto instrukce jsou výhodné pro nepřímý přístup k datům, kdy je adresa získána výpočtem. real lreal 11 TXV 004 01.01

1. Instrukce pro čtení a zápis dat Příklad #reg usint pole1[20], pole2[20] #reg usint index1, index2 P 0 LEA pole1 ADD index1 LDI LEA pole2 ADD index2 WRI E 0 bytová pole ukazovátka do polí Schéma LEA %R10.5 LDIB LEA %RL10 LDIL před instrukcí LDIB zápisník po instrukci LDIB A0 $00030050 bit 76543210 A0 $00000000 A1 bbbbbbbb A1 bbbbbbbb A2 cccccccc R10 10010011 A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh před instrukcí LDIL zápisník po instrukci LDIL A0 $0000600A A0 $1014E76C A1 bbbbbbbb A1 bbbbbbbb A2 cccccccc R10 $6C A2 cccccccc A3 dddddddd R11 $E7 A3 dddddddd A4 eeeeeeee R12 $14 A4 eeeeeeee A5 ffffffff R13 $10 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh 12 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů LEA Načtení adresy Instrukce Vstupní parametry Výsledek operand A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 LEA ADR A6 A5 A4 A3 A2 A1 A0 ADR ADR - čtená adresa (typ udint) Operandy bool byte usint sint word uint int dword udint dint LEA X Y S D R C G K L C G K L C G K L C G K L C G K L C G K L Funkce LEA Popis - čtení adresy obsažené v operandu Instrukce LEA slouží k vytvoření bázové adresy pro instrukce nepřímého čtení a zápisu. Instrukce s operandem typu bool posune o jednu úroveň vpřed a na vrchol u uloží jeho bitovou adresu, tj. osminásobek bytové adresy zvýšený o číslo bitu. Instrukce s operandy ostatních typů posune o jednu úroveň vpřed a na vrchol u uloží jeho bytovou adresu. Příklad #reg bool pole1[20], pole2[20] bitová pole #reg usint index1, index2 ukazovátka do polí P 0 LEA pole1 ADD index1 LDIB LEA pole2 ADD index2 WRIB E 0 real lreal 13 TXV 004 01.01

1. Instrukce pro čtení a zápis dat WR WRC Zápis dat Zápis negovaných dat Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand WR a a a WR [lreal] a a a WRC a a a Operandy bool byte usint sint word uint int dword udint dint WR X Y S R C G K L C G K L C G K L C G K L C G K L C G K L WRC X Y S R C G K L C G K L C G K L C G K L Funkce WR WRC Popis: - zápis dat z vrcholu u - zápis negovaných dat z vrcholu u Instrukce WR přečte hodnotu vrcholu u a beze změny ji uloží do adresovaného místa, instrukce WRC přečtenou hodnotu neguje a pak ji uloží do adresovaného místa. Obsah celého u zůstává nezměněn. Instrukce s operandem typu bool provedou logický součet (OR) všech bitů vrcholu u A0 a jeho hodnotu uloží do adresovaného bitu, instrukce WRC ukládá negovanou hodnotu tohoto součtu (NOR). Je-li tedy A0 = 0, pak instrukce WR zapisuje hodnotu log.0 a WRC hodnotu log.1, v ostatních případech (A0 0) zapisuje instrukce WR hodnotu log.1 a instrukce WRC hodnotu log.0. Upozornění: real lreal Bitová instrukce WRC zapisuje negovanou hodnotu logického součtu všech bitů A0, tedy funkci NOR. Její výsledek není totožný s výsledkem, který bychom obdrželi logickým sečtením negovaných bitů A0. Instrukce s operandem typu byte, usint a sint pracují pouze s nejnižším bytem vrcholu u. Zbylé tři byty vrcholu A0 nejsou zpracovány. Instrukce s operandem typu word, uint a int pracují pouze s dolním wordem vrcholu u. Horní word vrcholu A0 není zpracován. Instrukce s operandem typu dword, udint, dint a real pracují s celým vrcholem u A0. Instrukce s operandem typu lreal pracuje s vrcholem u tvořeným dvojvrstvou A01. 14 TXV 004 01.01

Příklad Soubor instrukcí PLC TECOMAT - model 32 bitů #reg bool cteni, ctenic, zapis, zapisc P 0 LD cteni WR zapis LD ctenic WRC zapisc E 0 Schéma WR %R10.3 A0 A1 A2 A3 A4 A5 A6 A7 11100111 01101100 11010001 00111010 bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb cccccccc cccccccc cccccccc cccccccc dddddddd dddddddd dddddddd dddddddd eeeeeeee eeeeeeee eeeeeeee eeeeeeee ffffffff ffffffff ffffffff ffffffff gggggggg gggggggg gggggggg gggggggg hhhhhhhh hhhhhhhh hhhhhhhh hhhhhhhh zápisník po instrukci WR bit 76543210 R10 01101100 WR %R10 WR %RW10 A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 $539DE76C bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh $539DE76C bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh zápisník po instrukci WR R10 R10 R11 $6C zápisník po instrukci WR $6C $E7 15 TXV 004 01.01

1. Instrukce pro čtení a zápis dat WR %RL10 WR %RD10 A0 A1 A2 A3 A4 A5 A6 A7 A0 A1 A2 A3 A4 A5 A6 A7 $539DE76C bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh $539DE76C $967A3F01 cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh zápisník po instrukci WR R10 R11 R12 $6C $E7 $9D R13 $53 zápisník po instrukci WR R10 $6C R11 $E7 R12 $9D R13 $53 R14 $01 R15 $3F R16 $7A R17 $96 16 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů WRIB, WRI, WRIW, WRIL, WRIQ Nepřímý zápis dat Instrukce Vstupní parametry Výsledek ADR ADR A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 WRIB, WRI a ADR ADR A7 A6 A5 A4 A3 A2 a a WRIW, WRIL a ADR ADR A7 A6 A5 A4 A3 A2 a a WRIQ a ADR a A7 A6 A5 A4 A3 a a ADR - zapisovaná adresa (typ udint) Operandy bool byte usint sint word uint int dword udint dint WRIB bez operandu C G K L WRI bez operandu C G K L WRIW bez operandu C G K L WRIL bez operandu C G K L C G K L WRIQ bez operandu C G K L Funkce WRIB - zápis bitu dat do bitové adresy uložené na vrcholu u WRI - zápis 8 bitů dat do adresy uložené na vrcholu u WRIW - zápis 16 bitů dat do adresy uložené na vrcholu u WRIL - zápis 32 bitů dat do adresy uložené na vrcholu u WRIQ - zápis 64 bitů dat do adresy uložené na vrcholu u Popis Instrukce WRIB, WRI, WRIW, WRIL a WRIQ použijí jako adresu obsah vrcholu u. Posunou o jednu úroveň vpřed a obsah nového vrcholu u uloží beze změny na tuto adresu. Instrukce WRIB zpracovává vrchol u jako tzv. bitovou adresu. Bitovou adresu z bytové adresy vynásobením 8 a přičtením čísla bitu, do kterého chceme zapisovat. Ostatní instrukce používají bytovou adresu. K získání bitové a bytové bázové adresy se používá instrukce LEA. Instrukce WRIB provede logický součet (OR) všech bitů nového vrcholu u A0 (bývalá vrstva A1) a jeho hodnotu uloží do adresovaného bitu. Je-li tedy A0 = 0, pak instrukce zapíše hodnotu log.0, v ostatních případech (A0 0) zapíše hodnotu log.1. Instrukce WRI zapíše na danou adresu nejnižší byte nového vrcholu u (bývalá vrstva A1). Zbylé tři byty vrcholu A0 nejsou zpracovány. Instrukce WRIW zapíše na danou adresu dolní word nového vrcholu u (bývalá vrstva A1). Horní word vrcholu A0 není zpracován. Instrukce WRIL zapíše na danou adresu obsah nového vrcholu u (bývalá vrstva A1). Instrukce WRIQ zapíše na danou adresu obsah nového vrcholu u tvořeným dvojvrstvou A01 (bývalá dvojvrstva A12). Tyto instrukce jsou výhodné pro nepřímý přístup k datům, kdy je adresa získána výpočtem. real lreal 17 TXV 004 01.01

1. Instrukce pro čtení a zápis dat Příklad #reg usint pole1[20], pole2[20] #reg usint index1, index2 P 0 LEA pole1 ADD index1 LDI LEA pole2 ADD index2 WRI E 0 bytová pole ukazovátka do polí Schéma LEA %R10.5 WRIB před instrukcí WRIB A0 A1 $00030050 $00000000 A2 cccccccc A3 dddddddd A4 eeeeeeee A5 ffffffff A6 gggggggg A7 hhhhhhhh zápisník po instrukci WRIB bit 76543210 R10 10010011 po instrukci WRIB A0 $00000000 A1 cccccccc A2 dddddddd A3 eeeeeeee A4 ffffffff A5 gggggggg A6 hhhhhhhh A7 $00030050 LEA %RL10 WRIL před instrukcí WRIL A0 A1 $0000600A $1014E76C A2 cccccccc A3 dddddddd A4 eeeeeeee A5 ffffffff A6 gggggggg A7 hhhhhhhh zápisník po instrukci WRIL R10 R11 R12 R13 $6C $E7 $14 $10 po instrukci WRIL A0 $1014E76C A1 cccccccc A2 dddddddd A3 eeeeeeee A4 ffffffff A5 gggggggg A6 hhhhhhhh A7 $0000600A 18 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů WRA Zápis dat s alternací Instrukce Vstupní parametry Výsledek operand A7 A6 A5 A4 A3 A2 A1 A7 A6 A5 A4 A3 A2 A1 A0 A0 operand WRA a b a ( b ) a Operandy byte word dword usint uint udint WRA X Y S R C G K L C G K L C G K L Funkce WRA Popis - zápis dat z vrcholu u s alternací nejvyššího bitu Instrukce WRA čte hodnotu z vrcholu u, vymaskuje nejvyšší bit a uloží ji do adresovaného místa. Pak provede negaci stávajícího nejvyššího bitu adresovaného místa (alternaci). Obsah celého u zůstává nezměněn. Tuto instrukci lze s výhodou použít při ovládání inteligentních periferií, které vyžadují alternaci nejvyššího bitu při předávání parametrů (např. obsluha sériového kanálu v režimu UNI). Instrukce s operandem typu byte a usint pracuje pouze s nejnižším bytem vrcholu u A0. Zbylé tři byty vrcholu nejsou instrukcí zpracovány. Instrukce s operandem typu word a uint pracuje pouze s dolním wordem vrcholu u A0. Horní word vrcholu není zpracován. Instrukce s operandem typu dword a udint pracuje s celým vrcholem u A0. max Schéma WRA %R10 WRA %RW10 zápisník před instrukcí WRA zápisník po instrukci WRA bit R10 76543210 00111101 A0 A1 A2 A3 A4 A5 A6 A7 $00000015 bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh bit R10 76543210 10010101 zápisník před instrukcí WRA zápisník po instrukci WRA bit R10 R11 76543210 00111101 01001100 A0 A1 A2 A3 A4 A5 A6 A7 $00000015 bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh bit R10 R11 76543210 00010101 10000000 19 TXV 004 01.01

1. Instrukce pro čtení a zápis dat WRA %RL10 zápisník před instrukcí WRA zápisník po instrukci WRA bit R10 R11 R12 R13 76543210 00111101 01001100 11010101 00011010 A0 A1 A2 A3 A4 A5 A6 A7 $00000015 bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh bit R10 R11 R12 R13 76543210 00010101 00000000 00000000 10000000 20 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů PUT Podmíněný zápis dat Instrukce Vstupní parametry Výsledek S1.0 operand A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 PUT a 1 a a a 0 a Operandy bool byte usint sint word uint int dword udint dint PUT X Y S R C G K L C G K L C G K L C G K L C G K L Funkce PUT - zápis dat z vrcholu u podmíněný hodnotou log.1 bitu S1.0 Popis Instrukce PUT je obdobou instrukce WR, která se však provede pouze tehdy, je-li S1.0 = log.1. Při S1.0 = log.0 neprovede žádnou činnost. Instrukce PUT otestuje bit S1.0 a pokud je roven log.1, čte hodnotu vrcholu u A0 a beze změny ji uloží do adresovaného místa. Obsah celého u i příznakových registrů zůstává nezměněn. Instrukce s operandem typu bool v případě S1.0 = log.1 provede logický součet (OR) všech bitů vrcholu u A0 a jeho hodnotu uloží do adresovaného bitu. Je-li tedy A0 = 0, pak instrukce zapisuje hodnotu log.0, v ostatních případech (A0 0) zapisuje instrukce hodnotu log.1. Instrukce s operandem typu byte, usint a sint pracují pouze s nejnižším bytem vrcholu u. Zbylé tři byty vrcholu A0 nejsou zpracovány. Instrukce s operandem typu word, uint a int pracují pouze s dolním wordem vrcholu u. Horní word vrcholu A0 není zpracován. Instrukce s operandem typu dword, udint, dint a real pracují s celým vrcholem u A0. Příznaky.7.6.5.4.3.2.1.0 S1 - - - - - - - S S1.0 (S) - vstupní podmínka instrukce 0 - instrukce se neprovede 1 - instrukce se provede v plném rozsahu Příklad #reg bool cteni, podminka, zapis P 0 LD podminka WR %S1.0 LD cteni PUT zapis E 0 real 21 TXV 004 01.01

1. Instrukce pro čtení a zápis dat Schéma Pokud má S1.0 hodnotu log.1, je schéma instrukce PUT totožné s instrukcí WR. Pokud má S1.0 hodnotu log.0, instrukce se chová jako prázdná. 22 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů 2. LOGICKÉ INSTRUKCE AND ANC Funkce AND Funkce NAND Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand AND a b a b b AND bez op. a b b A7 A6 A5 A4 A3 A2 a b ANC a b a b b ANC bez op. a b b A7 A6 A5 A4 A3 A2 a b Operandy bool byte usint sint word uint int dword udint dint AND X Y S D R C G K L C G K L C G K L C G K L AND # C G K L AND bez operandu C G K L ANC X Y S D R C G K L C G K L C G K L C G K L ANC # C G K L ANC bez operandu C G K L Funkce AND ANC Popis - logický součin vrcholu u s operandem - logický součin vrcholu u s negovaným operandem Funkce logického součinu (AND) nabývá hodnoty log.1, pokud jsou oba její operandy log.1, jinak má hodnotu log.0. Ve výrokovém počtu jí odpovídá spojení vyjadřující současnost ( a, i, současně ). V reléových schématech jí odpovídá sériové řazení kontaktů. Funkce je patrná z pravdivostní tabulky: Vstupní parametry Výsledek a b a b a b 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 Operandové instrukce AND sejmou obsah adresovaného místa a provedou jeho logický součin s vrcholem u. Ten je přepsán výsledkem operace. Instrukce ANC provádí logický součin negace sejmutého obsahu adresovaného místa s vrcholem u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool zpracují celý vrchol u A0 tak, že s každým jeho bitem provedou určenou operaci. Výsledek těchto 32 operací instrukce uloží zpět na vrchol u A0. 23 TXV 004 01.01

2. Logické instrukce Instrukce s operandem typu byte, usint a sint zpracují nejnižší byte vrcholu u A0 jako 8 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží do nejnižšího bytu vrcholu u A0. Ostatní tři byty vrcholu A0 jsou vynulovány (provedena operace AND 0). Instrukce s operandem typu word, uint a int zpracují dolní word vrcholu u A0 jako 16 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na dolní word vrcholu u A0. Horní word je vynulován (provedena operace AND 0). Instrukce s operandem typu dword, udint a dint zpracují vrchol u A0 jako 32 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na vrchol u A0. Instrukce AND, ANC bez operandu provedou 32 bitových operací mezi odpovídajícími bity vrstev A0 a A1 u. Pak posunou o jednu úroveň zpět a výsledek operace zapíší na nový vrchol u A0. Příklady Logický součin y = a b c #reg bool va, vb, vc, vystup P 0 LD va ANC vb AND vc WR vystup E 0 Logický součin y = a b #reg bool va, vb, vystup P 0 LD va LD vb AND WR vystup E 0 24 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů Schéma LD $9B35E76C před instrukcí AND po instrukci AND AND %R10.3 A0 $9B35E76C AND A0 $9B35E76C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd bit 76543210 A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 01101100 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí AND po instrukci AND AND %R10 A0 $9B35E76C AND A0 $00000028 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 $38 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí AND po instrukci AND AND %RW10 A0 $9B35E76C AND A0 $0000E428 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí AND po instrukci AND AND %RL10 A0 $9B35E76C AND A0 $8315E428 A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg R12 $15 A6 gggggggg A7 hhhhhhhh R13 $C7 A7 hhhhhhhh LD $C715F438 LD $9B35E76C AND před instrukcí AND po instrukci AND A0 $C715F438 AND A0 $8315E428 A1 $9B35E76C A1 cccccccc A2 cccccccc A2 dddddddd A3 dddddddd A3 eeeeeeee A4 eeeeeeee A4 ffffffff A5 ffffffff A5 gggggggg A6 gggggggg A6 hhhhhhhh A7 hhhhhhhh A7 $C715F438 25 TXV 004 01.01

2. Logické instrukce OR ORC Funkce OR Funkce NOR Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand OR a b a + b b OR bez op. a b b A7 A6 A5 A4 A3 A2 a + b ORC a b a + b b ORC bez op. a b b A7 A6 A5 A4 A3 A2 a + b Operandy bool byte usint sint word uint int dword udint dint OR X Y S D R C G K L C G K L C G K L C G K L OR # C G K L OR bez operandu C G K L ORC X Y S D R C G K L C G K L C G K L C G K L ORC # C G K L ORC bez operandu C G K L Funkce OR ORC Popis - logický součet vrcholu u s operandem - logický součet vrcholu u s negovaným operandem Funkce logického součtu (OR) nabývá hodnoty log.1, pokud je aspoň jeden z jejích operandů log.1, jinak má hodnotu log.0. Ve výrokovém počtu jí odpovídá spojka nebo. V reléových schématech jí odpovídá paralelní řazení kontaktů. Funkce je patrná z pravdivostní tabulky: Vstupní parametry Výsledek a b a + b a + b 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 Operandové instrukce OR sejmou obsah adresovaného místa a provedou jeho logický součet s vrcholem u. Ten je přepsán výsledkem operace. Instrukce ORC provádí logický součet negace sejmutého obsahu adresovaného místa s vrcholem u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool zpracují celý vrchol u A0 tak, že s každým jeho bitem provedou určenou operaci. Výsledek těchto 32 operací instrukce uloží zpět na vrchol u A0. Instrukce s operandem typu byte, usint a sint zpracují nejnižší byte vrcholu u A0 jako 8 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží do nejnižšího bytu vrcholu u A0. Ostatní tři byty vrcholu A0 jsou ponechány beze změny (provedena operace OR 0). 26 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů Instrukce s operandem typu word, uint a int zpracují dolní word vrcholu u A0 jako 16 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na dolní word vrcholu u A0. Horní word je ponechán beze změny (provedena operace OR 0). Instrukce s operandem typu dword, udint a dint zpracují vrchol u A0 jako 32 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na vrchol u A0. Instrukce OR, ORC bez operandu provedou 32 bitových operací mezi odpovídajícími bity vrstev A0 a A1 u. Pak posunou o jednu úroveň zpět a výsledek operace zapíší na nový vrchol u A0. Příklady Logický součet y = a + b + c #reg bool va, vb, vc, vystup P 0 LD va OR vb ORC vc WR vystup E 0 Logický součet y = a + b #reg bool va, vb, vystup P 0 LD va LD vb OR WR vystup E 0 27 TXV 004 01.01

2. Logické instrukce Schéma LD $9B35E76C před instrukcí OR po instrukci OR OR %R10.3 A0 $9B35E76C OR A0 $FFFFFFFF A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd bit 76543210 A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 01101100 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí OR po instrukci OR OR %R10 A0 $9B35E76C OR A0 $9B35E77C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee A4 eeeeeeee A5 ffffffff R10 $38 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí OR po instrukci OR OR %RW10 A0 $9B35E76C OR A0 $9B35F77C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg A6 gggggggg A7 hhhhhhhh A7 hhhhhhhh LD $9B35E76C před instrukcí OR po instrukci OR OR %RL10 A0 $9B35E76C OR A0 $DF35F77C A1 bbbbbbbb A1 bbbbbbbb zápisník A2 cccccccc A2 cccccccc A3 dddddddd A3 dddddddd A4 eeeeeeee R10 $38 A4 eeeeeeee A5 ffffffff R11 $F4 A5 ffffffff A6 gggggggg R12 $15 A6 gggggggg A7 hhhhhhhh R13 $C7 A7 hhhhhhhh LD $C715F438 LD $9B35E76C OR před instrukcí OR po instrukci OR A0 $C715F438 OR A0 $DF35F77C A1 $9B35E76C A1 cccccccc A2 cccccccc A2 dddddddd A3 dddddddd A3 eeeeeeee A4 eeeeeeee A4 ffffffff A5 ffffffff A5 gggggggg A6 gggggggg A6 hhhhhhhh A7 hhhhhhhh A7 $C715F438 28 TXV 004 01.01

Soubor instrukcí PLC TECOMAT - model 32 bitů XOR XOC Funkce Exclusive OR Funkce Exclusive NOR Instrukce Vstupní parametry Výsledek operand ope- A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0 rand XOR a b a b b XOR bez op. a b b A7 A6 A5 A4 A3 A2 a b XOC a b a b b XOC bez op. a b b A7 A6 A5 A4 A3 A2 a b Operandy bool byte usint sint word uint int dword udint dint XOR X Y S D R C G K L C G K L C G K L C G K L XOR # C G K L XOR bez operandu C G K L XOC X Y S D R C G K L C G K L C G K L C G K L XOC # C G K L XOC bez operandu C G K L Funkce XOR XOC Popis - výlučný logický součet vrcholu u s operandem - výlučný logický součet vrcholu u s negovaným operandem Funkce výlučného logického součtu (XOR) nabývá hodnoty log.1, pokud je právě jeden její operand log.1, jinak má hodnotu log.0. Ve výrokovém počtu jí odpovídá spojení buď..., anebo. Pro dvě proměnné je funkce XOR totožná s funkcemi nerovnosti, součtu modulo 2 a liché parity. Pro větší počet vstupů však tato totožnost již neplatí. Dvouvstupovou funkci XOR můžeme tedy vysvětlit i jako neshodu - je rovna log.1, pokud jsou oba operandy navzájem různé. Funkce je patrná z pravdivostní tabulky: Vstupní parametry Výsledek a b a b a b 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 Operandové instrukce XOR sejmou obsah adresovaného místa a provedou jeho výlučný logický součet s vrcholem u. Ten je přepsán výsledkem operace. Instrukce XOC provádí výlučný logický součet negace sejmutého obsahu adresovaného místa s vrcholem u. Obsah zdrojového místa je nezměněn. Instrukce s operandem typu bool zpracují celý vrchol u A0 tak, že s každým jeho bitem provedou určenou operaci. Výsledek těchto 32 operací instrukce uloží zpět na vrchol u A0. Instrukce s operandem typu byte, usint a sint zpracují nejnižší byte vrcholu u A0 jako 8 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží 29 TXV 004 01.01

2. Logické instrukce do nejnižšího bytu vrcholu u A0. Ostatní tři byty vrcholu A0 jsou ponechány beze změny (provedena operace XOR 0). Instrukce s operandem typu word, uint a int zpracují dolní word vrcholu u A0 jako 16 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na dolní word vrcholu u A0. Horní word je ponechán beze změny (provedena operace XOR 0). Instrukce s operandem typu dword, udint a dint zpracují vrchol u A0 jako 32 bitových operací mezi odpovídajícími bity u a operandu. Výsledek uloží na vrchol u A0. Instrukce XOR, XOC bez operandu provedou 32 bitových operací mezi odpovídajícími bity vrstev A0 a A1 u. Pak posunou o jednu úroveň zpět a výsledek operace zapíší na nový vrchol u A0. Příklady Logický výlučný součet y = a b #reg bool va, vb, vystup P 0 LD va XOR vb WR vystup E 0 + a b #reg bool va, vb, vystup P 0 LD va LD vb XOR WR vystup E 0 30 TXV 004 01.01