西门子PLC 1200和1500的ModbusRTU通讯实例

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和검색引流。

西门子PLC 1200和1500的ModbusRTU通讯实例
在现代化高度集成工业中,经常用到PLC和PLC之间的通讯,常见的通讯modbus,profibus DP,profinet ,CANOPEN等等通讯,今天我们以西门子TIA博途平台讲解两台PLC如何做Modbus RTU通讯。

在做通讯前,我们必须满足以下软硬件要求:
1.一台装有TIA V16博途软件电脑;
2.两台西门子시리즈PLC,必须满足博途V16版本使用;
3.一个DP9针公头(1200端使用),一个DP15针公头(1500端使用)及一条两芯带屏蔽线(规格0.5平方的);
4.今天实验的通讯模块型号规格如下:
CM1241RS422/485 订货号:6ES7 241-1CH320XB0;
CMPtP RS422/485HF 订货号:6ES7 541-1AB00-0AB0;

下面图片展示今天所需要的通讯模块及DP头;
西门子PLC 1200和1500的ModbusRTU通讯实例插图


1200端通讯模块

西门子PLC 1200和1500的ModbusRTU通讯实例插图1


1500端通讯模块

西门子PLC 1200和1500的ModbusRTU通讯实例插图2


1200端DP9针公头

西门子PLC 1200和1500的ModbusRTU通讯实例插图3


1500端DB15针公头

1200和1500 modbus连线:
1200 PLC端 1500PLC端
3+ 11+
8- 4-
组态主站(1200端):
1.)建立一个项目,并添加CPU和RS485模块如下图所示:

西门子PLC 1200和1500的ModbusRTU通讯实例插图4



西门子PLC 1200和1500的ModbusRTU通讯实例插图5



西门子PLC 1200和1500的ModbusRTU通讯实例插图6



西门子PLC 1200和1500的ModbusRTU通讯实例插图7



2.)硬件我们添加完毕,这里设置CM1241-R485模块参数:

西门子PLC 1200和1500的ModbusRTU通讯实例插图8



3.)建立一个供1200PLC端(主站)存储데이터的DB块:

西门子PLC 1200和1500的ModbusRTU通讯实例插图9



修改DB块“优化进行访问”。

西门子PLC 1200和1500的ModbusRTU通讯实例插图10




西门子PLC 1200和1500的ModbusRTU通讯实例插图11



4.)建立需要的데이터:

西门子PLC 1200和1500的ModbusRTU通讯实例插图12



5.)添加一个FC函数块:

西门子PLC 1200和1500的ModbusRTU通讯实例插图13



6.)我们把程序写到FB程序段里面,设置Modbus_Comm_Load管脚参数:

西门子PLC 1200和1500的ModbusRTU通讯实例插图14



西门子PLC 1200和1500的ModbusRTU通讯实例插图15



7.)因为Modbus_Comm_Load块默认工作模式时RS232,我们这里需要修改成RS485模式,修改有两种方式,第一种是Modbus_Comm_Load背景DB块里面修改“MODE”参数由16#00修改成16#04,如下图所示:

西门子PLC 1200和1500的ModbusRTU通讯实例插图16



第二种是利用“move”指令传递一个4给到Modbus_Comm_Load_MODE里,如下图所示:

西门子PLC 1200和1500的ModbusRTU通讯实例插图17



设置Modbus_Mastr功能块管脚参数:

西门子PLC 1200和1500的ModbusRTU通讯实例插图18



西门子PLC 1200和1500的ModbusRTU通讯实例插图19



西门子PLC 1200和1500的ModbusRTU通讯实例插图20



8.)测试程序:
写入从站1500Q区:

西门子PLC 1200和1500的ModbusRTU通讯实例插图21



读取从站1500Q区:

西门子PLC 1200和1500的ModbusRTU通讯实例插图22



编写完成主站程序,接着组态从站PLC
10.)建立一个项目,并添加CPU和通讯模块等如下图所示:

西门子PLC 1200和1500的ModbusRTU通讯实例插图23




西门子PLC 1200和1500的ModbusRTU通讯实例插图24




西门子PLC 1200和1500的ModbusRTU通讯实例插图25



11.)设置PtP-RS422/485通讯模块参数如下图所示:

西门子PLC 1200和1500的ModbusRTU通讯实例插图26



12.添加一个全局데이터背景DB块:

西门子PLC 1200和1500的ModbusRTU通讯实例插图27




西门子PLC 1200和1500的ModbusRTU通讯实例插图28




西门子PLC 1200和1500的ModbusRTU通讯实例插图29



13.)建立存储데이터:

西门子PLC 1200和1500的ModbusRTU通讯实例插图30



14.)我们开始写入程序,给FB程序段添加一个“Modbus_comm_Load”通信初始化指令块,并设置相应的管脚参数:

西门子PLC 1200和1500的ModbusRTU通讯实例插图31




西门子PLC 1200和1500的ModbusRTU通讯实例插图32



由于Modbus_comm_Load”功能块默认是RS232,而我们启用RS485,所以的修改。第一种是直接修改 Modbus_comm_Load如下图所示:

西门子PLC 1200和1500的ModbusRTU通讯实例插图33



第二种和前面讲修改1200通信데이터块的方法一致如下图:

西门子PLC 1200和1500的ModbusRTU通讯实例插图34



15,添加从站指令块:

西门子PLC 1200和1500的ModbusRTU通讯实例插图35



16.测试程序:
主站1200写入从站1500的Q0.0,Q0.1;

西门子PLC 1200和1500的ModbusRTU通讯实例插图36



从站1500写入主站1200的Q0.2,Q0.3, Q0.4;

西门子PLC 1200和1500的ModbusRTU通讯实例插图37



监控程序:

西门子PLC 1200和1500的ModbusRTU通讯实例插图38



 
 
 
 
 
今天 09:59
0
 
相关标签
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 검증和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

您的邮箱주소不会被公开。 必填项已用 * 标注