C#通过OPC服务器连接PLC读写数据

  1. 什么是OPC?

OPC是工业控制和生产自动化领域中使用的硬件和软件的接口标准,以便有效地在应用和过程控制设备之间读写数据。O代表OLE(对象链接和嵌入),P (process过程),C (control控制)。

OPC标准采用C/S模式,OPC服务器负责向OPC客户端不断的提供数据。OPC服务器包括3类对象(Object):服务器对象(Server)、组对象(Group)和项对象(Item)。

(1)OPC服务器对象维护有关服务器信息,并作为OPC组对象的包容器,它提供了对数据源进行读/写和通信的接口方法,可以动态地创建或释放组对象。

(2)OPC组对象由客户端定义和维护,它维护有关其自身的信息,提供包容OPC项对象的机制,从逻辑上实现对OPC项的管理。

(3)OPC项对象包含在OPC组中,可由客户端定义和维护。项代表了与数据源的连接,所有的OPC项的操作都是通过包容此项的OPC组对象完成的。

  1. OPC服务器连接PLC

KEPServerEX提供的西门子SiemensTCP/IP驱动能够为用户提供一个OPC服务器接口,将西门子TCP/IP以太网设备连接到OPC客户端应用程序中。

下面以西门子S7-300系列PLC为例,说明如何建立KEPServerEX和该系列PLC的连接。S7-300系列PLC可通过通讯模块CP343实现通信。

2.1 设置KEPServerEX

※新建通道:New Channel

(1)打开“KEPServerEX V5.4”软件,点击软件界面“File”->“New”或者工具栏上的“New Project”,新建一个新工程:

(2)单击软件界面“Click to add a channel.”或者工具栏上的“New Channel”,新建一个通道:

(3)修改通道名“Channel name”或不作修改,单击“下一步”。

(4)选择你想分配给本通道的设备驱动“Device driver”,在下图的下拉列表中选择“Siemens TCP/IP Ethernet”单击“下一步”:

注意:1、在上图的下拉列表中选择您要连接设备的设备驱动;

2、如果用户在使用过程中没有找到所要连接设备的驱动,则可能是没有进行完全安装,用户应该对KEPServerEX进行修改(Modify)安装。用户在安装KEPServerEX时可根据需要安装所需要的设备驱动或者全部驱动。如下

(5)选择设备所用的网络适配器“Network Adapter”。这里选择“Default”,单击“下一步”。

(6)对通道进行优化设置“Write Optimizations”,这里保持默认值,单击“下一步”。

(7)设置总结,单击“完成”。

至此,通道新建完成。

(8)用户可通过右键单击或者双击通道名修改通道参数:General、Network Interface、Write Optimizations。

※新建设备:New Device

(1)单击软件界面“Click to add a device”或者工具栏上的“New Device”,进行设备设置。

(2)修改设备名称“Device1 ,单击“下一步”。

(3)选择设备模型“Device model”, 这里我们选择“S7-300”,单击“下一步”。

(4)选择设备ID“Device ID”, 这里指的是所要连接的PLC设备的IP地址。假如IP地址为:192.168.0.155,则设置如下:

(5)设置通信的时间参数“Timing”,这里我们保持默认设置不变,单击“下一步”。

(6)自动降级“Auto-Demotion”设置,这里我们保持默认设置不变,单击“下一步”。

(7)通信参数“Communication Parameters”设置,这里我们保持默认设置不变,单击“下一步”。

(8)设置S7通信参数“S7 Comm. Parameters”等,这里我们保持默认设置不变,单击“下一步”。

其中:Link Type:连接类型,一般选择默认值“PC”;

Rack(0~7):实际机架的位置,应该与STEP7中的对应设置一致;

CPU Slot(1~31):实际连接的PLC的CPU所在的槽位,应该与STEP7中的对应设置一致;(实际上,我用的是3,这里不重新截图了)

注意:这些设置需要和实际连接的PLC的相应设置一致!

(9)设置字节顺序“Byte Order”,这里我们保持默认设置不变,单击“下一步”。

其中:Big Endian:大端模式,Little Endian:小端模式

(10)设置内容的显示,单击“完成”。

(11)用户可通过右键单击->Properties或者双击设备名称修改设备参数:

到这里,opc server的配置已经完成了。正常步骤应该是用C#  或C++  或VB 写自己 的opc client,连接上opc server去读取数据了。不过可以先做连接测试,验证是否连接上,方法:

1、可以用kepserver 自带的 quick client来测试是否连接上。

※新建标签:New Tag

(1)单击软件界面“Click to add a static tag”,或者工具栏“New Tag”增加一个标签。

(2)设置Tag属性: 重点!!!! 在这里,!!西门子的PLC 的address  要用 DB220DBW130 这种形式,不能是db1900,real220, ,后面这种格式的 用wonderware  公司的smc  做da server时候 读取西门子PLC 用的。切记!

name  要有,随便给,有意义就可以,其他默认,可以选择client access 设置为只读,如果需要。

注意:你填好之后,可以单击“对号”按钮进行测试或帮助。

上述只增加了1个点。

(3)查看数值,点击quick client ,看到自己加的点的数据了。

(4)到这里,就脸上了PLC,并且读取了1 个点的值,其实实际应用中,增加点 item的过程是在自己写的opc client程序中完成的,这里是测试,就手动了。

另外,也可以用其他的opc client做测试,不用 quick client,我这里主要说一下点 地址的格式。如用 takebishi opc client 网上可以下载到的。

配置如下:

1、连接 kep server    .opc---connect  会显示本地电脑上的各种opc server,因每个人电脑上安装的不同有差异。

2、增加点 Opc--add  item  ,因为我刚在kep server 中增加了test 这个点,点击Device1 可以看到那个点,选中test,add item 添加就可以了。看到连接成功,读取到值。

3、如果kep server 中没有想要的点,自己添加,格式为  Channel1.Device1.DB220DBW132,添加。

4、到这里,用takebishi opc client 做测试也完成了。

总结,摸索过程中,我最痛苦的就是添加item的格式问题了。用kep server  和 takebishi opc client 的西门子PLC格式为 DB220DBW132,而我以前都是用wonderware 做server 格式是,db120,real100,

有了opc serve后,就是自己开发opc client了,这个网上很多教程的,要注意里面选用opc server的时候,设置

objServer = new OPCServer();  //创建opc server对象

objServer.Connect("KEPware.KEPServerEx.V5", null); //连接opc server ,因所用opc server不同而不同

kepserver 作为opc server 连接西门子PLC 配置相关推荐

  1. Softing dataFEED OPC Suite将西门子PLC数据存储到Oracle数据库中

    一 背景 现代工业产品不仅生产批量大,而且过程自动化程度高,这对于用户追溯产品设计与制造过程中产生的数据而言,无疑是个新的挑战.与此同时,制造商们对产品制造过程中产生的大量工艺数据也愈发重视,并不断寻 ...

  2. 三分钟轻松实现连接西门子PLC

    前言:西门子PLC广泛应于工业控制领域,是一款性能高.稳定性强的PLC设备.此文档将介绍如何使用EG系列网关通过网口连接西门子PLC,并添加到EMCP物联网云平台,实现电脑Web页面.手机APP和微信 ...

  3. EG网关网口连接西门子PLC应用案例

    EG网关网口连接西门子PLC应用案例 前言:西门子PLC广泛应于工业控制领域,是一款性能高.稳定性强的PLC设备.此文档将介绍如何使用EG系列网关通过网口连接西门子PLC,并添加到EMCP物联网云平台 ...

  4. CK-S640-AP60E半导体自动化低频RFID标签工业读卡器|读写器与西门子PLC配置指南

    CK-S640-AP60E半导体自动化低频RFID标签工业读卡器|读写器是一款基于射频识别技术的低频RFID标签读卡器,读卡器工作频率134.2kHz.该读卡器支持标准工业半导体SECS协议和 Pro ...

  5. PROFINET转CANopen网关连接西门子PLC与汇川变频器解决方案

    EnTalk PROFINET Slave to CANopen Master网关 连接西门子PLC与汇川变频器解决方案 1 摘要 PLC通过CANopen监控变频器的运行是工业中较为常见的应用,控制 ...

  6. Intouch使用SIDirect OIServer 连接西门子PLC S7-300

    DAserver是早期的驱动 IOserver是最新的 Intouch使用DAServer OIServer 连接西门子PLC S7-200 Intouch和S7300连接 DAServer分组 SM ...

  7. 工业超高频读写器|读取器CK-UR12-E02使用POE交换机和博途软件如何与西门子PLC配置解决方案

    ProfiNet协议POE供电工业超高频读写器|读取器CK-UR12-E02是一款工业以太网通讯的超高频读写设备,带IO继电信号输入输出,广泛应用工业自动化生产领域 本文将以实际环境,介绍工业超高频读 ...

  8. sidirect 连接西门子_配置SIDirect DAServer 通过TCP/IP实现和西门子PLC的通信(1)-机电之家网PLC技术网...

    无需借助西门子的Simaticnet 软件,SIDirect DAS Server 可以通过标准的以太网卡访问S7 200, S7 300,S7 400 家族PLC.SIDirect DAServer ...

  9. KepServer连接西门子PLC

    1.KepServer和PLC建立连接用的都是配置程序 2.打开软件后,点击添加通道,然后在添加通道向导中选择你要使用的驱动(也就是你连接的PLC支持的通讯协议),也可以单击"编辑" ...

最新文章

  1. 利用scrapy和MongoDB来开发一个爬虫
  2. Kail Linux渗透测试教程之Recon-NG框架
  3. python flask框架发布问答平台注册页面_Python|Flask框架实现QQ账号登录
  4. 【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
  5. 【渝粤教育】国家开放大学2018年秋季 1344T金融风险管理 参考试题
  6. javascript 类型及类型判断
  7. 函数的参数 2018-3-27
  8. 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。
  9. Java伪代码之大道至简读后感
  10. SAP License:SAP系统的优点和功能
  11. wince6移植之创建.pbcxml文件
  12. 内置函数——find
  13. 完整版的OpenLDAP搭建全过程
  14. 关于Maven的7个问题
  15. MAPinfo学习笔记
  16. java程序设计俄罗斯方块_Java俄罗斯方块实现代码
  17. Atiflash显卡BIOS、Nvflsh显卡BIOS、显卡BIOS刷新与超频详细说明教程--转载+BYZ修正...
  18. 怎样将英文html文件转换成中文,如何在html文件中修改文本中的英文文字为中文?源代码识别不了...
  19. 超级好用的网站整站下载工具
  20. Django中文文档

热门文章

  1. 汽车外饰360vr实景展示有哪些应用场景?
  2. Python最强干货,建议收藏!!
  3. 最新 NCBI 上传测序数据教程 (图文详解)
  4. 微信小程序登陆,后端接口实现 - springboot
  5. 阴阳师手游服务器维护,《阴阳师》手游3月20日维护更新公告
  6. JavaScript 普通函数的三种写法
  7. 本地php开发环境出现 cURL error 60
  8. 宇视网络视频录像机升级步骤
  9. jvm一般相关配置OutOfMemoryError关参数配置解释
  10. 深入浅出学算法007-统计求和