Prázdný košík
Úvodní stránka
Přihlásit
Hledat 
 Control Web 8
 Ovladače pro Control Web
 DataLab
 DataCam
 DataLight
 Pro školy
 Ostatní software
 Control Web – předchozí verze
 Služby
 Školení

Regulátor KS-98/KS-98+
 

Regulátor KS-98/KS-98+


Kód:CW-KS98
Cena pro integrátory (bez DPH):4 900 Kč
Koncová cena (bez DPH):5 450 Kč
Výrobce:Moravské přístroje
 
CELKEM
Vaše cena (bez DPH):
Celková cena (bez DPH):
*) Předpokládaná dostupnost se může lišit podle volitelných parametrů produktu. Předpokládaná dostupnost nezahrnuje dobu přepravy a jedná se o nezávazný údaj.

Ovladač slouží pro komunikaci systému Control Web s regulátory KS98 firmy PMA Processcontrol AB podle protokolu ISO1745.

Vlastnosti ovladače

  • Protokol ISO1745

  • Rozhraní RS-485/422 nebo RS-232

  • Komunikační rychlost 2400, 4800, 9600 nebo 19200 Baud

  • Přístup k datům jednotky KS98 prostřednictvím kanálů ovladače.

  • Přístup k datům jednotky KS98 pomocí procedur ovladače (DQM).

  • Možnost komunikace s více jednotkami (maximálně 100).

Seznam sekcí:

Vlastnosti ovladače
Činnost ovladače
Parametry ovladače
Kanály ovladače
Procedury ovladače
Zpracování a stavy výjimek ovladače
Chybové kódy
Příklady souborů DMF a PAR ovladače

Činnost ovladače

Ovladač komunikuje s jedním nebo několika připojenými regulátory KS98 pomocí protokolu ISO1745. Pracuje jako hlavní nadřízená stanice, která řídí komunikaci (master). Připojené jednotky vystupují jako podřízené stanice (slave), které odpovídají na požadavky od stanice hlavní. Jako komunikačí rozhraní je možno použít RS-485 nebo RS-422 (s použitím speciální karty do počítače např. PCL-745B, Tedia aj.) nebo standardní sériové rozhraní počítače RS-232 s použitím externího převodníku např. ADAM 4520, Elsaco aj. Ovladač umožňuje čtení nebo zápis různých hodnot v regulátoru. Je možno využít dvou přístupů:

  • řízení komunikace prostřednictvím procedur ovladače (DQM)

  • přímé čtení nebo zápis kanálů, které odpovídají různým hodnotám v regulátoru podle definice v souboru parametrů ovladače

Při řízení komunikace procedurami ovladače se zadávají přímo jednotlivé textové řetězce, které se vysílají do regulátoru, jako jednotlivé požadavky. Ovladač tyto řetězce doplní o řídící znaky protokolu a kontrolní součet a vyšle je do regulátoru. Odpověď od regulátoru je signalizována výjimkou od ovladače, a pokud se jednalo o povel ke čtení dat, ovladač předá řetězec s odpovědí regulátoru. Pomocí této metody je možno zapsat nebo přečíst prakticky jakoukoliv hodnotu v regulátoru. Nevýhodou je nutnost znát přesný tvar jednotlivých zpráv. O veškerou manipulaci s řetězci se musí postarat autor aplikační úlohy. Druhý způsob je z hlediska tvůrce aplikace jednodušší. V souboru parametrů ovladače je nutno podle jednoduchých pravidel zadefinovat jednotlivé kanály a jim odpovídající hodnoty v regulátoru. V aplikaci se pak pracuje běžným způsobem přímo s těmito kanály. Tento způsob má určitá omezení. Využívá pouze některé (typické) formáty zpráv. U operací zápisu dat do regulátoru je možno přenášet data pouze po jednotlivých hodnotách. Operace čtení mohou využívat jak individuální přístup, tak přenos po blocích.

Parametry ovladače

Ovladač se konfiguruje pomocí souboru parametrů, který se načítá při spouštění aplikace. Je to textový soubor, který je možno upravovat běžným textovým editorem. Parametry jsou rozděleny do několika skupin - sekcí. Každá sekce má svoje jméno uvedené v hranatých závorkách a dále seznam několika parametrů tvořených jménem parametru, oddělovacím znakem (rovnítko) a jednou nebo více hodnotami parametru.

Upozornění:

U zápisu názvu sekcí a parametrů záleží na způsobu psaní velkých a malých písmen.

Parametry linkové komunikační vrstvy — sekce [comm]

Linková komunikační vrstva představuje prostředek pro přístup na standardní sériové rozhraní počítače. Tato vrstva umožňuje mimo jiné sdílet jedno sériové rozhraní více ovladači. V systému Control Web je linková komunikační vrstva reprezentována dvěma DLL knihovnami ('CWXLINK.DLL' a 'CWCOMM.DLL'). Pro její konfiguraci slouží v souborech parametrů ovladače sekce [comm]. V této sekci je možno buď přímo definovat parametry sériové komunikace nebo uvést odkaz (přesměrovaní) na samostatný konfigurační soubor s parametry sériové komunikace. V případě přesměrování obsahuje sekce [comm] pouze jediný parametr — file:

[comm]
  file=c:\cw\par\comm.par

Struktura parametrů linkové vrstvy:

[comm]
  file = <file>
  device = <comdevice>

Pokud je definován parametr device a existuje sekce jména comdevice, budou konfigurační parametry přednostně získány z této sekce, jinak budou použity parametry přímo ze sekce [comm].

Povinné parametry:

[comm]
  rx_frame_buffer = <N>
  tx_frame_buffer = <N>
  baudrate = <N>
  databits = <N>
  stopbits = one | 1 | oneandhalf | 1.5 | two | 2
  parity = none | no | even | mark | odd | space
  cts_flow = true | false
  dsr_flow = true | false
  dtr_control = disable | low | enable | high | handshake | toggle | toggle_neg
  rts_control = disable | low | enable | high | handshake | toggle | toggle_neg
  dsr_sense = low | high
  rx_interchar_timeout = <N>
  rx_char_timeout = <N> | 0
  rx_timeout = <N> | 0
  tx_char_timeout = <N> | 0
  tx_timeout = <N> | 0

Nepovinné parametry:

  priority = idle | low | below_normal | normal | above_normal | high | realtime
  mode = fullduplex | halfduplex
  pre_key = <N>
  hold_key = <N>
  rx_buffer = <N>
  tx_buffer = <N>
  tx_continue_xon_xoff = true | false
  tx_xon_xoff = true | false
  rx_xon_xoff = true | false
  xon_tresh = <N>
  xoff_tresh = <N>
  error_xlat = true | false
  discard_null = true | false
  xon_char = <N>
  xoff_char = <N>
  err_char = <N>
  eof_char = <N>
  evt_char = <N>

Syntaktické kategorie:

ObjektPopis
file

jméno souboru u parametru file

comdevice

název sekce u parametru device

N

číselná hodnota

Popis jednotlivých parametrů:

ParametrVýznam
file

soubor parametrů. Tento parametr je výhodné použít v případech, kdy více ovladačů používá jedinou linkovou vrstvu. Parametry lze potom udržovat v jediném souboru.

device

jméno zařízení, například COM1. Pokud je tento parametr uveden, bude použito zařízení tohoto jména. Pokud zároveň existuje sekce stejného jména, budou následující parametry získány z této sekce. Pokud sekce tohoto jména neexistuje, parametry jsou načteny z aktuální sekce [comm].

priority

priorita komunikačního threadu. Implicitní hodnota je normal.

mode

režim činnosti (obousměrná/jednosměrná komunikace). Implicitní hodnota je fullduplex.

pre_key

určuje prodlevu před zahájením přenosu. Stav signálů DTR/RTS, pokud pracují v toggle módu, je po dobu prodlevy již změněn na aktivní.

hold_key

určuje prodlevu po ukončení přenosu. Signály DTR/RTS, pokud pracují v toggle módu, zůstávají po tuto dobu prodlevy ještě aktivní.

rx_frame_buffer

velikost sekundárního bufferu pro vstup. Přípustný rozsah <96;65535>, parametr nemá implicitní hodnotu.

tx_frame_buffer

velikost sekundárního bufferu pro výstup. Přípustný rozsah <96;65535>, parametr nemá implicitní hodnotu.

rx_buffer

velikost bufferu pro vstup; rozsah <96;65535>, implicitně 4096.

tx_buffer

velikost bufferu pro výstup; rozsah <96;65535>, implicitně 4096.

baudrate

komunikační rychlost.

databits

počet data bitů.

stopbits

počet stop bitů.

parity

parita přenosu.

cts_flow

povoluje CTS řízení (handshake).

dsr_flow

povoluje DSR řízení (handshake).

dtr_control
rts_control

chování DTS a RTS, význam hodnot viz dále.

dsr_sense

určuje, je-li DSR aktivní v úrovni high nebo low (high = pozitivní handshake, low = negativní handshake).

tx_continue_xon_xoff

povoluje zastavení vysílání pokud je vstupní buffer plný a byl vyslán znak XOFF (xoff_char). Pokud je nastaveno true, vysílání pokračuje od okamžiku, kdy je ve vstupním bufferu nejméně xoff_tresh znaků volných a ovladač vyslal XOFF znak (xoff_char) pro přibrzdění příjmu. Pokud je nastaveno false, vysílání nepokračuje do okamžiku než je ve vstupním bufferu alespoň xon_tresh znaků volných a ovladač vyslal XON znak (xon_char) pro obnovení příjmu. Implicitní hodnota je false.

tx_xon_xoff

povoluje XON/XOFF (software) řízení pro výstup. Implicitní hodnota je false.

rx_xon_xoff

povoluje XON/XOFF (software) řízení pro vstup. Implicitní hodnota je false.

xon_tresh

minimální volná kapacita vstupního bufferu pro vyslání XON. Implicitní hodnota je 50 procent.

xoff_tresh

ovlivňuje maximální počet znaků ve vstupním bufferu pro vyslání XOFF. Maximální počet přípustných znaků lze spočítat odečtením uvedené hodnoty od velikosti vstupního bufferu (rx_buffer). Implicitní hodnota je 80 procent.

error_xlat

povoluje nahrazení znaků přijatých s chybou parity znakem err_char. Pokud je nastaveno true a kontrola parity povolena, dochází k nahrazení. Implicitní hodnota je false.

discard_null

povoluje odstranění prázdných (NULL) znaků. Pokud je nastaveno true, každý NULL znak je ihned po přijetí odstraněn ze vstupního bufferu. Implicitní hodnota je false.

xon_char

dekadický kód znaku XON.

xoff_char

dekadický kód znaku XOFF.

err_char

dekadický kód znaku, který je určen pro nahrazení znaků přijatých s chybou parity.

eof_char

dekadický kód znaku EOF.

evt_char

dekadický kód znaku EVT.

rx_interchar_timeout

meziznaková prodleva pro příjem v milisekundách.

rx_char_timeout

prodleva na jeden přijatý znak v milisekundách.

rx_timeout

konstantní prodleva pro příjem v milisekundách.

tx_char_timeout

prodleva na vyslání jednoho znaku v milisekundách.

tx_timeout

konstantní prodleva pro vysílání v milisekundách.

Hodnoty pro definici chování DTS a RTS (parametry rts_control a dtr_control):

HodnotaVýznam
disable

řízení vypnuto, trvale v úrovni low

low

stejně jako disable

enable

řízení vypnuto, trvale v úrovni high

high

stejně jako enable

handshake

pozitivní handshake

toggle

signál mění stav během přenosu dat na high (pozitivní klíč), jinak trvale v low

toggle_neg

signál mění stav během přenosu dat na low (negativní klíč), jinak trvale v high

Chování DTR/RTS v módech toggle/toggle_neg

Chování DTR/RTS v módech toggle/toggle_neg

Upozornění:

Parametry rx_interchar_timeout, rx_char_timeout a rx_timeout ovlivňují propustnost na vstupu. Zvýšením hodnoty rx_timeout lze dosáhnout zvýšení efektivity pro rozsáhlé přenosy dat (pozor na kapacitu vstupního bufferu!), ale dojde také k prodloužení prodlev při příjmu separátních bloků dat. Nulové hodnoty parametrů způsobí nastavení optimálních hodnot podle parametrů komunikace.

Parametry tx_char_timeout a tx_timeout ovlivňují propustnost na výstupu. Zvýšením hodnot lze docílit vyšší efektivity pro rozsáhlé přenosy dat, zvláště při povoleném handshake. Příliš malé hodnoty mohou způsobit problémy při vysílání, včetně potenciálně velkého počtu neúspěšných pokusů o vyslání. Nulové hodnoty parametrů způsobí nastavení optimálních hodnot podle parametrů komunikace.

Příklad definice parametrů sériové komunikace v souboru parametrů. Zde je uvedena ukázka s nastavením pro rozhraní RS-232 s použitím externího převodníku na RS-485, který nevyžaduje řízení směru toku dat.

  [comm]
    baudrate = 9600
    parity = even
    databits = 7
    stopbits = 1
    rx_buffer = 1200
    tx_buffer = 1200
    rx_frame_buffer = 1200
    tx_frame_buffer = 1200
    cts_flow = false
    dsr_flow = false
    dtr_control = disable
    rts_control = disable
    dsr_sense = low
    rx_interchar_timeout = 0
    rx_char_timeout = 0
    rx_timeout = 0
    tx_char_timeout = 0
    tx_timeout = 0

Parametry pro základní nastavení ovladače — sekce [Settings]

Tato sekce obsahuje parametry, které slouží ke konfiguraci ovladače. Následuje způsob zápisu parametrů:

[Settings]
    ComDriver = <LinkDll>, <ComId>
    Timeout = <N>
    NumRepeat = <N>
    DecPlaces = <N>
    InterMessageDelay = <N>
    Trace = none | log | windows | xtrace
ParametrVýznam
LinkDll

řetězec obsahující jméno DLL knihovny linkového ovladače, např. 'CWCOMM4.DLL'.

ComId

řetězec obsahující jméno komunikačního portu, např COM1.

N

číselná hodnota. Může být zapsána dekadicky nebo hexadecimálně (ukončena znakem H).

ComDriver

jméno knihovny ovladače sériového rozhraní (linkové vrstvy) a jméno komunikačního portu (COMx), který je nainstalován v prostředí Windows. Jméno standardního ovladače je 'CWCOMM.DLL'.

Timeout

Parametr definuje dobu čekání ovladače na odpověď podřízené stanice. Nepřijde-li do této doby odpověď, požadavek se opakuje podle parametru NumRepeat. Nedojde-li ani poté odpověď, je hlášena chyba komunikace. Tento údaj se zadává v milisekundách. Implicitní hodnota je 300 ms.

NumRepeat

počet opakování požadavků na komunikaci po chybě. Implicitní nastavení jsou 2 opakování.

DecPlaces

počet desetinných míst u výstupních kanálů typu real. Implicitní nastavení jsou 4 desetinná místa.

InterMessageDelay

prodleva v milisekundách, která se vkládá mezi požadavky na komunikaci. Implicitní nastavení je 0.

Trace

Zapnutí trasovacích výpisů komunikace. Je-li nutno sledovat komunikaci ovladače se zařízením, je možno zvolit tímto parametrem cíl trasovacích výpisů. Možné hodnoty parametru jsou:

none - žádné trasovací výpisy

log - výpisy jsou nasměrovány do "Okna zpráv" záložky "Ladicí výpisy" systému Control Web
xtrace - výpisy jsou nasměrovány do souboru '\XTRACE.TXT'
windows - výpisy jsou nasměrovýny do ladicího okna systému Windows

Upozornění:

Trasovací výpisy zpomalují činnost aplikace, popřípadě mohou vést ke zmenšování prostoru v paměti nebo na disku. Proto se nedoporučuje používat trasovací výpisy ve finální aplikaci.

Příklad sekce [Settings]
  [Settings]
    ComDriver = CWCOMM COM1
    Timeout = 300
    NumRepeat = 1
    DecPlaces = 2

Konfigurace vstupních kanálů ovladače — sekce [Read]

Tato sekce definuje jednotlivé kanály nebo skupiny kanálů ovladače pro čtení dat z regulátoru KS98. Pro čtení je možno zvolit definice po jednotlivých kanálech nebo po blocích. Jsou-li definovány jednotlivé kanály, budou se číst vždy v rámci samostatných komunikací. Jsou-li definovány bloky kanálů, budou se přenášet vždy celé bloky. Součástí definice je obsah požadavku (zprávy) pro regulátor. Jednotlivé kanály se definují takto:

Chan = Adr, Code, FBlock, FNum

Definice skupiny kanálů je podobná:

ChanFrom..ChanTo = Adr, Code, FBlock, FNum
  • Chan - číslo kanálu, do kterého se zapíše čtená hodnota z regulátoru.

  • ChanFrom - číslo prvního kanálu v bloku, do kterého se zapíše první čtená hodnota regulátoru.

  • ChanTo - číslo posledního kanálu v bloku.

  • Adr - adresa regulátoru.

  • Code - kód přístupu k určitému funkčnímu bloku a jeho parametru nebo veličině. Tyto kódy jsou uvedeny v dokumentaci k regulátoru KS98 a jsou závislé na typu funkčního bloku. Tento parametr určuje, jestli se bude přenášet jediná hodnota, maximálně devět hodnot nebo všechny hodnoty funkčího bloku.

  • FBlock - číslo funkčního bloku, jehož data se budou číst. Funkční bloky vlastně tvoří program regulátoru. Každý blok má svoje číslo a skupinu parametrů, které je možno ovladačem číst nebo zapisovat. Přiřazení čísel funkčních bloků určuje tvůrce programu pro regulátor.

  • FNum - číslo funkce nad daným blokem a jeho parametrem (veličinou).

  [Read]
    101      = 01 01 1 0
    102      = 01 02 1 0
    110..118 = 01 00 1 0
    120..128 = 01 00 2 0

Konfigurace výstupních kanálů ovladače — sekce [Write]

Tato sekce definuje jednotlivé kanály pro zápis dat do regulátoru KS98. Ovladač neumožňuje blokový zápis hodnot do regulátoru. Zápis hodnot do regulátoru se bude uskutečňovat vždy po jednotlivých kanálech. Součástí definice je obsah požadavku (zprávy) pro regulátor. Jednotlivé kanály se definují takto:

Chan = Adr, Code, FBlock, FNum
  • Chan - číslo kanálu, jehož hodnota se zapíše do regulátoru.

  • Adr - adresa regulátoru.

  • Code - kód přístupu k určitému funčnímu bloku a jeho parametru nebo veličině. Tyto kódy jsou uvedeny v dokumentaci k regulátoru KS98 a jsou závislé na typu funkčního bloku. Hodnota tohoto parametru musí mít formát xy, kde x je libovolná číslice a y je číslice různá od 0.

  • FBlock - číslo funkčního bloku, jehož data se budou zapisovat.

  • FNum - číslo funkce nad daným blokem a jeho parametrem (veličinou).

[Write]
  200 = 01 31 10 0
  201 = 01 32 10 0
  202 = 01 33 10 0
  203 = 01 34 10 0

Kanály ovladače

Kromě uživatelsky definovaných kanálů, viz sekce [Read] [Write], má ovladač některé kanály, které jsou pevně definovány. Tyto kanály jsou vyhrazeny pro poskytování chybových informací o ovladači. Proto kanály s těmito čísly nepoužívejte v definici datových kanálů pro komunikaci.

  • kanál č.1 - real input - kód poslední chyby.

  • kanál č.2 - real input - adresa jednotky s chybou.

    Upozornění:

    Oba kanály se po vyčtení automaticky vynulují.

Automatická konverze typů

Při definování kanálů ovladače je nutno kromě jejich zápisu v souboru parametrů vytvořit také soubor *.DMF, který obsahuje seznam kanálů a jejich typů pro aplikaci. Ovladač převádí automaticky data podle typů uvedených v aplikaci (a také v souboru DMF). Protože všechny hodnoty čtené nebo zapisované do regulátoru se přenášejí ve formě ASCII řetězců, je nutno vyřešit problémy jejich konverze. Ovladač pracuje tak, že na základě požadavku na čtení nebo zápis sestaví podle definice v souboru *.PAR textovou zprávu. Tuto zprávu doplní o speciální řídicí znaky a kontrolní součet a vyšle ji do regulátoru. V případě, že se jedná o zápis hodnot, regulátor zprávu potvrdí. V případě, že se jedná o čtení, regulátor pošle odpověď, což je opět textový řetězec.

Operace čtení

  • Přenos jednotlivých kanálů - je-li parametr Code roven hodnotě xy, kde x je libovolná číslice a y je číslice různá od nuly. V tomto případě vrátí regulátor jednu hodnotu, která je uložena do odpovídajícího kanálu podle jeho typu.

  • Částečný blokový přenos kanálů - parametr Code roven hodnotě x0, kde x je libovolná číslice. V tomto případě regulátor vrátí až devět hodnot podle toho, o jaký funkční blok se jedná. Těmito hodnotami se postupně zaplní všechny kanály, které se vyskytují v definici bloku.

  • Přenos kompletních bloků - parametr Code je roven hodnotě B1, B2, B3 nebo B4. V tomto případě regulátor vrátí všechny hodnoty funkčního bloku. Těmito hodnotami se postupně zaplní všechny kanály, které se vyskytují v definici bloku.

Kanály v jednom bloku nemusí být stejného typu.

Operace zápis

Hodnoty se do regulátoru přenášejí po jedné. Parametr Code, kterým se určuje způsob přístupu k datům musí mít tvar xy, kde x je libovolná číslice a y je číslice různá od nuly. Má-li být hodnota celočíselná, tj. číslo nebude obsahovat desetinnou tečku, definujte u odpovídajícího kanálu některý z typů shortcard, shortint, cardinal, integer, longcard, longint. Pokud použijete typ shortreal nebo real bude hodnota převedena na řetězec, který obsahuje také desetinnou tečku a pevný počet desetinných míst, podle parametru DecPlaces. Hodnotu je možno předat také jako řetězec přes kanál typu string. V takovém případě nebude hodnota nijak upravována.

Procedury ovladače

Aplikace může volat ovladači určité procedury, pomocí nichž je možno řídit chování ovladače nebo získat důležité informace. To se děje prostřednictvím systémové procedury:

core.DriverQueryProc( DriverName : string; Param1 : any; &Param2 : any );

Její parametry mají následující význam:

ParametrVýznam
DriverName

symbolické jméno ovladače, definované v aplikaci

Param1

slouží k zadání povelu (jména procedury ovladače)

Param2

je použit jako parametr procedury nebo návratová hodnota procedury.

DriverName a Param1 se zadávají jako textové řetězce. Param2 (dále uváděn jako parametr procedury) může být různého typu podle významu procedury.

Přehled a význam jednotlivých procedur ovladače (parametr Param1)

GetVersion

Vrací v Param2 řetězec popisující jméno a verzi ovladače. Param2 je typu string.

ReadDataRequest

Param2 je typu string a obsahuje zprávu pro přečtení dat z regulátoru. Řetězec neobsahuje řídicí znaky. Operace skončí vygenerováním výjimky od ovladače, a to buď na základě odpovědi od regulátoru nebo vyprší-li doba pro čekání na odpověď daná parametrem Timeout. Není-li text zprávy požadavku korektní, regulátor vrátí znak NAK a chybový kód se nastaví na hodnotu erNAK. Je-li požadavek zadán správně, regulátor vrátí řetězec (zprávu s daty), který je možno získat voláním procedury ReadResponse. O jeho dekódování se musí postarat aplikace.

WriteDataRequest

Param2 je typu string a obsahuje zprávu pro zápis dat do regulátoru. Řetězec neobsahuje žádné řídicí znaky, tzn. ani znak STX, který odděluje adresu a datovou část zprávy. V zadaném řetězci jsou obě části spojeny do jediného řetězce. Operace skončí vygenerováním výjimky od ovladače, a to buď na základě odpovědi od regulátoru nebo vypreí-li doba pro čekání na odpověď daná parametrem Timeout. Není-li text zprávy požadavku korektní, regulátor vrátí znak NAK a chybový kód se nastaví na hodnotu erNAK. Je-li požadavek zadán správně, regulátor odpoví znakem ACK a chybový kód je nastaven na hodnotu erOK.

ReadResponse

Procedura vrátí v parametru Param2 řetězec, který poslal regulátor po zavolání procedury ReadDataRequest. Param2 je typu string.

SetDelay

Procedura nastavuje parametr InterMessageDelay. Param2 je číselného typu a zadává se v milisekundách.

SetTrace

Procedura nastavuje parametr Trace pro výpisy trasování komunikace. Param2 je typu string.

GetErrorString

Vrací popis chyby právě zpracovávané výjimky ovladače. Param2 je typu string.

Zpracování a stavy výjimek ovladače

Při výskytu chyby komunikace vznikne událost, kterou ovladač může přenést jako výjimku do aplikace. V aplikaci musí být definován objekt (virtuální přístroj), který má definován parametr driver_exception resp. activity — driver se symbolickým jménem tohoto ovladače. V tomto případě je takový přístroj výjimkou aktivován. Přečtením kanálu č.1 lze získat kód chyby, přečtením kanálu č.2 je možno zjistit adresu jednotky, u které nastala chyba.

Chybové kódy

HodnotaVýznam
0

erOK

1

erTimeout

2

erValue

100

erOK

101

erBCC

102

erBadResponse

103

erBufferFull

104

erData

Příklady souborů DMF a PAR ovladače

Soubor *.DMF

  begin
    1 real input
    2 real input
    3 string input
    100 - 118 string input
    120 - 128 real input
    130 - 138 real input
    200 cardinal output
    201 - 208 real output
  end.

Soubor *.PAR

  [comm]
    baudrate = 9600
    parity = even
    databits = 7
    stopbits = 1
    rx_buffer = 1200
    tx_buffer = 1200
    rx_frame_buffer = 1200
    tx_frame_buffer = 1200
    cts_flow = false
    dsr_flow = false
    dtr_control = disable
    rts_control = disable
    dsr_sense = low
    rx_interchar_timeout = 5
    rx_char_timeout = 2
    rx_timeout = 5
    tx_char_timeout = 10
    tx_timeout = 10

  [Settings]
    ComDriver = cwcomm COM1
    Timeout = 300
    NumRepeat = 1
    DecPlaces = 5

  [Write]
    200 = 01 31 10 0
    201 = 01 32 10 0
    202 = 01 33 10 0
    203 = 01 34 10 0
    204 = 01 35 10 0
    205 = 01 36 10 0
    206 = 01 37 10 0
    207 = 01 38 10 0
    208 = 01 39 10 0

  [Read]
    101      = 01 01 1 0
    102      = 01 02 1 0
    103      = 01 03 1 0
    104      = 01 04 1 0
    105      = 01 05 1 0
    106      = 01 06 1 0
    107      = 01 07 1 0
    108      = 01 08 1 0
    109      = 01 09 1 0
    110..118 = 01 00 1 0
    120..128 = 01 00 2 0
    130..138 = 01 B1 3 0