Iconics仿真器OPC与C#
我正在通过“OPC DA Automation Wrapper 2.02”为OPC访问开发一个C#应用程序 为了在我的WIN8机器上进行测试,我使用“Iconics模拟器OPC服务器3.12” 我在服务器上配置了4个不同名称的布尔选项 连接、阅读选项效果良好 但是: 如果我对其中一个进行写入,监视器(OPC DataSpy 9.01)和其他工具将显示所有选项都已更改。所有选项都会出现更改事件 为了检查这种行为,我用VisualBasic 6编写了相同的应用程序-相同的结果 怎么了,我的代码还是模拟器服务器Iconics仿真器OPC与C#,c#,simulator,opc,C#,Simulator,Opc,我正在通过“OPC DA Automation Wrapper 2.02”为OPC访问开发一个C#应用程序 为了在我的WIN8机器上进行测试,我使用“Iconics模拟器OPC服务器3.12” 我在服务器上配置了4个不同名称的布尔选项 连接、阅读选项效果良好 但是: 如果我对其中一个进行写入,监视器(OPC DataSpy 9.01)和其他工具将显示所有选项都已更改。所有选项都会出现更改事件 为了检查这种行为,我用VisualBasic 6编写了相同的应用程序-相同的结果 怎么了,我的代码还是模
using System;
using System.Windows.Forms;
using OPCAutomation;
namespace opc {
public partial class Form1 : Form {
OPCGroups opcGroups;
OPCGroup opcGroup;
bool aliveToggle;
Timer aliveTimer;
public Form1() {
InitializeComponent();
OPCServer opcServer = new OPCServer();
opcServer.Connect("Iconics.SimulatorOPCDA.2");
opcGroup = opcServer.OPCGroups.Add("Gruppe1");
opcGroup.OPCItems.AddItem("BOOL_1", 1);
opcGroup.OPCItems.AddItem("BOOL_2", 2);
opcGroup.OPCItems.AddItem("BOOL_3", 3);
opcGroup.OPCItems.AddItem("BOOL_4", 4);
opcGroup.UpdateRate = 10;
opcGroup.IsActive = true;
opcGroup.IsSubscribed = true;
aliveTimer = new Timer();
aliveTimer.Tick += new EventHandler(sendAlive);
aliveTimer.Interval=1000;
aliveTimer.Start();
}
private void sendAlive(object sender, EventArgs e) {
aliveToggle=!aliveToggle;
opcGroup.OPCItems.Item(2).Write(aliveToggle);
}
}
}
轻松修复是每当添加需要独立事件通知的标记时,它都应该有自己的组,因为不幸的是,更改事件是在组的基础上而不是在标记的基础上触发的。例如,您应该在其他服务器上尝试这样做。如果它们都失败了,问题在于你的代码。我无法从您的代码中发现任何问题。感谢您的参与。我试过与WinTech的WTOPCSvr合作-没问题。所以我认为“Iconics模拟器”的配置一定有问题。。。