按照控制系统的要求进行PLC程序设计是工程项目设计的核心。程序设计时应将控制任务进行分解,编写完成不同功能的程序块,包括循环扫描主程序、急停处理子程序、手动运行子程序、自动运行子程序以及故障报警子程序等。
编写的程序要进行模拟运行与调试,检查逻辑及语法错误,观察各种可能的情况下各个输入量、输出量之间的变化关系是否符合设计要求,发现问题及时修改设计。
根据工程项目控制和数据处理的需要,程序可以由不同块构成。S7-1500 PLC的程序块主要有组织块OB、功能FC、功能块FB和数据块DB。
(1)组织块OB
组织块OB是操作系统与用户程序之间的接口,只有在OB中编写的指令或调用的程序块才能被CPU的操作系统执行。在不同情况下操作系统执行不同的OB,例如系统上电时执行一次OB100(启动组织块),然后循环执行OB1(程序循环组织块)。除此之外,还有其他处理中断或错误的组织块,这些组织块按优先级顺序可中断其他组织块(包括OB1)的程序运行。例如,OB30为循环中断组织块,从CPU进入RUN 模式运行程序开始,每隔设定的时间间隔,将中断当前程序段,执行一次循环中断组织块OB30。
(2)功能FC和功能块FB
功能FC是编程者自己编写的子程序块或带形参的函数,可以被其他程序块(OB、FC和FB)调用。
功能块FB是由编程者自己编写的子程序块或带形参的函数,可以被其他程序块(OB、FC和FB)调用。与FC不同的是,FB可以有自己的称为背景数据块的数据存储区,常用于编写复杂功能的函数,例如闭环控制任务。
(3)数据块DB
数据块DB用来存储程序数据。
下面以酸连轧轧机TCM机组电磁感应加热控制系统为例,详细讲解程序的设计。
电磁感应加热控制系统原理:带钢电感应加热设备安装在冷轧硅钢酸连轧机组6#张力辊和8#CPC(纠偏辊)之间,用于无取向高牌号硅钢带加热,使带钢从室温加热到工艺温度。
根据控制任务要求,将电磁感应加热控制系统分成若干个子任务,如急停处理,手动运行、自动运行、计数统计、故障处理和模拟量处理。对每个子任务编写相应的子程序进行控制。
1、子程序块
手动运行FC1、自动运行FC2、计数统计FC3、故障处理FC4、急停处理FC5和模拟量处理FC6。
2、程序结构
由于模拟量采集通常需要以固定间隔进行,不需要在每个循环扫描周期都进行,所以模拟量处理程序块FC6由循环中断组织块OB30进行调用。
计数统计FC3子程序由自动运行FC2子程序调用,而FC1、FC2、FC4和FC5子程序块统一由程序循环组织块OB1(主程序main)进行调用。
对于数据的初始化,可以在启动组织块OB100中编写程序。