Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

Kotva
typy_verzie
typy_verzie
Podporované typy a verzie zariadení

...

Protokol podporuje klientsku klientskú stranu komunikácie s OPC (OLE for Process Control) HDA (Historical Data Access) serverami podľa špecifikácii OPC HDA ver. 1.20.

...

Kategória komunikačnej linky: OPC Client.

Parametre OPC:

  • OPC Host: Požadované len pre "Remote" prístup. Počítač, kde je nainštalovaný OPC HDA Server, zadáva sa len pre typ OPC servera "Remote" (string max. 50 znakov). Možno zadať mená podľa konvencie UNC (napr. "\\server" alebo "server", doménové DNS mená (napr. "domain.com", "example.company.com") alebo IP adresy ("196.54.23.113").
  • Backup Host: Požadované len pre "Remote" prístup. Záložný OPC host. V prípade, že je definovaný, po výpadku komunikácie sa proces D2000 KOM snaží nadviazať komunikáciu striedavo s OPC Host-om a Backup Host-om.
  • OPC Server: Meno (ProgID) OPC servera (string max. 50 znakov).
  • Server Type: Podľa typu servera – "InProc", "Local" alebo "Remote".

...

Parametre protokolu linky

Pre protokol "

...

Komunikačný protokol: OPC Historical Data Access 1.20 .

Tento komunikačný protokol nevyžaduje zadávanie žiadnych adresných parametrov pre stanicu.

Parametre protokolu stanice

Môžu byť konfigurované nasledovné parametre protokolu stanice:

Tab. č. 1

Client" je možné konfigurovať nasledovné globálne parametre protokolu linky:

fdFULL_DEBUGRCDBNDSASMNVALRINTRUINTRQERRQOFFQONQTRANSOPCHQEDOPCHQINOPCHQRAOPCHQCAOPCHQNBOPCHQNDOPCHQDLOPCHQCOMapovanie OPC HDA príznaku kvality Conversion
NázovKľúčové slovoPlný názovPopisJednotkaNáhradná hodnota

Kotva

al

fdFull DebugZapína ladiace výpisy. Výrazne zvýši počet informácií o chode komunikácie. Odporúčame zapínať iba pri detekcii problémov a ladení komunikácie.YES/NONO
Kotva
rcdrcdReconnect/Reinitialisation DelayOneskorenie po zlyhaných operáciách:

  • vytvorenie itemov GetItemHandles,
  • opakované pripojenie na OPC HDA Server po jeho zastavení, páde alebo sieťovom disconnect-e,
  • vytváranie itemov po opakovanom pripojení na OPC HDA Server.
sec5
Kotva
bndsbndsInclude BoundsNastavuje parameter "Bounds" (čítanie hraničných hodnôt intervalu, aj keď sú mimo požadovaný interval) pri synchrónnom/asynchrónnom čítaní "raw" hodnôt.YES/NONO
Kotva
asmasmAsync ModeNastavuje asynchrónny mód činnosti pri čítaní údajov. Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.YES/NONO
Kotva
nvalnvalMaximum number of valuesNastavuje parameter NumItems pri synchrónnom/asynchrónnom čítaní "raw" hodnôt. Implicitná hodnota 0 znamená všetky hodnoty v danom intervale. Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.Nezáporné celé číslo0
Kotva
rintrrintrResample IntervalNastavuje hodnotu parametra "ResampleInterval" pri synchrónnom/asynchrónnom čítaní "processed" hodnôt. Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.ddd hh:mi:ss60 sec
Kotva
uintruintrUpdate IntervalNastavuje hodnotu parametra "UpdateInterval" vo volaniach "AdviseRaw" a "AdviseProcessed". Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.ss.mss1 sec
Kotva
qerrqerrQERR Value Celočíselná hodnota stavu "ERROR" pre prevod do štvorstavového vstupu Qi.0,1,2,33
Kotva
qoffqoffQOFF Value Celočíselná hodnota stavu "OFF" pre prevod do štvorstavového vstupu Qi.0,1,2,32
Kotva
qonqonQON ValueCeločíselná hodnota stavu "ON" pre prevod do štvorstavového vstupu Qi.0,1,2,31
Kotva
qtransqtransQTRANS ValueCeločíselná hodnota stavu "TRANS" pre prevod do štvorstavového vstupu Qi.

 

0,1,2,30
Kotva
f_edf_edMap ExtraData as flagMapovanie OPC HDA príznaku kvality Extra Data do atribútov hodnoty meraného bodu.None, FA, FB, FC, FD, FE, FF, FG, FH, FI, FJ, FK, FL, FM, FN, FO, FPNone
Kotva
f_ipf_ipMap Interpolated as flagMapovanie OPC HDA príznaku kvality Interpolated do atribútov hodnoty meraného bodu.
Kotva
f_raf_raMap Raw as flagMapovanie OPC HDA príznaku kvality Raw do atribútov hodnoty meraného bodu.
Kotva
f_caf_caMap Calculated as flagMapovanie OPC HDA príznaku kvality Calculated do atribútov hodnoty meraného bodu.
Kotva
f_nbf_nbMap NoBound as flagMapovanie OPC HDA príznaku kvality No Bound do atribútov hodnoty meraného bodu.
Kotva
f_ndf_ndMap NoData as flagMapovanie OPC HDA príznaku kvality No Data do atribútov hodnoty meraného bodu.
Kotva
f_dlf_dlMap DataLost as flagMapovanie OPC HDA príznaku kvality Data Lost do atribútov hodnoty meraného bodu.
Kotva
f_cof_coMap Conversion as flag

al
Authentication Level

Úroveň autentifikácie použitá pri vytváraní spojenia na OPC server. OPC štandard definuje tieto úrovne:

  • RPC_C_AUTHN_LEVEL_DEFAULT (0)
  • RPC_C_AUTHN_LEVEL_NONE (1)
  • RPC_C_AUTHN_LEVEL_CONNECT (2)
  • RPC_C_AUTHN_LEVEL_CALL (3)
  • RPC_C_AUTHN_LEVEL_PKT (4)
  • RPC_C_AUTHN_LEVEL_PKT_INTEGRITY (5)
  • RPC_C_AUTHN_LEVEL_PKT_PRIVACY (6)

Pozn: prednastavená hodnota RPC_C_AUTHN_LEVEL_CONNECT (2) už nemusí vyhovovať. Microsoft zaviedol security hardening kvôli riešeniu bezpečnostných problémov popísaných v CVE-2021-26414. Viac detailov viď "KB5004442—Manage changes for Windows DCOM Server Security Feature Bypass (CVE-2021-26414)".

-

2


Kotva
komunikacna_stanica
komunikacna_stanica
Konfigurácia komunikačnej stanice

...

Komunikačný protokol: OPC Historical Data Access 1.20.

Tento komunikačný protokol nevyžaduje zadávanie žiadnych adresných parametrov pre stanicu.


Parametre protokolu stanice

Môžu byť konfigurované nasledovné parametre protokolu stanice:

Tab. č. 1

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota
Kotva
fd
fd
FULL_DEBUG
Full DebugZapína ladiace výpisy. Výrazne zvýši počet informácií o chode komunikácie. Odporúčame zapínať iba pri detekcii problémov a ladení komunikácie.YES/NONO
Kotva
rcd
rcd
RCD
Reconnect/Reinitialisation DelayOneskorenie po zlyhaných operáciách:


  • vytvorenie itemov GetItemHandles,
  • opakované pripojenie na OPC HDA Server po jeho zastavení, páde alebo sieťovom disconnect-e,
  • vytváranie itemov po opakovanom pripojení na OPC HDA Server.
sec5
Kotva
bnds
bnds
BNDS
Include BoundsNastavuje parameter "Bounds" (čítanie hraničných hodnôt intervalu, aj keď sú mimo požadovaný interval) pri synchrónnom/asynchrónnom čítaní "raw" hodnôt.YES/NONO
Kotva
asm
asm
ASM
Async ModeNastavuje asynchrónny mód činnosti pri čítaní údajov. Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.YES/NONO
Kotva
nval
nval
NVAL
Maximum number of valuesNastavuje parameter NumItems pri synchrónnom/asynchrónnom čítaní "raw" hodnôt. Implicitná hodnota 0 znamená všetky hodnoty v danom intervale. Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.Nezáporné celé číslo0
Kotva
rintr
rintr
RINTR
Resample IntervalNastavuje hodnotu parametra "ResampleInterval" pri synchrónnom/asynchrónnom čítaní "processed" hodnôt. Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.ddd hh:mi:ss60 sec
Kotva
uintr
uintr
UINTR
Update IntervalNastavuje hodnotu parametra "UpdateInterval" vo volaniach "AdviseRaw" a "AdviseProcessed". Viď kapitolu Nastavenie správnej stratégie pre čítanie údajov.ss.mss1 sec
Kotva
qerr
qerr
QERR
QERR ValueCeločíselná hodnota stavu "ERROR" pre prevod do štvorstavového vstupu Qi.0,1,2,33
Kotva
qoff
qoff
QOFF
QOFF ValueCeločíselná hodnota stavu "OFF" pre prevod do štvorstavového vstupu Qi.0,1,2,32
Kotva
qon
qon
QON
QON ValueCeločíselná hodnota stavu "ON" pre prevod do štvorstavového vstupu Qi.0,1,2,31
Kotva
qtrans
qtrans
QTRANS
QTRANS ValueCeločíselná hodnota stavu "TRANS" pre prevod do štvorstavového vstupu Qi.


0,1,2,30
Kotva
f_ed
f_ed
OPCHQED
Map ExtraData as flagMapovanie OPC HDA príznaku kvality Extra Data do atribútov hodnoty meraného bodu.None, FA, FB, FC, FD, FE, FF, FG, FH, FI, FJ, FK, FL, FM, FN, FO, FPNone
Kotva
f_ip
f_ip
OPCHQIN
Map Interpolated as flagMapovanie OPC HDA príznaku kvality Interpolated do atribútov hodnoty meraného bodu.
Kotva
f_
pa
ra
f_
pa
ra
OPCHQPA
OPCHQRA
Map
Partial
Raw as flagMapovanie OPC HDA príznaku kvality
Partial
Raw do atribútov hodnoty meraného bodu.
Kotva
f_
ns
ca
f_
ns
ca
OPCQFNS
OPCHQCA
Map
NonSpecific
Calculated as flagMapovanie OPC
DA
HDA príznaku kvality
Non Specific
Calculated do atribútov hodnoty meraného bodu.
Kotva
f_
lo
nb
f_
lo
nb
OPCQFLO
OPCHQNB
Map
LocalOverride
NoBound as flagMapovanie OPC
DA
HDA príznaku kvality
LocalOverride
No Bound do atribútov hodnoty meraného bodu.
Kotva
f_
ce
nd
f_
ce
nd
OPCQFCE
OPCHQND
Map
ConfigError
NoData as flagMapovanie OPC
DA
HDA príznaku kvality
Config Error
No Data do atribútov hodnoty meraného bodu.
Kotva
f_
nc
dl
f_
nc
dl
OPCQFNC
OPCHQDL
Map
NotConnected
DataLost as flagMapovanie OPC
DA
HDA príznaku kvality
Not Connected
Data Lost do atribútov hodnoty meraného bodu.
Kotva
f_
df
co
f_
df
co
OPCQFDF
OPCHQCO
Map
DeviceFailure
Conversion as flagMapovanie OPC
DA
HDA príznaku kvality
Device Failure
Conversion do atribútov hodnoty meraného bodu.
Kotva
f_
sf
pa
f_
sf
pa
OPCQFSF
OPCHQPA
Map
SensorFailure
Partial as flagMapovanie OPC
DA
HDA príznaku kvality
Sensor Failure
Partial do atribútov hodnoty meraného bodu.
Kotva
f_
lk
ns
f_
lk
ns
OPCQFLK
OPCQFNS
Map
LastKnown
NonSpecific as flagMapovanie OPC DA príznaku kvality
Last Known
Non Specific do atribútov hodnoty meraného bodu.
Kotva
f_
cf
lo
f_
cf
lo
OPCQFCF
OPCQFLO
Map
CommFailure
LocalOverride as flagMapovanie OPC DA príznaku kvality
Comm Failure
LocalOverride do atribútov hodnoty meraného bodu.
Kotva
f_
os
ce
f_
os
ce
OPCQFOOS
OPCQFCE
Map
OutOfService
ConfigError as flagMapovanie OPC DA príznaku kvality
Out Of Service
Config Error do atribútov hodnoty meraného bodu.
Kotva
f_
wi
nc
f_
wi
nc
OPCQFWID
OPCQFNC
Map
WaitingForInitData
NotConnected as flagMapovanie OPC DA príznaku kvality
Waiting For Initial Data
Not Connected do atribútov hodnoty meraného bodu.
Kotva
f_
lu
df
f_
lu
df
OPCQFLU
OPCQFDF
Map
LastUsable
DeviceFailure as flagMapovanie OPC DA príznaku kvality
Last Usable
Device Failure do atribútov hodnoty meraného bodu.
Kotva
f_
sc
sf
f_
sc
sf
OPCQFSC
OPCQFSF
Map
SensorCal
SensorFailure as flagMapovanie OPC DA príznaku kvality Sensor
Cal
Failure do atribútov hodnoty meraného bodu.
Kotva
f_
ee
lk
f_
ee
lk
OPCQFEGUE
OPCQFLK
Map
EGUExceeded
LastKnown as flagMapovanie OPC DA príznaku kvality
EGU Exceeded
Last Known do atribútov hodnoty meraného bodu.
Kotva
f_
sn
cf
f_
sn
cf
OPCQFSN
OPCQFCF
Map
SubNormal
CommFailure as flagMapovanie OPC DA príznaku kvality
Sub Normal
Comm Failure do atribútov hodnoty meraného bodu.
Kotva

...

f_

...

os

...

f_

...

os

...

Možné typy hodnôt bodov: Ai, Ci, Di, Qi,  TiA, TiR, TxtI.

Adresa meraného bodu vyžaduje zadať "OPC Item ID" (string max. 200 znakov).

Ďalšie požadované parametre ("OPC HDA Item Parameters") sú:

  • Výber medzi "Raw" a "Processed" typom čítanej hodnoty.
  • V prípade výberu "Processed" typu voľbu požadovaného typu "Aggregate".
  • Voľba "Async Advise" pre povolenie asynchrónneho priebežného zberu hodnôt údajov.

...

OPC Historical Data Access je špecifikácia, ktorá umožňuje čítanie historických údajov a to jednak "surových" - "raw" alebo spracovaných - "processed". Údaje je možné čítať sychrónnymi alebo asynchrónnymi volaniami. Asynchrónny interfejs umožňuje naviac "advise" požadovaných údajov, t.j. periodické (viď parameter protokolu "Update Interval") zasielanie aktuálnych hodnôt z OPC HDA Servera asynchrónnym call-back volaním do klienta - KOM procesu. Jediný povinný interfejs podľa špecifikácie OPC HDA je však iba "SyncRead" na synchrónne čítanie "raw" údajov.

Implementácia protokolu OPC HDA v D2000 KOM Procese je realizovaná štýlom, ktorý umožňuje čo najefektívnejšie čítanie archívnych údajov vrátane aktualizácie posledných hodnôt tak, aby nebolo nutné kombinovať protokol "OPC Historical Access" s protokolom "OPC Data Access". Čítanie historických hodnôt je v ľubovoľnom požadovanom intervale možné vyžiadať tell príkazom GETOLDVAL, získané hodnoty sú ukladané do D2000 Archívu, ak je daný meraný bod archivovaný primárnou Archivovanou hodnotou.

Možné sú dve stratégie pre zber aktuálnych údajov:

  1. Minimalistická:
    Používa iba synchrónny interfejs "SyncRead". Podľa nastavenia časových parametrov stanice sú periodicky volané funkcie "ReadRaw" a "ReadProcessed". Požadovaný interval hodnôt je od času poslednej platnej hodnoty po aktuálny čas. Ak je získaných niekoľko hodnôt za daný interval, posledná hodnota s najmladšou časovou značkou je vyhlásená za aktuálnu hodnotu. Ostatné hodnoty sú odoslané ako "old" values do servera a ukladajú sa do D2000 Archívu.
  2. Advise:
    Využíva funkcie asynchrónneho interfejsu "AsyncRead" "AdviseRaw" a "AdviseProcessed". OPC HDA Server v perióde danej parametrom protokolu "Update Interval" zasiela posledné platné hodnoty "raw" alebo "processed" itemov. Ak nie je v danom intervale žiadna nová hodnota, vráti OPC HDA Server príznak kvality "No Data".

Parametrom protokolu "Async Mode" je možné nastaviť plne asynchrónny režim, ktorý používa iba interfejs "AsyncRead". Asynchrónny režim však má určité obmedzenia, preto ho neodporúčame:

  • Pri asynchrónnom čítaní "raw" údajov nie je podporené opakované dočítavanie údajov, ktoré sa nezmestili do jedného volania (vrátený príznak OPC_S_MOREDATA).
  • V asynchrónnom režime nie je riešené správne načasovanie ukončenia transakcie tell príkazu GETOLDVAL, čo má za následok neefektívnejšie ukladanie získaných hodnôt procesom D2000 Archív.

Implementácia protokolu OPC Historical Data Access nepodporuje zápis hodnôt (interfejsy "SyncUpdate" a "ReadUpdate"). Tak isto nie sú podporené interfejsy "SyncAnnotations", "AsyncAnnotations", "Browser" a "Playback".

...

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 interfejs pomocou utility OPCENUM (remote browsing). Ak je na strane vzdialeného OPC servera 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.

Registrácia OPC servera na strane OPC klienta (procesu D2000 KOM) nie je nutná. Ak sa uživateľ pre ňu rozhodne, dá sa docieliť dvomi spôsobmi:

...

  • Skopírujte OPC server (z počítača, kde je nainštalovaný, stačí samotný .exe súbor + prípadne požadované .dll súbory) do pomocného adresára na strane klienta.
  • Odštartuje v tomto adresári príkazový riadok.
  • Zaregistrujte OPC server. Ak sa OPC server na disku volá napr. "OPCSERVER.EXE" tak napíšte príkaz: "OPCSERVER.EXE /regserver" a stlačte ENTER.
  • Pomocný adresár môžete zmazať.

Vždy si pozorne prečítajte návod ku OPC serveru od jeho výrobcu a skonfrontujte si v ňom uvedené údaje a návody s horeuvedenými postupmi.

Nastavenie prístupových práv

Pripojenie sa ku vzdialenému OPC serveru podlieha kontrole prístupových práv operačného systému Windows. Na oboch počítačoch preto musí byť vytvorený rovnaký užívateľ (aj s rovnakým heslom) a tento užívateľ musí byť na strane OPC klienta aj prihlásený. Na strane OPC servera musí mať tento užívateľ určité práva, preto postupujte podľa tohto návodu:

  • Na príkazovom riadku na počítači, kde je nainštalovaný OPC server, odštartujte program "DCOMCNFG". Skontrolujte, či je povolený DCOM zaškrtnutím voľby "Enable Distributed COM on this computer".
  • V zozname komponentov nájdite požadovaný OPC server a otvorte okno jeho parametrov ("Properties"). Otvorte záložku "Security".
  • Prepnite "Launch Permissions" na "Customize" a kliknite na tlačidlo "Edit...".
  • Skontrolujte, či sa v zozname nachádza požadovaný užívateľ, prípadne ho tam pridajte.
  • To isté urobte aj pre "Access Permissions".

Zlé nastavenie prístupových práv pravdepodobne povedie ku chybe (viď kapitolu "Výpis COM/OPC chýb"):

ERROR: ServerProgID caused COM/OPC error 80070005H on CoCreateInstanceEx(CLSCTX_REMOTE_SERVER), Error string : Access is denied.

Sledujte záznamy v systémovom prehliadači udalostí "Event Viewer".

Problém sa dá do určitej miery obísť pridaním skupiny "Everyone" do "Launch Permissions" a "Access Permissions". Aby bolo zabezpečené, že bude OPC server odštartovaný v kontexte určitého užívateľa (a nie pod "SYSTEM account"), otvorte záložku "Identity" a vyplňte údaje pre voľbu "This user". V tomto prípade však nie je možné hovoriť o bezpečnosti OPC servera.

V každom prípade nesmie byť OPC klient (proces D2000 KOM) odštartovaný ako "Windows service" s parametrami "/X1" alebo "/X2", pretože potom nefunguje v kontexte prihláseného užívateľa, ale pod "SYSTEM account" a overenie prístupových práv OPC serverom zlyhá. Použite štartovací parameter "/X4".

Opäť si pozorne prečítajte návod ku OPC serveru od jeho výrobcu a dodržujte jeho odporúčania.

...

OPCQFOOS
Map OutOfService as flagMapovanie OPC DA príznaku kvality Out Of Service do atribútov hodnoty meraného bodu.
Kotva
f_wi
f_wi
OPCQFWID
Map WaitingForInitData as flagMapovanie OPC DA príznaku kvality Waiting For Initial Data do atribútov hodnoty meraného bodu.
Kotva
f_lu
f_lu
OPCQFLU
Map LastUsable as flagMapovanie OPC DA príznaku kvality Last Usable do atribútov hodnoty meraného bodu.
Kotva
f_sc
f_sc
OPCQFSC
Map SensorCal as flagMapovanie OPC DA príznaku kvality Sensor Cal do atribútov hodnoty meraného bodu.
Kotva
f_ee
f_ee
OPCQFEGUE
Map EGUExceeded as flagMapovanie OPC DA príznaku kvality EGU Exceeded do atribútov hodnoty meraného bodu.
Kotva
f_sn
f_sn
OPCQFSN
Map SubNormal as flagMapovanie OPC DA príznaku kvality Sub Normal do atribútov hodnoty meraného bodu.

Kotva
merany_bod
merany_bod
Konfigurácia meraných bodov

...

Možné typy hodnôt bodov: Ai, Ci, Di, Qi,  TiA, TiR, TxtI.

Adresa meraného bodu vyžaduje zadať "OPC Item ID" (string max. 200 znakov).

Ďalšie požadované parametre ("OPC HDA Item Parameters") sú:

  • Výber medzi "Raw" a "Processed" typom čítanej hodnoty.
  • V prípade výberu "Processed" typu voľbu požadovaného typu "Aggregate".
  • Voľba "Async Advise" pre povolenie asynchrónneho priebežného zberu hodnôt údajov.

Kotva
strategia
strategia
Nastavenie správnej stratégie pre čítanie údajov

...

OPC Historical Data Access je špecifikácia, ktorá umožňuje čítanie historických údajov a to jednak "surových" - "raw" alebo spracovaných - "processed". Údaje je možné čítať sychrónnymi alebo asynchrónnymi volaniami. Asynchrónny interfejs umožňuje naviac "advise" požadovaných údajov, t.j. periodické (viď parameter protokolu "Update Interval") zasielanie aktuálnych hodnôt z OPC HDA Servera asynchrónnym call-back volaním do klienta - KOM procesu. Jediný povinný interfejs podľa špecifikácie OPC HDA je však iba "SyncRead" na synchrónne čítanie "raw" údajov.

Implementácia protokolu OPC HDA v D2000 KOM Procese je realizovaná štýlom, ktorý umožňuje čo najefektívnejšie čítanie archívnych údajov vrátane aktualizácie posledných hodnôt tak, aby nebolo nutné kombinovať protokol "OPC Historical Access" s protokolom "OPC Data Access". Čítanie historických hodnôt je v ľubovoľnom požadovanom intervale možné vyžiadať tell príkazom GETOLDVAL, získané hodnoty sú ukladané do D2000 Archívu, ak je daný meraný bod archivovaný primárnou Archivovanou hodnotou.

Možné sú dve stratégie pre zber aktuálnych údajov:

  1. Minimalistická:
    Používa iba synchrónny interfejs "SyncRead". Podľa nastavenia časových parametrov stanice sú periodicky volané funkcie "ReadRaw" a "ReadProcessed". Požadovaný interval hodnôt je od času poslednej platnej hodnoty po aktuálny čas. Ak je získaných niekoľko hodnôt za daný interval, posledná hodnota s najmladšou časovou značkou je vyhlásená za aktuálnu hodnotu. Ostatné hodnoty sú odoslané ako "old" values do servera a ukladajú sa do D2000 Archívu.
  2. Advise:
    Využíva funkcie asynchrónneho interfejsu "AsyncRead" "AdviseRaw" a "AdviseProcessed". OPC HDA Server v perióde danej parametrom protokolu "Update Interval" zasiela posledné platné hodnoty "raw" alebo "processed" itemov. Ak nie je v danom intervale žiadna nová hodnota, vráti OPC HDA Server príznak kvality "No Data".

Parametrom protokolu "Async Mode" je možné nastaviť plne asynchrónny režim, ktorý používa iba interfejs "AsyncRead". Asynchrónny režim však má určité obmedzenia, preto ho neodporúčame:

  • Pri asynchrónnom čítaní "raw" údajov nie je podporené opakované dočítavanie údajov, ktoré sa nezmestili do jedného volania (vrátený príznak OPC_S_MOREDATA).
  • V asynchrónnom režime nie je riešené správne načasovanie ukončenia transakcie tell príkazu GETOLDVAL, čo má za následok neefektívnejšie ukladanie získaných hodnôt procesom D2000 Archív.

Implementácia protokolu OPC Historical Data Access nepodporuje zápis hodnôt (interfejsy "SyncUpdate" a "ReadUpdate"). Tak isto nie sú podporené interfejsy "SyncAnnotations", "AsyncAnnotations", "Browser" a "Playback".

Kotva
dcom
dcom
Konfigurácia DCOM pre pripojenie sa ku remote OPC serveru

...

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 interfejs pomocou utility OPCENUM (remote browsing). Ak je na strane vzdialeného OPC servera 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.

Registrácia OPC servera na strane OPC klienta (procesu D2000 KOM) nie je nutná. Ak sa uživateľ pre ňu rozhodne, dá sa docieliť dvomi spôsobmi:

  1. Niektoré OPC servery sú dodávané s inštalačným programom pre podporu pripojenia sa OPC klientov “tretích strán” ku vzdialenému OPC serveru. Takéto programy majú názvy ako “OPC Server Connect” a podobne. Po ich nainštalovaní sa objaví OPC server (jeho ProgID) v zozname OPC serverov na počítači klienta. D2000 OPC klient však použije tieto informácie iba na získanie CLSID zo zadaného ProgID (viď konfigurácia komunikačnej linky). Takto zaregistrovaný OPC server pravdaže nemôže byť prevádzkovaný na strane klienta.
  2. Ručné zaregistrovanie OPC servera na strane klienta, postupujte podľa tohto návodu:

    • Skopírujte OPC server (z počítača, kde je nainštalovaný, stačí samotný .exe súbor + prípadne požadované .dll súbory) do pomocného adresára na strane klienta.
    • Odštartuje v tomto adresári príkazový riadok.
    • Zaregistrujte OPC server. Ak sa OPC server na disku volá napr. "OPCSERVER.EXE" tak napíšte príkaz: "OPCSERVER.EXE /regserver" a stlačte ENTER.
    • Pomocný adresár môžete zmazať.

Vždy si pozorne prečítajte návod ku OPC serveru od jeho výrobcu a skonfrontujte si v ňom uvedené údaje a návody s horeuvedenými postupmi.


Nastavenie prístupových práv

Pripojenie sa ku vzdialenému OPC serveru podlieha kontrole prístupových práv operačného systému Windows. Na oboch počítačoch preto musí byť vytvorený rovnaký užívateľ (aj s rovnakým heslom) a tento užívateľ musí byť na strane OPC klienta aj prihlásený. Na strane OPC servera musí mať tento užívateľ určité práva, preto postupujte podľa tohto návodu:

  • Na príkazovom riadku na počítači, kde je nainštalovaný OPC server, odštartujte program "DCOMCNFG". Skontrolujte, či je povolený DCOM zaškrtnutím voľby "Enable Distributed COM on this computer".
  • V zozname komponentov nájdite požadovaný OPC server a otvorte okno jeho parametrov ("Properties"). Otvorte záložku "Security".
  • Prepnite "Launch Permissions" na "Customize" a kliknite na tlačidlo "Edit...".
  • Skontrolujte, či sa v zozname nachádza požadovaný užívateľ, prípadne ho tam pridajte.
  • To isté urobte aj pre "Access Permissions".

Zlé nastavenie prístupových práv pravdepodobne povedie ku chybe (viď kapitolu "Výpis COM/OPC chýb"):

ERROR: ServerProgID caused COM/OPC error 80070005H on CoCreateInstanceEx(CLSCTX_REMOTE_SERVER), Error string : Access is denied.

Sledujte záznamy v systémovom prehliadači udalostí "Event Viewer".

Problém sa dá do určitej miery obísť pridaním skupiny "Everyone" do "Launch Permissions" a "Access Permissions". Aby bolo zabezpečené, že bude OPC server odštartovaný v kontexte určitého užívateľa (a nie pod "SYSTEM account"), otvorte záložku "Identity" a vyplňte údaje pre voľbu "This user". V tomto prípade však nie je možné hovoriť o bezpečnosti OPC servera.

V každom prípade nesmie byť OPC klient (proces D2000 KOM) odštartovaný ako "Windows service" s parametrami "/X1" alebo "/X2", pretože potom nefunguje v kontexte prihláseného užívateľa, ale pod "SYSTEM account" a overenie prístupových práv OPC serverom zlyhá. Použite štartovací parameter "/X4".

Opäť si pozorne prečítajte návod ku OPC serveru od jeho výrobcu a dodržujte jeho odporúčania.

Pre užívateľov operačného systému WindowsXP s nainštalovaným SP2, a príp. novších operačných systémov, odporúčame v nastaveniach "Local Security Policy/Security Options" zmeniť parameter "Network access: Let Everyone permissions apply to anonymous users" na hodnotu "Enabled".

Info
titlePoznámka o SIMATIC NET 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")


Kotva
chyby
chyby
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:Unconvertible value for Item: 'ItemID', I/O tag: 'IOTagName' !
Popis:Nie je možné previesť získanú hodnotu do adekvátneho typu hodnoty meraného bodu v D2000. Prispôsobte typ hodnoty meraného bodu.
Chyba:ShutDown OPC HDA Server : 'ServerProgID' !
Popis:OPC server bol zastavený, pravdepodobne korektným spôsobom aj napriek tomu že má aktívnych klientov.
Chyba:OPC HDA 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:Async reading raw data failed, Item: 'ItemID'
Popis:Chyba pri volaní "ReadRaw" interfejsu "AsyncRead". Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:Sync reading raw data failed, Item: 'ItemID'
Popis:Chyba pri volaní "ReadRaw" interfejsu "SyncRead". Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:Async reading processed data failed, Item: 'ItemID'
Popis:Chyba pri volaní "ReadProcessed" interfejsu "ReadAsync". Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:Sync reading of processed data failed, Item: 'ItemID'
Popis:Chyba pri volaní "ReadProcessed" interfejsu "ReadSync". Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:SetCallBack - FAILED, Server: 'OPCServerProgID'.
Popis:Chyba pri registrácii asynchrónnej call-back procedúry. Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:OPCConnectToServer - FAILED, Host: 'ServerName', Server: 'OPCServerProgID'!
Popis:Zlyhanie pripojenia sa na OPC Server. Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:AsyncAdviseRaw - FAILED, I/O tag: 'IOTagName', ItemID: 'ItemID', Station: 'StationName'
Popis:Chyba volania "AdviseRaw" interfejsu "ReadAsync". Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:AsyncAdviseProcessed - FAILED, I/O tag: 'IOTagName', ItemID: 'ItemID', Aggregate='Aggregate', Station: 'StationName'
Popis:Chyba volania "AdviseProcessed" interfejsu "ReadAsync". Pozrite výpis COM/OPC chyby pre detailné informácie.
Chyba:GetItemHandle - FAILED, I/O tag: 'IOTagName', ItemID: 'ItemID', Station: 'StationName' !
Popis:Chyba pri volaní "GetItemHandles" interfejsu "Server". Nepodarilo sa zaregistrovať požadovaný item. Vzhľadom na to, že validácia mena itemu bola úspešná (volanie "ValidateItemIDs"), skontrolujte log súbor OPC servera. Pozrite tiež výpis COM/OPC chyby pre detailné informácie.
Chyba:ValidateItem - FAILED, I/O tag: 'IOTagName', ItemID: 'ItemID', Station: 'StationName' !
Popis:Zlyhanie volania "ValidateItemIDs" interfejsu "Server". Pravdepodobne neznáme ItemID. Pozrite výpis COM/OPC chyby pre detailné informácie.



Kotva
vypis_chyb
vypis_chyb
Výpis COM/OPC chýb

Chybové hlásenia v kapitole "Chyby a problémy" sú generované vo vyššej úrovni OPC klienta. Väčšinu uvedených chýb bude sprevádzať chybový výpis na COM/OPC úrovni. Formát týchto chybových hlásení je nasledovný:

WARNING/ERROR: ServerProgID caused COM/OPC error ErrorCodeHexadecimal on CallDescription, Error string : ErrorDescription

Napríklad:

ERROR: Matrikon.OPC.Simulation.1 caused COM/OPC error C0040008H on IOPCHDA_Server::ValidateItemIDs('ItemID'), Error string : OPC_E_INVALIDITEMID The item definition doesn't conform to the server's syntax.

...

Kotva
revizie
revizie
Revízie dokumentu

...

  • Ver. 1.0 – 15. okt. 2007
  • Ver. 1.1 - 7. feb. 2021 - pridaný parameter "Authentication Level"


Info
titleSúvisiace stránky:

Komunikačné protokoly

...