【开源】Modbus设备的单FB封装和多设备平行调用的通用架构 ------ 一个温控器案例的完整项目文件

已锁定

宝冬

  • 帖子

    1734
  • 精华

    55
  • 被关注

    221

论坛等级:至圣

注册时间:2016-07-06

钻石 钻石 如何晋级?

【开源】Modbus设备的单FB封装和多设备平行调用的通用架构 ------ 一个温控器案例的完整项目文件

18912

114

2023-03-29 06:06:12

star star star star star

首先请注意:这不是通常所说的Modbus通信模块。而是一个具体设备的FB,和它在触摸屏上的交互界面。 

 

Modbus是作为这个设备的IO被嵌入进FB。我追求的是:一个设备只需一个FB实例,通信只是它的IO管脚


为什么要这样呢?因为作为买来的一个物理实体设备,485和Modbus是长在它身体里的。并不存在一个单独的可以拿在手里的实体物件叫Modbus模块,通信本来就是设备的内在功能的一项。而我喜欢抽象与现实的对称,也就是:现实中的一个可以拿在手里的完整东西,程序中就对应一个FB,这就是它的抽象孪生,除此没了。

我不想额外造出一个在现实中不存在单独对应体的抽象体。

解耦分隔在FB内部就可以了,正如现实中的一个完整设备,它的内部各个组件功能也可以相对独立一样。

设备FB内部采用的是分层解耦。


多个设备FB实例之间,是平行调用的,没有上级管理者。不管是同类设备,还是不同种类的,都可以。


开源的意义在于这个设计背后的思想。至于能理解和启发运用到什么程度,看代码吧。我在其它帖子中介绍过,其实是模仿了法治社会中的自由人的行为方式。

 

之所以说它是通用架构:如果你理解了,可以按照它的设计思想,很容易把它改写成任何种类Modbus设备,且可以灵活扩展和增减,适应多变且复杂的任何场景需求。这是个面向开放的设计。


其实并不局限于Modbus。任何多个实体之间,存在竞争性协调使用稀缺公共资源的场景下,都可以采用这个架构中的调度和解耦思想。这才是它的真正本意

 

我以前分享过用自由口PtP做的MB-Master指令,还有可以运行在UDP上的MB-Master指令,它们可以被嵌入这个框架。

可以体验:一个设备FB,同时具备通过PLC本体485串口,和通过以太网UDP走串口服务器,可以在不同通道间,从HMI界面自由切换,来运转Modbus的效果。

 

项目是用博图V14Sp1的做的(PLC部分全部是SCL),体积大约40兆,归档后也有2.6兆,只好用网盘分享了,链接是永久的。

链接:

https://pan.baidu.com/s/1BrLdX9dee_lPJErdFWTbmA?pwd=qixe

提取码:qixe

 

项目硬件:1214C + CB1241 + TP1200 + 5个West品牌的温控器

温控器型号:在HMI首页上可以看到。这个英国品牌现在国产也不贵。如果按照首页上的型号买两个,可以连上PLC实机体验效果,能帮助理解架构设计。

 

PLC与HMI之间采用的是:读写分离的、接口式的、上下位交互设计。


这个项目中的UDT没用放进库。HMI上没有用面板,用了多路复用。


---------------------------------------------------------------------

退一步,用结构解决问题。不欢喜于局部算法。

用结构把复杂场景分解成简单元素。共性是一种结构,可以为元素进行分类。

把生活投射进结构设计,表里对称。


【开源】Modbus设备的单FB封装和多设备平行调用的通用架构 ------ 一个温控器案例的完整项目文件 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有13832条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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