获取对工程师的冠状病毒影响的最新更新。点击这里
PLC的,PACS

其中IEC 61131-3编程语言是最好的?第1部分

有这么多可编程逻辑控制器(PLC)的编程语言和标准可供选择,自动化和控制应用程序的正确选择是什么?第一部分提供了一个概述,并着重于梯形图(LD)和顺序函数图(SFC)。

由Gary L.普拉特,体育 2020年6月29日
礼貌:ControlSphere工程

学习目标

  • IEC 61131-3编程语言LD,SFC,FBD,CFC和ST。
  • 梯形图仍然很流行,因为它的图形性质。
  • 顺序功能图是用于表达状态机并呼吁工程师的图形特性的图形语言伟大。

用于可编程逻辑控制器(PLC)编程语言的选择是很多的。据说关于标准伟大的事情是,有这么多的选择!虽然这意味着作为讽刺,在的情况下,IEC 61131-3编程语言,它是有可供选择的几个语言标准的优势。

许多学生进入我的训练课程与他们最好的选择的语言为他们,然后专注于该语言的心态。在上课的时候,他们经常会问什么语言,我建议。或者说,“什么是最好的语言?”

对于这个问题,我通常会问:“哪个数字最好?印度- - -阿拉伯数字系统?或者“英语中最好的单词是什么?”(一名学生最近说,最好的英语单词是“spork”,但我认为这个答案还有待全球的共识)。

图1:IEC61131-3编程语言提供语言适合特定需求。礼貌:ControlSphere工程

图1:IEC61131-3编程语言提供语言适合特定需求。礼貌:ControlSphere工程

一个很好的比喻是要问这是最好的办公生产力软件工具 - 文件编辑器,演示文稿编辑器或电子表格编辑器?虽然演示文稿和电子表格可以与文档编辑器创建,是正确的方式去?同样地,可以在电子表格工具,文档和电子表格的演示工具来创建演示文稿和文档。是否有这个有意义的事,但?是否值得去学习所有的招数的努力,使一个工具一举多得需要,或者是更有效的学习只是针对作业工具的主要特点?

草坪电动工具也可以做类似的类比。正如YouTube上无数视频显示的那样,用割草机修剪篱笆是可能的。(请不要这样做!)在工作中使用正确的工具会更有效率(也更安全)。

图2:最好使用正确的工具来完成任务。礼貌:ControlSphere工程

图2:最好使用正确的工具来完成任务。礼貌:ControlSphere工程

与lawn power工具一样,为应用程序使用最好的编程语言是最有效的,以避免将方形应用程序插入圆形工具孔的复杂性。与iec61131 -3编程语言,PLC编程和维护增强时,所有语言的优势被使用。

编程语言:LD,SFC,FBD,CFC和ST

“哪个IEC 61131-3编程语言是最好的?第1” 部分(本文)讨论了优势和最好的应用程序梯形图(LD)和顺序功能图(SFC)。

“哪个IEC 61131-3编程语言是最好的?第2” 部分将讨论功能块图(FBD),连续功能图(CFC),结构化文本(ST),以及他们如何可以混合和最佳的结果相匹配。

什么是梯形图(LD)编程?

梯形图编程,或LD,迹线历史回一些百年来中继梯形逻辑(RLL),这是为了描述的电子组件的系统,诸如继电器,计时器和电机。在自动化的初期,当时的PLC进行更换继电器和计时器,它非常有意义创造一种编程语言熟悉的用户基础和它相似的被替换工具。不幸的是,控制器变得更强大,演变过去的继电器和定时器,原来LD语言被压入服务这是从来没有打算,并适应不良。

这种情况由于PLC供应商提供更适合PLC和可编程自动化控制器(PAC)应用的新语言的速度缓慢而加剧。对于源自北美的控制器来说尤其如此,这就解释了LD经久不衰的全球差异。

图3:图复杂的布尔逻辑中实现CODESYS比较语言。礼貌:ControlSphere工程

图3:图复杂的布尔逻辑中实现CODESYS比较语言。礼貌:ControlSphere工程

LD编程的优势

LD的强度及其经久不衰的关键在于它的图形化特性。在所有关于工程师的概括中(就像你最喜欢的书中所描述的那样)呆伯特漫画),可以说工程师倾向于以图形为导向。(我们当中有谁可以不用纸、笔或白板就能有效地沟通?)在早期,大多数LD编程的替代品都是基于文本的语言,与工程师的图形化本质没有共鸣。这导致人们更加不愿意离开LD。幸运的是,这种情况正在改变。

LD仍然是它原本是打算一个伟大的语言 - 复杂的布尔逻辑。这一领域内的停留,LD逻辑是简单的设计和简单的调试。图3示出了由表示几个IEC 61131-3语言的相同的布尔逻辑这一点。说我们是希望“检查”是真实的。有多容易,以确定为什么结果并不如预期?在LD,答案很快通过观察其中的固体蓝色接触路径被中断(GantryIsRight是不是真的)确定。在CFC和FBD,这个问题也可以通过观察蓝色通道的进度来确定,但它确实需要心理评估AND和OR。在文本评估问题是一个挑战。

什么是顺序功能图(SFC)编程?

顺序功能图(SFC)是一种表示状态机的图形语言很棒,像LD,呼吁工程师的图形特性。为了提供更好的背景下,这种编程语言的讨论将分为两个部分:

1)一般的状态机,和

2)实现状态机的语言。

什么是状态机?

状态机可以追溯到很多年,但只有最近已应用于工业编程。状态机是用于表达系统,其行为依赖于过去的历史,如用任何逻辑非常强大的方法:

1)设置线圈或复位线圈

2)密封在逻辑(布尔反馈)

3)由代码中设置内部标志来影响代码对未来的扫描行为。

实际上,即使是简单的TON On-Timer和R-Trig一次性都是状态机。它们的下一个行为依赖于前面的输入和行为,如图4所示。)已经实现了吗?达到预定时间了吗?)

图4:即使是常见的TON计时器和R-TRIG一步法是状态机。它们显示在这里CoDeSys中SFC实现。礼貌:ControlSphere工程

图4:即使是常见的TON计时器和R-TRIG一步法是状态机。它们显示在这里CoDeSys中SFC实现。礼貌:ControlSphere工程

状态机提供比其它编码技术很多好处:

1)它们很容易设计,因为它清楚地描述了系统可能处于的状态,系统如何在这些状态之间转换,以及在这些状态下系统应该采取的动作。

2)在运行时,很容易准确地看到系统处于什么状态,它在那个状态下正在做什么,以及是什么导致它移动到下一个状态(或者如果进程中出现问题,为什么它没有移动到下一个状态)。

3)促进精心构思和精心组织设计。它确保所有可能发生的情况已处理(从而消除了被称为在夜间修复代码,没有正确处理异常情况,中间的机会)。

很容易确定每一种可能的可能性都经过了适当的测试。只需打印出证监会,并在执行时划掉每个状态和过渡。当一切都被划掉时,测试就完成了(程序员的置信度是100%)。

状态机可以以不同的方式实现。

如何实现状态机

虽然状态机可以实现几乎所有的语言,他们需要一个特定的编码技术,它由步,转换,分支/跳转,和行动。

步骤描述了其中的一个系统可以驻留在状态;转换指示何时一个系统应该从一个步骤到下一个移动;分行和跳跃表明,下一步应该是什么;和行动应指定,而在该步骤(或进入或退出该步骤)执行什么操作。

由于其图形的性质和专业化的工作,证监会语言状态机的最自然的选择,如图5所示。

图5:图显示的编程顺序功能流程图(SFC)的组分。礼貌:ControlSphere工程

图5:图显示的编程顺序功能流程图(SFC)的组分。礼貌:ControlSphere工程

图6显示了一个加载系统的状态机示例,该状态机以online模式显示,其中当前状态以蓝色显示。注意,这个示例有三个同时并行的分支,它们彼此独立运行。还要注意,确定系统的当前状态是多么简单,系统在当前状态下正在做什么,下一个状态是什么,以及进入下一个状态所需的条件是什么。

图6:实施例示出了一个顺序功能图(SFC)与如在实施CODESYS并行分支。礼貌:ControlSphere工程

图6:实施例示出了一个顺序功能图(SFC)与如在实施CODESYS并行分支。礼貌:ControlSphere工程

对于需要不寻常的复杂性或柔韧性系统,状态机也可以在基于文本的语言如示于图7为锁定到使用LD组织执行的,状态机,甚至可以在LD通过使用线圈的每个状态,转换逻辑来实现激励/去激励各线圈的系统从一个状态移动到下一个,和独立的逻辑使用状态线圈来实现的动作。

图7:使用枚举步骤的结构化文本实现的状态机。礼貌:ControlSphere工程

图7:使用枚举步骤的结构化文本实现的状态机。礼貌:ControlSphere工程

有些厂商还提供了统一建模语言(UML)状态图的实现作为一个更强大,更灵活的选择SFC,但这是以在工业控制界一个较长的学习曲线和有限接受的价格。

当涉及到状态机,语言的选择是继发于技术的语言中选择。在证监会,语言强制使用状态机技术。在其他语言中,它是由工程师使用正确的技术的纪律。如果功能依赖于以前的历史,这是一个状态机。为了获得最佳的代码,实现它是这样。

(一个相关的必赢亚洲平台文章解释了”UML用例,序列图:容易地转换成可执行代码。”]

使用的控制系统编程正确的语言

在英语进行有效沟通,这是重要的是要有正确的词汇和知道如何有效地使用该词汇。要建立有效的工业控制程序,有正确的语言,并知道如何有效地使用这些语言是很重要的。IEC 61131-3提供的语言,这篇文章在有效使用LD和SFC的提供了指导。见第2使用FBD,CFC和ST的。有效地去和程序符合IEC 61131-3编程语言。

加里·L.·普拉特,体育是校长ControlSphere工程。由Mark T. Hoske编辑,内容管理,必赢亚洲平台,CFE媒体,mhoske@cfemedia.com

关键词:IEC 61131-3编程语言,LD,SFC

考虑这个

什么IEC 61131-3编程语言最适合你的任务是什么?

在线更多信息,见:

从csv文件中演示每种语言和配置的视频。

面向对象的程序设计工业(地质储量)的文章

更多程式下载可从面向对象的程序设计产业基金

www.ooip-foundation.org

从的CoDeSys(3S)智能软件解决方案的集成开发环境(IDE)可以免费下载,包括一个基于软件的PLC,在两次重置之间可以运行2小时。

为一个必赢亚洲平台可编程逻辑控制器编程指令,术语,逻辑电路等,见"支持为重点的企业控制:PLC基础知识“。

在线额外

作者biography:谁是加里·普拉特?

加里L.普拉特,体育是总裁ControlSphere工程。普拉特的职业生涯开始与雪佛龙公司工程于1982年,并已列入整个工业控制行业的多个职位。他拥有工业控制方面的专利,现在专注于通过IEC 61131-3与下一代分享他的知识和经验编程语言Codesys集成开发环境(IDE)咨询和培训课程。


加里L.普拉特,体育
作者简介:Gary L. Pratt, p.e.,是ControlSphere有限责任公司总裁。