Update cookies preferences
Promotic

PmOpcUaClient - Ovladač pro komunikaci s OPC UA serverem

Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné shlédnout "PROMOTIC video kurz 4 - Komunikační ovladače".

Základní vlastnosti ovladače:
- Použití tohoto ovladače vyžaduje zakoupení licence PmOPC. Při vývoji aplikace ve freeware módu PmFree nebo s vývojovou licencí a při jejím testování v runtime je tato komponenta vždy funkční.
- Komunikace je pro Ethernet (aplikace PROMOTIC je klient).
- Ovladač je začleněn do systému PROMOTIC pomocí objektu PmaComm.
Ovladač podporuje použití objektu PmaCommGroup. Objekt PmaCommMsg prozatím nelze použít.
Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "OPC"
- Tento ovladač je dostupný od verze Pm9.0.9.
- Tento ovladač prozatím nepodporuje UA Security (UA Security obsahuje autentizace, autorizaci, šifrování a integritu dat pomocí podpisů).


Ovladač podporuje následující OpcUa datové typy:
- Boolean: Dvoustavová logická hodnota (true nebo false).
V aplikaci PROMOTIC je reprezentován datovým typem Boolean.
- SByte: Celé číslo (1 bajt) v rozsahu: -128 do 127 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Integer.
- Byte: Celé číslo (1 bajt) v rozsahu: 0 do 255 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Byte.
- Int16: Celé číslo (2 bajty) v rozsahu: -32 768 do 32 767 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Integer.
- UInt16: Celé číslo (2 bajty) v rozsahu: 0 do 65 535 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Long.
- Int32: Celé číslo (4 bajty) v rozsahu: -2 147 483 648 do 2 147 483 647 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Long.
- UInt32: Celé číslo (4 bajty) v rozsahu: 0 do 4 294 967 295 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Double.
- Int64: Celé číslo (8 bajty) v rozsahu: -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Double.
- UInt64: Celé číslo (8 bajty) v rozsahu: 0 do 18 446 744 073 709 551 615 včetně.
V aplikaci PROMOTIC je reprezentován datovým typem Double.
- Float: 4-bajt reálné číslo ve formátu IEEE-754 (32-bit).
V aplikaci PROMOTIC je reprezentován datovým typem Single.
- Double: 8-bajt reálné číslo ve formátu IEEE-754 (64-bit).
V aplikaci PROMOTIC je reprezentován datovým typem Double.
- String: Sekvence Unicode znaků (textový řetězec).
V aplikaci PROMOTIC je reprezentován datovým typem String.
- DateTime: Datum a čas.
V aplikaci PROMOTIC je reprezentován datovým typem Date.
- ByteString: Pole bajtů.
V aplikaci PROMOTIC je reprezentován datovým typem Object typu PmBuffer.
- StatusCode: Číselný identifikátor chyby nebo stavu, který je spojen s hodnotou nebo operací.
V aplikaci PROMOTIC je reprezentován datovým typem Double.
- QualifiedName: Jméno kvalifikované jmenným prostorem.
V aplikaci PROMOTIC je reprezentován datovým typem String.
- LocalizedText: Text s volitelným identifikátorem národního prostředí.
V aplikaci PROMOTIC je reprezentován datovým typem String.
- Array: Pole hodnot.
V aplikaci PROMOTIC je reprezentován datovým typem Array.
- ExtensionObject: Struktura, která obsahuje datový typ specifický pro aplikaci.
V aplikaci PROMOTIC je reprezentován datovým typem Object typu PmMap.
Objekt obsahuje následující vlastnosti:
TypeId - (Long) Identifikátor struktury.
Encoding - (Long) Číslo určuje co bude obsahovat objekt PmBuffer ve vlastnosti Body:
0 = objekt je prázný
1 = objekt obsahuje ByteString, tzn. řetězec bajtů.
2 = objekt obsahuje XmlElement, tzn. XML text.
Body - (objekt PmBuffer) Tento objekt obsahuje hodnoty struktury zakódované podle vlastnosti Encoding.


Doporučené hodnoty parametrů objektu PmaComm:

Doporučené hodnoty pro Parametry Ethernet-klient:
Síťová adresaURL adresa OPC-UA serveru.
Číslo vzdáleného TCP/UDP portuPort OPC-UA serveru (obvykle hodnota 4840).
 
Viz: Wikipedia: Seznam čísel portů TCP a UDP používaných protokoly pro provoz síťových aplikací.
Typ Ethernet přenosuTCP
Připojit až při prvním přenosuNEzatrhnout (povinné)
Zavřít spojení po každém přenosuNEzatrhnout (povinné). Po každém navázání spojení je nutno přenést několik inicializačních zpráv a kdyby se spojení často uzavíralo tak by se velmi snížila rychlost komunikace.
Popis a doporučené hodnoty pro Parametry protokolu:
URL koncového boduZadává se zde URL adresa koncového bodu OPC-UA serveru.
Používá se pokud server umožňuje přesměrování na jiné servery, v jiném případě stačí zadat prázdný řetězec.
Hodnota bývá ve tvaru "opc.tcp://URL:Port".
AutentizaceZde se zadává typ autentizace klienta.
(Autentizace typu "2=Certificate" zatím není tímto ovladačem podporována.)
0=Anonymous - Anonymní autentizace, tzn. klient autentizaci nepoužívá.
1=UserName - Autentizace jménem a heslem.
JménoJméno klienta.
HesloHeslo pro dané jméno klienta.
Dodatečné parametryProzatím nechat prázdnou hodnotu.

Popis komunikace pomocí objektu PmaCommGroup

Pro tento ovladač lze použít objekty PmaCommGroup.
Proměnné v objektu PmaCommGroup (nebo ještě lépe proměnné v objektu PmaData s datovým rozšířením ExtComm) mohou být v libovolném množství, libovolného typu v libovolném pořadí. Ovladač sám optimálním způsobem vnitřně vytvořenými komunikačními zprávami vyčítá data ze zařízení.
Proměnné se vyčítají všechny (pokud konfigurátor "Obnovování dat povoleno" je zatržen). Při zápisu do proměnné se posílá do zařízení pouze tato jedna proměnná (pokud konfigurátor "Automaticky zasílat při zápisu do položky" je zatržen).

Obnovování hodnot proměnných registrovaných v objektu PmaCommGroup:
Ovladač při své inicializaci zaregistruje všechny proměnné do OPC serveru (OPC systémová zpráva CreateMonitoredItems) a informuje server o požadované době odpovědi podle nastaveného konfigurátoru "Obnovovací perioda komunikace [ms]".
Potom ovladač pošle žádost o poslání zprávy při změně těchto proměnných (OPC systémová zpráva PublishRequest). OPC server pak při změně proměnné (nebo pokud není žádná změna, tak do doby zadané v konfigurátoru "Obnovovací perioda komunikace [ms]") pošle zprávu obsahující informace o všech změněných proměnných (OPC systémová zpráva PublishResponse).
Ovladač po příjmu této zprávy ihned znovu pošle zprávu PublishRequest. Tímto způsobem jsou aktualizavané hodnoty proměnných objektu PmaCommGroup se zadanou periodou Obnovovací perioda komunikace [ms].

Popis konfigurátoru "ItemId":
ItemId je textový identifikátor položky, který slouží pro adresování položky v zařízení. Z konfigurátoru ItemId ovladač pozná, jak se má hodnota položky přijímat nebo vysílat.
Text lze buď napsat ručně, nebo sestavit v okně, které se otevře tlačítkem vpravo od konfigurátoru.
Pro zadání lze použít Makro výraz (vyhodnocuje se po spuštění aplikace).
Identifikátor ItemId může mít podobu například "ns2,str,xxxx", kde:
- ns2: Určuje, do kterého jmenného prostoru (ns=namespace) OPC-UA serveru proměnná patří (0, 1, 2 ...).
- str: Určuje typ identifikátoru proměnné.
str = Identifikátor proměnné je textový řetězec.
nmb = Identifikátor proměnné je číslo.
- xxxx: Identifikátor proměnné. Tento text závisí pouze na OPC-UA serveru.


Popis konfigurátoru "PmaCommGroup > Parametry > Speciální parametry":
Typ čtení časuUrčuje, zda s hodnotou proměnné se bude z OPC-UA serveru číst i čas této hodnoty.
Pokud se čas bude číst, pak se tento čas uloží do vlastnosti PmVar.TimeSource.
No - Čas hodnoty se nebude číst.
Source - Bude se číst čas zdroje, tzn. čas který OPC-UA server vyčetl ze zařízení, se kterým komunikuje (pokud server dokáže ze zařízení tento čas vyčíst).
Server - Bude se číst čas vyčtení hodnoty OPC-UA serverem.
Maximální počet proměnných v jedné registrující zprávěMaximální počet proměnných které se najednou zaregistrují do OPC serveru v jedné zprávě (OPC zpráva typu CreateMonitoredItems).
Tento konfigurátor je přednastaven jako vypnutý (a tedy všechny proměnné se zaregistrují najednou pomocí jedné zprávy).
 
Tento konfigurátor většinou není potřeba zapínat. Zapnout je ho potřeba například když OPC server neumožní registrovat mnoho proměnných v jedné zprávě (v praxi jsme se setkali s omezením 990 proměnných). Pokud je nutno nastavit nějaký počet, pak je nejlepší tento počet zadat co největší.

Historie:
Pm9.00.29:
- Zprovozněn příjem datového typu ExtensionObject, tzn. příjem datové struktury.
- Opravená chyba: Nefungovalo správně čtení a zápis hodnoty typu String pokud hodnota obsahovala diakritické znaky.
Pm9.00.23: Opravená chyba: Pro tento ovladač je zprovozněna metoda PmaComm.OpenPort a vlastnost PmaCommGroup.UpdateEnabled.
Pm9.00.21: Oprava: Pokud v objektu PmaCommGroup bylo hodně proměnných, pak nefungoval příjem dat.
Nový konfigurátor "PmaCommGroup > Parametry > Speciální parametry > Maximální počet proměnných v jedné registrující zprávě".
Pm9.00.19: Opravená chyba: Pokud se nebylo možno připojit, pak vznikaly stále nové požadavky na vytvoření spojení a staré požadavky se neukončily.
Pm9.00.16:
- Zprovozněna možnost autentizace typu UserName (tzn. musí se zadat jméno a heslo).
- Opravená chyba: Po určité době (např. po 5 minutách) docházelo k restaru tohoto ovladače.
Pm9.00.15: Opravená chyba: (Revize 2) S některými typy OPC UA serverů se nepodařilo navázání spojení.
Pm9.00.15: Opravená chyba: Nefungoval příjem komunikační zprávy rozdělené do více podzpráv.
Pm9.00.13: Opravená chyba: Při zápisu do proměnných v objektu PmaCommGroup se někdy ukončila komunikace.
Pm9.00.09: Vytvořeno
© MICROSYS, spol. s r.o.