回复:用自由口通信制作的ModbusRTU协议的Master指令的SCL源码

已锁定

宝冬

  • 帖子

    423
  • 精华

    28
  • 被关注

    256

论坛等级:至圣

注册时间:2016-07-06

钻石 钻石 如何晋级?

发布于 2023-02-04 10:29:47

59楼

本帖指令用法


这是个modbus应用中的Master指令(称之为MBMasterPtP)。把它与低版本的官方MB-com-load指令配对用即可,就和正常Modbus通信套路一样。



以我自己的某个案例应用方式为例具体说明如下:


把这个MBMasterPtP指令,与官方低版本的MBMaster,平行的在IF-Else判断中使用。如果读取数据小于等于29个word,就用官方低版本的MBMaster。如果大于29个,就切换用这个MBMasterPtP指令。


两者都与官方MB-com-load指令配对使用。


MB-comm-load指令所必须绑定的master数据块,依然是官方低版本的MBMaster的背景数据块,不需要变动。


MBMasterPtP指令的运行,与com-load绑定的Master数据块无关,是独立运行的。


它只是用于官方Master指令不管用的时候,或者扩展改写为其它任意串口通信协议的情况,并且以相同的原有Modbus程序框架的方式来运转,无需改动原程序框架。


只要在原有Modbus程序中使用Master指令的地方,以平行else判断的方式插入本指令即可。


我在另一个帖子中发的MBmasterUDP也是以这样的平行方式插入原有框架。


这样设计的目的,是为了让同一个设备FB框架,具备以不同的通道或协议方式访问串口设备,而无需另外再写FB。比如在现场把一个Modbus设备从CM1241改到连接串口服务器,可以不用改程序。


这也是为什么我做的这两个指令的接口,和官方Master指令的接口格式几乎是一致的原因。为的就是原来的Modbus程序中的数据类型不用更改,直接关联管脚即可。便于平行切换通信通道。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15698条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。