如何选择正确的编程语言

哪种应用程序和操作最适合五种IEC 61131-3编程语言中的哪一种?根据您正在做的事情,中继阶梯逻辑可能会浪费大量的时间和精力。

通过弗雷德Habenschuss 2011年12月29日

选择最适合手头任务的控制编程语言可以降低程序复杂性和故障排除/维护成本。它还将使代码更具可读性,改进开发过程,并增强控制器性能。

解决离散、过程、批处理、驱动、安全和运动控制挑战的第一步是确保继电阶梯逻辑(RLL)、功能框图(FBD)、顺序功能图(SFC)和结构化文本(ST)编程的语言编辑器是编程软件和控制器的本地语言。然后,使用下面的图表将任务与适当的语言进行最佳匹配。

当你的代码中有一段表示以下内容时,请选择:

中继阶梯逻辑(RLL)用于:

  • 连续或并行执行多个操作(未排序)
  • 布尔或基于位的操作
  • 复杂的逻辑操作
  • 消息和通信处理
  • 机联锁
  • 服务或维护人员可能必须解释以排除机器或过程故障的操作
  • 伺服运动控制

功能框图(FBD):

  • 连续过程和驱动控制
  • 循环控制
  • 电路流计算

顺序功能图(SFC)用于:

  • 高水平的多业务管理
  • 重复的操作序列
  • 批处理
  • 运动控制序列(通过嵌入结构文本的顺序功能图)
  • 状态机操作

结构化文本(ST)用于:

  • 复杂的数学运算结构化文本
  • 专门的数组或表循环处理
  • ASCII字符串处理或协议处理

例如,可以使用中继阶梯逻辑来处理复杂的数据,比如排序算法。这个过程是可行的,但需要数周的时间(可能需要数百级代码)来编程。这将花费大量时间来编写和维护,可读性较差,并且需要在控制器中花费额外的时间来扫描和执行。使用结构化文本来完成这项任务更合适,这使得编写复杂的冒泡排序算法变得简单、直接且更有效,大约只需10行代码,对控制器性能的影响较小。

这只是为正确的任务选择正确的编程语言的一个例子。在项目中混合和匹配编程语言以满足应用程序需求是编程软件的基本能力。在同一个项目中,一些编程软件将允许对SFC中的批操作、FBD中的泵站、RLL中的输送系统以及ST中的复杂数学算法进行编程。

Fred Habenschuss是罗克韦尔自动化公司的商业工程经理。

www.rockwellautomation.com

请参阅与2012年1月关于自动化编程的封面故事相关的其他文章。由Mark T. Hoske编辑,CFE Media,控制工程www.globalelove.com

请参见PAC和PLC通道//www.globalelove.com/PLCs