我把PLC程序规范为以下几个组成部分:
一、系统初始化,
二、过程或状态的描述(相当于继电、接触控制中的中间继电器),
三、人机操作控制(手动操作,参数修改等),
四、设备控制输出(电机、阀等),
五、通信(各控制设备间的互锁和数据交换),
六、过程或状态的故障描述,
七、报警输出和故障位置等信息显示,
八、生产过程报表(产、质量等)。
下面主要谈谈过程或状态的描述和设备控制输出,因为这基本上是程序的主要部分。
程序好坏的标准:稳定、易调试、易修改、易扩展、易读、实时性(快)。在这么多年的实践中,我感到先由过程或状态的描述得到各种状态变量,再对设备输出进行编程能比较好的达到上述目标,可能它在快的方面有所欠缺(因为程序长一些)但这完全可以从其它方面得到解决(例如中断)。这种想法主要源自数学上的状态方程:Q=f(S1,S2,S3……..,Sn)其中Q为设备输出,S1、S2、S3…….Sn为状态变量(包括输入输出)。f是由指令系统组成的算法。一般地,在一个系统中状态变量是确定不变的(这取决于你的状态描述),就象组成世界的元素是是基本不变一样,所以只要改变算法就可以得到不同的控制输出,因此扩展和修改都非常方便。在调试和排除故障时,根据状态进程,可以很快找到故障原因。因为控制输出一般都是几种状态的函数(算法),它们是有冗余关系的,因此稳定可靠性、抗干扰性得到大大增强。