OPC client not reading milliseconds from Honeywell HWHsc.OPCServer

时间:2017-04-10 02:23:08

标签: c# opc

All,

I have written an OPC client in c# using Interop.OPCAutomation.dll and OPCDAAuto.dll. Data transfer is asynchronous ("by exception").

When I test the OPC client against Matrikon's simulation OPC server, the timestamps of values I am reading have non-zero milliseconds.

When I try reading values from Honeywell Experion's HWHsc.OPCServer, the millisecond part of the timestamps of all values is zero. Is it supposed to be like that or am I missing something ? The Events screen in Experion clearly shows non-zero milliseconds for the digital tags I'm trying to read.

Any help/pointers would be greatly appreciated.

siim

1 个答案:

答案 0 :(得分:1)

应该是这样的。

时间分辨率是OPC Server特定的,仅取决于其实现。在您的情况下, HWHsc.OPCServer 的时间分辨率为1秒。 Matrikon Simulation OPC Server 为时间戳提供1毫秒的分辨率。

即使DCS在时间戳中支持毫秒(您在 Experion 中看到的内容),OPC服务器也可以将时间戳舍入为秒或任何其想要的值。 OPC规范没有指定服务器的准确时间精度。

将任何OPC服务器视为一组规则,如何转换DCS'值'到OPC格式。在你的情况下,时间戳的规则是扔掉毫秒。

我建议您查看 HWHsc.OPCServer 文档。可以配置时间分辨率。