I had some basic questions about what versions and features of OPC DA that Vision supports. I apologize for incorrect or vague descriptions but I’m not a programmer and not an OPC expert.
- What version if the OPC DA Standard does Vision support?
- OPC DA 3.0 Buffering - For discussion purposes lets say that we have an OPC tag that is changing every two seconds and Vision is setup to query the the OPC Server every 5 seconds for new data. In our current configuration, Vision only gets the current value of the tag and doesn’t appear to support OPC buffering. I though the latest OPC DA version supported OPC buffering and would supply OPC Clients with buffered data (replay the events to the OPC Client that occured between OPC Client poles).
- OPC Timestamps - Is it possible to allow Vision to use OPC Timestamps supplied by the OPC Server?
The reason I ask about these topics is we are using the protocol DNP which is used heavily in the Power industry where event timestamps to the millisecond are important for determining Sequence Of Events (SOE). Kepware supports these features but we are not able to utilize these features in Vision.
Hopefully my examples are clear and not too confusing. I would appreciate any advice on these topics.
One additional question:
Is the OPC standard 4.5.1 IOPCDataCallbacks supported in Vision? I assume this is when the server notifies the client of a data change.
The OPC-COM module currently supports version 2.05 and 3 of the OPC DA specification. It does not, however, implement the optional support for item buffering (the IOPCItemSamplingMgt interface). This is mainly due to the fact that FactorySQL (the precursor to the SQL Bridge module and the gateway to OPC in the past) didn’t support it, in turn because we never really had a great demand for it. Of course, the thing is, even if we did support it, the current features of the SQL Bridge wouldn’t really be able to take advantage of it. Everything just looks at the most recent value. However, I’m sure this will start to change, as we implement more features for working with history. OPC-UA has strong support for value buffering, and I’m sure we’ll want to start taking advantage of it soon.
As for the OPC timestamps, they are reflected in the timestamp property of OPC based items. That is, if you take an item in a group and edit it, you’ll see that you can select the “timestamp” instead of the value. This timestamp is the value sent by the opc server. You can make multiple copies of an item in a group so that you can access the various parameters if you want.
And yes, the IOPCDataCallback interface is how the module normally gets data from the server.
Hope this answers your questions,