...
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). Príklad chybovej hlášky volania "GetGroupState": WARNING: Siemens.TXP.OPC caused COM/OPC error 80010108H on IOPCGroupStateMgt::GetState(), Error string : The object invoked has disconnected from its clients. | 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.
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
STCOMMANDSTCOMMAND DISCONNECT | 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 |
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...
Remote browsing/lokálna registrácia OPC servera
Remote browsing/lokálna registrácia OPC servera
D2000 KOM Proces od verzie 7.01.020 rel. 055 a vyššie podporuje získavanie GUID OPC Serverov z ProgID na vzdialených počítačoch cez DCOM rozhranie pomocou utility OPCENUM (remote browsing). Ak je na oboch stranách (lokálne PC s D2000 KOM procesom ako OPC klientom a na vzdialenom PC s OPC serverom) nainštalovaná utilita/windows service OPCENUM a úroveň nastavenia prístupových práv umožňuje remote browsing, netreba vykonávať lokálnu registráciu OPC servera na strane klienta. Utilita OPCENUM je súčasťou balíka "OPC Core Components Redistributable", ktorý sa dá získať na lokalite http://www.opcfoundation.org/, alebo zvyčajne býva už súčasťou inštalácie samotného OPC servera.
...
- Na príkazovom riadku, na počítači, kde je nainštalovaný OPC server, odštartujte konfiguračný nástroj "Component Services" (v zložke "Administrative Tools" alebo odštartovaním príkazu “dcomcnfg” na príkazovom riadku).
- Vyberte "Component Services" -> "Computer" -> "My Computer", vyberte menu "Properties".
- Skontrolujte, či je povolený DCOM zaškrtnutím voľby “Enable Distributed COM on this computer” v záložke "Default Properties".
- V záložke "COM Security" skontrolujte limity pre "Access Permissions" a "Launch and Activation Permissions". Stlačte "Edit Limits..." a overte DCOM prístupové práva pre vášho užívateľa, prípadne pre skupinu užívateľov "Distributed COM Users". Overte povolenie "Remote Access", "Remote Launch" a "Remote Activation". Pozor, toto sú limitné nastavenia. Nastavenia "Security" na konkrétnej komponente nemôžu prekonať nastavenie "COM Security" limít, aj keď to je možné tak nakonfigurovať.
- Skontrolujte, či je užívateľ členom skupiny (User Group) "Distributed COM Users". Otvorte "Control Panel" -> "Administrative tools" -> "Computer Management" -> "Local Users and Groups" -> "Groups" a nájdite skupinu "Distributed COM Users". Ak užívateľ, pod ktorým pristupujete na OPC server nie je v tejto skupine, pridajte ho do nej.
- V zozname komponentov (vetva "DCOM Config" pod "My Computer") nájdite požadovaný OPC server a otvorte okno jeho parametrov (menu “Properties”). Otvorte záložku “Security”.
- Prepnite “Launch And Activation Permissions” na “Customize” a kliknite na tlačidlo “Edit...”.
- Skontrolujte, či sa v zozname nachádza požadovaný užívateľ, prípadne skupina užívateľov "Distributed COM Users" a ak nie, pridajte ho.
- Povoľte voľby "Remote Launch" a "Remote Activation".
- To isté urobte aj pre “Access Permissions”.
- V záložke "Identity" skontrolujte, či je nastavená voľba "The launching user" alebo "This user" a vtedy aj uvedený užívateľský účet, ktorý konfigurujeme. Bežne odporúčame nastavenie "The launching user", v prípade problémov skúste priame nastavenie "This user". V každom prípade pozor na nastavenie "The interactive user", toto krajne neodporúčame! Vtedy je totiž OPC server dostupný a odštartovaný iba v prípade, ak je nejaký užívateľ na stroji s OPC serverom interaktívne prihlásený. Toto nastavenie vedie ku problémom nedostupnosti OPC servera napr. po jeho reštarte, kým nie je žiaden užívateľ prihlásený.
- V prípade nutnosti používať nastavenie "The system account (services only)", t.j. kedy OPC server funguje ako Windows service, sledujte úroveň prístupových práv užívateľa "SYSTEM" podľa hore uvedených pravidiel.
...
je nutné pridať užívateľa, v kontexte ktorého komunikácia prebieha, v nástroji "Component Services" na počítači s OPC klientom (KOM proces) do zoznamu užívateľov v záložke "COM Security" -> "Edit Limits" v oboch parametroch "Access Permissions" aj "Launch and Activation Permissions" a povoliť "Remote Access" / "Remote Activation". Ide o problém s nadviazaním call-back spojenia s OPC serverom a v takom prípade sú role obrátené a OPC klient (t.j. KOM proces) figuruje ako DCOM server. Pridaním tohto užívateľa a povolením diaľkového prístupu umožníme nadviazanie call-back procedúr medzi OPC klientom a OPC serverom. Call-back procedúry sú nutné pre získavanie hodnôt z OPC servera v asynchrónnom režime “Async I/O 2.0” a “Async I/O 3.0”.
Info |
---|
title | Poznámka o SIMATIC NET a možno aj iných OPC serveroch | | Poznámka o OPC.SimaticNET a možno aj iných OPC serveroch |
---|
|
Ak je vo vlastnostiach OPC servera na poslednej záložke Identity nakonfigurované, že OPC server beží pod prihláseným užívateľom ("The interactive user"), tak to môže spôsobovať, že OPC server je k dispozícii iba pokiaľ je na počítači prihlásený užívateľ. Odporúčame toto nastavenie zmeniť ("The launching user", "This user", prípadne "The system account"). |
Info |
---|
title | Ďalšia poznámka o OPC.SimaticNET |
---|
|
V konkrétnom prípade na sfunkčnenie OPC komunikácie bolo vyžadované: - DCOM nastavenie OPC servera OPC.SimaticNET - v záložke Identity musela byť nastavená voľba "This user" (napr. užívateľ D2000). Ak bolo nastavené "The launching user", pripájanie sa k OPC serveru skončilo na timeoute (zo strany D2000 KOM alebo Matricon OPC Explorera), hoci bolo vidieť v Task Manageri, že OPC server (opcdaserver.exe) sa pod daným uživateľom spustil.
- užívateľ, pod ktorým bežal OPC server (napr. užívateľ D2000) musel byť v skupinách "Distributed COM Users" a Administrators. Ak nebol užívateľ administrátor, KOM vypisoval chybu CoCreateInstanceEx(CLSCTX_REMOTE_SERVER), Error string : Class not registered
Ak je vo vlastnostiach OPC servera na poslednej záložke Identity nakonfigurované, že OPC server beží pod prihláseným užívateľom ("The interactive user"), tak to môže spôsobovať, že OPC server je k dispozícii iba pokiaľ je na počítači prihlásený užívateľ. Odporúčame toto nastavenie zmeniť ("The launching user", "This user", prípadne "The system account" |
Chyby a problémy
...
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
...