OPCServer Modbus使用和配置
一,安装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使用和配置相关推荐
- 西门子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 ...
- 西门子S7-1200 作MODBUS TCP客户端配置方法补充
机型:S7-1200 1214C AC/DC/RLY(目前固件版本为V3.0) 软件版本:STEP7 Professional V13 SP1 Update9 说明:本博文是对西门子官方教程的补充: ...
- java进行opc连接之一Modbus slave 安装配置
因为公司业务涉及到需要连只能设备上进行数据提取和分析,所以需要通过java来对设备进行连接. 安装很简单不多说了,重点介绍下配置 环境:wind10 64位系统 一.模拟设备通讯 安装Modbus s ...
- 微硬创新RS485/RS232/MODBUS转PROFINET(PROFINET转RS232/RS485/MODBUS)网关连接西门子PLC和新大陆工业条码扫描枪配置案例
1.前言: 由于PROFINET网络协议逐渐在各种行业中得到广泛应用,同时条码技术的成熟和广泛应用,生产厂家采用条码标识其产品,在生产.库存.发货.销售.售后中采集产品信息,将扫码扫上来的数据要传送在 ...
- Profinet转Modbus TCP网关连接脉冲电源通讯配置案例
本案例是Profinet转Modbus TCP网关连接脉冲电源的配置案例.用到的设备为西门子1500PLC一台.Profinet转Modbus TCP网关一个.脉冲电源一台. 1.首先打开博图软件,创 ...
- Modbus转Profinet网关连接皖仪氦质谱检漏仪SFJ-16M通信配置案例
Modbus转Profinet网关连接皖仪氦质谱检漏仪SFJ-16M通信配置案例 Modbus转Profinet网关XD-MDPN100连接皖仪氦质谱检漏仪SFJ-16M,接入到西门子1200PLC, ...
- 欧姆龙PLC网关BL110之41:实现欧姆龙 PLC 接入Modbus TCP 云平台
COM口采集欧姆龙 PLC CJ/CS/CP 的配置 欧姆龙PLC网关一共有四个COM 接口, 4个COM口的配置内容一样,COM1固定为RS232,COM2.COM3和COM4是RS232/RS48 ...
- modbus tcp主站和从站_组态王与西门子 PLC无线Modbus通讯
组态王与西门子PLC无线Modbus通信方案 本方案是组态软件与西门子S7-200 Smart 进行无线MODBUS 通信的实现方法.此方案可以作为西门子S7-200 Smart与组态软件的无线MOD ...
- 485通讯的校验和_组态王与西门子S71200PLC无线Modbus通讯
组态王软件与S7-1200无线Modbus通信方案 本方案是组态软件与西门子S7-1200进行无线MODBUS 通信的实现方法.此方案可以作为西门子S7-1200与组态软件的无线MODBUS 通信实例 ...
最新文章
- jquery的html,text,val的区别
- 数据挖掘过程中:数据预处理
- Java过滤HTML标签工具类
- 51 MM配置-库存管理和实际库存-设置“交货完成”标识
- 持续集成工具集之二 Jenkins安装
- linux同内核覆盖,Linux内核代码覆盖率 – GCOV
- QPushButton 与 QListWidget 的按键响应
- 关于Ip地址分配规则(IPV4)
- [转载] numpy教程:逻辑函数Logic functions
- CPT自定义按钮导出(含参)
- python 面向对象 烤地瓜实例
- 实验一 网络流量捕获实验
- android 盈利模式
- python实训报告5000字_实习报告5000字
- 把不同的pdf文档合并在一个pdf文件中,一次批量打印
- 做人的最高境界是厚道
- 在Windows上配置Maven环境
- (附源码)基于Python的“书怡”在线书店系统的设计与实现 毕业设计082332
- 100天精通Python(基础篇)——第26天:lambda表达式基础+代码实战
- vba 字符串换行的几种方法
热门文章
- 软件工程电商系统数据库定义_某个电子商务系统项目的数据库设计
- Lombok中@Data注解 @ToString注解 @NoArgsConstructo注解 @AllArgsConstructor注解
- mac上安装zookeeper教程
- Qt 进程使用 使用当前进程启动另外进程
- android resolvesize方法,Android 自定义View中onMeasure()中使用resolveSize()是什么意思?
- 电脑卡顿,最先升级这个硬件,运行速度可快速提升!
- 操作系统:SFTP相关知识介绍
- 前端简洁并实用的工具类 (推荐收藏)
- win10支持linux内核,Win10将允许您加载自定义Linux内核
- 微机总线地址,物理地址 ,虚拟地址