一,安装KEPware.Enhanced.OPC.DDE.KEPServer。(PLC数据传送给KEPServer,开发的程序用OPCServer读KEPServer)

设置ip地址后面是指的plc站号,此处必须和plc上站号对应。否则无法接收数据。

打开quick client 查看传值情况

二.C#程序代码

引用opcdaauto.dll

在win7 64位下KepServer = new OPCServer()会出错的问题,

检索COM 类工厂中 CLSID 为 <28e68f9a-8d75-11d1-8dc3-3c302a000000> 的组件时失败,原因是出现以下错误: 80040154

1.一定要到C:\Windows\SysWOW64路径下打开cmd.exe运行命令文件(而不是在运行打开),注册“OPCDAAuto.dll” 输入命令: REGSVR32 OPCDAAuto.dll;即可

2.编译工具目标要选择x86

KepServer.Connect("KEPware.KEPServerEx.V4", "127.0.0.1");  此处ip地址是安装KEPware.Enhanced.OPC.DDE.KEPServer电脑的ip地址.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OPCAutomation;
using System.Threading;namespace SPCTest
{public partial class Form2 : Form{private OPCServer KepServer;private OPCGroups KepGroups;private OPCGroup KepGroup;private OPCItems KepItems;//轴承净重,注脂量,防尘盖压入深度,防尘盖平整度   压入OK/NGprivate OPCItem item1, item2, item3;public Form2(){InitializeComponent();}#region OPC Serverprivate void KepServerLoad(){try{KepServer = new OPCServer();KepServer.Connect("KEPware.KEPServerEx.V4", "127.0.0.1");if (KepServer.ServerState == (int)OPCServerState.OPCRunning){// statusLabelConnectInfo.Text = "OPC Server连接成功";
                }else{// statusLabelConnectInfo.Text = "OPC Server连接失败";return;}}catch (Exception ex){// statusLabelConnectInfo.Text = "OPC Server连接失败," + ex.Message;return;}KepGroups = KepServer.OPCGroups;Thread t1; // 开1个线程用于读取数据                 t1 = new Thread(new ThreadStart(KepProcess));t1.Start();}public void KepProcess(){//KepGroup = KepGroups.Add("Channel.Device.Group");KepGroup = KepGroups.Add("Channel1.Device1.Group");KepGroup.UpdateRate = 250;KepGroup.IsActive = true;KepGroup.IsSubscribed = true;//当KepGroup中数据发生改变的触发事件    KepGroup.DataChange += new DIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange);KepItems = KepGroup.OPCItems;item1 = KepItems.AddItem("Channel1.Device1.A01", 1);item2 = KepItems.AddItem("Channel1.Device1.A02", 2);item3 = KepItems.AddItem("Channel1.Device1.A03", 3);}//当数据改变时触发的事件 public delegate void DelegateShowMessage(string str);public void KepGroup_DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps){string str = "";DelegateShowMessage show1 = new DelegateShowMessage(ShowMessage);for (int i = 1; i <= NumItems; i++){if (ClientHandles.GetValue(i).Equals(1)){str = "A01:" + ItemValues.GetValue(i).ToString();}if (ClientHandles.GetValue(i).Equals(2)){str = "A02:" + ItemValues.GetValue(i).ToString();}if (ClientHandles.GetValue(i).Equals(3)){str = "A03:" + ItemValues.GetValue(i).ToString();}BeginInvoke(show1, new string[] { str });}}public void ShowMessage(string str){richTextBox1.AppendText(str+",");}#endregionprivate void Form2_Load(object sender, EventArgs e){KepServerLoad();}private void Form2_FormClosing(object sender, FormClosingEventArgs e){KepServer.Disconnect();}}
}

转载于:https://www.cnblogs.com/ike_li/p/5468658.html

OPCServer Modbus使用和配置相关推荐

  1. 西门子S7-200 SMART(6ES7 288-1ST40-0AA0)相关与晨控智能CK-FR08-E00关于modbus tcp 通信配置指南

    西门子S7-200 SMART(6ES7 288-1ST40-0AA0)相关与晨控智能CK-FR08-E00关于modbus tcp 通信配置指南 准备阶段 软件:STEP 7-MicroWIN SM ...

  2. 西门子S7-1200 作MODBUS TCP客户端配置方法补充

    机型:S7-1200 1214C AC/DC/RLY(目前固件版本为V3.0) 软件版本:STEP7 Professional V13 SP1 Update9 说明:本博文是对西门子官方教程的补充: ...

  3. java进行opc连接之一Modbus slave 安装配置

    因为公司业务涉及到需要连只能设备上进行数据提取和分析,所以需要通过java来对设备进行连接. 安装很简单不多说了,重点介绍下配置 环境:wind10 64位系统 一.模拟设备通讯 安装Modbus s ...

  4. 微硬创新RS485/RS232/MODBUS转PROFINET(PROFINET转RS232/RS485/MODBUS)网关连接西门子PLC和新大陆工业条码扫描枪配置案例

    1.前言: 由于PROFINET网络协议逐渐在各种行业中得到广泛应用,同时条码技术的成熟和广泛应用,生产厂家采用条码标识其产品,在生产.库存.发货.销售.售后中采集产品信息,将扫码扫上来的数据要传送在 ...

  5. Profinet转Modbus TCP网关连接脉冲电源通讯配置案例

    本案例是Profinet转Modbus TCP网关连接脉冲电源的配置案例.用到的设备为西门子1500PLC一台.Profinet转Modbus TCP网关一个.脉冲电源一台. 1.首先打开博图软件,创 ...

  6. Modbus转Profinet网关连接皖仪氦质谱检漏仪SFJ-16M通信配置案例

    Modbus转Profinet网关连接皖仪氦质谱检漏仪SFJ-16M通信配置案例 Modbus转Profinet网关XD-MDPN100连接皖仪氦质谱检漏仪SFJ-16M,接入到西门子1200PLC, ...

  7. 欧姆龙PLC网关BL110之41:实现欧姆龙 PLC 接入Modbus TCP 云平台

    COM口采集欧姆龙 PLC CJ/CS/CP 的配置 欧姆龙PLC网关一共有四个COM 接口, 4个COM口的配置内容一样,COM1固定为RS232,COM2.COM3和COM4是RS232/RS48 ...

  8. modbus tcp主站和从站_组态王与西门子 PLC无线Modbus通讯

    组态王与西门子PLC无线Modbus通信方案 本方案是组态软件与西门子S7-200 Smart 进行无线MODBUS 通信的实现方法.此方案可以作为西门子S7-200 Smart与组态软件的无线MOD ...

  9. 485通讯的校验和_组态王与西门子S71200PLC无线Modbus通讯

    组态王软件与S7-1200无线Modbus通信方案 本方案是组态软件与西门子S7-1200进行无线MODBUS 通信的实现方法.此方案可以作为西门子S7-1200与组态软件的无线MODBUS 通信实例 ...

最新文章

  1. jquery的html,text,val的区别
  2. 数据挖掘过程中:数据预处理
  3. Java过滤HTML标签工具类
  4. 51 MM配置-库存管理和实际库存-设置“交货完成”标识
  5. 持续集成工具集之二 Jenkins安装
  6. linux同内核覆盖,Linux内核代码覆盖率 – GCOV
  7. QPushButton 与 QListWidget 的按键响应
  8. 关于Ip地址分配规则(IPV4)
  9. [转载] numpy教程:逻辑函数Logic functions
  10. CPT自定义按钮导出(含参)
  11. python 面向对象 烤地瓜实例
  12. 实验一 网络流量捕获实验
  13. android 盈利模式
  14. python实训报告5000字_实习报告5000字
  15. 把不同的pdf文档合并在一个pdf文件中,一次批量打印
  16. 做人的最高境界是厚道
  17. 在Windows上配置Maven环境
  18. (附源码)基于Python的“书怡”在线书店系统的设计与实现 毕业设计082332
  19. 100天精通Python(基础篇)——第26天:lambda表达式基础+代码实战
  20. vba 字符串换行的几种方法

热门文章

  1. 软件工程电商系统数据库定义_某个电子商务系统项目的数据库设计
  2. Lombok中@Data注解 @ToString注解 @NoArgsConstructo注解 @AllArgsConstructor注解
  3. mac上安装zookeeper教程
  4. Qt 进程使用 使用当前进程启动另外进程
  5. android resolvesize方法,Android 自定义View中onMeasure()中使用resolveSize()是什么意思?
  6. 电脑卡顿,最先升级这个硬件,运行速度可快速提升!
  7. 操作系统:SFTP相关知识介绍
  8. 前端简洁并实用的工具类 (推荐收藏)
  9. win10支持linux内核,Win10将允许您加载自定义Linux内核
  10. 微机总线地址,物理地址 ,虚拟地址