基于Modbus协议的PLC通信控制模块的实现
通过ModbusTCP/IP实现ControlLogixPLC与S7PLC的通信
2 硬 件 结构
在该方案 中,A B C o n t r o l L o g i x S 0 0 0 使用 P r o S o f t 公 司 的 MVI 5 6 一 MNE T模块 ,该模块可实现 Mo d b u s / T C P协议 并与 A B的 1 7 5 6 背板完全兼容 ,它支持功能码 1 、2 、3 、
3 软 件 配置
3 . 1 目的及基 本要 求
先对两个 P L C分别架构各 自的 Mo d b u s T C P / I P协议 通道 ,然后将两者的数据准确读写在同一个数 据寄存 器中 建立 通信 。S I E ME N S P L C站使用 S t e p 7软件 、Mo d b u s T C P / I P通信 功 能块 。A B P L C站 使 用 P C B配 置软 件 、 R S L o g i x编程及 通信 成套 软件 。在此 方案 中 ,S I E ME N S P L C站作为 D a t a S e r v e r ,A B P L C站作 为 C l i e n t 。
成 两 者 的通 信 l _ 3 ] 。
3 . 2 S I E ME N S P L C站配 置过 程
根据图 1 组态 S 胁 征 J S P L C站 硬件 ,先设 置 C P 4 4 3 - 1 的硬件 地 址为 1 6 #1 F F F ,I P地 址 为 1 7 2 . 1 7 . 1 6 1 . 1 8 ;然 后
—
1 基 本 原 理
E t h e r n e t 是 目前可用的最常见的 网络协议 ,并且在工
业 自动化 控 制 系统 中 应 用 越 来 越 广 l _ 2 ] 。I n d u s t r i a l E t h e r n e t 和E t h e r n e t / I P是工业 环 境 中 S I E ME N S与 A l l e n - B r a d l e y
实例讲解PLC实现modbus通讯
实例讲解PLC实现modbus通讯1. 硬件设置程序中的 Modbus 通讯是在两个 S7-200 CPU 的 0 号通讯口间进行的(最好每个CPU 都有两个通讯口)。
在主站侧也可以用相应库文件'MBUS_CTRL_P1' 和'MBUS_MSG_P1'通过1号通讯口通信。
通讯口1 用 Micro/WIN 与 PG 或 PC 建立连接,两个 CPU 的通讯口 0 通过Profibus 缆进行连接(电缆的针脚连接为3,3,8,8 -> 见图 01)。
另外,需要确定逻辑地M相连。
2. 参数匹配对于MODBUS 通讯,主站侧需要程序库'MBUS_CTRL' 和'MBUS_MSG',从站侧需要程序库 'MBUS_INIT' and 'MBUS_SLAVE'。
在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。
必须要保证主站与从站的“Baud”和“Parity” 的参数设置要一致,并且程序块'MBUS_MSG' 中的'Slave' 地址要与程序块'MBUS_INIT' 中的 'Addr' 所设置的一致 (见图. 02)。
在Micro/WIN“系统块”中设置的通讯口0 的波特率与MODBUS 协议无关 ('Mode' = '1')。
下面的表格列出了程序块各个参数选项及其含义。
主站MBUS_CTRLMBUS_MSG从站MBUS_INITMBUS_SLAVE3. 库的存储地址项目完成后必须要在 Micro/WIN 中定义库的存储地址,当定义完存储区后, 要保证在任何情况下不能再被其它程序所使用(主站侧: 'DataPtr' + 'Count' 从站侧:'HoldStart' + 'MaxHold')。
基于Modbus协议实现PLC与智能仪表的通讯
基于Modbus协议实现PLC与智能仪表的通讯
1引言
Modbus协议是法国施耐德公司推出的一个全开放的“主从式
(Master/Slave)”通讯协议,其本意在于实现上位机(主设备)对PLC(从设备)内部存储区域的“直接”读写操作,无需用户对PLC进行通讯编程。
随着工业自
动化技术的不断发展,Modbus协议现已不仅仅局限于应用在PLC/上位机之间
的通讯上,许多智能仪表厂商也纷纷采用该协议作为自己产品的通讯协议。
与
此同时,PLC也由以前单纯的I/O控制发展成为集控制、数据采集、通讯为一身,在越来越多的自动化工程中,PLC需要取代上位机,作为“主设备”来完成
与智能仪表或其它支持该协议的PLC的通讯。
针对这一情况,施耐德公司在其
编程软件Concept2.2+补丁程序ServiceRelease2中增加了一条功能强大的通讯指令XXMIT。
通过该指令,用户可以将施耐德Modicon系列PLC上的原ModbusSlave通讯口作为ModbusMaster口或标准串口来使用,大大扩展了Modicon系列PLC的通讯功能。
本文将结合实例对该指令的ModbusMaster使
用方法做一些介绍,以供广大过程技术人员参考。
2XXMIT指令基本参数介绍
2.1基本参数概述
基本参数列表
2.2重要参数说明
2.2.1Command参数
该参数的16个为位用于设置通讯口的不同工作方式tips:感谢大家的阅
读,本文由我司收集整编。
仅供参阅!。
基于PLC的Modbus通信协议的实现
1 号传 感器 O 5 号传 感ห้องสมุดไป่ตู้器
图 1 系 统硬 件 组 成
D 1 b 0是世界 上 首 个 支持 单 线 总 线 接 口( 一 S82 1
[ 收稿 日期 ]2 1 一O — 2 00 3 4 [ 金项 目]湖 北 省 教 育 厅 重 点 项 目( 2 0 10 ) 基 D 0 8 4 4
信 , 电炉熔化 工作过 程 中 , 电炉 、 在 对 电容 、 冷却水 等
1 0多点 的温度实 现巡检 . 0
1 系统硬 件组 成
温度 监 控 部 分 系统 的硬 件 由 D 1 b O型 数 字 S82
温度 传 感 器 、 集 模 块 、 X N 系 列 P C、 X2 一 采 F 2 L F N 4 5B HI E H 触摸 屏组成 , 8 一 D、 T C 其结 构如 图 1 所示 .
随着 3 C技 术 迅 速 发 展 , 网络 集 成 信 息 自动 化
正迅速应 用到现 场设备 、 控制 中 , 场总线 控制 系统 现 正逐步取 代传 统 的集 散 控 制 系 统 , 中 Mo b s现 其 du 场总线协 议在 基 于 P C的控 制 系 统 中得 到 了越 来 L 越 广泛 的应 用. 在本系 统 中, P C为 主机 、 度 采 以 L 温 集模 块 为从 机 , 完成对 生产过程 的 自动控制 、 工业 流 程及工 艺参数 的显 示 、 改 , 据 P C 的无 协 议 通 修 根 L 信功能 , Mo b s 场 总线 协 议 实 现 主机 与 从 机 用 du 现
第2 5卷 第 4期
V0 . . I 25 NO 4
湖 北 工 业 大 学 学
报
21 0 0年 8 月
基于Modbus协议的PLC与LabVIEW的通讯实现
其它域可以使用的传输字符是十六进制的 0… 9, A…F。网络上的设备不断侦测": "字符, 当有一个 冒号接收到时, 每个设备都解码下个域( 地址域) 来 判断是否发给自己。
64
中国测试技术
2008 年 5 月
设其他串口, 端口号依此类推。波特率设为 9 600 b/s, 数据位为 7 位, 停止位设定为 1 位, 奇偶校验设定为 偶 校 验[9]。
( 2) 帧校验采用 LRC( 纵向冗余错误校验) 。LRC 错误校验用于 ASCII 模式。这个错误校验是一个 8 位二进制数, 可作为 2 个 ASCII 十六进制字节传送。 把十六进制字符转换成二进制, 加上无循环进位的 二进制字符和二进制补码结果生成 LRC 错误校验。 这个 LRC 在接收设备进行校验, 并与被传送的 LRC 进行比较, 冒号( : ) 、回车符号( CR) 、换行字符( LF) 和置入的其他任何非 ASCII 十六进制字符在运算时 忽 略 不 计[10]。
中图分类号: TP311.52; TN915.04
文献标识码: A
文章编号: 1672- 4984( 2008) 03- 0062- 03
Communication between PLC and LabVIEW based on Modbus pr otocol
WAN Peng, ZHAO Shi- ping, XU Hong- xuan ( School of Manufacturing Science and Engineering, Sichuan University, Chengdu 610065, China)
基于Modbus协议实现单片机与PLC之间通讯
基于Modbus协议实现单片机与PLC之间的通讯关键词:可编程控制器 Modbus 通讯协议1 引言HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。
它有字母、汉字、图形和图片等不同的显示,界面简单友好。
配有长寿命的薄膜按钮键盘,操作简单。
它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。
PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。
本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。
2 Modbus通讯协议[4]Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。
Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。
从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。
如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。
(1) 典型的RTU消息帧典型的RTU消息帧如表1所示。
RTU消息帧的地址域包含8bit。
可能的从设备地址是0...127(十进制)。
其中地址0是用作广播地址,以使所有的从设备都能认识。
主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。
当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。
RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。
基于PLC的MODBUS通信协议的实现
式进行数据通讯 ,前者 ( Ma s t e r 端) 发 出信息的查询请 求 ,再 由后者 ( S l a v e 端 )接收信息并满足前者发 出的
消息请求。也可 以由Ma s t e r 端直接 向S l a v e 端发送消息以 修改相关数据信息 ,以达到相互读写功能。
问题进行注意 :( 1 1 首先要对帧的开始与结束进行正确的
MO DB U S 协议是一种 能够 为工业控制体系进行正 常通信 的协议 ,其 由MO D I C O N 公 司为解决 自身控制器 问题 而设计 的。主要是根据Ma s t e r / S l a v e 的数据通讯方
区;0 5 写单个输出线圈状态 ;0 6 写单个保持寄存器值 ;
0 7 强制多轴出线圈状态 ;0 8 强制多保持寄存器 。以上 的 全部功能均可以由S 7 . 2 0 0 的开发者实现 ,不过需要对几个
MO DB US 协议如果想要在 S 7 . 2 0 0 中实 现 ,就 必 须
要在S 7 . 2 0 0 和Mo d i e o n 公 司的P L C 性能够支持的s 7 — 2 0 0 的前提下进行 ,但s 7 2 0 0 并不能够被MOD B US 协议里
的2 4 种编码全应用 ,包括现场实际应用的情况和因素。
始系统主程序时务必要有C R C 表格的生成 ,以减少计算
e R e 的时间。( 3 ) 尽管能够实现MO D B US 驱动 ( I F i x )所
停I } n
1 B l t
越 始似
I Bi t
数槲化
、
投骑 似
I B i t
提供 的六项功能 ,但是偶尔会有失误的出现 ,甚至会造
基于Modbus协议的PLC通信控制模块的实现1
作者简介:邓卫平(1983~),男,湖北荆门人,中国地质大学(武汉)机械与电子信息学院硕士研究生,研究方向为通信与信息系统。
基于Modbus 协议的PLC 通信控制模块的实现邓卫平(中国地质大学机械与电子信息学院,湖北武汉430074)摘要:Modbus 协议是应用于电子控制器的一种通用协议。
该协议已经成为我国工业自动化网络协议规范的国家标准之一。
介绍了Modbus 通信协议的基本特点,对在Modbus 协议下PLC 的通信控制系统实现作了详细阐述。
关键词:Modbus 协议;PLC ;通信中图分类号:TP393.09文献标识码:A文章编号:1672-7800(2008)11-0114-020引言在工业控制领域中,Modbus 协议是应用于控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络和其它设备之间都可以通信。
许多工业设备(包括PLC 、变频器、触摸屏、智能仪表等),都使用Modbus 协议作为它们之间的通信标准。
该协议规定:网络中只允许存在一个主站,其他设备均为从站。
PLC 在工业自动化控制领域中占有很大的比例,本文就针对西门子S7-200系列的PLC 在该协议下通信控制模块的设计作详细的介绍。
1协议基本原理1.1协议概述Modbus 协议的通讯采用应答方式,由主机发起请求,从机执行请求并且应答。
在R485等允许多个站点的网络中,至多只能有一个从站响应主站的请求。
基于Modbus 协议的通信通常支持两种传输模式:美国标准信息交换码(ASCII 码)模式和远程终端单元(RTU )模式。
用户可根据需要选择适当的传输模式,但在同一个Modbus 网络上必须采用相同的传输模式。
1.1.1ASCII 模式当控制器在Modbus 网络上以ASCII 模式通信时,ASCII 代码系统采用十六进制ASCII 字符,每字节包含1个起始位、7个数据位(最小的有效位开始依次发送)、1个奇偶校验位(无校验则无此位)、1个停止位(有校验时)或2个停止位(无校验时)。
用Modbus协议实现DCS与PLC之间的串行通讯
用Modbus协议实现DCS与PLC之间的串行通讯万立氧空分装置是2008年辽化公司20万吨环氧乙烷/乙二醇改造的配套项目,该装置仪控系统采用了先进的Honeywell PKS集散控制系统来实现对整个装置的各系统及主要设备的工艺参数的监控,并实现各主要操作阀门、切换阀门的自动控制或遥控操作,以及必要的联锁保护措施。
氮压机选用Ingersoll—rand的CENTAC 3C70MX5N2型压缩机,该压缩机配置独立的控制系统CM C控制器,为了有效的监控氮压机的运行参数,我们利用Modbus协议实现了Honeywell PKS集散系统与Ingersoll—rand CM C可编程序控制器之间串行通讯。
2 Modbus协议简介Modbus是Modicon公司于1 979年提出的一种通信协议,经过多年的实际应用,已经成为一种应用于工业控制器上的标准通信协议。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
它描述了控制器请求访问其它设备的过程,以及怎样侦测错误并记录,它制定了消息域格局和内容的公共格式[5]。
当在Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。
如果需要回应,控制器将生成反馈信息并用Modbus协议发出。
标准的Modbus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
控制器能直接或经由MOdem组网。
2.1 Modbus报文如图1所示,Modbus通信使用主从技术,即仅设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。
利用MODBUS实现西门子PLC与ABB变频器的通信控制
利用MODBUS实现西门子PLC与ABB变频器的通信控制MODBUS是一种常用的通信协议,用于实现不同设备之间的数据通信控制。
本文将介绍如何利用MODBUS协议实现西门子PLC与ABB变频器的通信控制。
在使用MODBUS通信之前,需要先了解MODBUS协议的基本原理。
MODBUS协议基于主从式结构,其中PLC作为主站,变频器作为从站。
主站通过MODBUS协议发送指令给从站,从站接收并返回相应的响应数据。
通信过程中,需要指定从站的地址,以便主站能够正确地发送指令并接收响应。
在实现西门子PLC与ABB变频器的通信控制之前,需要确保PLC和变频器支持MODBUS协议,并设置好相应的通信参数(例如波特率、数据位数等)。
通常情况下,PLC和变频器的通信参数需要事先配置好,以保证正常的通信连接。
一般来说,通过MODBUS协议实现PLC与变频器的通信控制需要以下几个步骤:1.确定PLC和变频器之间的物理连接方式,例如采用串口或以太网连接。
根据实际情况选择合适的连接方式。
2. 配置PLC的MODBUS通信模块。
在西门子PLC中,可以通过Step 7软件开发环境配置MODBUS通信模块。
配置时需要设置从站的地址、通信方式、通信参数等。
3.配置变频器的MODBUS通信参数。
ABB变频器通常具有自身的通信配置界面,可以通过该界面设置MODBUS通信参数,例如从站地址、波特率、数据位数等。
4.在PLC中编写相应的控制程序。
利用PLC的编程功能,编写控制程序实现与变频器的通信控制。
控制程序可以根据需要发送指令给变频器,并根据变频器的响应进行相应的处理。
5. 在控制程序中使用MODBUS函数块。
在PLC控制程序中使用MODBUS函数块来实现与变频器的通信。
具体可以使用MODBUS_Master_ReadCoils函数来读取开关量输出,使用MODBUS_Master_WriteSingleRegister函数来写入数据到变频器等。
基于MODBUS协议和PLC的通讯
基于MODBUS协议和PLC的通讯'判断电机是否在转动Public Sub WaitMotorStop()'判断电机是否在转动Dim str1 As String = '1'Do Until str1 = '0'Comm2PLC(RCS, Relay901, '')System.Threading.Thread.Sleep(50)Dim str2 As String = FormMain.RS232.ReadExisting().ToString()FormMain.RS232.DiscardInBuffer()FormMain.RS232.DiscardOutBuffer()'先高低位转换,再16进制转换为10进制。
例如把78563412转换为12345678If str2.Length > 6 Thenstr1 = str2.Substring(6, 1)End IfLoopThread.Sleep(200)End Sub‘----------------------------------------------------------------’'写入PLCPublic Sub Comm2PLC(ByRef _Code As String, ByRef _Address As String, ByVal _Command As String)Dim str1 As String = _Code & _Address & _Command'代码字+中间继电器+命令字Dim str2 As String = Calculte_Vertification_bit(str1)Dim str3 As String = str1 & str2FormMain.RS232.WriteLine(str3 + vbCr)FormMain.RS232.DiscardOutBuffer()End Sub‘---------------------------------------------------------------- '计算校验位Function Calculte_Vertification_bit(ByVal str)Dim str2 As String = NothingFor i As Integer = 1 To Len(str)Dim str1 As String = Asc(Mid(str, i, 1))str2 = str2 Xor str1NextReturn Hex(str2)End Function‘---------------------------------------------------------------- '运动坐标读取Private Sub ReadCoord()System.Threading.Thread.Sleep(10)FormMain.RS232.DiscardInBuffer()Comm2PLC(RD, Register1, '')TrySystem.Threading.Thread.Sleep(200)Dim str1 As String = FormMain.RS232.ReadExisting().ToString()'先高低位转换,再16进制转换为10进制。
基于Modbus协议实现单片机与PLC之间通讯
基于Modbus协议实现单片机与PLC之间的通讯关键词:可编程控制器 Modbus 通讯协议1 引言HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。
它有字母、汉字、图形和图片等不同的显示,界面简单友好。
配有长寿命的薄膜按钮键盘,操作简单。
它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。
PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。
本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。
2 Modbus通讯协议[4]Modbus协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。
Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。
其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。
从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。
如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。
(1) 典型的RTU消息帧典型的RTU消息帧如表1所示。
RTU消息帧的地址域包含8bit。
可能的从设备地址是0...127(十进制)。
其中地址0是用作广播地址,以使所有的从设备都能认识。
主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。
当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。
RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的最高位由0改为1)。
支持Modbus协议的PLC自由口通信
支持Modbus协议的PLC自由口通信——基于RS486现场总线结构摘要:本文首先简要介绍了ModBus协议的历史/特点和通信原理,然后将其原理应用于PLCs与PC组成的总线结构,以实现对交通灯/水箱/电梯和电机的总线式控制。
本文具体的说明了应用ModBus协议的自由口通信实现的总线控制系统的硬件实现和软件实现,其中软件实现中又详细说明了协议的具体指令功能以及上位机的基于. NET平台的软件编程步骤。
关键词:PLC;自由口通信;ModBus;现场总线Free Port Communication of PLC Support ModBus Communication Protocol——Based on Field Bus Structure of RS485Abstract:This paper briefly introduces the ModBus protocol history / characteristics and communication principle, then the principle is applied to PLCs and PC consisting of bus structure, in order to achieve the traffic lights / tank / Elevator and a motor bus type control. This paper illustrates the specific application of ModBus protocol in the free port communication realization of fieldbus control system hardware and software, including software and a detailed description of the protocol specific instruction function and PC based on. NET platform software programming procedure.Key Words:PLC;Free Port Communication;ModBus ;Field Bus Structure引言现场总线(Fieldbus)是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。
基于MODBUS协议的单片机与PLC通讯的设计
第1章绪论随着计算机、数字通信的快速发展,计算机控制已经拓展到全部的工业领域。
其中,单片机和PLC得到了长足的发展,在小规模的控制系统中得到了非常广的应用。
对工业系统来说,PLC与单片机的应用都比较普及,可是,两者都有各自的优缺点。
单片机的驱动能力比较弱,且无法驱动大功率、大电流设备的直接运行,因而在使用方面受到限定。
相比而言PLC则运行可靠、使用也相对简单、抗干扰效果好,而且负载驱动能力也比较强,所以适合在一些环境较差的地方工作。
可是PLC控制能力固然强,但是其结构锁闭,缺乏智能化,无法链接键盘等外部设备,所以在使用PLC时就必须要通过外部智能设备编程来实现控制。
想要进行弱电控制强电,必须要有智能程度较高的核心。
而单片机的智能化程度很高,在系统的设置和外部设备的管理中起着非常高的作用。
PLC和单片机联系可以提升PLC的数据处理功能,友好与简洁的人机交互也给用户提。
供了很大便利。
本次要实现基于modbus协议的单片机与plc通讯的设计,通过MX232接口。
转RS485接口转换电路,将单片机与PLC进行连接,单片机作为上位机向PLC发送数据,实现以51 单片机为核心,将输出信号通过RS485总线来与西门子S7-200PLC进行串口通信。
1.1主要任务以及目标通过查阅相关资料,了解51单片机及S7-200PLC通讯的发展概况;根据相关文献,深入学习51单片机及S7-200 PLC通讯系统各部分的组成以及控。
制的基本原理和方法;综合运用所学的模拟电子技术、数字电子技术、电力电子技术、无线通信技术、嵌入式等知识,进而查阅相关文献,研究51单片机及S7-200 PLC通讯的设计方法;根据要求,编写软件设计基于51单片机及S7-200的PLC各个功能模块;通过该设计,达到以下几个目标:提高分析和解决问题的能力;提高对所学知识的综合运用的能力;提高查阅有关文献的能力;获得工程设计的基本训练;提高动手操作能力。
基于MODBUS协议的上位机与PLC及智能仪表之间的通信实现方法
CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。下面是它的VC代码:
{
wCrc >>= 1;
wCrc ^= 0xA001;
}
else
{
wCrc >>= 1;
}
}
}
return wCrc;
}
六、上位机与智能仪表的通讯:
上位机的通讯程序可参照上位机与PLC的通讯程序进行设计,注意将上位机的串口地址设为其它的地址(例如2)。在此不作过多介绍。
多台智能仪表作为MODBUS从站的网络,每个从站必须设为唯一的从站地址,并设定好波特率。仪表要遵循MODBUS规约的通信帧结构对上位机的命令进行解析。非呼叫对象要能及时重新恢复等待接受状态。响应呼叫的仪表要解析命令并进行相应的功能处理,对非法的命令要能回报报错信息。
20读取通用参数(584L)显示扩展存储器文件中的数据信息
21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之
在这些功能码中较长使用的是1、2、3、4、5、6号功能码,使用它们即可实现对下位机的数字量和模拟量的读写操作。
4下表是MODBUS地址映射到S7-200的地址:
MODBUS地址S7-200地址MODBUS地址S7-200地址
三、电气接口:
基于MODBUS协议PLC通信的模块化实现
基于MODBUS协议PLC通信的模块化实现
刘新华;王仲东;黄剑
【期刊名称】《电气自动化》
【年(卷),期】2001(023)001
【摘要】本文介绍了S7-200系列PLC在水电站集散监控系统中网络通信的程序设计,对PLC的组网特点和MODBUS协议下PLC通信程序的模块化设计作了详细阐述.
【总页数】4页(P44-47)
【作者】刘新华;王仲东;黄剑
【作者单位】华中理工大学控制科学与工程系;华中理工大学控制科学与工程系;华中理工大学控制科学与工程系
【正文语种】中文
【中图分类】TP27
【相关文献】
1.基于MODBUS协议的PLC与打印适配板之间的通信实现方法 [J], 林继;薛凤霞
2.基于Modbus协议的PLC与变频器通信控制研究与实现 [J], 张顺星;梁小宜
3.基于MODBUS协议的单片机与S7-200PLC串行通信的实现 [J], 张洁;马凤铭;徐颖
4.基于MODBUS协议的设备和PLC实现通信的研究 [J], 陈铭
5.基于MODBUS协议PLC通信的模块化实现 [J], 刘新华;王仲东;黄剑
因版权原因,仅展示原文概要,查看原文内容请购买。
利用Modbus转PN模块快速实现西门子PLC的Modbus通讯
利用Modbus转PN模块快速实现西门子PLC的Modbus通
讯
测试总结
1.经过测试,实现了通过PN网络采集Modbus-RTU数据,通讯稳定,不需要编写轮询程序。
2.不同485通道可以设置不同的波特率等参数,使用比较灵活。
3.网关名称命名非常重要,必须保证网关名称和TIA软件内配置的一致,否则通讯失败。
4.网关IP地址在配置阶段可以不设置,当网关与PLC连接后PLC 将自动把设置的正式IP地址配置给网关。
5.网关与PLC通讯正常后不要再用指定网卡的方式搜索网关,这样电脑会再次给网关配置临时IP造成通讯中断,要
选择所有网卡模式。
6.修改网关配置之前需首先上载配置,修改完毕需重启网关使配置生效。
7.如果PLC连接的PN模块较多,可加大更新时间至8~10ms。
8.网关将数据映射到PLC的过程映像区,1200系列PLC的IO过程映像区分别只有1024字节,1500系列PLC的
IO过程映像区至少32K字节,这个算是这种方式的一个缺点,如果要通讯的数据量大于PLC的IO过程映像区就不能
用这种方式了。
通过测试发现PN网络还是具有很强大的通用性和兼容性,西门子系统也变得越来越开放,我们可以选择不同厂
家的设备尤其是国产设备,可以让我们的系统有更高的性价比。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
据 的字符 和 ( 弃进位 位 ) 舍 的补 码+ 。其 主要优 点在 于 : 1 字符 发
送 的 时 间 间 隔 较 短 ( 为 I) 不 易 产 生 错 码 。 约 s。 且
R U 模 式信 息 帧 中 的8位 数据 包 括 两个 4位 十六 进 制 字 T 符 , 对 A C I 式, T 相 S I模 R U模式 表达 相 同信 息需 要 较 少 的位 数 ,
文 献标识 码 : A
文 章 编 号 :6 2 7 0 (0 8 1 - 14 0 17— 8020 )10 1—2
盖从 从机 地址 到数据 的信 息部 分 。 验和等 于所 有参 与校验 数 校
0 引 言
在 工业 控 制 领 域 中。 d u 协 议 是 应 用 于控 制 器 上 的 一 Mo b s 种通 用语 言 。 过此 协议 , 制器 相互 之间 、 通 控 控制 器经 由 网络 和 其它 设备 之 问都 可 以通信 。许 多 工业 设备 ( 包括 P C、 L 变频 器 、 触摸 屏 、 能仪表 等 )都 使用 Mo b s 智 , d u 协议 作 为它们之 间 的通信 标准 。 该协 议规 定 : 网络 中 只允 许存 在一 个 主站 。 其他 设备均 为 从站 。P C L 在工业 自动化 控制 领域 中 占有 很大 的 比例 , 本文 就 针 对 西 门子 S — 0 系列 的P c 该 协 议 下通 信 控 制 模块 的设 720 L在
支 持 两 种 传 输 模 式 : 国 标 准 信 息 交 换 码 ( S I )模 式 和 远 美 A CI 码
程 终 端单 元 ( T 模 式 。用 户可 根 据需 要 选 择适 当 的传输 模 R U) 式, 但在 同一 个Mo b s d u 网络 上必 须采 用相 同 的传 输模 式 。
准 之 一 。 介 绍 了Mo b s 信 协 议 的 基 本 特 点 , 在 Mo b s 议 下P C 通 信 控 制 系 统 实现 作 了 详 细 阐 述 。 du通 对 d u协 L的
关键 词 : du ̄ Mob s .P C; 信 ;L 通
中 图 分 类 号 :P 9 .9 T 3 30
第 7 第 1 期 卷 1
2 0年 l o8 1月
软 件 导 刊
Sot r fwa eGu d ie
V01 o 1 .N .1 7
NO 2 0 V. o 8
基于Mo b s d u 协议 的P C L 通信控制模块 的实现
邓 卫 平
( 中国地质 大 学 机械 与 电子信 息学 院 , 北 武汉 4 0 7 ) 湖 3 0 4 摘 要 : d u 协议 是应 用 于电子控 制 器的一 种通 用协议 。 Mob s 该协议 已经成 为我 国工业 自动化 网络协 议规 范的国 家标
新 启 动 接 受 。该 模 式 其 主 要 优 点 在 于 : 同 样 的 波 特 率 下 ,比 在
1 协 议基 本 原 理
11 协 议 概 述 .
Mob s d u 协议 的通讯 采 用应 答 方式 , 主机 发起 请 求 , 机 由 从 执行 请求 并且 应答 。在R 8 等允许 多个 站点 的 网络 中 。 多只 45 至 能 有一 个从 站 响应 主 站 的请 求 。基 于Mo b s 议 的通 信通 常 du协
Mob S d U 以系 列 具 有 不 同特 征 表 格 的数 据 模 型为 基 础 , 如
表1 示 : 所
表 1 Mo b s d u 数据 类 型
无此 位 ) 1 停止位 ( 、个 有校 验时 ) 个 停止 位 ( 校验 时 ) 或2 无 。
A C I方式下 : SI 帧头 为“ x A” 尾为 “x D” 00 。消息 03 。 帧 O0 “x A” 中字 符 间发 送 的时 间间 隔最 长不 能超 过 1 秒。否则 接收 的设 备
将认 为传 输错 误 。 A CI方式 下 , 在 SI 数据 字节全 部 以A C I 方 S I码 式发 送 , 先发 送高4位 位元组 , 然后 发送低4 位元 组 。例如 :1 位 0
计作 详细 的介 绍 。
个 数据位 ( 最小 的有效 位开 始依 次发送 ) 1 、个奇偶 校 验位 ( 校 无
验则 无 此位 ) 1 停止 位 ( 、个 有校 验 时 ) 个 停止位 ( 校验 时 ) 或2 无 。 R U消 息发 送 至 少 要 以35 字 符 时 间 的停 顿 间 隔 开 始 。 T .个 在 最后 一个 传 输 字符 之后 , 个至 少35个 字符 时 间 的停顿 标 一 . 定 了消 息 的结 束 。一个新 的消 息可 在此停 顿后 开始 。整个 消息 帧必须作 为 一连续 的流 转输 。 如果 在帧完 成之 前两个 字符 间有 超过1 . 字符 时 间 的停 顿时 间 , 认 为帧 错误 , 5个 则 停止 接 收 , 清 缓 冲 , 到通 信 主循环 中 , 错误 标 志 ( L 直 清 与P C寄存 器无 关 ) 重 ,
在 相 同通 信 速 率下 具 有 更 大 的数 据 流 量,因此 通 常情 况 下 都
是 采 用 R U 式 的Mo b s 议 。 T 模 d u协
1 u 网络 上 以砌【 模 式 通信 时 . T T U R U代码 系 统 采用4 二 进制 数表 示 十六进 制 数, 位 每字 节包含 1 起 始位 、 个 8
111 A C I 式 .. S I模
A CI S I码更 高效 的数 据传输 量 。
1 M o b s 据 类 型 . 2 du数
当控制 器在 Mo b s d u 网络上 以AS I模式 通 信 时,S I 码 CI A CI 代
系统采 用 十六进 制A C I 符, 字节 包含 1 SI 字 每 个起 始 位 、 个数 据 7 位 (最小 的有 效位 开 始依 次 发 送 ) 1 奇偶 校 验位 ( 校验 则 、个 无