5种最受欢迎的PLC编程语言
IEC 61131-3标准定义的5种最流行的PLC编程语言是:
- 结构化文本(ST)
- 顺序功能图(SFC)
- 梯形图逻辑(LD)
- 功能块图(FBD)
- 指令列表(IL)
国际电工委员会61131-3概述了5种不同的PLC编程语言:梯形图逻辑、结构化文本、功能块图、顺序功能图和指令列表。每种语言都有其优势、劣势和最佳用例。作为称职的PLC程序员,了解这些选项对于调试现有代码、为工作使用正确的工具以及对如何解决问题有不同的视角至关重要。此外,根据选择的PLC平台,特定语言可能需要额外付费或完全不可用。例如,只有RSLogix 5000的完整许可证才能访问梯形图逻辑以外的语言。
让我们更深入地了解每种语言,回顾它们的应用、一般结构和用例。
1、PLC最受欢迎的编程语言是什么?
这个问题在全球PLC程序员中存在争议。共识是PLC编程最常用的语言是梯形图逻辑。这是因为它高度灵活、易于学习,并且被使用相同架构图表的电工很好地理解。
然而,在过去十年中,更年轻的劳动力进入了制造业。这些工程师和技术人员主要学习现代语言,如Java、Python和Javascript。这些语言与结构化文本[ST]更相似,因此促进了其使用。
还需要考虑所讨论的行业。化学过程通常使用管道和仪表图(P&ID)设计。这些特定的图表可以通过使用功能块图[FBD]轻松复制。
PLC编程语言 - 在功能块图(FBD)PLC编程中更容易实现的化学过程示例
2、梯形图逻辑PLC编程
在可编程逻辑控制器变得流行之前,基于继电器的控制是大多数制造现场的规范。继电器基于通过设备物理布线实现的简单逻辑来驱动负载。这些设备的布线在电气图纸中指定,其布局类似于梯子。随着最基本的PLC引入现场,梯形图逻辑PLC编程被设计为模仿基于继电器电路的布局。换句话说,梯形图逻辑是最早的PLC编程语言之一,由于简单性,至今仍在使用。
PLC编程语言 - 导致梯形图逻辑PLC编程的PLC原理图
自诞生以来,梯形图逻辑已经发生了显著演变。然而,基本操作原理保持不变。梯形图逻辑 PLC编程按顺序评估梯子的每个梯级,评估条件指令,如果结果评估为"TRUE",则执行输出指令。
PLC编程语言 | RSLogix 5000中的梯形图逻辑PLC编程示例
梯形图逻辑PLC编程的优势
- 易于实施和故障排除 | 梯形图逻辑是一种视觉语言,为大多数指令提供状态确认。换句话说,对于对特定过程知之甚少的人来说,很容易浏览程序并理解逻辑。
- 模块化设计 | 梯形图逻辑可以通过添加或减去逻辑轻松修改。每个梯级都是一个单独的条件,可以根据需要移除或添加。
- 弹性和一致性 | 梯形图逻辑允许用户实施许多功能。然而,该语言高度标准化,不提供完全灵活性,从而保持不同实现之间的代码一致性。
梯形图逻辑的缺点
- 陡峭的学习曲线 | 梯形图逻辑是一种简单的语言,但对于来自C、C++、Java或Python背景的人来说不太直观。话虽如此,对于电气工程师和具有汇编语言编程基础知识的人来说可能更容易掌握。
- 部署缓慢 | 由于梯形图逻辑的视觉性质,程序员创建他们设想的逻辑需要更长时间。需要拖放元素,这减慢了开发过程,与其他现代编程语言相比。
- 复杂应用程序不直观 | 梯形图逻辑在顺序布尔任务方面表现出色。然而,当涉及到涉及PID、流量控制、模拟传感器和反馈回路的现代控制理论时,它并不总是易于实施和解读。
梯形图逻辑是全球使用最广泛的PLC编程语言。对于那些不经常接触PLC编程的人来说,它易于使用和维护。我们建议您通过首先学习梯形图逻辑来开始您的PLC编程之旅。
3、结构化文本PLC编程
结构化文本是一种类似于C或汇编语言的PLC编程语言。用户输入顺序执行的代码行,评估特定函数、布尔检查,并激活PLC的适当输出。结构化文本为那些具有C、C++、Java或Python等传统编程语言背景的人提供了向PLC的简单过渡。此外,它可以在文本处理器中轻松操作,从而无需硬件即可快速实施。
结构化文本PLC编程 | Studio 5000 CompactLogix PLC中的示例
结构化文本PLC编程的优势
- 对其他编程语言直观 | 如上所述,结构化文本对于希望从软件工程背景过渡的人来说很容易学习。它具有C或Java中预期的相同结构、编程范例和函数。
- 高复杂性 | 结构化文本比其他语言提供更大的灵活性,因此对于掌握该语言的人来说更容易实施高级功能。
- 可移植性 | 结构化文本在大多数PLC系统中是标准化的,因此易于在平台之间迁移。您会发现其他语言在平台之间存在显著差异,而结构化文本可以在硬件和软件平台上实施。
结构化文本的缺点
- 难以故障排除 | 与梯形图逻辑编程相比,结构化文本从故障排除的角度来看要复杂得多。没有视觉队列,较少的视觉辅助工具,并且通常单行上有更多代码。那些不熟悉这种语言的人将很难理解过程流程。
- 容易出错 | 结构化文本为用户提供了更大的灵活性。然而,这种灵活性是以标准化为代价的。用户必须使用软件工程最佳实践来创建安全的后备方案并捕获软件的任何潜在故障。
我们通常建议您在掌握梯形图逻辑后学习结构化文本,除非您具有其他编程语言的背景。由于上述缺点,在生产环境中不常见。然而,它是在梯形图逻辑中需要额外步骤的FOR循环和其他结构的数据操作的绝佳方式。
4、功能块图PLC编程语言
功能块图(FBD)是一种考虑化学过程开发的编程语言。它允许用户创建过程的可视化表示和流程,并在指令之间进行适当的转换。可视化编辑器用户友好、直观,并创建实施特定流程的自然方式。
我们在PLC程序中使用功能块图最常见的应用是建立PID控制器。FBD的可视化方面使PID易于在现场实施、可视化、调试和故障排除。
功能块图PLC编程 | RSLogix 5000中的模拟信号缩放示例
功能块图PLC编程的优势
- 灵活的可视化编辑器 | 功能块图编程的编辑器非常用户友好,提供了一种创建任何布局的简单方法。
- 适合复杂编程结构 | 在梯形图逻辑中,用户将需要使用多个梯级来完成FBD可以在单页上完成的工作。指令可以直接带入实施PID回路、运动控制和附加指令(AOI)的复杂PLC指令中。
- 用户友好 | FBD的可视化编辑器对大多数用户来说很自然。过程的布局可以通过拖放方法重新创建,几乎不需要猜测。
结构化文本的缺点
- 难以标准化 | 由于布局的灵活性,标准化用FBD编写的程序具有挑战性。每个PLC程序员都会有与其他人不同的方法。那些继承的人将难以理解信息流。**
- 大规模时麻烦 | FBD在过程特定领域的小型实施方面表现出色。然而,随着程序变得复杂,很容易在所有工作表中迷失方向。
功能块图在模拟缩放、PID回路和运动控制序列中至关重要。当您学习这些主题时,您应该开始接触这种类型的PLC编程。在此之前,我们建议掌握梯形图逻辑。
5、顺序功能图PLC编程语言
顾名思义,顺序功能图(SFC)在后续过程中表现出色。对于不熟悉这个概念的人,一个例子是从原材料到成品的化学转化。让我们以一个简单的酿造过程为例。
想象一个大型啤酒酿造设施,拥有众多储罐、阀门、压力传感器、加热元件和包装区。当操作员启动新批次的生产时,过程经历以下步骤序列。注意这些步骤是简化的。
步骤1 - 验证系统是否就绪。所有适当的成分是否可用?储罐是否为空?阀门是否处于正确状态?如果所有检查的答案都有效,则继续。如果中止。
步骤2 - 启动储罐填充序列,可能调用多种成分(水、糖、盐、酵母等)。验证状态,储罐满后继续。
步骤3 - 启动酿造过程。在指定时间内提高并维持温度。监控储罐压力并相应反应。必要时添加成分。酿造完成后继续下一步。
步骤4 - 启动转移到储罐。我们的批次已准备就绪;验证所有适当的阀门都设置在正确位置,储罐为空,并开始转移过程。
步骤5 - 将批次转移到装瓶设施。
从上面的示例大纲可以看出,过程步骤按顺序执行,具有定义的起始条件,并且如生产设施中过程运行那样流动。在梯形图逻辑中,可以通过SQI/SQO指令实施此过程。然而,更好的方法是使用SFC。
顺序功能图PLC编程 | RSLogix 5000中的顺序过程示例
顺序功能图PLC编程的优势
- 模仿大多数化学过程的过程流程 | 批处理是一种常见的化学过程方法,它接受一定数量的原材料并将其转化为最终产品。SFC在这些应用中表现出色。
- 与ST结合 | 大多数SFC编辑器允许在特定情况下使用结构化文本来创建高级逻辑流程。
顺序功能图的缺点
- 在大多数应用中不适用 | 将顺序功能图应用于非顺序过程具有挑战性。换句话说,它的用例数量有限。**
- 并行流程难以实施和故障排除 | 您可以通过SFC实施无限数量的过程流程。然而,随着过程路径分成多个流程,实施单独的流程路径变得困难,这将导致健壮的序列。
顺序功能图在特定情况下非常有用。然而,试图将这种编程语言应用到非顺序的情况下很快就会导致挫折。当您在制造环境中工作时,我们建议您熟悉过程,了解产品的流动,并在深入SFC编程之前在纸上建立模型。
6、指令列表PLC编程语言
指令列表由于其相似的编辑器经常与结构化文本混淆。这两种PLC编程语言通常在不同平台上看到,因为它们的流程相似。例如,基于Codesys的控制器将允许用户使用指令列表实施逻辑,而基于RSLogix 5000的控制器只能访问结构化文本。
就程序流程而言,每行指定指令以及执行的条件和结果。在许多方面,指令列表比结构化文本更接近您如何实施梯形图逻辑程序。然而,两种语言都能够创建相同的过程流程。
指令列表PLC编程的优势
- 高度标准化 | 指令列表遵循严格的结构,要求用户显式创建变量、指定条件并列出每条指令。程序实现之间的差异很小,这导致易于理解的代码。
- 指令重点 | 顾名思义,对指令而不是数据流给予高度重视。这种编程风格创造了数据在程序中如何处理的清晰度。
指令列表的缺点
在大多数PLC平台上不可用 | 如上所述,指令列表不是一种流行的编程方法,因为它们对大多数程序员来说不自然。它们更接近汇编语言中看到的内容,而不是市场上任何其他编程语言。
7、Python可以用于PLC编程吗?
是的,Python可以用于PLC编程。您会发现许多PLC供应商或OEM在近年来添加了此功能。大多数PLC型号将为程序员提供一种添加用非IEC 61131-3标准语言编写的应用程序的方法。
Python是一种流行的脚本语言,近年来主要由于其在机器学习应用中的广泛使用而变得流行。它是一种松散类型的语言,易于学习、易于扩展,并且非常适合各种用例。使用Python进行PLC编程的优势在于能够利用通常在工业自动化中找不到的各种库。
8、结束语
五种最受欢迎的PLC编程语言是梯形图逻辑、结构化文本、功能块图、顺序流程图和指令列表。这些编程方法在大多数平台上可用。然而,某些PLC会限制用户对某些语言的访问,除非用户支付额外费用。
我们建议每个PLC程序员从梯形图逻辑开始,因为这种方法在行业中最常见。也就是说,当该人员接触高级编程方法时,学习其他语言很重要,这些语言可能提供更简单的方法来实施特定过程。
原文链接:Top 5 Most Popular Types of PLC Programming Languages
汇智网翻译整理,转载请标明出处