s71200modbus通讯指令解析汇报.doc
《s71200modbus通讯指令解析汇报.doc》由会员分享,可在线阅读,更多相关《s71200modbus通讯指令解析汇报.doc(24页珍藏版)》请在课桌文档上搜索。
1、wordS7-1200作为Modbus RTU 主站S7-1200 支持Modbus RTU通信模式的模块可作为Modbus RTU主站。以下以 CPU1215C DC/DC/DC和CM1241 RS485 模块为例,介绍S7-1200 Modbus RTU 主站通信组态与编程步骤。硬件和软件需求与所完成的通信任务:硬件: CPU1215C DC/DC/DC (订货号: 6ES7 215-1AG31-0XB0) CM1241 RS485 (订货号:6ES7 241-1CH30-0XB0) PS 307电源订货号:6ES7307-1KA02-0AA0 PC(带以太网卡 TP以太网电缆软件: ST
2、EP 7 Professional V11 SP2 UPD4+HSP ModSim(该软件是第三方软件,可以从 Internet 网络下载)所完成的通信任务:将Modbus RTU从站ModSim中Modbus地址从40001开始的5个字中的数据,分别读取到Modbus RTU主站CPU1215C 中地址从DB1.DBW0开始的5 个字中。1.组态Modbus RTU 通信模块在硬件目录里找到“通信模块“点到点“CM1241(RS485),双击或拖拽此模块至CPU左侧即可,如如下图1所示:图1 组态通信模块接下来,在“设备视图中用鼠标选中CM1241(RS485)模块,在“属性“端口组态中配置
3、此模块硬件接口参数。如如下图2所示:以下以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1,其它保持默认设置为例。图2 RS485 端口设置最后在“硬件标识符里确认一下硬件标识符为271,如如下图3所示:图3 硬件标识符在项目树下选择“CPU1215C DC/DC/DC“程序块“添加新块,在弹出的窗口中选择“OB 组织块 “Startup,添加启动OB 100,如如下图4所示:图4 添加启动OB为使端口一启动就被设置为Modbus RTU通信模式,可在OB 100中调用“MB_M_LOAD指令。调用“MB_M_LOAD指令时会自动弹出创建相应背景数据块的界面,如如下图
4、5所示:图5 调用MB_M_LOAD指令点击“确认为该指令创建背景数据块后,为各输入/输出引脚分配地址。尤其需注意MB_DB输入引脚需指向“MB_MASTER指令的背景数据块,如如下图6所示:注意:“MB_M_LOAD指令输入位“REQ需使用上升沿触发。由于OB 100只在S7-1200启动时执行一次,因此,此例中将“REQ设为“TRUE。图6 MB_M_LOAD指令MB_M_LOAD指令参数意义如下表1所示:引脚说明EN使能端REQ在上升沿执行该指令PORT通信端口的硬件标识符BAUD波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600
5、,76800,115200 注意:所有其它值均无效PARITY奇偶检验选择:0-无;1-奇校验;2-偶校验FLOW_CTRL流控制选择:0-默认值无流控制RTS_ON_DLYRTS延时选择:0-默认值RTS_OFF_DLYRTS关断延时选择:0-默认值RESP_TO响应超时: 默认值 = 1000 ms。MB_MASTER 允许用于从站响应的时间以毫秒为单位。MB_DB对 MB_MASTER 或 MB_SLAVE 指令所使用的背景数据块。DONE完成位:指令执行完成且未出错置1ERROR错误位:0-未检测到错误;1-检测到错误。在参数STATUS中输出错误代码。STATUS端口组态错误代码表1
6、 MB_M_LOAD指令参数意义4.创建DATA_PTR数据发送、接收缓冲区通过“程序块 “添加新块,选择“数据块DB创建 DB 块,选择“标准与S7- 300/400兼容 ,点击“确认键。在DB中创建数据类型为5个字的数组,如如下图7所示:注意:DATA_PTR数据发送、接收缓冲区使用的DB访问类型必须是标准与S7- 300/400兼容。图7 创建DATA_PTR 数据发送、接收缓冲区在OB1中调用“MB_MASTER指令,调用该指令时会自动弹出创建相应背景数据块的界面,如如下图8所示:图8 调用MB_MASTER指令点击“确认为该指令创建背景数据块后,并为各输入/输出引脚分配地址,如如下图
7、9所示:注意:“MB_MASTER指令的输入位“REQ必须使用上升沿触发。以下以S7-1200作为Modbus RTU主站,用F03功能码读取Modbus RTU从站2,从Modbus地址40001开始的五个字,接收的数据存放在缓冲区DB3.DBW0开始区域为例。设置如下所示:MB_ADDR=2,MODE=0,DATA_ADDR=40001,DATA_LEN=5。地址对应关系如下表2所示:Modbus RTU主站CPU1215C 数据缓冲区地址Modbus RTU从站Modbus地址4000140002400034000440005表2 Modbus地址对应关系图9 MB_MASTER指令MB
8、_MASTER指令参数意义如下表3所示:引脚说明EN使能端REQ在上升沿执行该指令,请求将数据发送或读取到Modbus从站MB_ADDRModbus RTU从站地址。默认地址X围:0至247;扩展地址X围:0至65535。值0被保存用于将消息广播到所有Modbus从站。MODE模式选择:指定请求类型DATA_ADDR从站中的起始地址:指定Modbus从站中将供访问的数据的起始地址。DATA_LEN数据长度:指定要在该请求中访问的位数或字数。DATA_PTR数据指针: 指向要写入或读取的数据的 M 或 DB 地址DB访问类型必须是标准与S7-300/400兼容。DONE完成位:上一请求已完成且没
9、有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。BUSY0 无正在进展的 MB_MASTER 操作; 1 MB_MASTER 操作正在进展EEROR错误位: 上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫描周期时间。 STATUS 参数中的错误代码值仅在 ERROR =TRUE 的一个扫描周期内有效。STATUS错误代码表3 MB_MASTER指令参数意义关于MODE,DATA_ADDR,DATA_LEN可在下表4中查看:MB_MASTER Modbus功能Modbus地址参数地址类型Modbus数据长度参数Modbus功能模式0读取00001到09999输出位1
10、到20000110001到19999输入位1到20000230001到39999输入存放器1到1250440001到49999400001到465535扩展保持存放器1到12503模式1写入00001到09999输出位1单个位0540001到49999400001到465535扩展保持存放器1单个字0600001到09999输出位2到19681540001到49999400001到465535扩展保持存放器2到12316模式2有些Modbus从站不支持使用Modbus功能05H或06H写入单个位或字。在这样的情况下,可通过模式2强制使用Modbus功能15H或16H写入单个位或字写入00001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- s71200modbus 通讯 指令 解析 汇报

链接地址:https://www.desk33.com/p-9470.html