尽管似乎每种 PLC 型号都有其独特的编程标准,但确实存在大多数 PLC 制造商至少尝试遵守的控制器编程国际标准。 这是 IEC 61131-3 标准,它将成为标准
令人欣慰的是,尽管不同制造商以及不同型号的 PLC 编程细节有所不同,但基本原理基本相同。
不同通用编程语言(例如 C/C++、BASIC、FORTRAN、Pascal、Java、Ada 等)之间存在的差异远大于不同 PLC 支持的编程语言之间的差异,这一事实并不妨碍计算机程序员 “多语言”。
我亲自为超过六家不同的 PLC 制造商(Allen-Bradley、Siemens、Square D、Koyo、Fanuc、Moore Products APACS 和 QUADLOG 以及 Modicon)编写和/或分析过程序,其中大部分都有多种 PLC 型号 这些品牌,我可以告诉你,编程约定的差异在很大程度上是微不足道的。
在学习了如何对一种型号的 PLC 进行编程之后,就很容易适应对其他品牌和型号的 PLC 进行编程。
PLC 编程语言
IEC 61131-3 标准为工业控制器指定了五种不同形式的编程语言:
- 梯形图 (LD)
- 结构化文本 (ST)
- 指令表(IL)
- 功能框图 (FBD)
- 顺序功能图 (SFC)
并非所有可编程逻辑控制器都支持所有五种语言类型,但几乎所有可编程逻辑控制器都支持梯形图(LD),这将是本书的主要重点。
许多工业设备的编程语言都受到设计的限制。
原因之一是简单性:任何结构足够简单,对于没有正式计算机编程知识的人来说都可以理解的编程语言,其功能都会受到限制。
编程限制的另一个原因是安全性:编程语言越灵活和无限制,编程时就越有可能无意中产生复杂的“运行时”错误。
ISA 安全标准 84 将工业编程语言分类为固定编程语言 (FPL)、有限可变语言 (LVL) 或完全可变语言 (FVL)。
梯形图和功能块图编程都被认为是“有限可变性”语言,而指令表(以及传统计算机编程语言,如 C/C++、FORTRAN、BASIC 等)被认为是“完全可变性”语言,具有所有 随之而来的复杂错误的可能性。