Modbus_RTU的通讯方式

Modbus_RTU的通讯方式

RTU 半双工通讯方式

本次使用的是 CPU:1215C DC/DC /RLY

通信模块:CM1241(RS232/RS485)硬件标识符:269(如图 1)

1

 

通信对象是ZNZS2 转速表。首先我们要收集到该转速表的波特率(9600)、功能码(03:保持型寄存器 40001)、地址(3)等信息。

创建通信指令

  1. 介绍

RTU通讯有两种通信指令:Modbus(RTU)是新版本,里面的内容更多。Modbus是老版本,本次我们就是用的该版本。(如图 2)

2

 

  1. 创建

组态端口我们就不再OB100中创建了,统一创建在OB1中,给FirstScan让他使能。拖入组态端口(MB_COMM_LOAD)和主站通信(MB_MASTER) (如图 3)

3

 

MB_COMM_LOAD:(如图 4)

REQ: 使能 (FirstScan)

PORT: 通信端口ID (硬件标识符位269的通信模块)

BAUD: 波特率 (9600)

PARITY:有无奇偶校验 (无奇偶校验)

MB_DB:“MB_MASTER”或“MB_SLAVE”指令的背景数据块的引用 ("MB_MASTER_DB")

4

 

后面的DONE、ERROR这些东西可以先不写,等我们有多块表需要轮询时在添加。

MB_MASTER:(如图 7)

REQ: 使能 (选择0.5HZ的时钟)

MB_ADDR: 从站的地址  (也就是我们表的地址:3)

MODE: 0:读 1:写    (读取:0)

DATA_ADDR:   寄存器起始地址   (40001)

DATA_LEN: 数据长度,我们需要读多长 (根据参数,我们只有1个数据:1)

DATA_PTP: CPU存储地址   (取到数据后放到我们PLC的什么地方:DB2 int数组中)   注:数据块需要取消优化访问。 (如图 5图 6)

5

 

6

 

7

 

  1. 成功

8

 

注意:如果报错请查看报错信息,检查波特率、地址、寄存初始地址、读取长度(不能多读,从站中只有一位,如果去读两位肯定报错)

  1. 四字真言

主从一致

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值