开源SCADA软件也亟需标准化

电子说

1.3w人已加入

描述

FUXA——基于Web的过程可视化软件

HMI

这是一款开源软件

有感兴趣的读者可以去了解,也可以去下载软件进行实际操练验证其性能。然而我本文的目的并不是要推荐此软件,甚至,这个软件我也并没有下载安装和具体了解。而只是借此机会表达些我对各类SCADA软件的看法。

除了传统上如WINCC, INTOUCH, IFIX等大公司推出的专业的SCADA软件之外,工控行业还有许许多多类似的小型的SCADA软件。通常是个人一己之力开发的,以小巧灵活著称。

比起大公司动辄几百人的研发团队,这种个人开发的小而美的软件功能上自然会有较大的差距。所以必然会走向开源路线,含义即为,软件都免费给你用了,源码也白给你了,功能不足的地方,每个使用者自己想办法做二次开发吧!

所以,我都不需要去研究的,就知道他们能做到的标准化的水平,离我的期望还很远,离整个行业未来所需要的标准化的架构还很远。

我理想中的SCADA的标准化是啥样子的呢?简单说要像PCS7或者BST以及LBP例子一样,已经实现了基本设备类型的模板定义和操控功能。

工业领域, 基本的设备类型其实只是数量有限的那么几种,电机,阀,模拟量等。把这些基本类型的接口定义规范好了, 做成标准模板,然后就可以无限重复去使用了。遇到相似类型的更复杂的设备类型,还可以在其基础上去继承扩展。

有的人单单从我这里泛泛地描述,会认为这功能很简单,没有什么价值。然而事实上,整个工控行业,除了西门子做过上述提到的几个例子之外, 很少有公司做出过这样的示范架构。 

而这个模板架构是非常有意义的。在没有这个模板的情况下,所有人都吭哧吭哧从最基础的每一个画面元素和基础的数据类型开始搭建通讯和数据状态显示和控制,相当于全行业的人都在最低级的起步阶段重复造轮子。

而有了这个模板架构,大多数的人可以直接使用这套模板作为模块元件,快速搭建自己的系统。而即便有少数行业少数人群,对这套现成的架构界面布局数据接口等不满意,要另起炉灶自己重做,也至少有一个技术上可以参考的路线。比自己完全从头去趟路子要容易的多。

近些年新兴起的一些国际标准和协议,如PLCOPEN , OPC UA,PACKML等,都对数据类型进行了扩展,支持更复杂的数据类型,加入了对对象、方法、事件等面向对象基本元素的支持。所以作为SCADA软件,到目前还仅仅停留在简单数据类型,或者顶多支持数据结构,是远远不够的。

就如我们在十几年前开始入手学习WINCC和PLC的时候,放了大量精力在研究各种画面技巧,变量组合和拆位的技巧,画面窗口管理等技能。然而,当发现了有官方现成的模版架构后,原来积累的技能素材等便迅速弃用了。转而研究和学习使用这些模块化的定制好的功能实现方法。

我在编著《西门子WINCC从入门到精通》的书的时候, 前面的章节简单介绍了基本用法,建议作为了解懂得其基本用法,甚至演示的用法也只是找来的现成的用法从中拆分解读。而到书的最后环节,则重点推荐了官方例程架构,引导读者在掌握基本概念基础上去重点学习掌握官方例程。

因为这套标准化的模板架构主要是要和PLC中的结构对接的。所以原书中并没有展开讲解。反而在后一本《PLC标准化原理与方法》中,除了讲解PLC程序功能块的部分,还花了大量的笔墨分析解读了模板例程在上位方面的功能实现。

其实是补上了第一本书中此部分欠缺的缺口。

西门子后来新出的LBP例程则内容更丰富些,除了包含了传统的WINCC的界面, 还包含了TIA PORTAL下的触摸屏和手机端的功能演示,而且画面比BST的画面更精美。

HMI

那么我们做的烟台方法的项目,只要乐意,均可以随时切换到LBP的架构来,PLC程序的底层模块使用LBP的PLC程序块,然后上位的HMI和SCADA则可以直接套用LBP的界面。当然, 如果要做到PLC程序不更改,而只换HMI界面,也是可以做到的。然而需要对比两侧的控制字状态字的定义,做出相应的修改调整。

有一定的工作量,但都是目标可控的,相比起用其它的HMI或者SCADA来说还是幸福的。

西门子HMI/SCADA之外的绝大部分品牌的HMI和SCADA,则都没有这样的幸运了。你想要标准化的设计,全部需要从头做轮子做起。那些开发HMI和SCADA软件的工程师,通常对标准化的定义是能做到数据类型兼容的级别就到头了。不会再有额外的精力封装到设备的层级。

当然,这也不能全怪他们。毕竟,单纯站在SCADA的角度,下位的PLC并没有一个约定俗成的协议来约定这些设备级别的数据接口,要他们凭空捏造一个也不现实。而他们往往是纯粹的只做软件的软件工程师,对下位的PLC并没有多少话语权,也没多少兴趣去建立接口规范。

所以,我现在提出来一个目标,即不仅仅本文所提及的这个SCADA软件FUXA,而是包括它在内的所有HMI/SCADA,还有各种编程语言直接生成的程序架构,都应该有一个实现这种标准化应用的框架模板,然后未来整个行业都可以从中获益,而不是每个做项目的工程师都从一个数据框,一个按钮开关,一个指示灯开始做轮子。

当然, 这个目标不是为我自己的。我没那么多工程项目应用,也没有那么多花样的上位配置需求。所以,总体来说,还是为整个行业描绘的蓝图。这个目标的实现更为久远。倒不是它们的实现难度有多大,而是工控行业长久以来的习惯,大多数人都还停留在以自己做轮子为荣的阶段。不太习惯使用别人做好的现成的成果,而情愿自己吃点苦全都亲力亲为从头做。当然理由也很充分,比如行业特点不同,客户要求不一样,以及对别人的审美标准看不惯等等。

所以,我估计的是,我提出这样的倡议可能又太超前了,支持的人数不会太多。比如去年2022年,我用了几乎一整年的时间推广C#编程中的PCHMI.DLL的封装方法,并希望在其基础上做成上述的标准化架构。由此我还掏腰包找人给开发了一套这样的程序架构。但我自己经验能力有限,对这套程序还没吃透,没有能力优化改造到能简单移植,模块式组装就实现做项目的目标。所以现在还在想办法再改进。而将来即便真的做好了, 能有多少人需要,能卖出多少,还都未必。我都担心,我的投入有可能又打水漂了。

所以, 对这次的FUXA以及其它更多的HMI/SCADA软件, 比如PYQT, OPENSCADA, SCADASHARP以及LABVIEW, IFIX,MCGS等,我就不再做这种提前的投入啦!

除非有足够多的人感兴趣,我可以来牵头咱们一起组团去找人开发定制专门的标准化架构模板。定制完成后每个参与成员除了可以直接使用之外,如果将来可以形成产品二次销售,大家也可以一起分享收益。

所以有感兴趣的读者,可以对上述列举出的以及未列举出的各种触摸屏软件、SCADA软件、高级语言上位机开发,提出你的需求,我们整理收集足够多的团员,制定好规则后,以统一的需求联系开发能力的软件工程师实现我们的诉求。

同时,有能力做出上述各种软件架构的同行,也欢迎与我联系。比如你如果现在如果手里已经有接近于成熟的架构,或者具备这些方面的开发能力, 也有足够时间精力的话,可以先行一步做起来。等市场有需求的时候,就可以顺势提供满足需求了。对我们的具体要求不清楚的地方,我可以给予解释。根据需要,将来也可能出一个具体的书面需求。






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
eddiesoft 2023-11-06
0 回复 举报
我看好FUXA,可二次开发性很强。   本人是4栈开发。    嵌入式电路,WEB前后端 ,数据库,APP 都做过。 收起回复
eddiesoft 2023-11-06
0 回复 举报
我在日本,做FUXA的二次开发,想做成组件封装,把不必要的功能封装起来。楼主有兴趣,可以探讨。   chahe@163.com 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分