分享免费的编程资源和教程

网站首页 > 技术教程 正文

写给初学者的博途教程(MODBUS-RTU通讯组态指令应用)

goqiw 2024-11-07 11:14:04 技术教程 265 ℃ 0 评论

哈喽,大家上午好呀!


写给初学者的博途教程(MODBUS-RTU通讯组态指令应用)


我们接着上篇文章,讲解如何使用MODBUS通信指令。

MODBUS通信需要使用到3个指令:

①MB_COMM_LOAD指令

②MB_MASTER指令(主站指令)

③MB_SLAVE指令(从站指令)


通信指令在通信-通信处理器-MODBUS(图1-1):

图1-1


在通信处理器中,有MODBUS(RTU)和MODBUS;


他俩是有一定区别的:

先讲下MODBUS(RTU),在指令文件夹中有3个指令(图1-1),组态MODBUS的端口,作为MODBUS主站通信以及作为MODBUS从站通信。


在使用时,只能应用于PROFINET或profibus-dp的et200mp或et200sp上面的串行模块,在使用modbus-rtu通信时能用;也可以选择1200plc固件版本为4.1的版本,通信模块cm1241为2.1版本的,也可以使用modbus(rtu)指令。


而MODBUS指令文件夹中同样有3个指令;plc扩展的cm1241通信模块,或者是通信信号板cb1241,在选用指令时更多的会使用modbus指令。


介绍下MODBUS文件夹中的指令

第一个:mb-load,这条指令是用于设置modbus通信端口;

第二个:master指令,是plc作为modbus主站时候的指令;

第三个:mb-slave指令,是用于plc作为modbus从站时的指令。


可以发现,在modbus指令中,都有在ptp模块或ptp端口字样,这是指通信使用的是在plc侧扩展的通信模块。


我们选用S7-1200PLC系列的1215CDC/DC/DCplc,版本为4.2版本的plc,使用的通信模块CM1241(RS485),来实现通信的功能,指令是MODBUS文件夹中的指令。


硬件组态完成后,在Main中拖入指令

第一个指令,是MB_COMM_LOAD,用于组态端口

图1-2


名称以及编号可以更改,不过不建议修改编号;


引脚介绍


REQ:在上升沿执行指令;

Port:指模块拓展的硬件标识符(演示怎么添加)

BAUD:波特率;这是根据通信双方的波特率进行选择的。

(常用的9600)

PARTY:奇偶校验码(有0、1、2三种选择)

0:无检验、1:奇检验、2:偶检验。

图1-3


FLOW_CRTL、RST_ON_DLY、RST_OFF_DLY、RESP_TO这4个灰色的引脚,是用于RS232通信的,在这里不使用。


MB_DB:表示的是下面的MB_MASTER指令或者是MB_SLAVE指令上面的DB块,如果你当前这个plc做从站,那么这里填的就是MB_SLAVE指令的DB块;


输出引脚

DONE,完成位,

ERROR,故障状态显示位,

STATUS,这是状态存储,存储的错误代码。


MB_COMM_LOAD指令在程序的执行过程当中,一个端口只需要激活一次该指令。

可以如上所示,使用系统存储器位的首次循环功能,也可新建一个组织块OB100(Startup),将指令放于OB100内。


今天《写给初学者的博途教程29(MODBUS-RTU通讯组态)》小智就分享到这,大家可以收藏使用,如果遇到问题或者不能理解的地方可以私聊或评论留言,如果喜欢关注小智,点赞转发谢谢!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表