22. TVORBA UŽIVATELSKÝCH INSTRUKCÍ A MAKER



Podobné dokumenty
22. Tvorba uz ivatelskych instrukcıa maker

3. ZÁKLADNÍ INSTRUKCE JAZYKA TECHNOL

24. Jazyk PLC836 - referenční slovník

5. STRUKTURA PLC PROGRAMU

10. MAPOVÁNÍ BINÁRNÍCH A ANALOGOVÝCH VSTUPŮ A VÝSTUPŮ

Přehled verzí aplikace WinTechnol

26. PERIFERIE PŘIPOJENÉ NA ETHERCAT

4. LOGICKÉ SEKVENČNÍ CELKY

18. ZPŮSOBY ŘEŠENÍ AUTOMATICKÉ VÝMĚNY NÁSTROJE A TECHNOLOGICKÉ TABULKY

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE FORMALISMY PRO SYNTAXÍ ŘÍZENÝ PŘEKLAD: PŘEKLADOVÉ A ATRIBUTOVÉ GRAMATIKY.

16. PLC KONFIGURACE A KONSTANTY

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

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

Operační systémy a programování

14. CHYBOVÁ HLÁŠENÍ, VAROVÁNÍ, INFORMAČNÍ HLÁŠENÍ A LADÍCÍ VÝPISY Z PLC PROGRAMU

3. ZÁKLADNÍ INSTRUKCE JAZYKA PLC836

Algoritmizace a programování

2. TECHNICKÉ A PROGRAMOVÉ VYBAVENÍ SYSTÉMU

TCL. Měřící modul proudu 4-20mA s výstupem RS485

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

ELEKTRONICKÝ PODPIS VE WORDU

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

Předmluva 13 Použité konvence 14. KAPITOLA 1 Základní číselné soustavy a pojmy Číselné soustavy a převody 15 1.

HypEd4 Uživatelská příručka 2004 HYPEL

PREPROCESOR POKRAČOVÁNÍ

.include "m32def.inc" // Konstanty.equ N = 5 // Počet prvků v poli.equ PRVNI = 3 // První číslo v poli

MPASM a IDE pro vývoj aplikací MCU (Microchip)

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10


A51 MACRO ASSEMBLER POKUSNY PROGRAM DATE 10/3/007 PAGE 1


ISU Cvičení 2. Marta Čudová

Testování jednotky ALU a aplikace metody FMEA

Architektury CISC a RISC, uplatnění v personálních počítačích

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr

Implementace numerických metod v jazyce C a Python


. Seznámení se systémem TEX. Zpracování textů na počítači. Ing. Pavel Haluza, Ph.D. ústav informatiky PEF MENDELU v Brně haluza@mendelu.

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Seznámení se shellem, textové editory numerické výpočty

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

PRG036 Technologie XML


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

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG )

Třídy a struktury v C++

Návod na použití programu 8051 IDE

Hardwarová realizace konečných automatů

Technické prostředky počítačové techniky

Jazyk symbolických adres

PK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 ( )

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

Assembler DRUHÁ ČÁST OBSAH.

Nástroj Project Loader TXV Šesté vydání Září 2013 změny vyhrazeny

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

Návod k použití. Deska identifikace FASTOS IDENT AGROSOFT Tábor s.r.o.

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

Procesor. Procesor FPU ALU. Řadič mikrokód

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: :01:48

Sbírka úloh pro elektronickou stavebnici. Stručný popis programovacího jazyka Bascom AVR

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Spinelterminal. Terminálový program pro ladění aplikací s protokolem Spinel. 20. září 2005 w w w. p a p o u c h. c o m v

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

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

Programování v Javě I. Únor 2009

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

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

12. POPIS ŘÍZENÍ REGULÁTORŮ POHONŮ ROTAČNÍCH OS A VŘETEN U CNC SYSTÉMU

Odvozené a strukturované typy dat

Charakteristika dalších verzí procesorů v PC

JEDNOTKA SNÍMAČŮ 1-WIRE (DALLAS) TUDS-40-MOD

Komunikace v síti M-Bus

Implementace egovernmentu v území. Datové schránky

Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787

Maturitní témata - PRT 4M

Bod 1. Označení dražebníka a navrhovatele

Programování v Javě I. Leden 2008

ArduinotechGSMShield knihovna

Programování. Debugging a testování. Martin Urza

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Procesor z pohledu programátora

In Circuit Debugger pro procesory PIC. Milan Horkel

Spotřebitelský řetězec lesních produktů Požadavky

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

x86 assembler and inline assembler in GCC

Mikrořadiče řady 8051.

Obvody a architektura počítačů. Jednoprocesorové počítače

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

Program a životní cyklus programu

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

1 Úvod do kompilátorů


13. NASTAVENÍ PARAMETRŮ SERVOPOHONŮ A JEJICH ŘÍZENÍ PLC PROGRAMEM

Czech POINT kontaktní místo veřejné správy. Způsob získání dotace

DRAŽEBNÍ VYHLÁŠKA č. N65962 vyhotovená dle zák.č. 26/2000 Sb., o veřejných dražbách, ve znění pozdějších předpisů

Paměti a jejich organizace

Transkript:

Tvorba uživatelských instrukcí a maker 22. TVORBA UŽIVATELSKÝCH INSTRUKCÍ A MAKER Od verze překladače PLC 6.041 je umožněno si definovat a používat vlastní pro překlad PLC programu. Rozvoj uživatelských instrukcí může být definován jak na úrovni jazyka TECHNOL, tak na úrovni assembleru 386 a vyšším. Uživatelské mohou přebírat formální parametry a mohou si definovat vlastní lokální proměnné a návěští. Uživatelské mohou být definovány v samostatném souboru, který se připojuje ke zdrojovému textu v době překladu. 22.1 Připojování externích definičních souborů Uživatelské, symbolické identifikátory chyb a informačních hlášení (viz. Nastavování chyb kapitola 14.) nebo různá makra, mohou být definovány v samostatných souborech, které se připojují ke zdrojovému textu v době překladu pomocí T_INCLUDE. T_INCLUDE funkce T_INCLUDE připojení definičního souboru syntax T_INCLUDE file parametr file název souboru Připojení definičního souboru ke zdrojovému textu. Parametr file je název souboru, který může obsahovat absolutní cestu. Pokud název žádnou cestu neobsahuje, bude se hledat ve stejném adresáři, kde se nachází zdrojový PLC program. Pokud je uveden název souboru v apostrofech ( ) a neobsahuje absolutní cestu, předpokládá se umístění v systémovém adresáři SYSTEM. Je zvykem umísťovat T_INCLUDE hned na začátek zdrojového programu a v názvech pro definiční soubory požívat příponu INC. Definiční soubory mohou obsahovat definice symbolických konstant (chyb), definice maker a uživatelských 22-1

PLC instrukcí a nesmějí obsahovat přímý výkonný instrukční kód (kromě kódu definovaného v makrech). T_INCLUDE VXR50.INC ;Definiční soubor VXR50.INC se bude hledat ;v adresáři, kde se nachází zdrojový PLC ;program (VXR50.PLC). T_INCLUDE VXR50\VXR50.INC ;Umístění definičního souboru VXR50.INC ;v podadresáři VXR50 adresáře, kde je ;umístěn zdrojový PLC program. 22.2 Definice uživatelských instrukcí a maker Rozvoj uživatelských instrukcí může být definován jak na úrovni jazyka TECHNOL, tak na úrovni assembleru. Uživatelské mohou přebírat formální parametry a mohou si definovat vlastní lokální proměnné a návěští. DEF_T_MACRO funkce DEF_T_MACRO začátek definice (makra) syntax DEF_T_MACRO name [ par1, par2,. ] 1.parametr name jméno makra 2.parametr par1 formální parametry Instrukce DEF_T_MACRO označuje začátek definice uživatelského makra, nebo uživatelské. První parametr name je povinný a udává název makra nebo. Pod tímto názvem se potom makro nebo volá pro její vykonání, přičemž se automaticky provede rozvoj makra podle definice. Další parametry jsou formální parametry makra nebo a jejich počet závisí od konkrétní implementace. Formální parametry slouží pro předávání skutečných proměnných do rozvoje makra nebo při jejím výkonu a mohou to být například konstanty, bitové proměnné a různé datové proměnné. Volání uživatelských maker a instrukcí se provede prostým voláním podle názvu makra a výčtem skutečných parametrů: name par1, par2 Definice maker mohou být do sebe vnořovány, takže z těla jednoho makra možno volat jiné makro. 22-2

Tvorba uživatelských instrukcí a maker funkce konec definice (makra) syntax [ modif ] Instrukce označuje konec definice uživatelského makra, nebo uživatelské. Instrukce nemusí mít žádný parametr. Pokud má parametry, jedná se o seznam řídících příznaků, které slouží pro dodatečné upřesnění uživatelské. Příznaky upřesňují debugovatelnost, práci se zásobníkem při závorkových operacích a konverzi pro předání parametrů. Popis jednotlivých příznaků bude uveden dále u instrukci (APP) v části Řízení uživatělských instrukcí. Poznámka: Často se definice maker nezaobejde bez použití instrukcí assembleru, které se budou kombinovat se standardními mi v TECHNOLu. V tomto případe je nutné znát několik pravidel. Fyzická reprezentace bitu v RLO registru je bit s váhou 40h v AH registru mikroprocesoru. Datový registr odpovídá registru ECX. Nedoporučuje se používat SI s ESI registr, protože se nezachová jeho obsah ve standardních instrukcích TECHNOL. Lepší je nepočítat se zachováním obsahů registrů, když jsou mezi naše vkládány standardní TECHNOL. DEF_T_MACRO ERRNUM EQUI ERR_VR1, 4512h ;chyba 1.12.45 EQUI ERR_VR2, 4612h ;chyba 1.12.46 EQUI DD123, 123 22.3 Formální parametry a lokální symboly maker Makro obsahuje při své definici formální parametry. Formální parametry slouží pro předávání skutečných proměnných do rozvoje makra nebo při jejím výkonu (rozvoji makra). Kromě formálních parametrů, může makro běžně používat všechny globální a lokální proměnné, které jsou v okamžiku výkonu makra k dispozici. Když je potřeba při definici makra použít některý z formálních parametrů pro TECHNOL, je nutné použít před názvem formálního parametru prefix:.tmac. Tento prefix způsobí, že TECHNOLu přebere formální parametr tak, aby došlo ke správné náhradě skutečného parametru v okamžiku výkonu makra s ohledem na její název a typ. Prefix.TMAC se doporučuje psát jako první před případnými dalšími prefixy. 22-3

PLC Příklady použití formálních parametrů: DEF_T_MACRO POKUS PAR1, PAR2, PAR3 LOD TMAC.PAR3 ;načte PAR3 podle jeho typu LDR TMAC.PAR1 ;načte bit PAR1 LO -TMAC.PAR2 ;log. OR s negací bitu PAR2 WR TMAC.PAR3.PAR1 ;zápis bitu na adresu PAR3 ;s váhou PAR1 ;složitější adresace bitu) LDR ALFA ;načte globální bit ALFA LO TMAC.PAR2 ;log. OR s bitem PAR2 STO1 TMAC.BYTE.PAR3 ;podmíněný zápis do PAR3 ;typ je změněn prefixem BYTE ;Volání makra: ;ALFA a BETA jsou bitové proměnné a BUNX je datová proměnná POKUS ALFA, BETA, BUNX ;Volání uživatelského makra Makro může ve svém rozvoji definovat vlastní návěští a vlastní data. Když by makro potom bylo v programu použito vícekrát, došlo by ke chybě překladu následkem vícenásobné definice symbolů. Pro odstranění tohoto problému slouží T_LOCAL. T_LOCAL funkce T_LOCAL definice lokálních symbolů makra syntax T_LOCAL sym1, [ sym2, sym3,. ] Instrukce T_LOCAL musí být umístěná bezprostředně za instrukcí pro začátek definice makra DEF_T_MACRO a může být použita vícekrát. Instrukce T_LOCAL se používá pro specifikování lokálních symbolů v rámci makra. Lokálními symboly mohou být návěští, datové a bitové proměnné, které jsou použity jen v rozvoji makra. Instrukci je nutno použít vždy, kdy takové symboly jsou v rámci makra definovány a kdy se předpokládá vícenásobné použití makra () ve zdrojovém kódu. Bitové a datové proměnné deklarované v makru musí mít lokální charakter a proto se musí definovat v modulu DATA_LOCAL, včleněném přímo v makru (viz. Popis modulů Kapitola 5., Struktura PLC programu). Pro definici datových proměnných možno použít instrukci DS a pro definici bitových proměnných možno použít instrukci DFM. Jediná výjimka je, že v instrukci DFM musí být povinně definováno všech osm bitů. 22-4

Tvorba uživatelských instrukcí a maker Definice lokálních dat DEF_T_MACRO POKUS3 PAR1, PAR2, PAR3 T_LOCAL BUN_M1, BUN_M2, BUN_BIT ;lokální symboly makra T_LOCAL BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7 DATA_LOCAL BUN_M1: DS 1 ;lokální bajtová proměnná BUN_M2: DS 2 ;lokální wordowá proměnná BUN_BIT: DFM BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7 DATA_LOCAL_END První a druhý parametr makra jsou bitové proměnné a třetí parametr je datová proměnná typu WORD DEF_T_MACRO POKUS4 PAR1, PAR2, PAR3 T_LOCAL NAVM ;lokální návěští T_LOCAL BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7 ;lokální symboly DATA_LOCAL DFM BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7 DATA_LOCAL_END ;lokální bity LDR -TMAC.PAR1 ;čtení negace formálního bitu PAR1 LO TMAC.PAR2 ;log. OR s formálním bitem PAR2 LA -ALFA ;log. AND s globálním bitem ALFA WR BIT0 ;zápis do lokálního bitu makra BIT0 JL0 NAVM ;podmíněný skok LDR TMAC.PAR2 ;čtení formálního bitu PAR3 FL1 1,BIT1 ;podmíněný zápis do lokálního bitu BIT1 NAVM: ;lokální návěští makra LOD TMAC.PAR3 ;čtení z formálního parametru(word) ;Volání makra: POKUS4 ALFA, BETA, BUNX ;Volání uživatelského makra 22-5

PLC 22.4 Řízení uživatelských instrukcí Mezi další možnosti řízení uživatelských instrukcí patří možnost nastavení ladění, konverzí a práce se zásobníkem. Také je umožněno tzv. přetěžování základních instrukcí jazyka TECHNOL uživatelskými mi. APP funkce APP řízení uživatelské syntax APP name, alias, [modif] Instrukce APP slouží pro připojení názvu k rezervovaným názvům překladače TECHNOL a pro nastavení příznaků. Tato se samotná používá hlavně pro přetěžování názvů instrukcí a vzhledem k její speciálnějšímu významu se budeme hlavně zabývat seznamem příznaků, které jsou v ni uvedeny. Tento seznam se také používá v parametrech, kde je jeho hlavní použití. Příznaky jsou odděleny čárkou. Přehled nastavování příznaků: 1.parametr 2.parametr 3.parametr Vztah k zásobníku log.instrukcí Konverze vstup.parametrů Nastavování breakpointů (DEBUG) T_NORMAL* Nemá vztah k zásobníku C_0* Bez konverze D_OFF* Instrukce nemá povolen breakpoint T_BEGIN Vyprázdnění C_1 Změna závorek na řetězce D_ON Instrukce má povolen zásobníku _op, _cl, breakpoint T_END Koncová, podobně jako WR. T_PUSH Uložení obsahu RLO do zásobníku, podobně jako LDR. T_POP Vybrání RLO ze zásobníku, jako samotné LO, LA. Implicitní nastavení pro je T_NORMAL, C_0, D_OFF. Pokud v ukončovací instrukci definice makra žádné parametry neuvedeme, nebude mít žádný vztah vzhledem k zásobníku, nebude mít konverzi parametrů a nebude mít povolen breakpoint. 22-6

Tvorba uživatelských instrukcí a maker Pro konec definice makra: Uživatelská má být typu koncové (WR, FL1,..), nemá mít konverzi a je bez ladění: APP T_END, C_0, D_OFF ALFA, BETA, T_END, C_0, D_OFF CONTROL_T_MACRO funkce CONTROL_T_MACRO řízení uživatelských instrukcí syntax CONTROL_T_MACRO par Instrukce CONTROL_T_MACRO slouží pro řízení vykonávání všech uživatelských instrukcí a maker. Instrukce má jeden parametr, kterým je řídící klíčové slovo. Instrukce může být v programu použita vícekrát. parametr význam CONTROL_T_MACRO POS* (implicitní nastavení) Uživatelské se provádí až po rozdekódování standardních instrukcí TECHNOLu (posprocesor). V tomto případě se nedá použít přetěžování standardních instrukcí. PRE Uživatelské se provádí před rozdekódováním standardních instrukcí TECHNOLu (preprocesor). V tomto případě je možno použít přetěžování standardních instrukcí. 22-7

PLC 22-8