#PLC_梯形图简史(内含早期梯形图编程珍贵画面)

梯形图简史

  • 1. 梯形图 Ladder Diagram
  • 2. 1960's 末至 1970's
    • a. MC14500B 第一款商业化的工业控制单元
    • b. MC14500B 为架构的 PLC
    • c. MC14500B 的编程
  • 3. 1970's 中后期
    • a. Modicon 的梯形图
    • b. Modicon 的编程
  • 4. 1990's 初
  • 5. 梯形图与高级语言
    • a. 限制条件下的运算
  • 6. 结语

1. 梯形图 Ladder Diagram

做为大部分从事自动化工程师第一个接触的编程语言,梯形图以图形化的方式进行编写大幅降低编程所需的抽象概念,使得自动控制的入门门槛相对于单片机或其他以高阶语言编程的领域来的低,也因此造就了梯形图在自动化领域中不可撼动的地位。

下面会以时间轴方式对梯形图的发展进行介绍

2. 1960’s 末至 1970’s

众所周知在 1968 年美国通用汽车进行招标所建立的标准,奠定了 PLC 的基础,在当时 PLC 首要的工作是取代由继电器、计时器组成的逻辑电路控制系统。也是因为上述原因,PLC 初期的发展在编程上即是面向继电器电路的模式设计。

a. MC14500B 第一款商业化的工业控制单元

而此时的 PLC 控制系统是以语言描述的方式,如 Motorola 公司在 1972 年商业化的 1-bit 工业控制单元 (Industrial Control Unit, ICU) MC14500B,在其中集成了 PLC 所需具备的硬件架构,目的即是取代继电器的任务。
#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第1张图片

图1 MC14500B内部架构

b. MC14500B 为架构的 PLC

搭配外部记忆体存储、指令计数器以及输入输出单元后,即是一个 PLC。
#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第2张图片

图2 由 MC14500B 组成的控制器



#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第3张图片
#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第4张图片

图3 (上) MC14500B 开发板 (下) 开发板的程序计数器



#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第5张图片

图4 国外硬核玩家 Brian Benchoff 用 MC14500B 设计的一款 PLC

c. MC14500B 的编程

MC14500B 中提供了 16 条指令集,其中多数指令和现代的 PLC 基本指令相去不远。
#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第6张图片

图5 MC14500B 提供的指令集



透过程序计数器以及外部存储器中的指令依序输入,则可为 MC14500B 建立控制程序。
#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第7张图片

图6 MC14500B 的编程示例



透过寄存器的操作甚至可以实现流程控制。值得注意的是这可是遥远的 1970 年代啊!!

#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第8张图片

图7 透过 MC14500B 实现流程控制


3. 1970’s 中后期

在 1970 年代中后期,Modicon 改良了其控制系统的编程模式,透过编程工具 P370 Programmer 将指令以图形化的方式进行编程,在此时也诞生了真正意义上的梯形图。


#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第9张图片
#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第10张图片

图8 Modicon 推出的编程工具 P370,用以对其 Micro84 系列进行调试



#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第11张图片

图9 P370 输入键盘


a. Modicon 的梯形图

初期的梯形图的编程已具备现代梯形图的样貌,梯形图该具备的常开常闭点、线圈、鎖存线圈甚至是计时器等在此时都已出现。其本质上是将一些抽象概念的指令或节点以图示的方式显示在 P370 的网路显示区(Network Display Area)。



#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第12张图片

图10 P370 编程画面,左上方即为网路显示区



#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第13张图片

图11 P370 支援的部分元件以及网路连接器

b. Modicon 的编程

Modicon 梯形图的诞生,基本上已确立了梯形图的编程模式,可以说决大部分操作已将近 40 年没有变化了。下图为 P370 透过 0003 常闭接点的触发,让 0002 线圈亮灭30秒。



#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第14张图片

图12 控制 0002 线圈亮灭30秒示例



4. 1990’s 初

国际电工委员会 (International Electrotechnical Commission, IEC) 在 1993 年 12 月正式制定 IEC 61131-3 标准用以规范 PLC 编程语言,正式将描述梯形图的编程方式定义为指令表(Instruction List, IL),在西门子的编程中则称呼为 Statement List, ST,而图形化的梯形图则维持梯形图的名称。


#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第15张图片

图14 PLC语言在国际上的发展

5. 梯形图与高级语言

梯形图的初衷即是取代继电器、计时器构成的控制电路,保留了配电盘上具有母线与回路的架构,其特点在于可直观的描述继电器回路以及直观的监控输入输出接点。
然而随时代的演进,现代的 PLC 不只需要处理输入输出接点问题,甚至数据处理、浮点运算等等,此时用梯形图进行处理的话会显得较为复杂。

a. 限制条件下的运算

以求根公式为例,在限制记忆体只有 y y y 的情况下,就需要 10 条指令处理高级语言的计算:
y = − b + b 2 − 4 a c 2 a y = \frac{-b+ \sqrt{b^2-4ac}}{2a} y=2ab+b24ac
高级语言的运算:

a = 4;
b = 0;
c = -4;
y = ( - b + sqrt( b * b - 4 * a * c )) / ( 2 * a );

y = 1;

梯形图的运算,其中 D10 为输出结果 y y y,D1 、D2、D3分别为参数 a a a b b b c c c ,:

#PLC_梯形图简史(内含早期梯形图编程珍贵画面)_第16张图片

图14 梯形图在限制条件下计算求根公式

梯形图程序以数学式表示每一行即为:

y = b * b
y = y / 4
y = y / a
y = y - c
y = y * 4
y = y * a
y = sqrt(y)
y = y - b
y = y / 2
y = y / a

6. 结语

PLC 梯形图编程的发展至今已有近 60 个年头,其实在近 40 年中已无太多变化,其诞生之初是为了将电路描述的抽象概念编程替换为易懂的图形化编程,而所谓的梯形图处理逻辑较为直觉这种说法其实并不恰当,事实上阶梯图较为适合输入输出操作以及与、或、非等的简单逻辑运算,在复杂逻辑情况下,特别是于具有锁存、互斥或与状态机的逻辑条件,梯形图的应用更是增加了编程复杂度,此时适当的采用高级语言的将能大幅降低开发难度。

你可能感兴趣的:(PLC,编程语言)