基于ARM—Linux的可编程自动化控制器研究
2016-05-14李雪霞杨静
李雪霞 杨静
摘 要:当今时期计算机技术取得了高速发展,对社会进步做出巨大贡献。计算机技术同继电器控制技术合理结合,直接促进可编程逻辑控制器(PLC)的出现,PLC在现代工业中扮演重要角色,具有非常广泛的应用前景。但是由于PLC的运行系统、以及开发系统自身存在一些弊端,导致部分高端应用的需求无法得到满足。文章通过对基于ARM-Linux的可编程自动化控制器的研究分析,希望能够有效解决上述问题。
关键词:ARM-Linux;编程;自动化控制器
中图分类号:TM571.61 文献标识码:A 文章编号:1006-8937(2016)14-0067-01
与PLC相比较,可编程自动控制器(PAC)更加具有优势,能够满足高端应用对网络通讯、开放性、以及控制算法等方面的需求,同时PAC性能更加可靠稳定,对工业控制自动化的未来发展具有至关重要的作用。本文通过对PAC运行系统的工作原理、以及各项特征的了解,同时同软件结构、硬件结构相结合,最终在ARM一Linux软硬件的架构下,设计一种具有开放性能的可编程自动化控制器通用开发平台。
1 PAC系统以及技术支持
可编程自动化控制器的出现和发展,对传统工业自动化控制系统具有至关重要的作用。作为一种全新型控制器,具有取代、扩充可编程控制器的性能。在现代计算机技术和网络技术的支持下,可编程自动化控制器的数据形式、控制功能、通信模式以及硬件结构更加完整先进。
1.1 PAC开发系统和运行系统
通过将开发系统与运行系统相分离,有利于为以后软件的开发、升级、维护等工作服务,而且能够方便移植运行系统到各异的硬件平台中。作为PAC的核心组成,运行系统通过完成通讯工作、程序的输入处理、执行处理、输出处理、以及数据库等内容,以此帮助系统完成控制管理;开发系统主要处在电脑系统中,在编好程序的基础上,生成可执行代码。开发系统能够在PC机广阔宽泛的开发环境下,充分提高其开发效率[1]。开发系统主要包括数据库模块、界面组成模块、以及PLC模拟器。从运行系统的执行角度分析,又可以将PAC分成解释型和编译型两个方面。编译型的用户程序,提前将指令编译成代码,同时保持代码具有可执行性,有利于避免出现散转、查找指令的过程;而解释型PAC主要是PLC虚拟机接受指令、解释、以及执行等命令,然后进行逐步执行,具有执行效率低、移植性弱等特点。
1.2 PAC的硬件结构
通常情况下,PAC硬件结构主要由继电器输出电路、外围电路、ARM开发板、AD转换电路、PWM电路、以及光耦输入等设备组成。在光电隔离的影响下,外部输入的开关量同ARM的输入口进行相连接,然后经CPU处理,最后由晶体管电路、或者继电器进行输出。
1.3 PAC的软件结构
PAC运行系统的软件结构,一般来说由应用程序和系统程序所组成。而系统程序又由PAC系统程序、Linux操作系统。PAC系统程序能够对功能子函数、以及运行环境起到支撑作用;Linux操作系统能够将系统的各项任务合理完成,比如说时钟管理、存储分配、中断管理、任务调度、以及为用户提供数据库、网络、界面互换、驱动等功能。用户程序指令在运行环境的基础下,将指令传递到操作系统,然后操作系统在驱动程序的帮助下实现操作。
2 PAC系统设计及工作模式
2.1 PAC运行系统运行环境设计
编译型PAC的运行系统主要由系统初始化、加载用户程序、通讯程序、扫描输入、扫描输出、下载程序、以及系统自检程序所组成。系统运行过程主要流程如下:首先,Linux和Uboot程序的初始化;然后是类似C区、M区、T区、X区、Y区等数据区,或者程序区的申请;其次,运行环境的建立,包括时钟线程、管理线程、界面线程、任务执行线程等内容。最后,根据PAC工作模式依次进行调试阶段、运行阶段、以及停止阶段。
2.2 软PLC的寄存器及指令系统设计
软PLC主要包括C计数器寄存器、M辅助寄存器、X输入端口寄存器、Y输出端口寄存器、T定时器寄存器等等。本次系统的指令主要由以下几部分组成:基本指令、数据类型转换、数据比较指令、数据移位指令、数据选择指令、数学运算,以及字符串的处理、通讯、计数器、模数转换等算法模块。
2.3 PAC系统运行模式
PAC中的编译型运行系统存在系统初始化、信号通讯、输入、程序下载、加载程序、输出及系统自检功能等。系统运行的流程图,如图1所示。
PAC系统运行中需要进行初始化程序,首先需要进行的是Linux的初始化和Uboot的初始化。完成初始化之后,系统申请数据区间与程序区间,比如系统中的输出寄存器、输入寄存器、时间寄存器、计数寄存器和辅助寄存器等。完成程序与数据空间申请,系统将进行线程创建,主要创建的线程包括时钟线程、任务线程和界面线程等,建立线程后完成软PLC运行环境的建立。与传统PLC一样,PAC同样存在三种运行模式,即调试模式、运行模式和停止模式。对于PAC来讲,调试模式中,系统通过初始化后,进行扫描输入,并对网口和串口进行扫描,将上位机通讯模块下载的程序BIN存储到某个用户序区,留待加载命令,执行命令。在运行模式中,系统初始化后,扫描输入,但不在对网口和串口进行扫描,而是直接将用户序区中的程序加载使用。
与PLC一样,系统工作运行过程可分成三个部分,分别是输入部分,执行处理部分和输出部分,这三个部分合在一起,便是一个扫描周期。当系统运行结束之后,将执行结束进程命令,并发送关闭信息,程序接收到结束指令后,立即停止运行,并将建立的线程全部注销,释放出更多的资源,保证PAC系统运行顺畅。PAC是在PLC的基础上发展而来,兼具PLC程序执行的特征,需要一步一步的执行加载的程序,因此,程序逻辑性十分重要,而通常都是由前至后逐步执行,从而得到最终结果,属于串行工作模式。
通过该模式导致的滞后时间,一般不会超过两个扫描周期,在无特殊要求的控制系统中,滞后时间带来的影响无关紧要,而少数控制系统要求高精度,控制过程需要做到“令行静止”的效果,所以需要采取提升PAC系统的灵敏度,降低滞后时间,更好的实现精密控制。
3 结 语
总的来讲,可编程自动控制器(PAC)充分借鉴了PLC以及PC的各项优势,技术性能得到进一步优化,随着技术的日渐发展和完善,将会对工业自动化的发展起到直接影响,必将会成为控制系统的关键因素。PAC不仅仅对自动化技术起到推进作用,同时对控制器在设计方面,以及集成等方面都具有跨时代的意义。因此,相关研究人员必须做好对PAC的进一步研究,以此推动我国自动化技术跨步发展。
参考文献:
[1] 郑诚.基于Linux+Qt的超高绝缘电阻测量系统控制模块设计与实现[J].工业控制计算机,2015,(5).