总结自己再opc与自控开发的经验。首先介绍OPC DA模式下的OPC各种操作。
在使用opc时需要引用到 OPCDAAuto.dll 这个类库。
在项目引用后需要注册这个类库,否则程序跑起来会报错,“未找到工厂类 。。。”
将该dll文件放在任意目录下,建议再引用程序的的目录下。
在 cmd 控制条 输入regsvr32 Q:\PLCDataIntegration\packages\01OPCDaAuto\OPCDAAuto.dll
注册完成后电脑会提示注册成功,这时,就可以使用工具类中的方法啦。
1.注册相关变量
private OPCServer opcServer; private OPCGroups opcGroups; private OPCGroup opcGroup; private List<int> itemHandleClient = new List<int>(); private List<int> itemHandleServer = new List<int>(); private List<string> itemNames = new List<string>(); private List<model> modelValues = new List<model>(); private OPCItems opcItems; private OPCItem opcItem; private Dictionary<string, string> itemValues = new Dictionary<string, string>();
2.使用opc从plc中读取数据。这个是使用OPC DAAuto中的Connect方法。
private bool ConnectServer(string strHostIP, string strHostName) { try {
opcServer = new OPCServer(); opcServer.Connect(strHostName, strHostIP); } catch (Exception ex) { SaveCommand("连接到OPC服务器失败!" + ex.Message); return false; } txtLog.Text += "连接到OPC服务器成功!" + "\r\n"; return true; }
3.连接成功后就可以用opcServer这个对象了。
未完,待续~
//4.OPCGroups与OPCGroup
//5.注册opc监控测点。
//6.注册读写或数据变化事件
opcGroup.AsyncWriteComplete
opcGroup.AsyncReadComplete
opcGroup.DataChange
//7.使用监测数据
//8.通过opc写入测点值实现,远程控制plc