贵州省遵义市西门子中国总代理-西门子选型-西门子技术支持-西门子维修服务
- 供应商
- 湖南西控自动化设备有限公司
- 认证
- 联系电话
- 15344432716
- 手机号
- 15386422716
- 销售顾问
- 杨本刚
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 更新时间
- 2024-12-12 08:50
s7-1200 支持modbus rtu通信模式的模块可作为modbus rtu主站。以下以cpu1215cdc/dc/dc和cm1241 rs485模块为例,介绍s7-1200modbusrtu主站通信组态及编程步骤。
硬件和软件需求及所完成的通信任务:
硬件:
① cpu1215c dc/dc/dc (订货号:6es7 215-1ag31-0xb0)
② cm1241 rs485 (订货号:6es7 241-1ch30-0xb0)
③ ps 307电源(订货号:6es7307-1ka02-0aa0)
④ pc(带以太网卡)
⑤ tp以太网电缆
软件:
① step 7 professional v11 sp2 upd4+hsp
② modsim(该软件是第三方软件,可以从 internet 网络下载)
所完成的通信任务:
将modbusrtu从站modsim中modbus地址从40001开始的5个字中的数据,分别读取到modbusrtu主站cpu1215c中地址从db1.dbw0开始的5个字中。
1组态modbus rtu 通信模块
在硬件目录里找到“通信模块”→“点到点”→“cm1241(rs485)”,双击或拖拽此模块至cpu左侧即可,如下图1所示:
图1 组态通信模块
接下来,在“设备视图”中用鼠标选中cm1241(rs485)模块,在“属性”→“端口组态”中配置此模块硬件接口参数。如下图2所示:
以下以传输率=9.6kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1,其它保持默认设置为例。
图2 rs485 端口设置
zui后在“硬件标识符”里确认一下硬件标识符为271,如下图3所示:
图3 硬件标识符
2添加启动ob
在项目树下选择“cpu1215cdc/dc/dc”→“程序块”→“添加新块”,在弹出的窗口中选择“ob 组织块”→“startup”,添加启动ob100,如下图4所示:
图4 添加启动ob
3调用mb_comm_load指令
为使端口一启动就被设置为modbusrtu通信模式,可在ob100中调用“mb_comm_load”指令。调用“mb_comm_load”指令时会自动弹出创建相应背景数据块的界面,如下图5所示:
图5 调用mb_comm_load指令
点击“确认”为该指令创建背景数据块后,为各输入/输出引脚分配地址。尤其需注意mb_db输入引脚需指向“mb_master”指令的背景数据块,如下图6所示:
注意:“mb_comm_load”指令输入位“req”需使用上升沿触发。由于ob100只在s7-1200启动时执行一次,因此,此例中将“req”设为“true”。
图6 mb_comm_load指令
mb_comm_load指令参数意义如下表1所示:
引脚
说明
en
使能端
req
在上升沿执行该指令
port
通信端口的硬件标识符
baud
波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 (注意:所有其它值均无效)
parity
奇偶检验选择:0-无;1-奇校验;2-偶校验
flow_ctrl
流控制选择:0-(默认值)无流控制
rts_on_dly
rts延时选择:0-(默认值)
rts_off_dly
rts关断延时选择:0-(默认值)
resp_to
响应超时:默认值 = 1000ms。mb_master 允许用于从站响应的时间(以毫秒为单位)。
mb_db
对 mb_master 或 mb_slave 指令所使用的背景数据块。
done
完成位:指令执行完成且未出错置1
error
错误位:0-未检测到错误;1-检测到错误。在参数status中输出错误代码。
status
表1 mb_comm_load指令参数意义