PLC的MODBUS通信实例
欧姆龙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 设计紧凑、组态灵活,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一样
在这里可以增加触摸屏与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通讯协议及编程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通信范例绝对精华
通过课程中的调试方法和常见故障排除技巧的介绍,学员们的调试和 故障排除能力得到了提高。
未来发展趋势预测
工业物联网与智能制造的 融合发展
随着工业物联网和智能制造技 术的不断发展,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与永宏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通讯实例
本例以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通信实例⼀、准备⼯具及材料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 参数。
S7-200PLC之间进行Modbus通讯实验
1、硬件组态:S7-200PLC CPU 224XP、S7-200PLC CPU 226、维控触屏LEVI 777T、S7-200PLC之间通讯用RS485通讯电缆、S7-200PLC与维控触屏通讯用RS485通讯电缆、编程用USB/PPI电缆。
主从站设定:CPU 224XP主站,CPU 226为从站。
2、通讯端口及设定:主站CPU 224XP PORT0用于Modbus通讯、PORT1用于连接编程电缆。
从站CPU 226 PORT0用于Modbus通讯、PORT1用于连接维控触摸屏COM1(PPI 协议)。
各端子对应接线如下图。
3、实验内容:①主站读从站输入点信号、V存贮区变量;②主站控制从站输出点、写入从站整数变量及浮点数变量并在触摸屏(与从站相连)上显示;③从站读取主站发送数据并处理。
4、CPU226从站通讯初始化编程如下所示。
从站地址规定为6,端口PORT0通讯波特率9600,无校验、无延迟,允许存取所有的I、Q(MaxIQ=128)、和AI(MaxAI=32)数值,保持寄存器的存贮空间为VB3000开始的1000个字。
5、为从站程序块指定库存贮区,注意:程序中不可使用库存储区占用的地址。
6、在维控触屏中下载用于监控Modbus通讯结果的画面程序,如下图。
其中包括从站本机输入点I0.0~I0.7的状态、输出点Q0.0~Q0.7(受主上控制),以及从站Modbus通讯保持寄存器VB3000~VB3013内容、整数VW3000、浮点数VD3000和VD3008内容等。
7、准备好主站通讯程序。
为主站程序块指定库存贮区,注意:程序中不可使用库存储区占用的地址。
程序如下所示(上电初始化程序实际应用时要放在网络1),其中主站输入点I1.0用于触发数据传送,VB3000用于存贮读从站输入点数据,VB5000用于存贮要写入从站控制输出点的数据,VB6000用于存贮要写入从站V存贮区的数据,VB7000用于存贮由从站读取的V存贮区数据(用于验证写从站结果)。
西门子300400PLC与组态王实现ModbusTCP通信配置案例
西门子300400PLC与组态王实现ModbusTCP通信配置案例
西门子300/400PLC用兴达易控PLC转以太网模块CHNet-S7300MD实现以太网通信
1.新建工程并打开工程,右击“IOServer应用组”,选择“添加新 IOServer 应用组”。
•
2. 在弹出的对话框中,填入“应用名称”,点击“确定”。
3. 选择“设备”,在右边空白区域,点击鼠标右键,选择“新建”。
4.在“设备名称”处输入一个名称,点击“下一步”。
5. “采集驱动”选择“S7_TCP”;“链路类型”选择“以太网”,点击“下一步”。
6.“链路逻辑名”默认即可,点击“下一步”。
7.“设备系列”选择“S7-300(TCP)”,“设备地址”的格式为:BCNet-S7MPI 的 IP 地址:0:2,这里BCNet-S7MPI 的 IP 地址为192.168.1.188,点击“下一步”。
8. 其他参数默认,直至完成。
PLC的MODBUS通信实例
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协议的总线或网络之间进行通信。
【经典】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')。
应用案例三菱PLC和LED显示屏实现modbus通讯方法
应用案例三菱PLC和LED显示屏实现modbus通讯方法前两天做了一个小的改造项目,需要使三菱Q系列PLC和一块LED显示屏进行数据通讯,LED显示屏经改造后支持RS232和RS485接口的MODBUS协议,PLC侧安装有一块型号为QJ71C24N-R2的通讯模块,查此模块资料可知道此模块提供两个RS232物理接口CH1的CH2,可进行基于串口的无协议通讯,唯独不能支持MODBUS协议。
考虑到成本问题,不打算更换硬件,最后经过查询资料和验证后,最终实现MODBUS协议通讯。
以下是大概方法,供各位朋友交流参考,不对之处请指正。
首先要了解下什么是无协议通讯和MODBUS协议通讯。
根据度娘所说:所谓无协议通讯就是说通信网络的两个或多个终端通过通信网络实现数据的传输,而不必遵循共同的规定或规则。
Modbus 协议是应用于电子控制器上的一种语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
说简单点无协议通讯就相当于画图,想表达什么就画什么,基本上全世界都能看懂。
而MODBUS协议就是中文,只有中国人能看懂。
要想让一个不会中文的人和一个只懂中文的人交流,就只能让这个不懂汉字的人模仿汉字的写法,尽管他不认识这个字。
所以咱要做的就是教会PLC按照MODBUS协议的格式来和下位机对话,接下来看下MODBUS协议的格式内容,以MODBUS-RTU为例。
站地址:MODBUS网络中设备都有一个属于自己的站地址,用来区分是哪个设备来接收这个信息。
功能代码:MODBUS设备所支持的功能代码(需要查询设备手册),比如这次使用的MODBUS协议卡支持的功能码如下:01 读线圈、03 读取保持寄存器、04 读输入寄存器、05 写单个线圈、06 写单个寄存器、15 写多个线圈、16 写多个寄存器。
数据地址:MODBUS设备对应的寄存器地址,查设备手册可知道。
PLC与PLC通信篇(MODBUS)
2013-9-13
MODBUS指令实现的通讯 ——应用案例一 主站程序
从站程序
2013-9-13
15
2013-9-13
1
MODBUS协议说明
1、MODBUS通讯的底层为RS485信号, 采用双绞线进行联接就可以了,因此传输 距离较远,可达 1000米,抗干扰性能比较 好,且成本低,在工业控制设备的通讯中 被广泛使用,现在众多厂家的变频器、控 制器都采用了该协议。
2013-9-13
2
MODBUS协议说明
将D8126设定为H20,就将COM1口的 通讯协议配置为MODBUS-RTU主站协 议,在V24120版本以上的H2U系列 PLC中,还可直接使用“MODBUS”指 令进行通讯,“MODBUS”指令的4个 操作数支持的数据类型比较灵活,编程 更方便。 选择了MODBUS主站协议,才能进行 MODBUS通讯。
从机 地址
S 1
S 2
n
D
H
操作 命令
L
寄存器起始 地址
数据个 数
收/发数据 起始地址
1、从机地址:主站发送帧中,该地址表示目标接收从机的地址;从机应答帧中,表示本机地 址;从机地址的设定范围为1~247,0为广播通信地址。 2、操作命令:表示读或写操作;0x1=读线圈操作;0x03=读寄存器操作;0x05=改写线圈 操作;0x06=改写寄存器操作。对于变频器而言,只支持0x03读、0x06写的 操作。 3、寄存器起始地址:表示对从机中要访问的寄存器地址,对于MD280、MD320系列变频 器的访问时,对应的就是“功能码号”、“命令地址”、“运行参 数地 址”; 4、数据个数:即从“寄存器起始地址”开始要连续访问的数据个数,对于寄存器变量,以word 为
松下PLC(FP-X )Modbus通讯实例
松下PLC(FP-X )Modbus通讯实例本例以modbus rtu模式进行测试
1
2
3
通讯协议侦测
通讯协议设定
设定成功后,可以测试一下
测试成功之后,关闭温控器软件。
4、打开松下PLC编程软件FPWIN GR,并编写一下程序
然后打开PLC 系统寄存器设置,选择COM1端口设置,然后把参数设置为下图所示
5、当所有软件都准备完成以后,进行硬件的连接。
A 、台达温控器和传感器(PT -100)的接法
B、台达温控器485接头和COM3模块接法
温控器+ 接COM3 S+
温控器-接COM3 S-
6、检查线路和程序无误后,上电后,打开PLC编程软件,打开R10和R11
结果如下图
DT100显示的数据就是温度传感器的实时值。
西门子200PLCmodbus通讯实例(带程序)
西门子200PLCmodbus通讯实例(带程序)
1、在实际应用中,现场不只有plc,还会有智能数显表,上位机通过2个设置多个串口分别读取PLC、智能仪表数据简单不过,但如何实现1个串口读取不同设备数据
2、首先配置好智能仪表从站通讯参数,拿9600 8 1 none 地址3举例
3、200PLC主站程序
第一步初始化,复位modbus库完成位,初始化完成后,启动读写指令m0.1置位
第二步,网络3,填写从站通讯参数
第3步M0.1置位读取从站数据,读取保持寄存器40001-40008 8个数据根据数据格式写入&VB1000,如40001 40002为32位浮点数,则保存在VB1000 VB1001 VB1002 VB1003中,依次类推,读取完成M2.1置位,复位读取从站保持寄存器M0.1 M2.3
读取输入寄存器,读取完成M2.2置位,复位M2,.1
M2.2置位,写数据开始,VB3000写入00001中,写完成,M2.3置位,开始读,M2.2复位。
来源:工控人家园、台达plc教程、工控产品有哪些、三菱plc安装、工控plc书籍、电工论坛、plc模拟量输入模块、工控论坛、()(微信/QQ:503660666) 欢迎分享本文,转载请保留出处!。
西门子PLCs7-1200modbus-tcp通信实例编程详细指导
西门⼦PLCs7-1200modbus-tcp通信实例编程详细指导西门⼦S7-1200 Modbus-TCP通信例⼦【】绝密【】NDA【X】公开⼀、组⽹概述本⽂以 ZKA-4488-ETH 为例介绍西门⼦PLC与深圳市综科智控科技开发有限公司的IO设备进⾏Modbus通讯的步骤设置。
ZKA-4488-ETH 是 8 路数字量输⼊(DI),8 路数字量输出(DO),4路模拟量输⼊(AI,0/4-20mA),4 路模拟量输出设备(AO,0/4-20mA),以太⽹通信。
以 ZKA-4488-ETH 为例,出⼚默认通讯参数如下:ZK模块 IP 为:192.168.0.105TCP 端⼝为:10001(注意:我们模块出⼚时默认端⼝为10001,客户也可以通过ZK模块的配置⽂件把ZK通讯端⼝改成modbus-tcp的默认端⼝502)⼯作模式为:服务器模式⼆、S7-200 Modbus TCP通信1 S7-200 Modbus T CP 通信简介Modbus 是公开通信协议,详细的协议和规范,请访问Modbus 组织的⽹站:/S7-1200 CPU 本体上集成了⼀个 PROFINET 通信⼝,⽀持以太⽹和基于TCP/IP和UDP 的通信标准。
这个PROFINET 物理接⼝是⽀持10/100Mb/s的 RJ45⼝,⽀持电缆交叉⾃适应,因此⼀个标准的或是交叉的以太⽹线都可以⽤于这个接⼝。
使⽤这个通信⼝可以实现 S7-1200 CPU 与编程设备的通信,与HMI触摸屏的通信,以及与其它 CPU 之间的通信,S7-1200 CPU 的PROFINET 通信⼝主要⽀持以下通信协议及服务Profinet IO (V2.0开始)S7 通信(V2.0开始⽀持客户端)TCPISO on TCPUDP(V2.0开始)Modbus TCPHMI通信Web通信(V2.0开始)。
硬件版本V4.1 ⽀持的协议和最⼤的连接资源:S7-1200的连接资源分配给每个类别的预留连接资源数为固定值;您⽆法更改这些值。
S7-200SMART MODBUS通信介绍与实例编程
S7-200SMART MODBUS通信介绍与实例编程西门子smart200PLC的详细结构图一. 西门子S7-200 SMART作为modbus从站1.检查Micro/WIN SMART Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT 和MBUS_SLAVE两个子程序。
西门子smart200的modbus从站库文件图1. 指令树中的库指令2.编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并指定相应参数。
关于参数的详细说明,可在子程序的局部变量表中找到;西门子smart200的modbus从站详细分析图2.调用Modbus RTU通信指令库图中参数意义如下:a.模式选择:启动/停止Modbus,1=启动;0=停止b.从站地址:Modbus从站地址,取值1~247c.波特率:可选1200,2400,4800,9600,19200,38400,57600,115200d.奇偶校验:0=无校验;1=奇校验;2=偶校验e.端口:0=CPU中集成的 RS-485,1=可选信号板上的RS-485 或 RS-232。
f.延时:附加字符间延时,缺省值为0g.最大I/Q位:参与通信的最大I/O点数,S7-200 SMART 的I/O映像区为256/256(目前只能最多连接4个扩展模块,因此目前最多I/O点数为188/188)h.最大AI字数:参与通信的最大AI通道数,最多56个i.最大保持寄存器区:参与通信的V存储区字(VW)j.保持寄存器区起始地址:以&VBx指定(间接寻址方式)k.初始化完成标志:成功初始化后置1l.初始化错误代码m.Modbus执行:通信中时置1,无 Modbus 通信活动时为 0。
n.错误代码:0=无错误3.在CPU的V数据区中分配库指令数据区(Library Memory)Modbus Slave 指令库需要一个781个字节的全局 V 存储区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的通信。