Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=997&lang=405, vytištěno: 27.04.2024 7:04:27

Hlavní stránkaNovinky

Nový ovladač pro zařízení ze série Advantech DAQ
 Advantech je výrobcem plug-in IO karet, poskytující plný rozsah produktů pro sběr dat (DAQ, data acquisition) a řízení, které jsou široce používané pro průmyslové a laboratorní aplikace, monitoring, automatizaci, testování, měření atd. Každé zařízení z této série je podporováno balíkem DAQNavi, který obsahuje výkonné a spolehlivé ovladače pro daná zařízení a také programovou podporu. Tuto podporu také využívá náš ovladač AdvDAQ pro Control Web 8.

Ovladač Advantech AdvDAQ využívá nové rozhraní ovladačů doplněné v Control Webu 8. Z tohoto důvodu nebude ovladač k dispozici pro starší verze systému Control Web. Vzhledem k jednodušším licenčním podmínkám Control Webu 8 je možné ovladač zkoušet i bez použití licence.

Díky použití programové podpory DAQNavi umí ovladač komunikovat s velkou škálou zařízení. Tato zařízení jsou rozdělena do několika hlavních kategorií: PCI, PCI Express, ISA karty a USB moduly. Seznam všech podporovaných zařízení pak lze nalézt přímo na webu firmy Advantech.

Pokud při instalaci ovladače není na daném počítači detekována podpora DAQNavi, spustí instalátor samostatnou instalaci potřebné části podpory. Tato instalace nainstaluje základní podpůrné prostředky spolu s programovou podporou a zařízení DemoDevice, které lze použít například k testům při vývoji aplikace a využívá ho také dodávaný příklad použití ovladače. V instalátoru stači zvolit položku Install DAQNavi a pomocí tlačitek Next projít celou instalaci.

Pomocí ovladače lze realizovat synchronní čtení a zápis analogových i digitálních vstupů a výstupů. Z čítačů lze použít čtení počtu událostí na digitálním vstupu (Event Counter), popř. měřit jejich frekvenci (Frequency Measurement). Pokročilejší práce se zařízením, jako je bufferované nebo triggerované čtení vstupů/výstupů a generování pulsů/PWM, prozatím ovladač nepodporuje.

Příklad aplikace pro práci s ovladačem AdvDAQ, který je součástí instalace.

Příklad aplikace pro práci s ovladačem AdvDAQ, který je součástí instalace.

Konfigurace

Před konfigurací ovladače je potřeba nastavit samostatné zařízení. Konfigurační dialog každého zařízení lze nalézt ve Správci zařízení systému Windows. Po otevření dialogu s vlastnostmi zařízení lze pod záložkou Device configuration najít tlačítko Configure… pro otevření konfiguračního dialogu. Pokud máme nainstalovanou plnou podporu DAQNavi spolu se softwarem Advantech Navigator, lze konfigurovat zařízení i přímo přes tuto aplikaci. Aplikace Navigator také umožnuje generování tzv. profilů zařízení, které lze poté pomocí ovladače do zařízení automaticky načíst, viz parametr profile v sekci device.

Poznámka:

Plná podpora Advantech DAQNavi není součástí instalace tohoto ovladače a lze ji stáhnout z webu firmy Advantech.

Konfigurace ovladače pak probíhá přes klasický konfigurační soubor '.par'. Celý soubor parametrů je rozdělen do několika sekcí. Název sekce je uveden v hranatých závorkách a musí být jedinečný. V sekci jsou uvedeny za jménem a znakem = jednotlivé parametry. Na jednom řádku může být definován jeden parametr.

Pokud máme například dvě zařízení, můžeme použít následující zápis konfiguračního souboru:

[device_0]
…
[channels_0]
…
[device_1]
…
[channels_1]
…

Definice zařízení pak vypadá následovně:

[device_<N>]
  device_desc = <S>
  device_num = <N>
  module_index = <N>
  profile = <S>
  unit = <U>
  …
  • device_desc — jedinečný identifikátor zařízení. Je vygenerován podporou Advantech DAQ při instalaci ovladače zařízení. Většinou se skládá z typu zařízení a ID desky, např. PCI-1751,BID#0. Identifikátor lze dodatečně měnit pomocí konfiguračního dialogu zařízení a je doporučeno ho používat pro připojení k zařízením.

  • device_num — číslo zařízení přidělené programovou podporou Advantech DAQ při instalaci ovladače zařízení. Toto číslo nemusí vždy být unikátní a při připojení více zařízení stejného typu se může u jednotlivých zařízení při změně portu nebo slotu měnit. Při použití 2 a více zařízení je doporučeno používat spíše parametr device_desc, u kterého nehrozí záměna zařízení.

  • module_index — index modulu u zařízení s více moduly.

  • profile — název nebo plná cesta k souboru s uloženým profilem pro dané zařízení. Při použití názvu souboru bez plné cesty se předpokládá, že se soubor s profilem nachází ve stejné složce jako samotný parametrický soubor.

    Poznámka:

    Soubor s profilem generuje pro dané zařízení aplikace Advantech Navigator, která je součástí balíku s vývojovou podporou Advantech DAQNavi SDK. Použití profilu je vhodné zejména, pokud máme více stejných zařízení, která mají mít shodné konfigurace kanálů, popřípadě pokud stejné zařízení dodáváme k více počítačům. V tomto případě konfiguraci zařizení obstará sám ovladač a není třeba tato zařízení znovu konfigurovat pomocí programové podpory Advantech při nasazení aplikace na cílové systémy.

  • unit — definuje reprezentaci dat čtených nebo zapisovaných do kanálů zařízení. Jednotky mají význam pouze pro analogové vstupy/výstupy, digitální nebo čítačové vstupy/výstupy pracují s logickými hodnotami nebo bezrozměrnými čísly. Tento parametr lze také použít u definice jednotlivých kánálů.

  • N — číselná hodnota v dekadické soustavě.

  • S — libovolný textový řetězec.

  • U — typ reprezentace dat. Implicitní hodnota je ADU (Analog/Digital Unit), která reprezentuje přímo počet kroků A/D nebo D/A převodníku použitého v daném zařízení. Dále je možné použít hodnotu SCL, která zajistí převod počtu kroků převodníku do nastaveného rozsahu daného kanálu při konfiguraci zařízení (např. +/-10 V).

    Poznámka:

    Definice jednotky pro konkrétní kanál má přednost před definicí pro celé zařízení. Pokud je u zařízení nastaveno škálování hodnot (SCL), můžeme jednotlivé kánály pomocí hodnoty ADU přepnout zpět do režimu vracení počtu kroků převodníku.

V této sekci je povinný pouze jeden z parametrů device_desc a device_num. Ostatní parametry jsou nepovinné.

Příklad sekce device ovladače:

[device_0]
  device_desc = PCI-1751,BID#0
  profile = pci1751.xml
  unit = SCL

Sekce channels pak definuje jednotlivé kanály nebo skupiny kanálů ovladače a jejich reprezentaci v zařízení. Kanály nebo skupiny kanálů jsou definovány číslem, resp. rozsahem kanálů a jejich typem. V některých případech musí následovat číslo portu, popř. číslo bitu na daném zařízení, ke kterému je kanál přiřazen. Další nepovinný parametr určuje typ reprezentace dat u analogových vstupů/výstupů. Součástí definice může být i komentář. Ten musí být uveden na samostatném řádku a musí začínat středníkem.

Následuje způsob zápisu parametrů a jejich možné hodnoty. Každému kanálu nebo skupině kanálů odpovídá jeden řádek textu. V hranatých závorkách jsou uvedeny nepovinné nebo doplňující parametry:

[channels_<N>]
  <Channel> = <Type><Port>[.<Bit>][,<Unit>]
  <From> - <To> = <Type>[<Port>][.<Bit>][,<Unit>]
  …
Channel

číslo kanálu

From

číslo prvního kanálu v bloku

To

číslo posledního kanálu v bloku

Type

typ kanálu, možné hodnoty jsou:

AI

analogový vstup

AO

analogový výstup

CJC

cold junction contact

DI

bitový binární vstup

DIB

8 binárních vstupů čtených jako 1 byte

DO

bitový binární výstup

DOB

8 binárních výstupů zapisovaných jako 1 byte

EC

čtení čítače událostí

ECS

start čítače událostí

FR

čtení frekvence

FRS

start čítače frekvence

Port

číslo portu (kanálu) na daném zařízení

Bit

bit pro daný port, platí pouze pro kanály typu DI a DO

Unit

definuje reprezentaci dat čtených nebo zapisovaných do kanálů zařízení. Jednotky mají význam pouze pro kanály typu AI, AO. Pro parametr platí stejné hodnoty jako v sekci device.

Pokud definujeme pouze jeden kanál, je nutné použít také parametr Port (mimo kanály typu CJC). Při definici skupiny kanálů toto nutné být nemusí (záleží na typu kanálů, konkrétním rozsahu, počtu portů na zařízení, atd.). Kanály pracující s čítačemi událostí (EC, ECS, FR, FRS) nelze zapisovat ve skupinách a na daném portu lze číst pouze jednu hodnotu, například není možné číst počet událostí a jejich frekvenci na portu 0 zároveň. Podrobné definice kanálů lze nalézt v následujících příkladech:

[channels_0]
; zařízení obsahuje 8 analogových vstupů (AI0 - AI7), 8 analogových výstupů (AO0 - AO7) a 8 digitálních vstupů (DI0 - DI7):
; používáme zápis bez čísla portu
1000 - 1007 = AI
; nemusíme použít všechny porty, následující zápis použije pouze výstupy AO0 až AO4 a bude je převádět dle zadaného rozsahu v konfiguraci
1100 - 1103 = AO, SCL
; čtení 8 digitálních vstupů po jednotlivých bitech
2000 - 2007 = DI
; čtení předchozích 8 digitálních vstupů jako 1 byte, číslo portu je již vyžadováno
2008 = DIB0
; definice analogových vstupů po jednotlivých kanálech, je potřeba také uvést port
1050 = AI0
1051 = AI1
…
1057 = AI7

[channels_1]
; zařízení obsahuje 16 digitálních vstupů (DI0 - DI15), 16 digitálních výstupů (DO0 - DO15) a cold junction kontakt (CJC):
100 = CJC
; nemusíme použít všech 8 bitů, následující zápis použije pouze bity 1, 2, 3 a 4 z portu 0
200 - 203 = DI0
; pro jednotlivé kanály musíme u DI a DO zadat také daný bit
300 = DI1.0
301 = DI1.1
…
307 = DI1.7
; při čtení po bajtech stačí zadat daný port na zařízení - pro výstupy DO0 až DO7 je to port 0 a DO8 až DO15 je to port 1
400 = DOB0
401 = DOB1

[channels_2]
; zařízení obsahuje 2 čítače událostí na portu 0 a portu 1:
; zápis na kanál 501, resp. 503 spustí (hodnota true) nebo zastaví (hodnota false) čítání událostí, resp. frekvence
; čtením z kanálu 500, resp. 502 získáme hodnotu čítače
500 = EC0
501 = ECS0
502 = FR1
503 = FRS1