PLC的MODBUS通信实例

合集下载

欧姆龙PLC分别做modbus tcp客户端和服务器的通讯案例

欧姆龙PLC分别做modbus tcp客户端和服务器的通讯案例

欧姆龙PLC分别做modbus tcp客户端和服务器的通讯案例NJ并不支持ModbusTCP协议,库文件是在socket的根底上开发出来的功能块。

库文件共有8个功能块,根据不同的功能块实现不同的modbusTCP的功能。

8个功能块分别为客户端使用7个功能块,客户端连接、读线圈、读输入存放器、读保持存放器、写单个线圈、写单个保持存放器、写多存放器;和服务器使用一个功能块。

1、客户端连接取其中一个功能块为例,开展测试。

添加客户端连接功能块,写入对方IP、端口号、连接信号变量;功能块使能后,置位connect。

输出部分,可以看到错误和错误代码。

添加读保持存放器功能块,写入从设备地址、起始地址、字节长度,connect功能块中的输出TCP_socket需要和读写功能块输入的TCP_socket为同一变量;建立好输出变量,send_request置位即可读取。

接收数据为Word,如果需要转为其他数据类型,可以使用数据转换指令。

2、服务器连接添加功能块,在输入中分别填入需要发送的存放器和线圈数据;上位开展连接后,将会显示对方IP和端口。

由于modbus的固定端口为502,因此调试工具或者其他上位需要将连接端口设置为502;否则无法开展通讯。

注:以太网通讯中,部分端口号为固定用途,例如网页打开的默认端口为80,在使用中会自动省略;modbus端口为502.连接成功后,发送Modbus功能码开展通讯。

3、服务器连多个客户端在实际使用中,会遇到连多个客户端的情况,由于功能块是使用socket方式开发,因此,可以使用多个端口连接。

但是,如果对方是标准的modbusTCP,无法更改端口的话,那么将无法开展多个客户端连接。

先将功能块里的内容复制出来,然后再将端口号的改为变量的方式,这样就可以开展多客户端连接。

经测试,通讯没有问题。

西门子S7-1200 MODBUS通信的一个应用案例分享

西门子S7-1200 MODBUS通信的一个应用案例分享

西门子S7-1200 MODBUS通信的一个应用案例分享S7-1200 设计紧凑、组态灵活,TIA在库函数中嵌套了Modbus-RTU 和Modbus-TCP功能库,在做数据采集的项目中是非常好用的。

做过一个换热站设备运行监测的项目,需采集管网一次侧和二次侧的供水压力、温度以及ABB变频器的工作状态。

现场各类变送器已经接到了原有的智能仪表上,因此采用1200plc通过MODBUS-RTU 与现场智能仪表和变频器通信是比较经济的方案,并且可通过MODBUS-TCP与远程上位机通信。

智能仪表及变频器作为从站,只需在设定中选择Modbus-RTU通信协议并且为设备分配不重复的站地址即可。

1200 PLC作为主站必须配备RS485通信模块,其通信的基本原理是:首先程序开始运行时,调用一次Modbus 库中的功能块MB_COMM_LOAD来组态RS485模块上的端口;其次调用库中的功能块MB_MASTER作为Modbus 主站与设备开展通信。

1200PLC作为主站通信是由DATA_ADDR(从站中的起始Modbus地址)和MODE(读、写、诊断模式)参数一起确定实际Modbus消息中使用的功能代码。

DATA_PTR(数据指针)指向要写入或读取的数据的CPU DB 地址,该DB必须为“非仅符号访问”DB类型。

在TIA V12以上平台中,将该DB属性中的“优化的块访问”选项取消。

PLC主站发送带有站地址标识的数据来寻址不同的从站,同时不同的从站通过响应带有站地址标识的数据给主站,以完成整个通信过程。

这种轮询通信,可以根据发送和接收完成的标志来完成,也可以以固定的时间间隔开展轮询,实际应用时需要考虑CPU的性能以及轮循Modbus子站时间。

程序编好后先用MODBUS调试工具测试一下,正常后再开始接线。

在接线时遇到一个小插曲:PLC及变频器的485接线端子B为正,A为负,很多厂家仪表的485接线端子是A为正,B为负,一开始通信始终不正常,当查看仪表说明书时才发现。

台达plc的Modbus通信

台达plc的Modbus通信

双击串口父设备设置属性,设 置值要求与PLC一样
在这里可以增加触摸屏与PLC 之间的通道连接
台达PLC的MODBUS协议通信
组态图上所示的界面,添加两个设备
双击打 开通用 TCP/IP父 设备, 设置红 圈中所 示的属 性值
双击设备0打开如图所 示的界面,设置通道 名称,具
程序设计
6.结论
该系统具备以下特点:
1.该系统结构简单,运行可靠。 2.使用PLC实现自动化控制传送带的运行,使传送 带速度的变化由PLC控制,提高运行效率。 3.整个工作站在加入了机器人以后,减少了人力成 本实现无人化控制,可以快速分拣物件。
本次课题的不足之处:
1.对于该工作站我们只测试了外围设计及传送带部 分,机器人没有能够加入到整个设计中。
2.在变频器与PLC之间的RS-485串口通信中,我们 由于时间问题没有通信正确而改为连接变频器输 入口的方法。
N
否检测到
信号
Y
检测信号给PLC
PLC给信号给变频 器
变频器带动传送 带
传感器2
N
是否检测
到信号
Y
检测信号给PLC
PLC给信号给机器 人
机器人将物料抓 走
开结束
2.系统设计
触摸屏
台达PLC
西门子PLC












控制系统设计
3.实物连接图
4.台达PLC的RS-485串口通信
在MCGS 设备组态 属性窗口 组态如图 所示设备
台达PLC的应用
指导教师:任彦仰 演讲者:阳李国
台达PLC相关毕业设计内容

MODBUS通讯协议及PLC编程通讯实例

MODBUS通讯协议及PLC编程通讯实例

MODBUS通讯协议及编程ModBus通讯协议分为RTU协议和ASCII协议,我公司的多种仪表都采用ModBus RTU 通讯协议,如:YD2000智能电力监测仪、巡检表、数显表、光柱数显表等。

下面就ModBu s RTU协议简要介绍如下:一、通讯协议(一)、通讯传送方式:通讯传送分为独立的信息头,和发送的编码数据。

以下的通讯传送方式定义也与MO DBUS RTU通讯规约相兼容:初始结构= ≥4字节的时间地址码 = 1 字节功能码 = 1 字节数据区 = N 字节错误校检 = 16位CRC码结束结构= ≥4字节的时间地址码:地址码为通讯传送的第一个字节。

这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。

并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。

主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。

功能码:通讯传送的第二个字节。

ModBus通讯规约定义功能号为1到127。

本仪表只利用其中的一部分功能码。

作为主机请求发送,通过功能码告诉从机执行什么动作。

作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。

如果从机发送的功能码的最高位为1(比如功能码大与此同时127),则表明从机没有响应操作或发送出错。

数据区:数据区是根据不同的功能码而不同。

数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。

CRC码:二字节的错误检测码。

(二)、通讯规约:当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。

返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。

如果出错就不发送任何信息。

1.信息帧结构地址码:地址码是信息帧的第一字节(8位),从0到255。

这个字节表明由用户设置地址的从机将接收由主机发送来的信息。

2024版S7200实现Modbus通信范例绝对精华

2024版S7200实现Modbus通信范例绝对精华
提高了调试与故障排除能力
通过课程中的调试方法和常见故障排除技巧的介绍,学员们的调试和 故障排除能力得到了提高。
未来发展趋势预测
工业物联网与智能制造的 融合发展
随着工业物联网和智能制造技 术的不断发展,Modbus通信 协议将在工业领域的应用中扮 演更加重要的角色。
多协议融合与互联互通
智能化与自动化程度的提 升
Modbus通信程序设计与实现
通过实例演示了如何在S7200 PLC上编写Modbus通信程序,包括主 站和从站程序的设计和实现。
调试与故障排除
介绍了Modbus通信的调试方法和常见故障排除技巧。
学员心得体会分享
加深了对Modbus通信协议的理解
通过本次课程,学员们对Modbus通信协议的工作原理和通信方式有 了更深入的理解。
数据格式
Modbus协议支持两种数据格式,即RTU(Remote Terminal Unit)格式和ASCII格式。RTU格式采用二 进制编码方式,具有更高的传输效率;而ASCII格式采用字符编码方式,易于人类阅读和调试。两种格式 在数据帧结构、校验方式等方面有所不同。
Modbus在工业自动化领域应用
技巧3
善用调试工具
实用调试技巧分享
实用调试技巧分享
技巧4:注意细节
在排查过程中注意细节问题,如通信参数的设置、设备 地址的匹配、数据类型的选择等,避免因为细节问题导 致排查失败。
05
优化S7200与Modbus从站通信性能方法 探讨
提高数据传输速率策略探讨
选用高速通信接口
采用高速串行通信接口,如RS-485或以太网接口, 以提高数据传输速率。
优化数据帧结构
减少数据帧中的冗余信息,提高有效数据的传输效率。

MODBUS通信Q03UDV CPU与永宏PLC通讯

MODBUS通信Q03UDV  CPU与永宏PLC通讯

MODBUS通信Q03UDV与永宏PLC参考资料:1、“01 参考资料”文件夹>> “FBs-PLC使用手册II-高级篇>高级篇第12章CLINK MODBUS”2 、“01 参考资料”文件夹>> “QJ71MB91”利用QJ71MB91智能模块和FXBS-CB5模块,通过RS485接线方式实现Q03UDV与FBS-40MC主从站通讯,实现主从站之间的数据读取与写入。

通讯实例要求如下:永宏PLC读取三菱Q03UDV地址D0—D3的数据并保存在自身地址D0—D3中。

永宏PLC将自身地址D4—D7的数据写入到三菱Q03UDV地址D4—D7中。

使用QJ71MB91智能模块的第二个通讯口通过RS485接线方式,实现主从站通讯。

主站地址设为1,从站地址设为2。

一、硬件配置。

主站配置:永宏PLC FBS-40MC+FBS-CB5从站配置:Q03UDV、QJ71MB91智能模块通讯接线如下图:二、主站设置于编程(FBS-40MC)1.主程序编写(如下图)通讯表格(如下)三从站1、QJ71MB91开关设置:在编程软件智能模块的开关设置中设置QJ71MB91的通讯格式。

具体设置见下图2、QJ71MB91 MODBUS通信参数设置与永宏PLC相关通讯参数均要设置一直,方可通讯相关通讯从站参数设置说明如下:①QJ71MB91可以最多设置32组通讯参数,每组参数可以设置与之通讯的从站地址、通讯读写软元件的类型、长度等。

QJ71MB91将从站读取的信息保存在自身的缓冲存储器中,永宏PLC如果想读取从站的信息,就必须到QJ71MB91缓冲存储器中读取。

读取的方式可以是自动设置,也可以通过程序编写读取。

QJ71MB91通讯示意图如下②我们使用的是QJ71MB91的第二个通讯口,所以要将CH2设为启用。

软元件类型指定我们设置为:默认MODBUS通讯参数。

起始缓冲存储器地址均为通用型MODBUS通讯地址,写入或读取的缓冲存储器地址,具体见下图我们设置的是读取自动刷新地址是D0(0,2)即自动读取D0与D1我们设置的是写入自动刷新地址D4(0,2)即自动写入的地址是D4和D5.我们看到自动读取还有D2、D3,自动写入的地址还有D6、D7为读入或写入对方的通讯设备中,这一部分我们通过程序来完成。

松下PLC(FP-X )Modbus通讯实例

松下PLC(FP-X )Modbus通讯实例

松下PLC(FP-X )Modbus通讯实例
本例以modbus rtu模式进行测试
1
名称型号数量说明
1松下PLC FP-X1PLC主机
2COM3模块松下1松下485通讯模块
3台达温控器DTC1000C1台达温控模块
4阳明温度探头PT-1001温度传感器
2
软件名称说明
1FPWIN GR(Version 2.94)松下PLC梯形图编程软件
2DTCOM_T(Simplified Chinese)台达温控器设置软件
(1.0017)DTCOM_T(Simplified Chinese) 3
通讯协议侦测
通讯协议设定
设定成功后,可以测试一下
测试成功之后,关闭温控器软件。

4、打开松下PLC编程软件FPWIN GR,并编写一下程序
然后打开PLC系统寄存器设置,选择COM1端口设置,然后把参数设置为下图所示
5、当所有软件都准备完成以后,进行硬件的连接。

A、台达温控器和传感器(PT-100)的接法
红线
1
2
3
白线
白线
B、台达温控器485接头和COM3模块接法
温控器+ 接 COM3 S+
温控器- 接 COM3 S-
6、检查线路和程序无误后,上电后,打开PLC编程软件,打开R10和R11
结果如下图
DT100显示的数据就是温度传感器的实时值。

(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)。

与西门子PLC实现Modbus-RTU通信实例

与西门子PLC实现Modbus-RTU通信实例

与西门⼦PLC实现Modbus-RTU通信实例⼀、准备⼯具及材料1.台式电脑⼀台,笔记本电脑⼀台;2.西门⼦200smart PLC⼀台,3.多功能电表DW9L-RC38或DS9L或DS7L⼀台,温控表TE系列⼀台,4.仪表说明书及通讯协议,5.9针接⼝通讯线⼀根,6.USB转RS485转换器⼀台,7.电源线,⽹线、⽹络交换机等。

⼆、软件安装软件名称:STEP 7-MicroWIN SMART,可从西门⼦⽹站下载。

三、梯形图编程1.主要编程思路PLC使⽤⾃带的RS485接⼝与仪表进⾏通信连接,PLC作为主站,仪表为从站,使⽤标准Modbus-RTU通讯协议。

调⽤编程软件⾃带的Modbus协议库,实现与仪表的数据通信。

2.MBUS_CTRL 和 MBUS_MSG 指令介绍本⽰例使⽤单个主站及 MBUS_CTRL 和 MBUS_MSG 指令。

同⼀理念对使⽤第⼆个主站及 MB_CTRL2 和 MB_MSG2 指令的⽰例同样适⽤。

3.电⼒仪表通信协议:4.梯形图编程(1)设置PLC型号(2)设置库存储器的地址分配(系统已分配VB0~VB285⽤于modbus通信使⽤,我们就从VB286开始)(3)编辑符号表(4)编辑状态图表(5)编制第⼀、⼆段:置位标志位及通讯初始化:波特率Baud=9600,Parity=0⽆校验,Port=0集成CPU内RS485⼝,Timeout从站响应超时50ms。

Done初始化完成返回"TURE",Error输出错误结果。

(6)程序3-4:当MBUS_CTRL初始化完成后,M0.0 从关闭变为接通时,延时T33=10mS时间后,置位第⼀条 MBUS_MSG 指令的启⽤标志 (M2.0)=1。

(7)程序5:读第⼀台从机设备,地址1,型号DW9L或DS9L或DS7L。

当第⼀个启⽤标志 (M2.0) 接通后,调⽤ MBUS_MSG 指令。

只需为启⽤该指令的第⼀次扫描设置 First 参数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PLC的MODBUS通信实例
随着工业时代的发展,工业自动化控制已进入网络时代,工业控制器连网也为网络管理提供了方便。

MODBUS通信就是工业控制器的网络协议中的一种。

关键词: MOBUS通信协议,RS485,奥越信CPU,程序设计
一、MODBUS 简介
MODBUS是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。

当现代的控制领域持续不断的产生和应用诸如现场总线和网状网络等先进概念的时候,MODBUS的简单性以及它的便于在许多通讯媒介上实施应用的特点一直使它受到最广泛的支持,并且成为全球应用最广泛的工业协议。

通过此协议,控制器经由网络(例如以太网)和其它设备之间可以通信,此协议支持传统的RS-232、RS-422、RS-485和以太网设备。

许多工业设备,包括PLC、DCS、变频器、智能仪表等都在使用MODBUS协议作为他们之间的通讯标准,它可应用于各种数据采集和过程监控。

二、MODBUS协议库
1、使用MOBUS协议的部分要求
A、初始化MODBUS从站协议占用Port0 作为MODBUS从站协议通信,MODBUS从站协议只支持端口0通信,所以选择奥越信的双通信的CPU,可以把Port1作为编程通信口,以便于调试;如果只有单通信口的话,可把CPU打到STOP模式在编程。

B、MODBUS从站协议指令的变量要求799字节的V区域,该区域的起始地址由用户指定,保留给MODBUS使用,程序中不可以使用库存储区占用的地址。

C、可参照S7-200编程手册中了解MODBUS指令的设置与编写。

2、MODBUS协议允许在各种网络体系结构内进行简单通信。

如图所示:
A、每种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用MODBUS协议来启动远程操作。

B、在基于串行链路和以太网络的MODBUS上可以进行相同通信。

C、一些网关允许在几种使用MODBUS协议的总线或网络之间进行通信。

三、MODBUS编程实例
1、要求:2个CPU进行通信连接,主站每秒QW0输出加1,主站通过MODBUS通信方式将其输出点的数值与从站同步。

2、硬件根据要求,选取了奥越信的CPU224C与CPU224D,两款都带有双通信口,功能也强大,编程测试时比较方便。

3、程序中先对两个CPU的通讯口做了定义及设置,成功通信之后两个CPU的输出点通过MODBUS将会同步输出主从站程序如下图所示:
主站程序
从站程序
四、通信实例总结
根据上述实例我们在做MODBUS通信时,首先要清楚主从站及对应的设备进行设置,保证地址、波特率等等要按要求设置好,选型时尽量考虑多通信口的CPU,这样对编程及调试使用会方便一点,如上诉例子中奥越信的214系列的CPU都是双通讯口的。

硬件选好之后,要想好思路,一步一步的写,最终完成MODBUS的通信。

相关文档
最新文档