使用OPCDAAuto.dll开发的客户端,在本地连接Matrikon OPC Server。
可以连上OPC Server,可以创建Group,可以添加点。以订阅方式,可以通过Datachange收到数据。
但是有两个问题:
1、可以正常设定Group的deadband参数,设定后,再去读取deadband参数,可以看到Group的deadband参与已经改变为设定值。但是无法正常设定UpdateRate参数。设定后,再去读取UpdateRage参数,可以看到该值始终保持100ms。
2、DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)函数收到的TimeStamps值,毫秒值一直为0。但是实际服务器端数据的 变化速率肯定快于1s。为什么使用OPCDAAuto.dll返回的时间戳,收不到毫秒值。
可以连上OPC Server,可以创建Group,可以添加点。以订阅方式,可以通过Datachange收到数据。
但是有两个问题:
1、可以正常设定Group的deadband参数,设定后,再去读取deadband参数,可以看到Group的deadband参与已经改变为设定值。但是无法正常设定UpdateRate参数。设定后,再去读取UpdateRage参数,可以看到该值始终保持100ms。
2、DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)函数收到的TimeStamps值,毫秒值一直为0。但是实际服务器端数据的 变化速率肯定快于1s。为什么使用OPCDAAuto.dll返回的时间戳,收不到毫秒值。
MyServer.OPCGroups.DefaultGroupIsActive = true;//激活组。
MyServer.OPCGroups.DefaultGroupDeadband = 0;// 死区值,设为0时,服务器端该组内任何数据变化都通知组。
MyServer.OPCGroups.DefaultGroupUpdateRate = 100;//默认组群的刷新频率为100ms
MyServer.Connect(remoteServerName, remoteServerIP);//连接本地服务器:服务器名+主机名或IP