分享

西门子1200和西门子1500系列PLC

 灿如星辰 2023-04-25 发布于江苏

Modbus RTU通讯浅谈Modbus RTU通讯浅谈

在现代化高度集成工业中,经常用到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头;

文章图片1

1200端通讯模块

文章图片2

1500端通讯模块

文章图片3

1200端DP9针公头

文章图片4

1500端DB15针公头

1200和1500 modbus连线:

1200 PLC端 1500PLC端

3+ 11+

8- 4-

组态主站(1200端):

1.)建立一个项目,并添加CPU和RS485模块如下图所示:

文章图片5
文章图片6
文章图片7
文章图片8

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

文章图片9

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

文章图片10

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

文章图片11
文章图片12

4.)建立需要的数据:

文章图片13

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

文章图片14

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

文章图片15
文章图片16

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

文章图片17

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

文章图片18

设置Modbus_Mastr功能块管脚参数:

文章图片19
文章图片20
文章图片21

8.)测试程序:

写入从站1500Q区:

文章图片22

读取从站1500Q区:

文章图片23

编写完成主站程序,接着组态从站PLC

10.)建立一个项目,并添加CPU和通讯模块等如下图所示:

文章图片24
文章图片25
文章图片26

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

文章图片27

12.添加一个全局数据背景DB块:

文章图片28
文章图片29
文章图片30

13.)建立存储数据:

文章图片31

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

文章图片32
文章图片33

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

文章图片34

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

文章图片35

15,添加从站指令块:

文章图片36

16.测试程序:

主站1200写入从站1500的Q0.0,Q0.1;

文章图片37

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

文章图片38

监控程序:

文章图片39

以上文章简单的介绍西门子1200PLC和西门子1500PLC的ModbusRTU通讯,经过真机

测试,读写正确。由于时间仓促和自己水平有限,难免文章种介绍不清楚甚至错误,望大神

提出宝贵意见或建议,小的在此感谢了!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多