Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Příklad na komunikaci s automaty Landis&Gyr typu PRV1/2

Příklad je umístěn ve složce: /Pm/Examples/Commun/LandisGyr_PRV. Je to komunikace kdy stanice PC je Master a Landis&Gyr je Slave. Pro jednoduché pochopení příkladu je potřeba mít znalosti o Promotic objektech PmComm a PmCommMsg.
 
Příklad má obraz otevíraný po startu aplikace z PmWorkspace - to je nastaveno v záložce Rámce v rámci "main" v konfigurátoru Prohlížeč komponenty. V obraze je tlačítko(a), které v události onButtonUp spouští metody PmFolder. Všechny výpisy se provádějí metodou Debug do položky Debug_info v INFO systému. Hodně důležitých informací lze získat také z INFO položky COMM (statistika, obsah skutečně vysílaných a přijímaných dat, atd.) a z INFO položky PmRoot.
 
Parametry nastavení seriové linky v automatu Landis&Gyr:
TTY2.BDC: 4800 kom.rychlost
TTY2.BD: 9600 kom.rychlost s terminálem
TTY2.WKEN: 0 délka 8 dat.bitů
TTY2.SSB: 0 počet stopbitů 1
TTY2.PAR: 0 bez parity
TTY2.NIM: 0
TTY2.NCRT: 0 no CRT
TTY2.NOEC: 0 bez echa
TTY2.NOX: 0 XON/XOFF synchronizace
TTY2.NCON: 0 reakce na řídící znak
TTY2.NESA: 0 potlačení Escape-sekvence
TTY2.NFCR: 0 nastavuje <CR><LF> na konci řádku
TTY2.NWCR: 0 nastavuje <CR><LF> na začátku
TTY2.MOD: 1 komunikační mód
TTY2.ATMO: 0 timeout
 
Parametry ser.linky nastavení v PROMOTIC příkladě:

COM1, rychlost 9600, 8 data-bits, bez parity, 1 STOP bit.

 
Všeobecné informace:

Nastavení a naprogramování PRV2 je věcí programátora Landis&Gyr, který by měl sdělit obsazení PRV2 jednotlivými moduly včetně adres a vlastních definovaných struktur proměnných.

Na tyto moduly a struktury se lze dotazovat standardními příkazy (viz příklady) například:

$xxx.HW - dotaz na hodnotu parametru modulu na adrese xxx
$xxx.SB - dotaz na binární hodnotu parametru modulu na adrese xxx
atd.
 
Vlastní komunikace:
a) Výzva: znak CR (13 dekadicky)
b) Odpověď (v ASCII): příkaz + datový blok obsahující odpověď na dotaz zakončený znakem CR
 
Seznam zpráv v příkladu: (většinu zpráv lze spustit z toolbaru)
Název: Příkaz:
m02TIME odpověď: aktuální čas ("TIME"<CR><LF>"12:00:57"<CR>)
m03DATE odpověď: aktuální datum ("DATE"<CR><LF>"03-JAN-99"<CR>)
m04$001.HW odpověď: hodnota parametru HW I/O adresy 001 ("$001.HW"<CR><LF>"28.45"<CR>)
m05$010.SB odpověď: hodnota SB(binární) adresy 010 ("$010.SB"<CR><LF>"0"<CR>)
m06$010.SB=1 provede: zápis "1" na SB adresu 010 ("$010.SB=1"<CR>)
m07PLT2.HW odpověď: hodnota parametru HW struktury PLT2 ("PLT2.HW"<CR><LF>"1"<CR>)
m08PLT2.PAR1=50 provede: zápis PAR1 do struktury PLT2 ("PLT2.PAR1=50"<CR>)
m09PLT2.PAR1 odpověď: hodnota PAR1 struktury PLT2 ("PLT2.PAR1"<CR><LF>"50"<CR>)
m10[10]W(1,5) odpověď: hodnota proměnné W tasku 10 s indexem matice 1,5 ("[10]W(1,5)"<CR><LF>"32"<CR>), Blokováno - nebezpečný příkaz
m11[10]Tv=15 provede: zápis "15" do proměnné Tv v tasku 10 ("[10]Tv=15"<CR>), Blokováno - nebezpečný příkaz
  list tty2 získání informace o parametrech nastavení seriové linky v Landis&Gyr
 
Důležitá upozornění:
- testovací příklady budou fungovat jen při správné úpravě adres dle nastavení PRV2
- zápis hodnot je třeba provádět pouze do parametru (adresy) a struktury k tomu určeným
- jakékoliv chybné zápisy do paměti PRV2 jsou velmi riskantní a mohou způsobit přepsání programu v PRV2 !!!
- v případě špatné syntaxe zařízení vrací chybový znak 08H.
- vlastní datový údaj se z přijatých dat může vyčíst například pomocí vlastnosti PmCommMsg.ReadVars.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice