PLC编程语言符合IEC 61131标准。其中比较主流的语言是模块化的编程语言,也即IEC 61131-3语言。由于所有的PLC生产厂家都必须遵循IEC 61131标准,因此深入学习某一款PLC后,其它的PLC大体上是类似的。
学校PLC课本上讲解时一般都用T形图。这是很落后的一种编程方式。走上工作岗位后,务必改用模块化编程方式。
之所以要摒弃T形图的编程方法,是因为T形图有很多局限。举一个最简单的例子:当三个开关量在T形图上构成三角形时,这个T形图是无法执行的,必须用三角-星转换为星形结构才行。这种问题在模块化编程语言中根本就不会出现。由于T形图的局限性,纯T形图程序中也开始配套模块图了。
下图是我为北京地铁某车站的环控配电室双路电源自动投退系统编写的程序局部:
此程序用模块化的编程语言IEC 61131-3写成。可见模块化的PLC程序有点类似集成电路的形式,甚至连PID测控都有相应的模块。
我们再来看看同一个程序的通信管理部分:
这里有通信接口初始化程序,有MODBUS-RTU的主站定义程序,有MODBUS-RTU的从站数据采集和交换的循环程序。
可见,模块化的PLC编程语言与学校里学到了T形图编程语言有天壤之别。
由于PLC编程语言都支持软件层面的程序调试,所以仿真没有太大的问题。