Úvodní stránka
PřihlásitEN | CZ
Hledat 
 Control Web
 Ovladače pro Control Web
 DataLab
 DataCam
 DataLight
 Pro školy
 Ostatní software
 Control Web – předchozí verze
 Služby
 Školení
PLC Direct by Koyo (DL405, DL205)
 
Kód:CW-DLX05
Cena pro integrátory (bez DPH):8 900 Kč
Koncová cena (bez DPH):9 900 Kč
Výrobce:Moravské přístroje
 
CELKEM
Vaše cena (bez DPH):
Celková cena (bez DPH):
Ovladač slouží pro komunikaci mezi jednou nebo více stanicemi a systémem Control Web přes standardní sériové rozhraní RS-232 (nebo RS-485, RS-422). Použitý protokol je DirectNET. Ovladač vystupuje jako MASTER.

Ovladač slouží pro komunikaci mezi jednou nebo více stanicemi a systémem Control Web přes standardní sériové rozhraní RS-232 (nebo RS-485, RS-422). Použitý protokol je DirectNET. Ovladač vystupuje jako MASTER.

Seznam sekcí:

Činnost ovladače
Kanály ovladače
Parametry ovladače
Mapovací soubor ovladače a datové typy
Zpracování a stavy výjimek ovladače
Chybové kódy

Činnost ovladače

Pomocí ovladače je možno číst nebo zapisovat data z paměťových registrů (VMemory) binárních výstupů (Outputs) a binárních vstupů (Inputs). Jednotlivé registry, vstupy nebo výstupy se přiřadí kanálům ovladače prostřednictvím definice v jeho souboru parametrů. Ovladač má určitou množinu kanálů vyhraženou pro speciální informace, proto doporučujeme, aby uživatelsky definované kanály začínaly nejméně od čísla 100. Paměťové registry stanice (VMemory) je možno interpretovat různým způsobem v závislosti na typu stanice nebo na aplikačním programu, běžícím ve stanici.

  • Jeden registr (16-bitů) může obsahovat jednu hodnotu se znaménkem nebo bez znaménka, která odpovídá jednomu kanálu.

  • Jeden registr (16-bitů) může být rozdělen na dvě hodnoty (byte) se znaménkem nebo bez znaménka, které odpovídají dvěma kanálům.

  • Jeden registr (16-bitů) může být rozdělen na 16 logických hodnot, které odpovídají 16 kanálům typu boolean.

  • Dva registry (po 16-bitech) mohou být spojeny do jednoho kanálu jako 32-bitová hodnota následujících typů:

    reálné číslo s jednoduchou přesností (float - single precision)

    celé číslo se znaménkem (signed integer)

    celé číslo bez znaménka (unsigned integer)

  • Čtyři registry (po 16-bitech) mohou být spojeny do jednoho kanálu jako 64-bitová hodnota následujících typů:

    reálné číslo s dvojnásobnou přesností (float - double precision)

    celé číslo se znaménkem (signed integer)

Platí konvence, že všechny numerické kanály ovladače jsou vždy typu real. Všechny konverze do jiných datových typů použitého zařízení se provádějí v ovladači.

Kanály ovladače

Ovladač může jednotlivé prvky různých datových oblastí připojených stanic interpretovat jako svoje kanály, což jsou číselné nebo logické hodnoty (bity). Definice kanálů se děje prostřednictvím souboru parametrů v sekci [Channels], jak je popsáno níže.

Vyhrazené kanály ovladače

Ovladač předává informace o stavu komunikace prostřednictvím zvláštních kanálů, které jsou mapovány do intervalu 1 až 99. Dojde-li k chybě komunikace, je vygenerována výjimka ovladače a z jednotlivých kanálů je možno zjistit různé údaje, které blíže specifikují chybu nebo nějakou událost. Kanál č.1 rozlišuje, jedná-li se o chybu při čtení nebo při zápisu. Skupina kanálů č.10 až 18 doplňuje údaje o chybě při čtení resp. 20 až 28 při zápisu.

Číslo kanálu - význam Typ kanálu Poznámka
Společné
1 - ExceptionStatus real input druh výjimky od ovladače
Operace čtení
10 - Station real input adresa PLC
11 - ErrCode real input kód chyby
12 - ErrString string input chybová zpráva z ovladače
13 - ErrCount real input počet chyb čtení
14 - FirstChannel real input první kanál bloku s chybou
15 - LastChannel real input poslední kanál bloku s chybou
16 - Media real input oblast v PLC
17 - Reset boolean output vynulování chybových stavů
18 - ClearErrorCounter boolean output vynulování počítadla chyb
Operace zápis
20 - Station real input adresa PLC
21 - ErrCode real input kód chyby
22 - ErrString string input chybová zpráva z ovladače
23 - ErrCount real input počet chyb zápisu
24 - FirstChannel real input první kanál bloku s chybou
25 - LastChannel real input poslední kanál bloku s chybou
26 - Media real input oblast v PLC
27 - Reset boolean output vynulování chybových stavů
28 - ClearErrorCounter boolean output vynulování počítadla chyb

Vyhrazené kanály ovladače

Kódy oblastí PLC (kanál 16 a 26)

HodnotaVýznam
0

žádná (nedefinovaná) oblast.

1

M — oblast paměťových registrů (VMemory).

2

I — oblast digitálních vstupů (Inputs).

3

O — oblast digitálních výstupů (Outputs).

Parametry ovladače

Pomocí souboru parametrů je možno nastavit parametry komunikace a definovat kanály ovladače, popřípadě nastavit další doplňující parametry. Celý soubor parametrů je rozdělen do několika sekcí. Název sekce je uveden v hranatých závorkách. V sekci jsou uvedeny za jménem a znakem "=" jednotlivé parametry. Na jednom řádku může být definován jeden parametr.

Poznámka:

U názvů sekcí a parametrů je třeba dodržet správný zápis velkých a malých písmen.

Sekce [Plc]

Tato sekce obsahuje parametry, které slouží ke konfiguraci ovladače z hlediska používání protokolu DirectNET.

[Plc]
    ComDriver = <LinkDll>, <ComId>
    MasterAdr = <N>
    FinalizeAfterEachBlock = true | false
    Mode = ASCII | HEX
    Timeout = <N>
    EnableMonitor = true | false
    SwapBytes = true | false
    SwapRegisters = true | false
    NumRepeat = <N>
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).

Následuje výčet a popis jednotlivých parametrů:

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'.

Mode

Parametr definuje mód komunikace. Je možno zvolit binární mód HEX nebo znakový mód ASCII

MasterAdr

Parametr definuje adresu počítače (master)

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.

EnableMonitor

Pomocí tohoto parametru je možno zapnout výpisy průběhu komunikace do okna ovladače.

NumRepeat

Parametr udává počet opakování po neúspěšné komunikaci. Je-li nastaven na 0, požadavek se neopakuje (vykoná se tedy pouze jednou). Implicitní hodnota je 2. Maximální hodnota je 5.

FinalizeAfterEachBlock

Pomocí tohoto parametru se zadává, jestli budou data předána do aplikace po každé komunikaci (hodnota parametru = true) nebo až po dokončení přenosu všech bloků, které se řeší v rámci daného časového kroku. Implicitní nastavení je false.

SwapBytes

Pomocí tohoto parametru je možno nastavit, jestli mají být byte v registrech vzájemně prohozeny.

SwapRegisters

Pomocí tohoto parametru se dá nastavit pořadí registrů u hodnot, které jsou uloženy ve více registrech.

Sekce [Channels]

V této sekci se používá jediný parametr Block, který definuje bloky kanálů ovladače. Jednotlivým datovým oblastem ve stanici je možno přiřadit určitou skupinu kanálů. Blok je definován adresou stanice, intervalem kanálů, datovou oblastí ve stanici, počáteční adresou v dané oblasti a pro oblast registrů ještě datovým typem. V případě použití obousměrných kanálů je možno definovat parametr bidirect, který zamezí vzniku kolizí při současném čtení i zápisu na stejný kanál - pak jsou v ovladači vytvořeny dva zvláštní bloky, jeden pro čtení, druhý pro zápis. Z pohledu komunikace představuje jeden blok maximální celistvý úsek, který se dá přenést najednou v rámci jedné komunikace se stanicí. Použitý komunikační protokol tuto hodnotu dále upravuje. Bude-li definován delší blok než je možno přenést najednou a budou-li zadány požadavky na čtení nebo zápis všech kanálů bloku, rozpadne se komunikace na několik částí tak, aby byla všechna data přenesena. Způsob zápisu parametrů a jejich možné hodnoty (v hranatých závorkách jsou uvedeny nepovinné nebo doplňující parametry):

[Channels]
    Block = <Station>, <ChannelFrom>, <ChannelTo>, <Media>, <Offset>, [<Subtype>], [Bidirect] [<Comment>]
    Block = ...
    ...
ParametrVýznam
Station

adresa PLC

ChannelFrom

počáteční kanál bloku (číslo).

ChannelTo

poslední kanál bloku (číslo).

Media

oblast ve stanici:

M

paměť PLC (VMemory)

I

vstupy PLC (Input)

O

výstupy PLC (Output)

Offset

adresa prvního odpovídajícího registru, vstupu, výstupu v PLC. Zadává se hexa nebo oktalově (musí začínat písmenem V)

SubType

formát dat:

int64

64 bitové celé číslo se znaménkem ve 4 registrech

float64

64 bitové číslo real ve 4 registrech

uint32

32 bitové celé číslo bez znaménka ve 2 registrech

int32

32 bitové celé číslo se znaménkem ve 2 registrech

float32

32 bitové číslo real ve 2 registrech

bcd32

32 bitové číslo ve formátu BCD ve 2 registrech

uint16

16 bitové celé číslo bez znaménka v 1 registru

int16

16 bitové celé číslo se znaménkem v 1 registru

bcd16

16 bitové číslo ve formátu BCD v 1 registru

bool16

boolean hodnota v jednom registru (0 = false

bits16

16 boolean hodnot (kanálů) v jednom registru odpovídající jednotlivým bitům

uint8

dvě 8 bitová celá čísla bez znaménka v jednom registru

int8

dvě 8 bitová celá čísla se znaménkem v jednom registru

bcd8

dvě 8 bitová čísla ve formátu BCD v jednom registru

Kanály se mapují buď do 4, 2 nebo 1 registru, popřípadě dva kanály do jednoho registru (uint8, int8, bcd8) nebo 16 boolean kanálů do jednoho registru (bits16).

Bidirect

parametr udává, že definovaný blok je určen pro čtení i pro zápis (bidirect). Není-li uveden, je možno z bloku číst nebo do něj zapisovat, ale při současném čtení a zápisu nemusí být do stanice zapsána správná data.

Comment

místo pro poznámku

Příklad definice bloku

[Channels]
  Block = 01, 100, 199, M, 0301, int16, bidirect

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 přímo v souboru parametrů ovladače Plc Direct:

[comm]
baudrate = 9600
parity = odd
databits = 8
stopbits = 1
rx_buffer = 1152
tx_buffer = 1152
rx_frame_buffer = 1152
tx_frame_buffer = 1152
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

Mapovací soubor ovladače a datové typy

Tento soubor obsahuje typy kanálů ovladače. Protože ovladač má jak pevnou množinu kanálů, tak proměnnou množinu kanálů, měl by tento soubor obsahovat vždy shodnou definici pro vyhražené kanály a různou pro kanály definované uživatelsky v souboru parametrů v sekci [Channels].

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 se symbolickým jménem tohoto ovladače. V tomto případě je takový přístroj výjimkou aktivován. V rámci jeho činnosti je možno zjistit stav výjimky přečtením kanálu č.1. Stav je určen jednotlivými bity podle následující tabulky:

Ovladač generuje následující chybové kódy. Tyto kódy jsou k dispozici na kanálech č.11 resp. č.21. Při vzniku chyby se současně vypíše hlášení do okna zpráv.

  • bit 0 - je-li bit nastaven, nastala chyba při čtení.

  • bit 1 - je-li bit nastaven, nastala chyba při zápisu.

Chybové kódy

Ovladač generuje následující chybové kódy. Tyto kódy jsou k dispozici na kanálech č.11 resp. č.21. Při vzniku chyby se současně vypíše hlášení do okna zpráv.

Chybové kódy ovladače

HodnotaVýznam
0

úspěšná operace

1

chyba timeoutu

2

neplatná hodnota

3

nesprávné číslo kanálu

100

chyba LRC

101

vstupní komunikační buffer je plný

102

chyba potvrzení (ACK)

103

chyba telegramu (EOT)

200

neznámá chyba