选择正确的编程语言

您应该选择哪种语言与您的可编程控制器一起使用?在IEC 61131-3中定义的五种语言中,通常梯子图或梯子逻辑在北美得到最广泛的应用。其他语言也有实际应用,不容忽视。选择取决于程序员的技能、编程任务、问题的级别和结构以及控制系统……

通过马克·t·霍斯克,主编 二零零三年七月一日

您应该选择哪种语言与您的可编程控制器一起使用?在IEC 61131-3中定义的五种语言中,通常梯子图或梯子逻辑在北美得到最广泛的应用。其他语言也有实际应用,不容忽视。选择取决于程序员的技能、编程任务、问题和控制系统的级别和结构、谁需要与程序交互,也许还取决于程序修改的频率。

自1992年成立以来,PLCopen一直在帮助促进和支持编程标准,该协会表示,这允许更少的培训,更多的逻辑组织,模块化和现代软件技术的使用。“每个程序都是结构化的,增加了可重用性,减少了错误,提高了编程和用户效率,”该小组表示。

四种语言描述同一段代码。

此外,该标准允许两种开发程序的方式:自上而下和自下而上。要么指定整个应用程序并将其划分为子部分,要么声明变量,等等。或者从底层开始编程应用程序,例如通过派生函数和函数块。无论你选择哪一种,开发环境都会帮助你完成整个过程。”

IEC 61131-3的五个要素是:

  • 顺序函数图(SFC)——SFC与其说是一种语言,不如说是一种组织控制程序的图形化方法。

  • 梯形图(LD) -在北美最常用,它图形化地表示触点、线圈和特殊指令块的梯级。它的起源是继电器梯逻辑。

  • 指令列表(IL)—一种类似于汇编语言的基于文本的语言。这是欧洲版的LD。

  • 结构化文本(ST)—一种类似于Pascal的基于文本的语言。

  • 功能框图(FBD) -一种与电路图相对应的图形语言。FBD广泛应用于过程工业。

其他资源

有几个IEC标准提供了关于功能块的更多信息:IEC 61499和IEC 61804,它们侧重于过程工业。功能块封装了算法,使它们更容易被非软件专家理解和应用。

有关功能块的更多信息,请参阅www.globalelove.com/issues, 2002年9月,“组件自动化支持建模和控制”。另外,在2003年8月刊中,可以找到一篇关于多平台编程软件的文章。请参阅www.globalelove.com/tutorials的相关内容。

IEC,www.iec.ch,出版了“可编程控制器-第3部分:编程语言”。IEC 61131-3“规定了IEC 61131第1部分中定义的可编程控制器的编程语言的语法和语义。”价格约为205美元。相关的IEC出版物是“可编程控制器-第8部分:编程语言的应用和实现指南”。

PLCopen,www.PLCopen.org专注于控制编程,并参与技术委员会以发展编程标准。

评论电子邮件MHoske@cfemedia.com

IEC 61131-3的优缺点

根据施耐德电气软件产品经理Wolfgang Langer的说法,IEC 61131-3的优点和缺点包括以下几点:

好处是:

更少的再培训成本——iec在供应商之间的外观和感觉相似;

更注重解决问题和软件可重用性;

减少语言切换时编程中的误解和错误;所有IEC语言都是一样的;和

可以使用来自独立供应商的更大的社区-许多工具。PLCopen驱动器符合IEC标准与供应商的互操作性标准。

缺点包括:

太多可选功能;

不定义定义程序的页值大小的实现限制;

没有定义需要实现的最小子集;

在实现时没有定义最小限制,例如在一个部分中必须支持多少级;和

没有定义语言之间的转换。

大卫·格林菲尔德dgreenfield@reedbusiness.com