Protokol OPC Data Access 2.05 & 3.0 Client
Podporované typy a verzie zariadení
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Prehľadávanie adresného priestoru OPC servera
Dočítavanie historických údajov
Tell príkazy
Konfigurácia DCOM pre pripojenie sa ku remote OPC serveru
Chyby a problémy
Literatúra
Zmeny a úpravy
Revízie dokumentu
Podporované typy a verzie zariadení
...
Pre protokol "OPC Data Access 2.05 & 3.0" je možné konfigurovať nasledovné globálne parametre protokolu linky:
Tab. č. 1
Názov | Popis | Jednotka | Náhradná hodnota |
---|
OPC HDA: Server if Available | Meno (ProgID) OPC HDA servera, ak je dostupný. Prázdny text pre neaktivovanie OPC HDA funkcií. | - | |
OPC HDA: Max. Number of Values | Nastavuje parameter NumItems pri synchrónnom čítaní historických "raw" hodnôt. Implicitná hodnota 0 znamená všetky hodnoty v danom intervale. | - | 0 |
| Zapína sekvenčné radenie volaní funkcie "Refresh2" rozhraní "Async I/O 2.0” a "Async I/O 3.0". Volania sú realizované po sebe vždy až po ukončení predchádzajúceho (t.j. získaní hodnôt). | YES/NO | NO |
Repeat Failed Group Activation | Opakovanie zlyhaných operácií aktivácie OPC grupy po čase určenom parametrom "Group reactivation delay". | YES/NO | YES |
| Čas, po ktorom je opakovaná neúspešná aktivácie OPC grupy, pokiaľ je zapnuté opakovanie aktivácie parametrom "Repeat failed group activation". | sec | 30 |
Reconnect After Failed Group Activation | Po zlyhaní operácií aktivácie OPC grupy dôjde k odpojeniu od OPC servera a k opätovnému pripojeniu. Parameter má význam najmä pri konfigurácii redundantných OPC serverov (po po odpojení sa od OPC servera nasleduje pripojenie k druhému OPC serveru, kde aktivácia môže byť úspešná). | YES/NO | NO |
| Perióda opakovania volania "GetGroupState" rozhrania "IOPCGroupStateMgt". Toto synchrónne volanie sa, ako jediné, cyklicky opakuje a slúži na detekciu problémov v komunikácii s OPC Serverom. | sec | 10 |
Accept All GetGroupState Errors | Považovanie všetkých chýb, ktoré vracia volanie "GetGroupState" rozhrania "IOPCGroupStateMgt", za fatálne (dôjde k odpojeniu od OPC servera a k opätovnému pripojeniu, prípadne k reštartu KOM procesu). | YES/NO | NO |
Stop KOM When OPC Server Fails | Pri fatálnej chybe v komunikácii povoľuje zastaviť celý KOM proces. Viď poznámku. | YES/NO | NO |
| Iba aktívny KOM proces (t.j. aktívna inštancia pripojená k HOT serveru) komunikuje s OPC serverom. KOM proces, ktorý sa stane pasívnym (zmenou aktívnej inštancie alebo prepnutím redundancie), zavrie spojenie s OPC serverom. Pozn: parameter umožňuje znížiť záťaž OPC servera v redundantných D2000 systémoch ako aj riešiť napr. problémy s licenčným obmedzením počtu OPC klientov. | YES/NO | NO |
Poznámka: Za fatálne zlyhanie komunikácie s OPC Serverom sa považujú COM/OPC chyby pri volaniach:
...
Môžu sa konfigurovať nasledovné parametre protokolu stanice:
Tab. č. 2
Názov | Popis | Jednotka | Náhradná hodnota |
---|
| Povoľuje vykonávať overenie hodnoty po zápise synchrónnym čítaním. | YES/NO | NO |
| Povoľuje vykonávať zápisy do OPC Servera vždy iba synchrónnym rozhraním "IOPCSyncIO2". | YES/NO | NO |
| Pri voľbe "Async I/O 3" povoľuje vykonávať zápisy funkciou WriteVQT rozhrania IOPCASyncIO3 (t.j. zápis umožňujúci prenos kvality a časovej značky spolu s vlastnou hodnotou). | YES/NO | NO |
| Zapína ladiace výpisy. Výrazne zvýši počet informácii o chode komunikácie. Odporúčame zapínať iba pri detekcii problémov a ladení komunikácie. | YES/NO | NO |
| Špeciálny mód pre komunikáciu s OPC servermi firmy Merz. Pre hodnoty typu TiA a ToA sa používa konverzia z/do formátu "MS DOS Date Time Format" (2 x WORD). | YES/NO | NO |
| Oneskorenie umelo vkladané medzi volania AddItems na spomalenie inicializačnej fázy. | ss:mss | 0 |
| Celočíselná hodnota stavu "ERROR" pre prevod do štvorstavového vstupu Qi. | 0,1,2,3 | 3 |
| Celočíselná hodnota stavu "OFF" pre prevod do štvorstavového vstupu Qi. | 0,1,2,3 | 2 |
| Celočíselná hodnota stavu "ON" pre prevod do štvorstavového vstupu Qi. | 0,1,2,3 | 1 |
| Celočíselná hodnota stavu "TRANS" pre prevod do štvorstavového vstupu Qi. | 0,1,2,3 | 0 |
Keep Values Valid as Weak | Ak dôjde ku zmene kvality OPC itemu na "BAD", hodnota meraného bodu zostane platná (valid) s príznakom "Weak". | YES/NO | NO |
Don't Repeat Failed AddItems | Zablokuje opakované pokusy volania AddItems po jeho zlyhaní. | YES/NO | NO |
Do AddItems in Single Call | Aktivácia všetkých položiek skupiny jedným volaním AddItems. Môže zrýchliť štart OPC komunikácie. | YES/NO | NO |
| Všetky volania funkcii "Write" a "Refresh2" sú evidované ako samostatné transakcie. Ak nie sú ukončené (úspešne či neúspešne) do tohto timeoutu, je o tom užívateľ informovaný chybovým hlásením v trace súbore komunikácie. | sec | 120 |
Reconnect/Reinitialisation Delay | Timeout, ktorým sa oneskorujú opakovania zlyhaných operácii:
- vytvorenie skupiny AddGroup,
- vytvorenie položky AddItems (pozri tiež parameter protokolu SA),
- opakované pripojenie na OPC Server po jeho zastavení, páde alebo sieťovom odpojení,
- vytváranie skupín a položiek po opakovanom pripojení na OPC Server.
| sec | 5 |
Do Sync Read Before Write If Unk. Type | Povolenie vykonania synchrónneho čítania hodnoty položky pred zápisom v prípade, že KOM proces nevie správny dátový typ položky (to zn., že v prípade implicitnej hodnoty dátového typu "Empty/Default (VT_EMPTY)" je nutné vykonať zápis hodnoty). | YES/NO | YES |
| Adresa OPC Itemu (OPC Item ID), ktorý obsahuje chybový stav OPC servera resp. konkrétnej OPC grupy (napr. v závislosti od stavu komunikácie). Musí existovať aj meraný bod s touto adresou. Ak stav indikuje chybu, ovplyvní to hodnoty všetkých meraných bodov na stanici (budú mať príznak Weak). O tom, aká hodnota zodpovedá chybovému stavu, hovorí parameter Status Item Inverted Operation | - | - |
Status Item Inverted Operation | Interpretácia hodnoty OPC Itemu Status Item Name s chybovým stavom OPC servera alebo OPC grupy. Hodnota NO znamená, že hodnoty False resp. 0 znamenajú korektný stav a True resp. nenulová chybu . Hodnota YES znamená, že hodnoty False resp. 0 znamenajú chybový stav a True resp. nenulová korektný stav. | YES/NO | NO |
| Mapovanie OPC DA príznaku kvality Non Specific do atribútov hodnoty meraného bodu. | None, FA, FB, FC, FD, FE, FF, FG, FH, FI, FJ, FK, FL, FM, FN, FO, FP | None |
Map LocalOverride as Flag | Mapovanie OPC DA príznaku kvality LocalOverride do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Config Error do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Not Connected do atribútov hodnoty meraného bodu. |
Map DeviceFailure as Flag | Mapovanie OPC DA príznaku kvality Device Failure do atribútov hodnoty meraného bodu. |
Map SensorFailure as Flag | Mapovanie OPC DA príznaku kvality Sensor Failure do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Last Known do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Comm Failure do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Out Of Service do atribútov hodnoty meraného bodu. |
Map WaitingForInitData as Flag | Mapovanie OPC DA príznaku kvality Waiting For Initial Data do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Last Usable do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Sensor Cal do atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality EGU Exceededdo atribútov hodnoty meraného bodu. |
| Mapovanie OPC DA príznaku kvality Sub Normaldo atribútov hodnoty meraného bodu. |
Reconnect After Error Count | Pokiaľ dôjde pri čítaní hodnôt k počtu chýb po sebe rovnému hodnote parametra, dôjde k reinicializácii OPC spojenia. Nulová hodnota parametra znamená, že reinicializácia sa nevykoná (prednastavené správanie). Aktuálna implementácia rieši iba výpadky v synchrónnom móde (nastavenie typu na "Synchronous I/O" v záložke Adresa objektu Stanica). | - | 0 |
Konfigurácia meraných bodov
...
Adresa meraného bodu vyžaduje zadať “OPC Item ID” (string max. 200 znakov). Ak OPC server podporuje rozhranie IOPCBrowseServerAddressSpace, je možné si vybrať adresu OPC Item ID priamo zo zoznamu adries, ktoré OPC server podporuje priamo po stlačení tlačidla "Browse Items...", viď kapitolu Prehľadávanie adresného priestoru OPC servera.
Pozn: ak sa zadá adresa meraného bodu ako %IGNORE, takýto meraný bod bude ignorovaný.
...
Po akejkoľvek zmene filtračných podmienok je nutné stlačiť tlačidlo "Refresh" pre ich aktiváciu.
Pozn: vo verziách z 20.12.2018 a novších bolo implementované recyklovanie prehliadacieho dialógu. Pokiaľ je dialóg zavretý tlačidlom Návrat alebo po výbere tagu, v skutočnosti je iba skrytý a je k dispozícii pre browsovanie iného meraného bodu v rámci tej istej stanice, takže sa zachováí stromová štruktúra prehliadaných objektov. Kliknutie na krížik vpravo hore spôsobí skutočné zavretie dialógu.
Čítanie historických údajov
...
Implementácia protokolu podporuje čiastočne špecifikáciu OPC HDA (Historical Data Access). Podporené je synchrónne čítanie "raw" údajov. Čítanie archívnych údajov je možné odštartovať TELL príkazom GETOLDVAL. Pre plynulé čítanie historických hodnôt, spolu s aktuálnymi údajmi, odporúčame nastaviť asynchrónny typ prístupu IOPCAsyncIO módu pre OPC DA.
Tell príkazy
...
Tab. č. 3
Príkaz | Syntax | Popis |
---|
STWATCH | STWATCH MenoStanice | Tell príkaz pošle na stanicu príkazy na synchrónne vyčítanie hodnôt jednotlivých meraných bodov (bez ohľadu na to, či je typ prístupu k dátam “Async I/O 2.0”, "Async I/O 3.0" alebo “Synchronous I/O”) |
STCOMMAND | STCOMMAND MenoStanice DISCONNECT | Tell príkaz vykoná okamžité uzatvorenie aktívneho OPC spojenia linky (rodiča stanice "MenoStanice"). Následne je vykonaný reštart a reinicializácia spojenia. V prípade, že je použitý vzdialený (remote) prístup a nakonfigurovaný backup OPC host, vykoná sa výmena serverov ("OPC Host" za "Backup Host" alebo naopak). |
STCOMMAND MenoStanice CONNECT_PS | Uzatvorenie aktívneho OPC spojenia a vynútenie pripojenia na primárny OPC server "OPC Host". Má praktický význam iba v prípade vzdialeného (remote) typu prístupu. |
STCOMMAND MenoStanice CONNECT_BS | Uzatvorenie aktívneho OPC spojenia a vynútenie pripojenia na záložný OPC server "Backup Host". Má praktický význam iba v prípade vzdialeného (remote) typu prístupu. |
Tell príkazy...
Príkaz | Syntax | Popis |
| STWATCH MenoStanice | Tell príkaz pošle na stanicu príkazy na vyčítanie hodnôt jednotlivých meraných bodov. |
Konfigurácia DCOM pre pripojenie sa ku vzdialenému (remote) OPC serveru
...
Vo fáze štartu alebo aj počas komunikácie sa môžu vyskytovať nasledovné chybové hlásenia. Pre ľahšiu identifikáciu problému zapnite úroveň sledovania komunikácie v konfigurácii príslušnej linky minimálne na úroveň "Monitor", najlepšie však dočasne na úroveň "Monitor & Disk". V prípade nastavenia "Monitor & Disk" bude v podadresári "\TRACE" adresára aplikácie na počítači, kde je bežiaci komunikačný proces, vznikať súbor "meno_linky.LOG", kde sa nachádzajú všetky ladiace a chybové informácie.
Chyba: | WriteAsync - FAILED (transactionID) - Item :'OPCItemID' |
Popis: | Zlyhal pokus o zápis hodnoty volaním funkcie “Write” OPC rozhrania “IOPCAsyncIO2”. |
Chyba: | ShutDown OPC DA Server : 'ServerProgID' ! |
Popis: | OPC server bol zastavený, pravdepodobne korektným spôsobom aj napriek tomu, že má aktívnych klientov. |
Chyba : | OPC DA Server 'ServerProgID' is unavailable ! |
Popis: | Remote DCOM OPC server je nedostupný. Proces D2000 KOM, ako klient, sa bude opakovane pokúšať pripojiť ku serveru. Skontrolujte PC, kde je nainštalovaný OPC server (či beží a je správne pripojený na lokálnu sieť). |
Chyba: | SetCallBack - FAILED, Group : 'OPCGroupName', Server: 'ServerProgID' ! |
Popis: | Fatálny problém, nepodarilo sa inicializovať call-back procedúry OPC rozhrania “OPCDataCallback” pre túto OPC grupu. Kontaktujte technickú podporu firmy Ipesoft. |
Chyba: | SetGroupState - FAILED, Group : 'OPCGroupName',Server : 'ServerProgID' ! |
Popis: | Fatálny problém, zlyhalo volanie funkcie “SetState” OPC rozhrania “IOPCGroupStateMgt”. Kontaktujte technickú podporu firmy Ipesoft. |
Chyba: | EnableSubscribe - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' ! |
Popis: | Fatálny problém, zlyhalo volanie funkcie “SetEnable” OPC rozhrania “IOPCAsyncIO2”. Kontaktujte technickú podporu firmy Ipesoft. |
Chyba: | RefreshAllAsync - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' ! |
Popis: | Fatálny problém, zlyhalo volanie funkcie “Refresh2” OPC rozhrania “IOPCASyncIO2”. Kontaktujte technickú podporu firmy Ipesoft. |
Chyba: | OPCConnectToServer - FAILED, Server : 'ServerProgID' ! |
Popis: | Fatálny problém, nedá sa pripojiť ku OPC serveru. Skontrolujte dôkladne nastavenia OPC parametrov na linke (záložka “OPC”) a staniciach (záložka “Adresa”). |
Chyba: | OPCAddGroup - FAILED, Group : 'OPCGroupName', Server : 'ServerProgID' ! |
Popis: | Nepodarilo sa vytvoriť OPC grupu volaním funkcie “AddGroup” OPC rozhrania “IOPCServer”. Fatálny problém, kontaktujte technickú podporu firmy Ipesoft. |
Chyba: | ReadSync - FAILED, Item : 'OPCItemID' ! |
Popis: | Zlyhalo volanie “Read” OPC rozhrania “IOPCSyncIO”. |
Chyba: | AddItems - FAILED (Group not connected), Item : 'OPCItemID' ! |
Popis: | Nepodarilo sa inicializovať OPC item, pretože predtým zlyhalo vytvorenie OPC grupy. Kontaktujte technickú podporu firmy Ipesoft. |
Chyba: | Write - FAILED (transactionID) , Item : 'OPCItemID' ! |
Popis: | Zlyhal zápis hodnoty do OPC servera. Zápis je realizovaný volaním “Write” OPC rozhrania “IOPCSyncIO” alebo “IOPCAsyncIO2” podľa nastaveného typu prístupu k dátam “Type” OPC grupy. |
Chyba: | Write - FAILED, OPC Server is disconnected, Item : 'OPCItemID' ! |
Popis: | Zápis hodnoty do OPC servera sa nemohol realizovať, pretože OPC server nie je pripojený. |
Chyba: | Group parameters error, Group: 'OPCGroupName', Server : 'ServerProgID' ! |
Popis: | Konfiguračné parametre OPC grupy sú chybné. Skontrolujte dôkladne nastavenie OPC parametrov na príslušnej stanici (záložka “Adresa”). |
Výpis COM/OPC chýb
...