您现在所在的是:

PLC论坛

回帖:6个,阅读:781 [上一页] [1] [下一页]
2009
万泉河.
文章数:915
年度积分:-106
历史总积分:2009
注册时间:2009/12/4
发站内信
发表于:2022/4/27 9:09:56
#0楼
0426 【万泉河】论PLC程序的可移植性(上):移植的定义

程序移植的概念同样来自IT行业,把一套程序功能移植到另一个系统平台。



PLC行业与IT行业有一点极大的不同,即,PLC行业中有很多图形化的编程界面。 许多所谓的程序,其实是一些图形化的符号。因而并不像IT行业一样都是文字形式的源代码。文本类型的源代码可以直接通过复制粘贴的方式从源复制到目的,然后根据两套系统语法或性能的不同,就可以探讨程序如何移植,以及程序质量的好坏, 是否可移植可识别了。



PLC系统的图形化的编程语言,通常遵循IEC 61131标准,有梯形图LAD, 功能图FBD,顺序功能图SFC等等。



我在文章《【万泉河】PLC编程中的IEC61131-3标准》有过介绍。



IEC 61131-3对这些图形化语言标准作了定义,但却没有对存储这些语言的文件格式进行约定。即各厂家可以自行定义符号语法,只要最终能在用户层面实现程序显示,编辑和存储即可。



因而导致各厂家不同平台之间, 貌似相似的图形语言, 比如都是LAD的程序,并不可以直接复制粘贴。

甚至,同一厂家的不同平台,也都不能直接兼容。



比如,最简单的一段串联逻辑:



这是在SMART200中的程序。如果要复制到TIA PORTAL中,虽然同样都是西门子的产品,也不可以复制粘贴,如果要移植,也只能参照着重新抄一遍(画一遍)。



针对这种状况,近些年,国际上又成立了PLCOPEN组织,旨在推广IEC61131-3的标准化应用,增强各厂家之间接口的兼容性。然而,此项工作难度极大, 并没有那么容易一蹴而就。 如我在前一篇文章中所述, 各厂家都自己握有巨大的话语权以及自身的经济利益的考量, 所以不管是标准还是国际组织,都没那么容易驯服他们乖乖听话。



所以,我们如果简单从加入的厂商名录作为判断兼容性的依据,肯定是远远不够的。 这些厂商还需要长期的磨合,博弈,才有可能逐渐实现。现在对PLCOPEN比较热心的厂家, 大部分都是CODESYS阵营的。 而原本在CODESYS框架下, 程序语言使语法都是通用的,而如果要大范围的兼容, 首先要看西门子的态度。 从明面上看, 有说西门子已经加入PLCOPEN阵营,也有说并没加入。



然而从结果看,西门子和CODESYS都是使用XML标记语言表示图形化元素,即各自的图形化程序语言都是可以导出到XML文本代码, 然而各自的语法定义大相径庭,完全不相兼容。这是当下的实际状况, 也会是未来很久时间内保持的状态。



所以,在图形化程序不可以直接通过剪贴板复制粘贴不可行的情况下, 如果编程语言支持了XML导出,那就放低目标,如果能导出到XML格式之后再到目标平台导入可行的话, 也算是可以实现顺利移植。

然而即便这样的低目标,在当下的PLC行业, 也是不容易实现的。



然而,只能叫做不容易, 但绝非不可能。 假如, 如果,未来有一家公司,或者某位极客爱好者, 完全充分解读两个不同厂家的XML语法定义,并作出自动处理的程序转化软件工具,将一套系统中导出的XML文件,翻译转化为另一套可识别的XML文件,再导入到目标系统中,即实现了程序导入和移植。



所以,在工具未面世之前,贸然判断程序不可移植,是不恰当的。



所以,我们在探讨程序的可移植性的时候,不应该因为工具的有或者无,而摇摆不定,须臾改变观点。

就好比,探讨人类是否可以在火星或者别的星球生存的话题,应该主要的精力关注于火星的气候,资源, 水,空气,能源供给等客观条件。 而不应该被航天载人工具牢牢限制了思维。



比如问, 人类能否在火星生存生活?答:航天飞机飞不到。 再问:研制个能飞往火星的航天飞机如何?反问:研制了做啥用,火星上人类都不能生存。形成死循环而永远裹足不前了。



到PLC行业就成了:我们探讨下跨PLC平台程序移植的可行性?移植不了,没有工具,不支持。

所以, 首先需要对移植的定义本身,达成一个共识。



我在多个场合,专栏文章里,以及在专著《PLC标准化编程原理与方法》多个章节,反复强调的一点,设计工作中,凡是在动手做之前就可以知道结果的,工作只是重复性质的工作量问题的,都会想方设法研发或者外购现成的工具软件来实现。



而针对程序的移植,我们会有相似的观点,如果一套控制程序需要从一个平台迁移到另一个平台,如果目标程序的答案结果是确定的, 哪怕即便暂时没有自动迁移工具,只要规则是清晰的明确的, 如果可以找一个完全没有行业技能的外行,比如一个文员、实习生甚至中学生, 对他们进行简单的规则培训之后,由他们人工进行程序的迁移。迁移的过程没有技术难度,有的只是重复劳动的工作量,那么我们就可以认定这个程序做的还不错,可以实现跨系统跨平台的移植。



这时候, 程序的可移植性与平台的功能无关,更与是否存在第三方辅助工具无关。 只取决于程序作者的编写程序的架构和方法,所写的程序是否可以更好地支持移植。第三方辅助工具不存在的时候人工做,有了工具之后随时可以换由工具实现。



这才是真正的PLC程序的可移植性的概念。



概念清晰之后,下一篇文章会重点论述评估PLC程序的可移植性的准则,以及编写可移植性高的PLC程序的原则和方法。
PLC标准化编程
38066
知道一点
文章数:22556
年度积分:2485
历史总积分:38066
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2022/4/28 11:19:37
#1楼
PLC程序移植很难,也不难。
如果是同厂家的,相对简单,不同厂家的,只要原程序可读也不难。

说到copy复制,日系之间不难,欧美系到日系或反之稍难,如果资金到位难也不难。

做过三菱转欧姆龙,欧姆龙转三菱;基恩士转欧,西门子转欧;GE转欧;欧转台达....

最可恨的是原程序有bug,赖账,失信....

最爱干的就是PLC替换,省心省力利润高来钱快
快乐 幸福 自由 比什么都重要
8580
chengzheng
文章数:1655
年度积分:402
历史总积分:8580
注册时间:2006/7/24
发站内信
发表于:2022/4/28 11:55:52
#2楼
这个文章就有深度了!
26506
goldage
文章数:15084
年度积分:2008
历史总积分:26506
注册时间:2006/1/10
发站内信
2018论坛热心网友
发表于:2022/4/28 21:37:52
#3楼
据说有S7-300换S5案例,但相对来说我宁愿推到重来
8580
chengzheng
文章数:1655
年度积分:402
历史总积分:8580
注册时间:2006/7/24
发站内信
发表于:2022/4/29 17:20:46
#4楼

第一种移植,就是无缝移植,程序可以直接到所有的PLC上运行,类似JAVA程序,这个我觉得还是算了。
这个是PLC厂商的工作。

第二种移植,就是设备研发工程师所做的PLC程序,要采用一般的指令以及数据变量定义,这样能把指令一一对应起来,
这样西门子PLC的程序可以无障碍,直接翻译成三菱或者其他厂家的。

以上是我的一点看法。
28407
秀空
文章数:13413
年度积分:1233
历史总积分:28407
注册时间:2012/10/26
发站内信
2018春节活动(三)
2014相约国庆
发表于:2022/4/30 8:48:20
#5楼
移植会不会方便别人。
38066
知道一点
文章数:22556
年度积分:2485
历史总积分:38066
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2022/4/30 10:20:24
#6楼
回复 #5楼 秀空
一把刀是......
快乐 幸福 自由 比什么都重要

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004