在s7-200 smart系列中已经分享过Modbus RTU通讯的一些基本只是,有需要的朋友可以回顾下,本期开始分享 s7-1200 的 Modbus RTU通讯;
一S7-1200 Modbus RTU 通信概述Modbus 是一种单主站的主从通信模式,Modbus 网络上只能有一个主站存在,主站在 Modbus 网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为 0 - 247,其中 0 为广播地址,从站的实际地址范围为 1 - 247。
Modbus 具有两种串行传输模式:分别为 Modbus ASCII 和 Modbus RTU。S7-1200 支持 Modbus RTU 通信指令,S7-1200 没有 Modbus ASCII 通信的相关指令(如需使用Modbus ASCII,需要自行编程实现)。
Modbus RTU 通信以主从的方式进行数据传输,在传输的过程中 Modbus RTU 主站是主动方,即主站发送数据请求报文到从站,Modbus RTU 从站返回响应报文。
S7-1200 系列以下模块支持 Modbus RTU通信:
通信模块/通信板最新模块订货号已淘汰模块订货号CM1241 RS2326ES7241-1AH32-0XB06ES7241-1AH30-0XB0CM1241 RS422/4856ES7241-1CH32-0XB06ES7241-1CH30-0XB0
6ES7241-1CH31-0XB0
CB 1241 RS4856ES7241-1CH30-1XB0注意:
使用通信模块 CM 1241 RS232 作为 Modbus RTU 主站时,只能与一个从站通讯。 (该模块通常用于链接外设,如扫码枪,读卡器等设备,较少用于Modbus RTU通讯)使用通信模块 CM 1241 RS422/485 作为 Modbus RTU 主站时,则允许建立最多与 32 个从站的通讯。使用通信板 CB 1241 RS485 时,CPU 固件必须为 V2.0 或更高版本,且使用软件必须为 TIA Porta V11 及以上更高版本。RS 232 通讯最长距离为 10 米屏蔽电缆
RS 422/R485 通讯最长距离为 1000 米屏蔽电缆(取决于波特率及安装终端电阻)
二CB 1241 RS485 使用说明CB1241为通信板,安装于s7-1200 CPU本体,因此无法使用标准9针串口(DB9)接口,而是采用接线端子的模式,端子编号X20,如下图;
6ES7241-1CH30-1XB0_G_ST70_XX_00895K
X20端子含义如下:
1-RTS: 请求发送2-TB: 连接终端电阻3-T/RB: B(发送/接收)4-T/RA: A(发送/接收)5-TA: 连接终端电阻6-M: 屏蔽接地CB1241 RS485端子定义与DB9针脚对应关系如下:
针脚9针连接器X201RS485/逻辑接地--2RS485/未使用无3RS485/TxD+3-T/RB4RS485/RTS1-RTS5RS485/逻辑接地--6RS485/5V电源--7RS485/未使用--8RS485/TxD-4-T/RA9RS485/未使用--Shell(屏蔽)6 - M
有细心的朋友应该发现,CB1241共有6个端子,为什么上面表中只有4个,而少了X20中的TA和TB,这是因为标准DB9中没有,TA和TB,TA和TB是CB1241内部终端电阻,可通过接线实现终端电阻的ON和OFF;(对于多个设备的485网络,终端电阻通常放置在485网络的头和尾,并不是所有设备都需要)
终端电阻ON接法:
image-20240531144110742
终端电阻OFF接法:
image-20240531144137087
CB1241 RS485 与 通信伙伴的接线如下图:
6ES7241-1CH30-1XB0_G_ST70_XX_01874P
三CM1241 RS232 接线 使用说明CM1241,RS232使用标准串口DB9接口(公头)
6AG2241-1AH32-1XB0_G_IC03_XX_01470K
CM1241 RS232 针脚说明
针脚说明连接器(公头)针脚说明1 DCD数据载波检测:输入6 DSR数据设备就绪:输入2 RXD从DCE接收数据:输入7 RTS请求发送:输出3 TXD传送数据到DCE:输出8 CTS允许发送:输入4 DTR数据终端就绪:输出9 RI振铃指示器(未用)5 GND逻辑地SHELL机壳接地
注:
RS232通常接2,3,5针脚,2号针脚--RS232 信号输入接收。3号针脚--RS232 信号输出发送。 5--接地等电位 。往往232通讯无法完成,很多是因为忽略了针脚5的接线
四CM 1241 RS422/485 接线 使用说明CM1241,RS232使用标准串口DB9接口(母头)
6ES7241-1CH32-0XB0_P_ST70_XX_04503K
CM1241 RS422/485 针脚说明
针脚说明连接器(母头)针脚说明1逻辑接地或通讯接地6 PWR/td>+5V 与 100Ω串联电阻:输出2 TxD+用于连接RS422
不适用于RS485:输出7未连接3 TXD+信号B(RxD/TxD-):输入/输出8 TxD-信号A(RxD/TxD-):输入/输出4 RTS请求发送(TTL 电平)输出9 TxD-用于连接RS422
不适用于RS485:输出5 GND逻辑接地或通讯接地SHELL机壳接地
RS422 接线方法: 2号与9号针脚 -- RS422 发送信号。 3号与8号针脚 -- RS422 接收信号;SHELL接屏蔽等电位点 。
RS485 接线方法:3号针脚--RS485信号 B(+) ;8号针脚--RS485信号A(-) 1号针脚-电位点。
RS485带终端电阻接法:
hh_EoC7H0wi9m
RS485不带终端电阻接法:
image-20240531161322411
引脚编号网络连接器电缆屏蔽注:RS485连接可直接选用西门子Profibus网络连接器