总结自己再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