3 系统软件结构
系统软件由控制保护算法部分和显示控制部分组成,其中PLC 控制软件采用梯形图形式编写,显示器部分主要是图形化编程。
在电控系统中由PLC 处理的数据计有: 10 路模拟量输入、1 路模拟量输出和39 点开关量输入输出。虽然PLC 对开关量的处理能力很强,但对于GE Funac 90 - 30 这类中小型PLC ,其算术运算功能较弱,梯形图编程又缺乏对地址指针之类的灵活寻址方式的支持,所以在本系统的软件设计中对模拟量的处理是重点和难点。在设计中,采取为每路模拟输入设置单独的FIF0 (先入先出) 队列,尽量减少长字运算,在满足响应时间的前提下降低执行费时的滤波运算的次数等方法,提高了对10 路模拟信号进行数字滤波的效率。实际运行表明,采取这些方法后速度为0. 4ms/ 千步的PLC 可在20ms 内完成10 路8 字深度的均值滤波,比一般的重复累加滤波算法约快30 %左右。另外,通过设置大型数组,使用下标操作寻址的方法也大大提高了对数据寻址的效率和灵活性。PLC程序的总体流程如图2 所示。
图2 PLC 程序流程总图
在PLC 程序中大量采用子程序进行结构化设计,其优点是程序结构清晰、维护方便并能节省PLC 宝贵的存储器资源。整个PLC 控制程序由1个主程序和10 个子程序构成,其中每个子程序都完成特定功能,子程序之间接口清晰,数据和算法对应关系明确。例如,在对模拟量的预处理中,编写了专门的子程序,利用数组和移位操作构成的FIF0 队列,对输入模拟量数据进行数字滤波。通过改变滤波子程序调用参数,很容易改变滤波时间常数。为了实现采煤机系统运行参数的跟踪记录功能,特编写了专门的子程序分别进行数据的整理、记录和回读。数据整理子程序负责采集需要记忆的数据,并将这些数据整理形成紧凑的记录(RECORD) 格式。记录子程序接受整理子程序输出的记录数据,利用GE Funac 90 - 30的数组功能,靠对数组下标的模运算,构成环行寻址(circular addressing) 将记录数据写入PLC 掉电保护的RAM ,很好地实现了数据的连续跟踪记录功能。