Modbus、KepServer、西门子PLC通信

昨天在现场实现了工业数据的通信,简单写一下。

1.按照国际惯例,先介绍一下

ModBus通信协议感觉是物理层面的,几个终端串联在一起,通过设定每个终端不同的ID号,来访问。具体硬件实现还未研究。

本系统采用ModBus RTU模式通信,使用的是和校验,低位在前。

有关ModBus的介绍,这篇文章很好:极客学院WiKi

KepServer是一个提供OPC服务的服务软件,其提供一个OPC服务,可以被外部程序调用,经行client数据写入。

OPC (OLE for Process Control) 用于过程控制的OLE,

OLE是 object linking and embedding (对象链接与嵌入)的缩写。

OPC采用客户端/服务器的结构,作为中心数据源的OPC服务器负责向各种客户端提供来自现场设备的数据。

西门子PLC,我的理解就是微型计算机,只是可以在更苛刻的环境下使用。

2.如何实现

数据通过ModBus与计算机通信,使用USB转R232再转R485硬件实现。这个要提前准备好驱动,我用的是宇泰的UT-8801款USB转串口,驱动下载地址

ModBus有两根线通信,测量两线电压应该在0.11V左右

然后通过ModBus协议读取设备的数据。

通过自己写的软件将数据传入KepServer中,教程:用C#开发OPC客户端

软件通过发送ModBus指令得到数据,通过绑定的OPC服务,根据在KepServer中建立的地址,将得到的数据写入到KepServer中。

KepServer通过网线与PLC相连,使用PLC的IP地址,和默认端口号102 通信。

在KepServer建立的点名就是上面软件的访问地址,而这些点名的地址是PLC中DB块的地址。(以后补图)

这样KepServer就可以将数据写入到PLC中,PLC使用WinCC建立界面就可以实时看到数据和数据历史曲线了。

3.小错误

电脑无法识别COM口,驱动没有装好,下次试新的电脑,一定要带一份驱动。

ModBus线不知道正负,可以使用万用表测电压检测。

ModBus数据无法读到,原理是设备的ID有重复的。

OPC软件写入失败,注意各种错误提示,并网上搜索,特别是各个操作系统的时间格式。

(后续补图)

时间: 2024-10-10 21:39:13

Modbus、KepServer、西门子PLC通信的相关文章

基于S7协议实现与西门子PLC通信

西门子PLC是目前工控行业市场占有额比较大的一款PLC,而且随着上位机的越来越普及, 有很多人开始考虑自己开发上位机实现与西门子PLC的通信,遇到的第一个问题就是数据通信. 其实西门子PLC提供的接口还是比较多的,包括串口(200及Smart 200的PPI.Modbus RTU), 网口(开放式TCP.Modbus TCP以及S7),也就意味着我们有很多种方式可以实现与PLC通信, 获取到PLC的数据,下面介绍一种简单的方式,就是S7协议通信方式,可以实现与不同型号的PLC通信, 而且可以读取

深度剖析西门子PLC的开放式TCP通信

对于自控或电气工程师来说,西门子PLC是每个人都非常熟悉的一款PLC品牌:而对于上位机开发工程师来说,Socket通信或TCP/IP协议也是必须要掌握的一种通信方式.刚好手头有一款西门子的200Smart PLC,可以利用它来跟大家聊聊Socket通信的那些事儿. 相比较而言,西门子PLC对Socket通信的支持性是很不错的.如果你在使用西门子软件或者逛西门子论坛时,发现一个词叫做Open User Communication或开放式通信,没错,那其实就是我们说的Socket通信方式.关于这一点

远距离无线通讯模块在西门子PLC无线通信中的应用方案

PLC数据通讯通常都是通过RS485有线方式进行的,如果通讯距离较远,布设通信线是非常麻烦的,为解决这个问题,采用新的应用方案:通过巨控PLC专用无线通讯模块GRM200可以实现3公里范围的PLC与电脑组态软件的无线通讯,PLC与人机界面触摸屏的无线通讯,多台PLC之间的组网远距离无线通讯,远距离传感器开关等与PLC的无线通讯. 利用巨控PLC专用无线通讯模块GRM200构建专用无线通讯连接   在很多场合,例如一个大型的监控系统,当监控点较多时,监控点与监控中心之间如果采用布线形式,投入成本高

PLC通信网络

PLC通信网络的分层 PLC通信网络大致可分为3层,管理层,单元层以及现场执行(AS-I)层.如下图所示. 在PLC通信网络的三层架构中,管理层,通.信方式包括MPI,工业以太网(Profinet)以及Profibus三种通讯方式. MPI通信多用于西门子内部产品通讯,以及对下位机调试监控时使用.MPI是一种通信协议,其物理接口底层是RS-485,每个点都有自己的网络地址,通过建立全局数据表,进行小数据量通信,MPI网络通讯速率可达19.2kbit/s-12Mbit/s. Profibus总线由

java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地址:https://github.com/dathlin/HslCommunication 如果喜欢可以star或是fork,还可以打赏支持,打赏请认准源代码项目. nuget地址:https://www.nuget.org/packages/HslCommunication/      

C#读写西门子PLC数据

C#读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC 本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 官方地址:http://www.hslcommunication.cn/ 打赏请认准官网. nuget地址:https://www.nuget.org/packag

西门子PLC学习笔记二-(工作记录)

今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2.设计 使用西门子的Step7工具进行梯形图编程,完毕自己主动化控制. 使用西门子的WinCC5.5进行自己主动化人机界面的设计实现. 3.Step7进行编程的步骤 1)进行硬件组态 因为西门子的设备型号已经选定好,故依据实物的型号,先进行硬件组态,组态结果图例如以下: 注: 1.本图需和现场的实物连

西门子plc串口通讯方式

西门子plc串口通讯的三种方式 时间:2015-10-25 14:31:55编辑:电工栏目:西门子plc 导读:西门子plc串口通讯的三种方式,分为RS485 串口通信.PPI 通信.MPI 通信,自由口模式下西门子PLC与计算机的串口通信,S7-200系列PLC的通信口分3种工作方式. 西门子plc串口通讯的三种方式 1.RS485 串口通信第三方设备大部分支持,西门子S7 PLC 可以通过选择自由口通信模式控制串口通信.最简单的情况只用发送指令(XMT)向打印机或者变频器等第三方设备发送信息

KEPServerEx OPC 读取西门子 PLC S7200 SMART的数据

KEPServerEx OPC 配置参数过程(读取西门子 PLC S7200 SMART的数据) 1.  新建NEW Channel –> Channel name xxxx -> Device driver "SiemensTCP/IP Ethernet" -> Network Adapter "Realtek PCIe GBE --" ->默认完成. 2.add device –> Device name "xxxxxx&