PLC 的应用及与继电器控制的比较
1.3.1 PLC 的应用
早期由于 PLC 的价格高于继电器控制装置,使其应用受到限制。20 世
纪 80 年代至 90 年代中期,是 PLC 发展快的时期,年增长率一直保持
为 30%~ 40%。在此期间,PLC 在处理模拟量能力、数字运算能力、人机接
口能力和网络能力方面得到大幅度提高。近几年来由于微处理器芯片及有关
元件价格大大下降,使 PLC 成本下降,同时又由于 PLC 的功能大大增强,
使 PLC 的应用越来越广泛,它广泛应用于钢铁、水泥、石油、化工、采矿、
电力、机械制造、汽车、造纸、纺织、环保等行业。PLC 的应用通常可分为
如图 1.9 所示的 5 种类型。
图 1.9 PLC 的应用分类图
分类图分析
顺序控制是 PLC 的基本应用,可以替代通常的继电器逻辑控制电路。
其他应用则是 PLC 专有的,继电器逻辑控制电路很难实现其他类似的控制
应用过程。
1.3.2 PLC 与继电器控制的比较
PLC 的梯形图与继电器控制线路图十分相似,主要原因是 PLC 梯形图
大致沿用了继电器控制的电路元件符号,仅个别之处有些不同。同时,信号
的输入/输出形式及控制功能基本上也是相同的,但 PLC 的控制与继电器的
控制又有不同之处,主要表现在控制逻辑、可靠性和维护性、工作方式、控
制速度以及定时控制几个方面说明:对于“立即写入”功能,必须按以下实例所示创建符号程序段。
对于对时间要求苛刻的应用程序,将数字输出的当前状态发送给输出模块的速度可能必须快于正常情况下在OB1扫描周期结束时发送一次的速度。“立即写入”将在扫描“立即写入”梯级时将数字输出写入输入模块。否则,必须等到下一OB1扫描周期结束,届时将以P存储器状态更新Q存储区。
要将一个输出(或多个输出)立即写入输出模块,请使用外设输出(PQ)存储区来代替输出(Q)存储区。可以字节、字或双字形式读取外设输出存储区。因此,不能通过线圈单元更新单一数字输出。要立即向输出模块写入数字输出的状态,将根据条件把包含相关位的Q存储器的字节、字或双字复制到相应的PQ存储器(直接输出模块地址)中。
当心
·由于Q存储器的整个字节都写入了输出模块,因此在执行立即输出时,将更新该字节中的所有输出位。
·如果输出位在程序各处产生了多个中间状态(1/0),而这些状态不应发送给输出模块,则执行“立即写入”可能会导致危险情况(输出端产生瞬态脉冲)发生。
·作为常规设计原则,在程序中只能以线圈形式对外部输出模块引用一次。如果用户遵循此设计原则,则可以避免使用立即输出时的大多数潜在问题。
实例
立即写入外设数字输出模块5通道1的等价梯形图程序段。
可以修改寻址输出Q字节(QB5)的状态位,也可以将其保持不变。程序段1中给Q5.1分配I0.1信号状态。将QB5复制到相应的直接外设输出存储区(PQB5)。
字PIW1包含I1.1的立即状态。对PIW1与W#16#0002执行AND运算。如果PB1中的I1.1(第二位)为真(“1”),则结果不等于零。如果WAND_W指令的结果不等于零,触点A0时将传递电压。
在此实例中,Q5.1为所需的立即输出位;字节PQB5包含Q5.1位的立即输出状态;MOVE(复制)指令还会更新PQB5的其它7位。
为了PLC程序可读性强,短期内可以读懂并且能够修改,在PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:
一、程序结构
1、 程序结构统一
OB1:主程序;
OB100:初始化程序(无需主程序调用);
OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);
FC1:系统模式;
FC2:输入处理;
FC3:输出处理;
FC4:运行处理;
FC5:停止处理;
FC6:手自动切换;
FC7:
。。。
FC100:之后用来建立一些可以循环调用的子程序;
FC105:系统自带,模拟量输入子程序(可以循环调用);
FC106:系统自带,模拟量输出子程序(可以循环调用);
modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;
通讯CP340:FB2:P_RCV,FB3:P_SND;
一般PID:用FB41;
温、湿度PID:用FB58;
如果程序块与系统块重复,请避让。
2、 数据块
DB1:AI数据,类型:REAL,与上位机接口;
DB2:AO数据,类型:REAL,与上位机接口;
DB3:DI数据,类型:BOOL,与上位机接口;
DB4:DO数据,类型:BOOL,与上位机接口;
DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;
DB6:报警消息,类型:BOOL,与上位机接口;
DB7:类型:REAL,中间寄存器;
DB8:类型:INT,中间寄存器;
DB9:类型:WORD,中间寄存器;
DB10:类型:BOOL,中间寄存器;
DB11:之后用作与设备通讯用,例如:MODBUS通讯等;
DB100:之后用作调用FB块时的背景数据块;
M区:也作为中间变量。
3、 DP从站故障诊断
DP从站必须做故障诊断,故障报警,用FB125即可。
二、控制模式
1、 系统设置远程/本地/手动按钮
1.1、 远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;
1.2、 本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;
1.3、 手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
2、 单台设备控制
单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
3、 单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;
三、编程技巧
1、 程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;
2、 如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;
3、 对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的大值;
4、 程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;
5、 定期做程序备份,好以工程名称+系统名称+当天日期;
6、 程序加密,防止别人窃取。