Professional Documents
Culture Documents
DCOM-based
http://www.opcfoundation.org/
OPC Data Access Specification
OPC Client
OPCServer
OPCGroup OPCGroup
OPC
OPCItem OPCItem OPCItem OPCItem
Data
Access
Root
Server
Node 1 Node 2
Node 11
Item 3 Item 4
Item 1 Item 2
Componente Server
OPC e DCOM
ClientHandle.
Problema: diversi Client potrebbero creare OPCItem
Objects in un Server, con riferimento allo stesso
FullyQualified ItemId.
Allo scopo di creare una corrispondenza uno-a-uno tra
OPCItem object e Item, viene utilizzato un meccanismo a
coppia ClientHandle-ServerHandle.
Il Data Access Client specifica un ClientHandle e il
Server crea un ServerHandle per il Client. In questo modo
a ciascun OPCItem object corrisponde una sola coppia
ClientHandle-ServerHandle.
Creazione di OPCItems
1000 ms
EU Type=Analog RequestedUpdateRate= 1000ms
EU Information = {40,70} PercentDeadBand=0.1
OPC Data Access Specification
DCOM-based
Automation Interface
http://www.opcfoundation.org/
OPC Data Access Specification
Automation Interface
L'interfaccia OPC Automation permette di "mascherare" i metodi di
accesso al Data Access Server
Viene fornito un "OPC Automation Wrapper" che, in ambiente Windows,
realizzato da una dll, che permette l'accesso al Data Access Server
Ogni Client crea un'istanza del Wrapper
Fornisce al programmatore Visual Basic delle interfacce pi semplici
(senza l'uso di puntatori) per accedere alle stesse funzionalit ottenibili
dalla interfaccia Custom.
SyncWrite
Scrive in uno o pi items di un gruppo.
Parametri:
NumItems: Numero di item che devono essere scritti
ServerHandles: Array degli identificatori degli items del server
che devono essere scritti.
Values: Array di valori.
Errors: Array di Long che indicano il successo delle singole
operazioni di scrittura degli items.
OPCGroupObject
AsyncRead
Legge uno o pi items di un gruppo. Il risultato (il o i valori degli
item) restituito attraverso levento AsyncReadComplete associato
alloggetto OPCGroup.
Levento AsyncReadComplete associato alloggetto OPCGroup
verr svegliato dal Server non appena sar pronto il risultato
delloperazione AsyncRead
Parametri:
NumItems: Il numero di item che devono essere letti.
ServerHandles: Array degli identificatori degli items del server
che devono essere letti.
Errors: Array di Long che indicano il successo delle singole
operazioni di lettura degli items.
TransactionID: La transactionID specificata dal client.
CancelID: Una transaction ID generata dal server. E fornita per
permettere al client di cancellare la transaction.
OPCGroupObject
AsyncWrite
Scrive uno o pi items di un gruppo. Il risultato (la conferma)
restituito attraverso levento AsyncWriteComplete associato
alloggetto OPCGroup
Levento AsyncWriteComplete associato alloggetto OPCGroup
verr svegliato dallAutomation Server non appena sar pronto il
risultato delloperazione AsyncWrite.
Parametri:
NumItems: Il numero di item che devono essere scritti.
ServerHandles: Array degli identificatori degli items del server che
devono essere scritti.
Values: Array di valori
TransactionID: La transactionID specificata dal client.
CancelID: Una transaction ID generata dal server. E fornita per
permettere al client di cancellare la transaction.
OPCGroupObject
AsyncRefresh
Legge tutti gli Items attivi di un OPCGroup attivo
(attributo IsSubscribed attivato)
La lettura avviene con frequenza non superiore a UpdateRate
Il Refresh deve essere annullato da AsyncCancel
I risultati sono restituiti attraverso levento DataChange
associato alloggetto OPCGroup e l'evento
GlobalDataChange associato all'oggetto
OPCGroupsCollection.
AsyncCancel
Richiede che il Server cancelli una transizione in sospeso.
Un evento AsyncCancelComplete indicher se la
cancellazione avvenuta o meno.
OPCGroupObject
AsyncCancelComplete
(AsyncCancel)
OPCItems Object Collection