回复:modbus rtu 技术求助方案探讨

已锁定

flying_lin

  • 帖子

    210
  • 精华

    1
  • 被关注

    2

论坛等级:侠士

注册时间:2019-06-13

钻石 钻石 如何晋级?

发布于 2022-10-31 09:57:04

7楼

展开查看
以下是引用宝冬在2022-10-31 05:50:41的发言 >6楼

这种调度方式不需要从站一样。设备各管各的,彼此功能无关,各自的通信表也不同。唯一有关的是它们都竞争一个485端口。甚至连波特率和通信协议都可以不一样。200smart就会麻烦一些。这种方式,在本质上需要封装各个设备,并把通信作为IO对待,一并封装进去。什么时候可以使用通信IO,如何使用通信IO资源,是各个设备单元的内部事务。

同理,如果这些设备,竞争的是同一个TCP或UDP连接,来传递modbus或其它串口协议报文,也是一样的设备单元结构,只是通信IO指令变了。


以下是引用李岩在2022-10-30 18:44:52的发言 >5楼:宝儿老师的思路非常...

引用5楼详细内容:

宝儿老师的思路非常不错。

但赶脚楼主是一个CPU(smart),下面的从站可能会扩充。

本胖脚的还是可以不用改程序的,但要求从站都是一样的(主要是通信协议),而且地址最好是连续的,当然不连续也是可以的,但稍微麻烦些。

以下是引用宝冬在2022-10-29 21:20:49的发言 >2楼:一对多是下图这个意...

引用2楼详细内容:

一对多是下图这个意思吧?网上随便截个图,没玩过Lora无线透传。


可以把每个从站设备的整套通信参数,当作一个虚拟的通道。每个通道留给一个实体设备。

操作人员在现场,从屏幕上输入从站号和波特率。配置一个,上线轮询一个。没有配置的通道不参与轮询。参数错了,踢出轮询并报警。


例1:程序预留5个通道,只有一个配置了从站号,上线轮询。本案例可以自动匹配波特率变化 。还有4个设备可以未来加入。


图2:5个预留通道都配置了设备参数,5个从站都可以参与轮询。但有2个设备的参数错误或物理设备不在线,被踢出轮询。


关于通道的配置,原本打算开放给现场操作人员的灵活性,可以自由调整设备轮询次序。后来考虑到这些人会胡乱设置,把多个从站挤到一个通道(如下图),还要费事给他们解释通道是什么。就禁止了,程序加载后自动分配通道占位。


上面的例子是用1200博图做的,200Smart会费事。但留给现场操作的应该是个傻瓜化体验的界面方式,自由配置和测试。


程序中要对不同种类的modbus设备,事先预留出足够数量的通道和空设备实例。界面上配置了通信参数和工艺选择及参数后,这些空的通道和实例就和现实的物理设备匹配上了。就和游戏的不同副本一样道理。


你这个方式好。

目前我还没有想明白怎么实现掉站处理的实现方式。也就是轮询调度的问题没有实际处理好。大佬推荐一下几个这方面的帖子我仔细看看   理解透调度的问题,估计我的这个痛点就解决了。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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