目前工控领域中广泛使用的可编程逻辑控制器(Programmable Logic Controller)大概可以分为两类:传统PLC与软PLC。传统PLC由于自身存在一些不足,例如封闭的硬件体系结构,主要由几家厂商所垄断,而软PLC在开放性及低成本方面潜力巨大,目前欧美等很多西方国家已经把软件PLC作为一个重点对象进行研究开发。
传统PLC具有硬实时性,正因为如此它才能提供快速、确定而可重复的响应。另一方面,由于软PLC是基于PC而建立在一定的操作系统上,例如Windows NT,而这并不是一个硬实时的操作系统,这使得以PC为基础的控制引擎实时性问题成为制约软PLC发展的主要因素之一。
针对软PLC在实时性方面的不足,本项目采用基于嵌入式处理器的控制方案,软PLC执行系统作为一个任务在控制器固件内。美国TI公司推出的C6000系列数字信号处理器(Digital Signal Processor)具有很高的处理能力,特别是为其TMS320C6000TM、TMS320C5000TM和TMS320 C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核DSP/BIOS,提供抢占式多线程、硬件抽象、实时分析和配置工具,可实现实时线程调度与同步、主机与目标DSP间通信或实时监测。DSP是串行控制的,运算速度快。基于DSP/BIOS实时内核的PLC执行系统,具有相当好的实时性及稳定性。下面着重介绍其设计及实现方法。
1 软PLC的设计规划
1.1 软PLC的架构分析
由PLC执行系统控制的PLC程序划分为一级程序和二级程序,它们的执行周期不一致。一级程序每8 ms执行一次,处理响应快的短脉冲信号,例如外部的操作面板信号和报警信号,在程序末尾自动给出结束标记END1。二级程序为一般的PLC指令,每8n ms执行一次,n为第二级程序的分割数。在开始执行二级程序时,PLC执行系统模块会根据执行程序所需要的时间自动把二级程序分割成n块,每个8 ms只执行其中一块,并在二级程序结束时自动给出结束标记END2。
1.2 PLC执行系统的工作原理
PLC采用循环扫描方式工作,首先进行系统初始化,然后进入循环工作过程包括输入采样、PLC指令执行及输出刷新几个阶段,其基本流程如图1所示。
1)系统初始化:在循环执行PLC程序前,首先要进行执行系统的初始化,包括参数的输入及变量初值的设置;2)输入的采样:每次执行PLC程序时,要读取外部输入状态至缓冲区中,以备后面程序查询;3)执行用户PLC程序:执行用户程序,就是CPU从PLC程序的首地址开始按顺序逐个执行编译后的PLC指令,过程结果暂存在相应的寄存器内;4)输出的刷新:执行完用户程序后,需要把处理后需要输出的结果进行外部输出。由于PLC控制的对象大都是变化缓慢的信号,而PLC每次扫描输入和逻辑运算的时间很短,本PLC执行系统设定为每执行一个循环,就进行一遍输出的刷新。
1.3 DSP/BIOS的线程调度
文中的PLC执行系统的开发均在TI公司提供的集成开发环境CCS(Code Composer Studio)中进行,CCS不仅集成了常规的开发工具,如源程序编辑器、代码生成工具及调试环境,还提供DSP/BIOS开发工具。DSP/BIOS是一个精简的实时操作系统内核,具有实时操作系统功能。它提供抢占式多线程,支持多种不同优先级,每种线程都有不同的执行和抢占特性,分别是硬件中断(HWI)包括时钟函数(CLK)、软件中断(SWI)包括周期函数(PRD)、任务线程(TSK)、后台线程(IDL)。线程类型的选取原则:HW1只用来处理对时间要求苛刻的关键任务;SWI用来处理相对独立的函数,如果算法要求比较复杂则使用TSK。TSK提供了很多任务通信和同步的手段,并且拥有自己独立的堆栈,因此比SWI更灵活。IDL用于执行与时间无关的非关键任务。
在DSP/BIOS线程调度中,硬件中断与软件中断的高优先级线程可以暂停运行中的低优先级任务,而高优先级的任务线程必须用特定的API才能抢占当前运行的低优先级任务线程,且只有任务线程才能暂停状态。基于PLC执行是一个循环执行过程,且与其它运动线程有复杂的通讯交互,本执行系统将其建立为一任务线程,由DSP/BIOS实时操作系统进行调度。2 PLC执行系统的具体实现
3.2 软PLC执行系统的应用
传统PLC的一个缺点是硬件体系结构相对封闭,并且成本高,例如日本三菱PLC FX2N系列控制器本身未集成运动轴控制功能,每增加一个运动轴的控制均需额外扩展脉冲发生器单元(Pulse Generatint Unit,PGU),如果在多轴设备上应用可能会造成成本过高并且灵活不够。本课题组开发的运动控制器IPMC8188可独立控制8轴,软PLC执行系统作为一个任务运行在该控制器的固件中。对比传统PLC,有稳定强大的PLC功能的运动控制器可降低控制系统构建的复杂程度,提高控制效率及开发效率。图5所示为内嵌软PLC执行系统的IMPC8188运动控制器,目前,该型运动控制器已在全自动刃面检测机、自动贴片机及全自动微钻磨尖机等自动化设备上使用并稳定运行。
4 结束语
基于嵌入式处理器的软PLC执行系统能有效的弥补软PLC在实时性及稳定性方面的不足,并且由于自带操作系统,有可靠地数据存储和自恢复功能。文中论述的基于DSP/BIOS的PLC执行系统的设计,与运动控制相结合,在小中型自动化设备方面应用广泛,另外在实现大规模系统的综合性自动控制方面也有很大的发展潜力。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』