广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
干货! 西门子 s7-1200 Modbus RTU通讯详解(下)--(程序篇,篇幅较长)
发布时间:2024-11-26

S7-1200 Modbus 通信指令介绍

TIA Portal V13 SP1 版本开始软件中提供了两个版本的 Modbus RTU 指令集,如下图(软件版本:TIA Portal V17):

图片image-20240603135512944

两个版本主要区别如下:

早期版本的 Modbus RTU 指令集(上图中 MODBUS (V2.2))仅可通过主机架 CM1241 通信模块或 CB1241 通信板进行  Modbus RTU 通信。 主要用于早期项目和 V4.0 之前版本的 CPU。(本期内容不作介绍)新版本的 Modbus RTU 指令集(上图中 MODBUS (V5.0)扩展了 Modbus RTU 的功能,该指令集除了支持主机架 CM1241  通信模块、CB1241 通信板,还支持 PROFINET 或 PROFIBUS 分布式 I/O 机架上的点对点通信模块实现 Modbus RTU  通信。建议 V4.0 以后的  CPU 和串口模块使用该版本指令集。(适用于程序指令V3.0及以后)

程序指令V5.0硬件要求:

S7-1200 CPU 的固件版本不能低于 V4.1CM1241 通信模块不能低于 V2.1CB1241 没有要求分布式上的串口模块包括:ET200SP 的 CM PtPET200MP 的 CM PtP RS232 HFET200MP 的 CM PtP RS422/485 HF

新版本 Modbus RTU 指令集所支持的点对点模块如下图所示:

图片image-20240603140456893

新版本 Modbus RTU 指令集中包含 Modbus RTU 主站指令和从站指令。

图片image-20240603140646952

S7-1200 Modbus RTU CB1241 硬件组态

本文以 CPU1214C + CB1241(RS485)模块为例,介绍新版本 Modbus RTU  指令主从通信的编程步骤。 CB1241和CM1241 (RS485)硬件组态有略微差别,软件编程都是一致的;

CB1241 (RS485)硬件组态步骤:

设备组态,添加CB1241,打开设备视图,添加 S7-1200CPU,并在硬件目录里找到“通信板”→“点到点”→“CB1241(RS485)”,拖拽此模块至 CPU  本体,如下图:

图片image-20240603142322953

组态通讯参数,波特率、奇偶校验、数据位、停止位。(通讯参数需主站与从站必须一致

图片image-20240603142833148

注:对于CM1241/CB1241 ,当用于 Modbus 通信时,此处设置的停止位无效, 需要在 “Modbus_Comm_Load” 指令的背景 DB 的静态变量中修改 “STOP_BITS”

在系统常数中查看硬件标识符(一般从269开始),该参数在程序编程中会被使用,如下图

图片image-20240603143115588

CM1241 (RS422/485)硬件组态步骤:

设备组态,添加CB1241,打开设备视图,添加 S7-1200CPU,并在硬件目录里找到“通信模块”→“点到点”→“CM1241 (RS422/485)”,拖拽此模块至 CPU 左侧,如下图:

图片image-20240603143722204

在模块属性,端口组态中配置模块硬件接口,通讯参数,波特率、奇偶校验、数据位、停止位。(通讯参数需主站与从站必须一致

图片image-20240603144733597

注:对于CM1241/CB1241 ,当用于 Modbus 通信时,此处设置的停止位无效, 需要在 “Modbus_Comm_Load” 指令的背景 DB 的静态变量中修改 “STOP_BITS”

在系统常数中查看硬件标识符(一般从269开始),该参数在程序编程中会被使用,如下图

图片image-20240603144815858

注:由于已经配置了CB1241,因此新插入的CM1241硬件地址为270;


展开全文
拨打电话 微信咨询 发送询价