Návrat na detail prednášky / Stiahnuť prednášku / Technická Univerzita Košice / Fakulta Elektrotechniky a Informatiky / Riadenie technologickych procesov
Instrukcny subor (instrukcny_subor.doc)
XIC
Ak je zodpovedajúci bit nastavený na "1", táto inštrukcia zabezpecí kontinuitu rungu a môže sa vykonat príslušný výstup (ak sú priechodné aj ostatné vstupné inštrukcie), v opacnom prípade je rung nepriechodný.
XIO
Táto inštrukcia sa nazýva rozpínací kontakt, ciže jeho prirodzená poloha je zopnutý, cím zabezpecuje kontinuitu rungu. Ak je zodpovedajúci bit nastavený na "1", naruší sa kontinuita rungu a inštrukcie na výstupe sa nevykonajú, v opacnom prípade je rung priechodný (ak sú priechodné aj ostatné vstupné inštrukcie).
TON
Inštrukcia TON sa používa na nastavenie/vynulovanie výstupu po uplynutí prednastaveného casu, kým je rung priechodný. Táto výstupná inštrukcia zacína casovanie po prechode rungu do stavu TRUE, potom caká na uplynutie špecifikovaného casu - Preset. Ak sa akumulovaná hodnota - Accum zhoduje s prednastavenou - Preset, nastaví sa bit DN. Akumulovaná hodnota je vynulovaná pri prechode rungu do FALSE bez ohladu ci pocítanie skoncilo alebo nie.
Inštrukcné bity: 13 = DN (Done), 14 = TT (Timer timing bit), 15 = EN (Enable)
Ak rung prejde do FALSE pocas casovania, Accum je vynulovaný bez ohladu, ci dosiahol prednastavenú hodnotu - Preset; bity DN, EN a TT sa vynulujú.
Dôležité:
Casovanie môže byt nepresné, ak inštrukcie JMP, LBL alebo SBR preskocia rung s inštrukciou casovaca pocas casovania. V spojení s inštrukciou TOF sa nemôže použit inštrukcia RES, pretože tá vynuluje ako stavové bity tak aj akumulovanú hodnotu.
Pole casovaca využíva na jeden element tri slová; riadiace slovo, prednastavená hodnota a akumulovaná hodnota.
TOF
Inštrukcia TOF sa používa na nastavenie/vynulovanie výstupu po uplynutí prednastaveného casu, kým je rung v stave OFF. Táto výstupná inštrukcia zacína casovanie po prechode rungu do stavu FALSE, potom caká na uplynutie špecifikovaného casu - Preset. Ak sa akumulovaná hodnota - Accum zhoduje s prednastavenou - Preset, vynuluje sa bit DN. Akumulovaná hodnota je vynulovaná pri prechode rungu do TRUE bez ohladu ci pocítanie skoncilo alebo nie.
Inštrukcné bity: 13 = DN (Done), 14 = TT (Timer timing bit), 15 = EN (Enable)
Ak rung prejde do TRUE pocas casovania, Accum je vynulovaný bez ohladu, ci dosiahol prednastavenú hodnotu - Preset; bity DN a EN sa vynulujú a nastaví sa bit TT.
Dôležité:
Casovanie môže byt nepresné, ak inštrukcie JMP, LBL alebo SBR preskocia rung s inštrukciou casovaca pocas casovania. V spojení s inštrukciou TOF sa nemôže použit inštrukcia RES, pretože tá vynuluje ako stavové bity tak aj akumulovanú hodnotu.
Pole casovaca využíva na jeden element tri slová; riadiace slovo, prednastavená hodnota a akumulovaná hodnota.
Funkcia inštrukcie RTO rovnaká ako TON s tou výnimkou, že ak raz zacalo casovanie, udrží akumulovanú hodnotu aj ked rung prejde do FALSE, nastane chyba, dôjde k zmene režimu automatu, alebo k výpadku napájania. Ak je rung znova priechodný, RTO zacína casovat od akumulovanej hodnoty, ktorá bola uložená, ked došlo k prerušeniu kontinuity rungu (prechodu do FALSE). To znamená, že táto inštrukcia meria cas, po ktorý je daný rung priechodný. Inštrukcné bity: 13=DN (done), 14=TT (timer timing), 15=EN (enable). Akumulovaná hodnota môže byt vynulovaná inštrukciou RES (vynuluje sa akumulovaná hodnota aj riadiace bity). Pocítanie môže byt nepresné v prípade, že rung s inštrukciou RTO je preskocený pomocou inštrukcií JMP, LBL, JSR alebo SBR.
CTU
Táto výstupná inštrukcia pocíta smerom nahor každý prechod rungu z FALSE do TRUE a produkuje výstup, ak akumulovaná hodnota nadobudne prednastavenú. Každé pocítanie je pozdržané v pamäti, pokým rung nie je opät v stave FALSE. Akumulovaná hodnota je uchovávaná, až pokým nie je aktivovaná inštrukcia RES (reset) s rovnakou adresou ako cítac, alebo kým iná inštrukcia v programe neprepíše jeho hodnotu. Akumulovaná hodnota je uchovaná aj po pretecení/podtecení. Akumulovaná hodnota a riadiace bity sú vynulované až inštrukciou RES.
Pole cítaca využíva pre element 3 slová:
Inštrukcné bity : 12=UN (count up overflow), 13=DN (done), 15=CU (count up enable)
Zadávanie parametrov:
Zadáva sa Counter - adresa cítaca, Preset - prednastavená hodnota, Accum - akumulovaná hodnota. V Preset je hodnota, po ktorej dosiahnutí sa nastaví bit DN(done). Akumulovaná hodnota predstavuje aktuálny stav cítaca.
CTD
Táto výstupná inštrukcia pocíta smerom nadol každý prechod rungu z FALSE do TRUE a produkuje výstup, ak akumulovaná hodnota nadobudne prednastavenú. Každé pocítanie je pozdržané v pamäti, pokým rung nie je opät v stave FALSE. Akumulovaná hodnota je uchovávaná, až pokým nie je aktivovaná inštrukcia RES (reset) s rovnakou adresou ako cítac, alebo kým iná inštrukcia v programe neprepíše jeho hodnotu. Akumulovaná hodnota je uchovaná aj po pretecení/podtecení. Akumulovaná hodnota a riadiace bity sú vynulované až inštrukciou RES.
Pole cítaca využíva pre element 3 slová:
Inštrukcné bity : 11=UN (count down underflow), 13=DN (done), 14=CD (count down enable)
Zadávanie parametrov:
Zadáva sa Counter - adresa cítaca, Preset - prednastavená hodnota, Accum - akumulovaná hodnota. V Preset je hodnota, po ktorej dosiahnutí sa nastaví bit DN(done). Akumulovaná hodnota predstavuje aktuálny stav cítaca.
ADD
Ak sú splnené všetky podmienky, vykoná sa súcet Source A a Source B, ktorý sa uloží na cielovú adresu Dest. Source A a Source B môžu byt konkrétne císla ako aj adresy, ktoré obsahujú nejaké hodnoty, avšak obidve súcasne nemôžu byt konštanty.
Poznámka:
Ak je výsledok menší ako –32768 alebo väcší jako (vyžaduje viac jako 16 bitov), procesor nastaví S:0/1 (overflow) a S:5/0 (overflow trap bit, major error 0020), preto je ho treba programovo monitorovat.
SUB - minus
Ak je rung priechodný, inštrukcia SUB Source B od hodnoty v Source A a výsledok uloží do Destination. Source A a Source B môžu byt konštanty alebo adresy s hodnotami, avšak obidve naraz nesmú byt konštanty.
MUL
Inštrukcia MUL vynásobí hodnotu v Source A hodnotou v Source B a výsledok uloží do Destination. Source A a Source B môžu byt adresy alebo konštanty, avšak nesmú byt konštanty obidve naraz. Ak je výsledok väcší ako 32767, nastaví sa bit pretecenia a do destination je uložená hodnota 32767. Ak je nastavený bit pretecenia, je v matematických registroch (32 bitov) uložený správny výsledok operácie.
DIV
Ak je rung priechodný, inštrukcia DIV predelí hodnotu v Source A hodnotou v Source B a výsledok uloží do Destination a do matematických registrov. Hodnota v Destination je zaokrúhlená. Hodnot v matematických registroch je nezaokrúhlená (v hornom slove je výsledok, v dolnom je zvyšok po delení). Source A a Source B môžu byt konštanty alebo adresy, ktoré obsahujú hodnoty, avšak obe naraz nesmú byt konštanty. Ak je výsledok väcší ako 32767, je nastavený príznak chyby (minor error bit) a výsledok je 32767.
SQR
Ak je rung priechodný, inštrukcia SQR vypocíta druhú odmocninu zo Source a zaokrúhlený výsledok uloží do Destination. Táto inštrukcia vypocíta druhú odmocninu aj zo záporného císla bez toho, aby bola indikovaná chyba (pred jej použitím je teda pre správnost výsledku kontrolovat porovnávacou inštrukciou pre zistenie záporného císla).
CPT
Ak je rung priechodný, táto výstupná funkcia vykoná kopírovanie, konverziu, aritmetické alebo logické operácie s výrazom Expression a výsledok uloží do Destination. Vykonanie tejto inštrukcie trvá dlhšie ako vykonanie jednotlivých aritmetických operácií a využíva viac inštrukcných slov.
- mozeme pouzivat klasice operatory ( delenie je | a nie / ako obycajne)
RAD
Ak je rung priechodný, inštrukcia RAD prevedie hodnotu v Source (v stupnoch) na hodnotu v radiánoch a uloží ju do Destination. Source môže byt konštanta alebo adresa, na ktorej sa hodnota nachádza. Císlo v pohyblivej rádovej ciarke musí byt z intervalu <-3.402824e38; 3.402824e38>.
RAD
Ak je rung priechodný, inštrukcia RAD prevedie hodnotu v Source (v stupnoch) na hodnotu v radiánoch a uloží ju do Destination. Source môže byt konštanta alebo adresa, na ktorej sa hodnota nachádza. Císlo v pohyblivej rádovej ciarke musí byt z intervalu <-3.402824e38; 3.402824e38>.
SCL - scale
Táto inštrukcia sa používa na zmenu rozsahu veliciny analógového modulu, ktorú prevedie na rozsah predpísaný procesnou premennou alebo iným analógovým modulom, napr. prevod vstupu 4-20mA na premennú PID inštrukcie. Ak je rung priechodný, táto inštrukcia vynásobí Source s Rate. Zaokrúhlený výsledok sa pripocíta k offsetu a uložený do Destination. Rovnice na prepocet lineárnych vztahov:
Scaled value = (input value x rate) + offset
Rate = (scaled max. - scaled min.) / (input max. - input min.)
Offset = scaled minimum - (input minimum x rate)
Zadávanie parametrov:
Hodnoty musia byt z rozsahu <-32768; 32767>.
Source - adresa slova.
Rate - kladná alebo záporná hodnota, ktorá je predelená 10000. Môže to byt konštanta alebo adresa slova.
Offset - adresa slova alebo konštanta.
Destination - adresa výsledku operácie.
Ak je výsledok operácie Source x Rate / 10000 je väcší ako 32767, inštrukcia SCL spôsobí pretecenie a do Destination sa uloží 32767 - nastaví sa príznak menej závažnej chyby. V takom prípade treba vynulovat bit S:5/0 pred ukoncením skenovania programu, lebo dôjde k zásadnej chybe.
SQL
Pri úspešnom prechode z FALSE do TRUE, inštrukcia SQL spôsobí posun v poli sequencera a presunie slovo zo Source do aktuálneho elementu pola sequencera. Source môže byt I/O adresa, adresa pola alebo programová konštanta.
SQO
Pri prechode rungu z FALSE do TRUE, sa inštrukcia SQO posunie o krok v poli sequencera a prenesie data cez masku do Destination. Ak je prenesené aj posledné slovo pola sequencera, nastaví sa bit DN (done). Pri dalšom prechode FALSE-TRUE, inštrukcia nastaví pozíciu na prvý krok. SCO sa používa s inštrukciou SQC na prenos 16-bitových dát na adresu slova pre riadenie chodu sekvencného stroja. Na vynulovanie sequencera sa môže použit ištrukcia RES. Tým budú vynulované všetky riadiace bity (vrátane FD) a pozícia.
Zadávanie parametrov:
File - adresa pola sequencera (musí byt použitý indikátor pola #). Toto pole uchováva odkaz pre monitorovanie vstupov.
Mask - hexadecimálny kód alebo adresa slova masky, cez ktorú sa majú presúvat data. Ak je maskou pole, jeho dlžka bude rovnaká ako dlžka pola sequencera.
Destination - adresa výstupného slova alebo pola pre SQC, kde inštrukcia prenesie data z pola sequencera.
Control - adresa riadiaceho pola, riadiaci element (3 slová), kde je uložený stavový byte inštrukcie, dlžka pola a pozícia v poli. Táto adresa nesmie byt využívaná žiadnou inou inštrukciou.
Stavové bity v riadiacom poli: 11 = ER (error), 13 = DN (done), 15 = EN (enable)
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Slovo 0 | EN |
| DN |
| ER |
|
|
|
|
|
|
|
|
|
|
|
Slovo 1 | Dlžka pola sequencera |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Slovo 2 | Pozícia |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Length - pocet krokov pola sequencera (zacína na pozícii 1, max. 255 slov). Štartovacia pozícia je 0 a po ukoncení každého cyklu sa nastaví na pozíciu 1.
Position - pozícia slova alebo kroku v poli sequencera, z/do ktorého budú prenesené data. Ak je tento smerník ukazuje mimo pola sequencera, nastane chyba behu programu.
JSR
Ak je rung priechodný, inštrukcia spôsobí skok do subrutiny (na prvú inštrukciu subrutiny), každá subrutina musí mat priradené císlo od 3 do 255. Volanie tejto inštrukcie do hlbky závisí od typu procesoru (pozri tech. dokumentáciu AB).
LBL
Táto inštrukcia tvorí ciel inštrukcie JMP s rovnakým císlom. Táto inštrukcia musí byt prvá v danom rungu, nemá žiadne bity jej hodnota je stále TRUE. Císlo návestia sa zadáva v rozmedzí 0-999 a v každej subrutine môže byt maximálne 256 návestí.
LBL
Táto inštrukcia tvorí ciel inštrukcie JMP s rovnakým císlom. Táto inštrukcia musí byt prvá v danom rungu, nemá žiadne bity jej hodnota je stále TRUE. Císlo návestia sa zadáva v rozmedzí 0-999 a v každej subrutine môže byt maximálne 256 návestí.
SBR
Subrutina sa používa na uloženie casti programu, ktorá sa casto opakuje a je vykonávaná z rôznych castí programu. Pretože je programovaná iba raz, šetrí pamät programu. Vnútri subrutiny by sa mali aktualizovat kritické inštrukcie priameho vstupu/výstupu (IIM a IOM), hlavne ak sa jedná o subrutinu znacnej dlžky. V opacnom prípade procesor neaktualizuje stav I/O, pokým nedôjde pocas skenovania na koniec hlavného programu (po vykonaní všetkých subrutín). Výstupy riadené subrutinou zostávajú vo svojom poslednom stave, pokým nie je znovu vykonaná daná subrutina. Táto inštrukcia je v súbore subrutiny umiestnená ako prvá v prvom rungu a identifikuje danú subrutinu (císlo súboru, ktoré je použité pri inštrukcii JSR, nemá žiadne riadiace bity, je stále TRUE. Použitie tejto inštrukcie nie je povinné ale odporúca sa.
RET
Táto výstupná inštrukcia oznacuje koniec pola subrutiny alebo koniec vykonávania subrutiny. Spôsobuje, že procesor ukoncí vykonávanie subrutiny a pokracuje vo vykonávaní v hlavnom programe na mieste hned za inštrukciou JSR, kde odskocil do danej subrutiny. Ak sa jedná o subrutinu druhej alebo hlbšej úrovne, spôsobí táto inštrukcia návrat do predchádzajúcej úrovne. Ak nie je použitá inštrukcia RET, vracia sa vykonávanie programu spät na volajúcu inštrukciu JSR pomocou príkazu END (stále sa nachádzajúcom v subrutine).
PID
Inštrukcia PID slúži na reguláciu obvodov v zatvorenej regulacnej slucke, kde vstupy sú z analógového vstupného modulu a výstupy sú na module analógového výstupu. PID môže fungovat v casovanom režime alebo v režime STI. V casovanom režime inštrukcia obnovuje výstup periodicky s užívatelsky definovanou periódou. V režime STI, môže byt inštrukcia PID umiestnená do prerušovacej subrutiny STI. V takom prípade sa obnovujú výstupy vždy, ked je skenovaná subrutina STI. Aby inštrukcia fungovala správne, musí byt rovnaký interval STI a interval obnovovania PID slucky.
Zadávanie parametrov:
Control Block Length - celocíselné pole, napr. N7:0. Velkost pola je fixne 23 slov.
Process Variable PV - adresový element, kde sa ukladá vstup procesu. Táto adresa môže byt adresa umiestnenia analógového vstupného slova, kde je uložená hodnota z A/D prevodu. Taktiež to môže byt adresa celého císla, ak sa rozhodneme normovat vstup na rozsah 0-16383.
Control Variable CV - adresa elementu, kde sa ukladá výstup PID. Výstup je v rozsahu 0-16383, kde hodnota 16383 znamená 100%. Obvykle je to adresa celého císla, aby bolo potom možné túto hodnotu normovat - prispôsobit analógovému výstupu.
Setup Screen - výberom tejto položky sa zobrazí okno, kde sa nastavujú parametre PID regulátora.
Popis parametrov Setup Screen:
Controller Gain Kc - proporciálny zisk. Nastavuje sa na polovicu hodnoty potrebnej pre osciláciu obvodu. Jeho rozah závisí od typu procesora: pre 5/02 je <0.1; 25.5>; pre 5/03, 5/04 a 5/05 je <0; 327.67>.
Reset Ti - integracná konštanta v minútach. Urcí sa ako perióda oscilácií zo skôr popísanej metódy. Jej rozah závisí od typu procesora: pre 5/02 je <0.1; 25.5>; pre 5/03, 5/04 a 5/05 je <0; 327.67>.
Rate Td - derivacná konštanta v minútach. Urcí sa ako 1/8 integracnej konštanty. Jej rozah závisí od typu procesora: pre 5/02 je <0.1; 25.5>; pre 5/03, 5/04 a 5/05 je <0; 327.67>.
Loop Update - perióda vzrokovania v sekundách. Je to interval, akým sa bude prepocítavat PID algoritmus. Ak regulátor pracuje v režime STI, musí byt tento cas rovnaký ako je cas STI. Jej rozah závisí od typu procesora: pre 5/02 je <0.1; 25.5>; pre 5/03, 5/04 a 5/05 je <0.01; 10.24>.
Control Mode - zvolí sa bud E=SP-PV (reverzný zásah), alebo E=PV-SP (priamy zásah). Reverzný zásah spôsobí, že výstupná hodnota CV sa zvýši, ked je vstupná hodnota PV menšia ako žiadaná hodnota SP(napr. vyhrievanie). Priamy zásah spôsobí, že výstupná hodnota CV sa zvýši, ked je vstupná hodnota PV väcšia ako žiadaná hodnota (napr. chladenie).
PID Control - môže byt bud Auto, alebo Manual. Auto znamená, že PID riadi výstup (slovo 0, bit 1 je vynulovaný). Manual znamená, že výstup je riadený užívatelom (slovo0, bit 1 je nastavený).
Time Mode - môže byt Timed alebo STI. Ak je nastavený ako Timed, vzorkovanie je vykonávané s periódou zadanou v Loop Update. V tomto režime musí byt frekvencia skenovnia programu aspon 10-krát väcšia ako je frekvencia vzorkovania. V režime STI PID aktualizuje výstup vždy, ked je skenovaný. Vtedy musí byt inštrukcia umiestnená v subrutine STI. Perióda STI musí rovnaká LoopUpdate a je špecifikovaná v S:3.0.
Limit Output CV - môže byt Yes alebo No. Volbou Yes sa obmedzí riadiaca velicina na maximálnu a minimálnu hodnotu.
Deadband DB - Zadáva sa hodnota od 0 do normovaného maxima, alebo od 0 do 16383, ak nie je normovanie a udáva pásmo necitlivosti.
Setpoint SP - Hodnota od 1 do 16383 alebo daný normovaný rozsah a udáva žiadanú hodnotu. Zadáva sa ako tretie slovo riadiaceho bloku cez rebríkovú schému.
Setpoint Max (Smax) - Je to hodnota z od -16383 do 16383. Ak je žiadaná hodnota zadaná v inžinierskych jednotkách, táto hodnota zodpovedá výstupnej velicine o velkosti 16383.
Setpoint Min (Smin) - Je to hodnota z od -16383 do 16383. Ak je žiadaná hodnota zadaná v inžinierskych jednotkách, táto hodnota zodpovedá výstupnej velicine o velkosti 0.
Process Variable PV - Normovaná hodnota regulovanej veliciny (analógový vstup). Táto hodnota sa iba zobrazuje, a nedá sa menit.
Control Output CV (%) - Hodnota od 0 do 16383, ale iba v manuálnom režime a umožnuje zmenit hodnotu výstupu.
Output Min (CV%) - Zadáva sa hodnota. Ak je Limit Output CV nastavené na Yes, tak zadaná hodnota je minimum (v percentách) riadaicej veliciny. Ak riadiaca velicina klesne pod túto hodnotu, nastaví sa na zadanú hodnotu a nastaví sa príznak alarmu dolného limitu (LL). Ak je Limit Output CV nastavené na No, tak zadaná hodnota udáva, kedy sa nastaví príznak alarmu spodného limitu (LL), ak riadiaca velicina klesne pod túto hodnotu.
Output Max (CV%) - Zadáva sa hodnota. Ak je Limit Output CV nastavené na Yes, tak zadaná hodnota je maximum (v percentách) riadaicej veliciny. Ak riadiaca velicina prekrocí túto hodnotu, nastaví sa na zadanú hodnotu a nastaví sa príznak alarmu horného limitu (UL). Ak je Limit Output CV nastavené na No, tak zadaná hodnota udáva, kedy sa nastaví príznak alarmu horného limitu (UL), ak riadiaca velicina prekrocí túto hodnotu.
Scaled Error SE - Normovaná chyba podla parametra riadiaceho režimu. Táto hodnota sa nedá menit, je iba informatívna.
Riadiaci blok:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Slovo 0 EN DN PV SP LL UL DB DA TF SC RG OL CM AM TM
Slovo 1 PID Sub kód chyby (MSB)
Slovo 2 Žiadaná hodnota (SP)
Slovo 3 Proporcionálna zložka
Slovo 4 Integracná konštanta
Slovo 5 Derivacná konštanta
Slovo 6 Prah
Slovo 7 Maximum žiadanej hodnoty (Smax)
Slovo 8 Minimum žiadanej hodnoty (Smin)
Slovo 9 Pásmo necitlivosti
Slovo 10 Pre vnútorné použitie - NEMENIT !!!
Slovo 11 Maximum riadiacej veliciny
Slovo 12 Minimum riadiacej veliciny
Slovo 13 Perióda vzorkovania
Slovo 14 Normovaná vstupná velicina
Slovo 15 Normovaná chyba
Slovo 16 Výstup - Riadiaca velicina (0-100%)
Slovo 17 MSW výsledku intgrovania
Slovo 18 LSW výsledku integrovania
Slovo 19 Pre vnútorné použitie - NEMENIT !!!
Slovo 20 Pre vnútorné použitie - NEMENIT !!!
Slovo 21 Pre vnútorné použitie - NEMENIT !!!
Slovo 22 Pre vnútorné použitie - NEMENIT !!!
Stavové indikátory:
Time Mode Bit TM - slovo 0, bit 0. Ak je nastavený, je regulátor v casovanom režime. Ak je vynulovaný, je regulátor v STI režime. Tento bit môže byt menený aj v rebríkovej schéme.
AutoManual Bit AM - slovo 0, bit 1. Ak je vynulovaný, je regulátor v automatickom režime. Ak je nastavený, je v regulátor a manuálnom režime. Tento bit môže byt menený aj v rebríkovej schéme.
Control Mode Bit CM - slovo 0, bit 2. Ak je vynulovaný, vstup do regulátora je E=SP-PV. Ak je nastavený, vstup do regulátora je E=PV-SP. Tento bit môže byt menený aj v rebríkovej schéme.
Output Limiting Enabled Bit OL - slovo 0, bit 3. Ak je nastavený, uplatnuje sa ohranicenie riadiaceho zásahu. Tento bit môže byt menený aj v rebríkovej schéme. Tento bit môže byt menený aj v rebríkovej schéme.
Reset and Gain Rate Enhacement Bit RG - slovo 0, bit 4. Ak je nastavený, tak Reset Minute/Repeat Value a násobok zisku sa desatznásobí (reset multiplier 0.01 a násobok zisku 0.01). Ak je vynulovaný, tak je Reset Minute/Repeat Value a násobok zisku bude v rovnakých jednotkách ako pri inštrukcii PID procesora 5/02 (reset multiplier 0.1 a násobok zisku 0.1)
Scale Setpoint Flag SC - slovo 0, bit 5. Je vynulovaný, ak je špecifikované normovanie žiadanej hodnoty.
Loop Update Time Too Fast TF - slovo 0, bit 6. Tento bit je nastavený PID algoritmom, ak nemôže byt dosiahnutý špecifikovaný vzorkovací cas (obmedzením casu skenovania). Ak je nastavený, je potrebné nastavit väcší cas vzorkovania, alebo zmenit inštrukciu PID na STI prerušovaciu rutinu. Ak je tento bit nastavený, Reset a Rate gain budú v chybovom režime.
Derivate (Rate) Action Bit DA - slovo 0, bit 7. Ak je tento bit nastavený, tak výpocet derivácie je vycíslovaný z chyba a nie z regulovanej veliciny. Ak je vynulovaný, tak je derivácia vycíslovaná z regulovanej veliciny (tak ako pri inštrukcii PID procesora 5/02).
Deadband Error DB - slovo 0, bit 8. Je nastavený, ak žiadaná hodnota je vnútri pásma necitlivosti.
Output Alarm, Upper Limit UL - slovo 0, bit 9. Je nastavený, ak vypocítaný riadiaci zásah prekrocí horný limit riadiacej veliciny.
Output Alarm, Lower Limit LL - slovo 0, bit 10. Je nastavený, ak je vypocítaný riadiaci zásah menší ako dolný limit riadiacej veliciny.
Setpoint Out Of Range SP - slovo 0, bit 11. Je nastavený, ak žiadaná hodnota prekrocí maximálnu normovanú hodnotu, alebo je menšia ako minimálna normovaná hodnota.
Process Variable Out Of Range PV - slovo 0, bit 12. Je nastavený, ak nenormovaná regulovaná velicina prekrocí hodnotu 16383, alebo je menšia ako 0.
PID Done DN - slovo 0, bit 13. Je nastavený po skenovaní, ked sa ukoncí výpocet PID algoritmu.
PID Enabled EN - slovo 0, bit 15. Je nastavený, ak je priechodný rung s PID inštrukciou.
Cvičenie č.9 –– Instr
Komunikačné (MSG,SVC)
Komunikačné (MSG,SVC)
MSG
Inštrukcia MSG prenesie data medzi dvoma stanicami prepojenými pomocou DH-485. Prenos sa vykoná na konci skenovania programu. Inštrukcia môže byť naprogramovaná pre čítanie alebo zápis správy. K MSG sú priradené tri stavové bity: S:2/5 (DH-485 prijatý príkaz), S:2/6 (DH-485 odpoveď na správu), S:2/7 (DH-485 vyslaný príkaz).
SVC Ak je rung s touto inštrukciou priechodný, preruší sa skenovanie programu a vykoná sa komunikačná časť operačného cyklu. Skenovanie potom pokračuje za inštrukciou SVC. SVC môže byť naprogramovaná aj bez predchádzajúcej podmienky - to je obvyklý spôsob použitia tejto inštrukcie.
I/O a inštrukcie prerušení ( IIM,IOM,IIE,IID,RPI,REF,STD,STE,STS,INT )
IIM
Táto výstupná inštrukcia umožňuje aktualizovať data prednostne, ako prebehne scanovanie programu. Ak je inštrukcia povolená, scanovanie programu je prerušené. Data zo špecifikovaného I/O slotu sú prenesené cez masku do vstupného poľa. To sprístupní data pre nasledujúcu inštrukciu. Táto inštrukcia pracuje nad vstupmi priradenými príslušnému slovu slotu (max. 16 bitov). Pre masku platí: 1 - na pozícii vstupného bitu povolí data zo vstupu, 0 - na pozícii vstupného bitu zakáže prenos zo vstupu
IOM-to isté pre výstup
IID / IIE
Tieto I/O rutiny sa požívajú so špeciálnymi I/O modulmi, schopnými generovať prerušenie. Po prijatí prerušenia, je treba špecifikovať subrutinu. Tieto inštrukcie sa používajú v páre. Inštrukcie IIE a IID sa používajú na vytváranie zón, kde sa prerušenia nemajú uplatňovať. Pomocou inštrukcie IID sa definujú sloty, od ktorých je prerušenie zakázané, inštrukcia IIE obnovuje normálnu činnosť.
REF
Ak je rung priechodný, inštrukcia REF preruší skenovanie programu a vykoná I/O skenovanie (zápis do výstupov, načítanie vstupov, obsluha komunikácie) a potom pokračuje v skenovaní programu. Pri procesoroch typu 5/03, 5/04, 5/05 sú parametrami inštrukcie aj čísla kanálov, ktoré sa majú obslúžiť (DF1 je kanál 0, DH-485 je kanál 1).
STD
Inštrukcia STD sa používa s inštrukciou STE na vytvorenie zóny, v ktorej nemôže nastať STI prerušenie. Ak je rung s touto inštrukciou priechodný, vynuluje sa bit, ktorý povoľuje STI a STI subrutina sa nevykoná.
STE
Inštrukcia STE sa používa s inštrukciou STD na vytvorenie zóny, v ktorej nemôže nastať STI prerušenie. Ak je rung s touto inštrukciou priechodný, nastaví sa bit, ktorý povoľuje STI a STI subrutina sa môže vykonať. Ak je potom rung znova nepriechodný, bit povolenioa STI zostane nezmenený, pokým nie je vykonaná inštrukcia STD (ktorá ho vynuluje). Táto inštrukcia nemá žiadny vplyv na STI časovač alebo žiadanú hodnotu.užívateľskej chybovej subrutine.
STS
Inštrukcia STS sa používa pre štart STI časovača pokým nenastane prechod do režimu REM RUN. Táto inštrukcia má dva parametre: číslo STI poľa a žiadanú hodnotu STI. Ak je rung s touto inštrukciou priechodný, do stavového poľa (S:31 a S:30) je zadané číslo poľa a žiadaná hodnota. Vtedy je vynulovaný STI časovač a začína časovanie (po pretečení sa vykoná STI subrutina). Ak je potom rung v stave FALSE, v STI zostanú zadané hodnoty (číslo poľa a žiadaná hodnota, zadané v inštrukcii STS). Táto inštrukcia nie je potrebná pre konfiguráciu STI prerušenia.
INT
Táto inštrukcia slúži ako návestie alebo identifikátor časti programu, ako subrutina prerušenia. Táto inštrukcia nemá žiadne riadiace bity je stále priechodnám a musí byť prvá v prvom rungu subrutiny.
Logické,Presun(MOV,MVM,AND,OR,NOT,XOR)
MOV-presun
MVM – presun cez masku, Source Dest adresy, Mask adresa or konst
AND – súčin po bite, Source jedna konstanta môže byť, Dest adresa
OR – súčet po bite, Source jedna konstanta môže byť, Dest adresa
NOT – negacia oboje adresy
XOR - exlusive or po bite, Source jedna konstanta môže byť, Dest adresa
Kopírovanie a naplnenie súboru(COP,FLL)
COP Ak je rung priechodný, je do Dest kopírované pole v Source. Inštrukcia COP nevyužíva stavové bity. Source a Destination elementy môžu byť rôznych typov, pretože pole Destination určuje koľko slov dát bude prenesených. Treba zabezpečiť, aby Source a Destination pozostávali minimálne z elementov dĺžky Length.
FLL Táto inštrukcia vyplní slová poľa hodnotou zo Source, pričom zdroj zostane nezmenený. Všetky elementy zdroja (zvyčajne konštanty) sú vyslané do Destination stále, ak je daný rung priechodný. Elementy sú postupne vyplňované, až pokým nie je dosiahnutý zadaný počet.
Posuny Bitiv FIFO a LIFO inštrukcie (BSL,BSR,FFL,FFU,LFL,LFU )
BSL Táto výstupná inštrukcia pri každom prechode z FALSE do TRUE presunie data do bitového poľa a posunie doľava. Na prazny bit dá Bit Address.
BSR – to isté ale v vpravo
FFL / FFU
Inštrukcie FFL a FFU sa používajú v páre. Inštrukcia FFL uloží slová do užívateľom definovaného FIFO zásobníka pri prechode rungu z FALSE do TRUE. Inštrukcia FFU vyjme slová z FIFO zásobníka v rovnakom poradí ako boli uložené.
LFL / LFU
Inštrukcie LFL a LFU sa používajú v páre. Inštrukcia LFL uloží slová do užívateľom definovaného LIFO zásobníka (max. 34 slov) pri prechode rungu z FALSE do TRUE. Ak je zásobník naplnený, nastaví sa bit DN (Done). Inštrukcia LFU vyjme slová z LIFO zásobníka. Ak je zásobník prázdny, nastaví sa bit EM (Empty
DISKUSIA