设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
Modbus RTU通信教程连载(3)-主站的编程
返回列表
发新帖
[西门子]
Modbus RTU通信教程连载(3)-主站的编程
[复制链接]
187
|
0
|
2024-8-10 21:11:59
|
显示全部楼层
|
阅读模式
前面的文章我们介绍了Modbus RTU通信例程中主站的配置,今天这篇文章,我们来介绍下主站S7-1200的编程。
新建一个全局数据块"DB_MODBUS_COMM"。在该数据块中新建三个变量:COMM_DONE、COMM_ERROR和COMM_STATUS,用来保存指令“Modbus_Comm_Load”的运行状态,如下图:
新建一个全局数据块“DB_MODBUS_MASTER”,用来保存读取及写入的数据。其中:
字数组“Read_Data_Words”用来保存读取的40001~40010的数据;
字数组“Write_Data_Words”是用于写入到从站Modbus地址40011~40016的数据;
位数组“Read_Bits”用来保存读取从站Modbus地址10001~10008的数据;
位数组“Write_Bits”是用于写入到从站Modbus地址00001~00008的数据;
无符号短整型(USInt)变量“Step”用来记录Modbus通信的步骤。
如下图:
Step变量的值决定通信的步骤,具体定义如下:
1)Step==1时,Modbus主站读取从站Modbus参数地址40001开始的10个字长的数据;
2)Step==2时,Modbus主站将6个字长的数据写入到从站起始Modbus参数地址40011;
3)Step==3时,Modbus主站读取从站Modbus参数地址10001开始的8个位的数据;
4)Step==4时,Modbus主站将8个位写入到从站Modbus参数地址00001;
当Modbus_CommLoad初始化完成时,跳转到步骤1:
添加Modbus_Master指令,系统会自动提示创建背景数据块,如下图:
注:该数据块中的“MB_DB”就是指令“Modbus_Comm_Load”的“MB_DB”参数。
新添加的Modbus_Master指令如下图:
指令“Modbus_Master”各参数的定义如下:
步骤1(Step1)的代码如下:
当步骤1完成或者出错时,跳转到步骤2:
步骤2的代码如下:
同样的,当步骤2完成或出错时,跳转到步骤3;跳转代码就不一一列出了,这里仅接触步骤3和步骤4的代码,如下图:
好了,关于Modbus RTU通信的主站S7-1200的编程就先介绍到这里,后续文章我们介绍从站S7-200 Smart的配置与编程。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
北岛李工
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』