Princip přenosu dat přes OPC DA:
Je potřeba
OPC server.
OPC server získáte u různých firem, které takový software vyrábějí. Často je takovou firmou přímo výrobce PLC automatů.
OPC server je aplikace pro OS
Windows, která běží buď jako samostatný program nebo je to například DLL knihovna. Takový
OPC server například může komunikovat s PLC automaty přes sériový port počítače a zároveň umí nabízet data (která získá z PLC automatu) přes
OPC rozhraní jiným aplikacím v OS
Windows. V tom případě bude touto jinou aplikací aplikace PROMOTIC.
V aplikaci PROMOTIC, která chce získávat (nastavovat) data z daného PLC automatu je nutno vytvořit objekt
PmaOpcDaClient. V tomto objektu se vybere daný
OPC server (pokud je
OPC správně nainstalovaný, pak se objeví v nabídce). Do objektu
PmaOpcDaClient pak je nutno vložit potřebný počet objektů
PmaOpcDaClientGroup. Tyto objekty představují skupiny dat, které chcete přenášet. Je potřeba je příslušně nakonfigurovat. Můžete tam zadat, zda se skupina dat má automaticky číst nebo zapisovat. Pokud nechcete číst/zapisovat data automaticky, pak lze to řešit ve skriptu metodou
PmaOpcDaClientGroup.Read-
PmaOpcDaClientGroup.Write.
Dále je nutno definovat, která data chceme přenášet. Lze to dělat dvěma způsoby:
1)
Datové rozšíření: Použít
Datové rozšíření je velmi vhodný způsob jak definovat s kterými daty chceme komunikovat. Definuje se v datové položce objektu
PmaData a pro
OPC je určeno
ExtOpcDa.
2)
Definice dat přímo v objektu PmaOpcDaClientGroup: V kartě "
Data" lze definovat proměnné, které se konfigurují podobně jako například v objektu
PmaData. U každé proměnné je nutno nastavit navíc dva údaje potřebné pro
OPC komunikací. Je to
ItemId a
AccesPath. Tyto dva údaje představují adresu dané proměnné v
OPC serveru. Pokud
OPC server podporuje
OPC verzi 2, pak by měl fungovat výběr těchto údajů přímo z
OPC serveru (pomocí tlačítka se třemi tečkami). Pokud tomu tak není, pak je nutno zadat údaje manuálně.
Přístup k datovým položkám v objektu
PmaOpcDaClientGroup je stejný jako v objektu
PmaData, tzn. například metodou
PmaOpcDaClientGroup.Item. Tato vlastnost zpřístupní jednu proměnnou jako objekt
PmVar, ze kterého lze zjistit standardní údaje (především hodnotu proměnné vlastností
Value) ale v objektu
PmaOpcDaClientGroup má objekt
PmVar ještě další 2 vlastnosti specifické pouze pro
OPC. Jedná se o vlastnost
PmVar.Quality, pomocí které lze zjistit platnost přijaté hodnoty a vlastnost
ExtOpcDa.TimeStamp, pomocí které lze zjistit časovou známku poslední hodnoty.
OPC DA Základní pojmy:
CACHE:
Pomocná paměť
OPC serveru, do které průběžně server ukládá data, která získá z jiných zdrojů dat (např. z PLC automatu,
DEVICE - viz dále). Pokud
OPC klient potřebuje data, pak je nemusí získávat pomalu z PLC automatu, ale rychle je vyčte z této paměti v
OPC serveru.
DEVICE:
Zdroj dat, ze kterého
OPC server získává data. Přístup na tato data je obvykle řádově pomalejší než z
CACHE.
Asynchronní přenos:
Způsob přenosu dat mezi klientem a serverem. Klient pošle do
OPC serveru požadavek (zápis, čtení) a NEČEKÁ na konec zpracování požadavku.
OPC server zpracuje požadavek během určité doby a výsledek bude klientovi poslán. Klient mezi posláním požadavku a výsledkem může provádět jiné operace. Tento druh přenosu dat je vhodný pro dlouhotrvající operace, například čtení nebo zápis dat z
DEVICE.
Synchronní přenos:
Způsob přenosu dat mezi klientem a serverem. Klient pošle do
OPC serveru požadavek (zápis, čtení) a ČEKÁ na konec zpracování požadavku. Tento druh přenosu dat je vhodný pro velmi rychlé operace, například čtení nebo zápis dat z
CACHE pokud je
OPC server na stejném počítači jako klient.
Návod na jednoduché testování OPC komunikace:
1. Vytvořte prázdný projekt (nebo použijte již existující) a v něm vytvořte objekt
PmaOpcDaClient. V konfigurátoru "
OPC server - CLSID/ProgID" zadejte
OPC server, ke kterému se chcete připojit (server lze vybrat tlačítkem vpravo). Pokud se požadovaný server nenabízí, pak to znamená, že není na Vašem počítači tento server správně nainstalovaný.
5. Vyplňte konfigurátor "
ItemId" požadovanou
OPC adresou proměnné. Tento konfigurátor lze vyplnit tlačítkem vpravo - tehdy se spustí
OPC server a sám Vám nabídne veličiny, které může přenášet (umí to pouze
OPC server s rozhraním
OPCv2.0 a novější - staré
OPC servery toto neumožňují).
6. Některé typy adresování vyžadují kromě konfigurátoru "
ItemId" zadat ješte konfigurátor "
AccessPath" (pro zadání platí stejný postup jako v předchozím kroku). U většiny
OPC serverů však můžete tento konfigurátor nechat prázdný.
7. Ukončete zadávání proměnné a spusťte aplikaci (runtime).
8. Pro testování nemusíte tvořit žádné obrazy, vše lze zjistit v
INFO systému. Otevřete okno INFO systému, přejděte do položky "PmaRoot" a tam přejděte do objektu
PmaOpcDaClientGroup, který jste vytvořili.
V kartě "Vars" vidíte aktuální hodnoty a stavy proměnných.
V kartě "Object" vidíte statistiku OPC přenosu tohoto objektu.
9. Pokud přenos dat není funkční, pak se podívejte do karty "
Errors" v INFO systému.