一个完美的PLC程序必须满足的设计要求
一套完整的PLC程序不仅仅是让系统运行那么简单。还要求完整的注释、精密的架构、良好的扩展性、完善的报警保护系统、预运行模拟系统。
简单
使PLC程序尽可能简单。简单的意思就是尽可能使用标准化的程序框架和简单的指令。
如果想要程序简单,从大的角度来说,就必须优化程序结构,使用流程控制指令来简化程序。从小的角度来说,一定要用功能强大的指令来代替功能单一的指令,并且要注意指令的排列顺序。
可读性
要求设计的程序具有可读性。这不仅可以让程序员更容易加深对程序的理解,方便调试,也可以让别人更容易理解你的程序和用户维护。如果有必要,还可以推广该计划。
为了使程序可读,程序必须设计得尽可能清晰。注重层次结构,实行模块化,甚至采用面向对象的方法来设计。使用更多标准设计。
如果特殊情况下使用语言编程,大多数情况下请使用梯形图编程,以便于阅读。
此外,I/O 分配必须是有规律的,以便于记忆和理解。如果有必要,做一些注释工作。内部元件的使用也一定要规律,不要随便使用。
在编程之初就应该注意可读性。完全做到这一点并不容易。因为在程序调试过程中,指令的增删以及内部器件使用的改变可能会让原本清晰的程序变得有些混乱。因此,设计时留有一定的调试增删空间,调试完成后再做一些整理,使设计出来的程序具有较高的质量。
方案意见至少应包括以下几个方面:
A.系统说明:整个程序的版权公司以及本程序的用途
B.程序块注释:该程序块的主要用途和作者
C. 部分注释:这段代码的目的
D.变量注释:重要性不用多说,包括I/O注释和中间变量注释
至于保密性的考虑,我认为应该在程序的加密算法或者块的加密上考虑,而不应该通过减少注释之类的巧妙手段来实现。
正确性
PLC程序必须正确,必须经过实际工作验证,证明其能够正确工作。这是对PLC程序最基本的要求。如果做不到这一点,其他一切再好也没用。
要使程序正确,必须准确使用指令,正确使用内部器件。指令的准确使用与对指令的准确理解有关。为此,说明书的含义和使用条件必须明确。如果有必要,可以写一些小程序来测试一些不清楚的指令。
对于同一条指令,由于PLC厂家批次不同或PLC系列型号不同,部分指令细节可能会有所不同,因此应仔细查看编程手册。
正确使用内部组件也很重要。例如,有的PLC有断电保护,有的PLC没有。进行掉电保护就需要使用掉电保护器件,反之亦然。
总之,要准确使用指令,正确使用内部器件,编写的程序才能正确运行。这是对PLC程序最基本的要求。
举个简单的例子,西门子的上升沿和下降沿需要使用带有存储功能的变量作为中间变量,比如M点或者DB点。如果使用FC的temp变量,就会出现问题。
可靠性
该程序不仅必须正确,而且必须可靠。可靠性体现了PLC程序的稳定性,也是对PLC程序的基本要求。
有些PLC程序在正常工作情况下或合法操作下可以正确工作,但出现异常工作情况(如暂时停电然后很快又上电)或非法操作(如按某些按钮顺序不正确,或按了几个按钮后)按钮),程序无法正常工作。这种程序不太可靠,或者说不稳定,是一个糟糕的程序。
一个好的PLC程序可以识别异常工作情况并将其与正常情况联系起来,使程序能够适应多种情况。好的PLC程序可以拒绝非法操作,不留“痕迹”。只接受合法的操作。
联锁是拒绝非法操作的常用方法。这种方法在继电器电路中常用,PLC也可以继承这种方法。
易于修改
要让一个程序容易修改,那就是它必须容易修改。
PLC的特点之一是其方便性和灵活性,适用于各种情况。解决办法是修改或重新设计程序。
当重新设计程序以改变PLC流程的应用要求时,不仅要重写程序,而且I/O也必须重新分配。大多数情况下,不需要重新编程,只需进行一些修改即可。这就要求程序易于修改。
易改意味着灵活性,只需进行少量的改动即可达到改变参数或易于改变动作的目的。
可扩展性
许多程序可能在进入站点之前就已编程,但到达站点后,可能需要添加其他程序。为了避免破坏整个系统的结构,每个功能区域都需要预留一定的空间作为备份。
为硬件留出足够的余量。编写软件时要考虑手动、自动、半自动功能,并为其留出空间。
完整的报警系统
PLC 系统通常用于工业环境中。每一次事故都会造成或大或小的损失。为了对事故进行预处理或将事故期间的损失降到最低,必须重视PLC的报警和保护。这里,我们将它作为系统的重要组成部分拿出来。
程序模拟
为了保证现场调试进度或者向客户演示,往往需要在进入现场之前对自己的程序进行全自动模拟。为此,需要在程序中添加模拟程序部分,并在正常现场操作后断开模拟程序部分。为了使程序具有仿真能力,需要完成以下工作:
(1)将实际的PLC I/O点转换为PLC中间变量或数据块变量;
(2)根据工艺要求为各设备编写仿真程序。
在设计PLC程序的过程中,能够满足上述要求的程序才能称为好的程序。
审稿人:刘庆