高名兴++徐志明
摘要:近年来,可编程控制器在工业控制领域的应用越来越广泛,但与此同时,传统可编程控制器的一些缺点和不足也愈加明显,例如对新设备兼容性差,无法实现高速计算以及通讯薄弱等。因此,需要一种新技术来满足工业控制领域新的需求,一种被称作软PLC的技术进入人们的视线,由于它采用软件在传统PC设备上模拟PLC,无法像传统PLC设备一样长久稳定、高效地运行。嵌入式PLC结合了传统PLC和软PLC的优势,在提升了PLC的运算能力的同时,极大地发挥了梯形图和开源结构的优势,形成了控制领域的一种通用平台结构。
关键词:PLC;嵌入式;通讯
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)17-0189-03
Research on Design Technology of Embedded PLC Hardware and Software
GAO Ming-xing1, XU Zhi-ming2
(1.College of electronic and Information Engineering, Tongji University, Shanghai 201804,China;2.Shanghai Electric Group Company Limited, Shanghai 200336, China)
Abstract:At present, the PLC has been widely used in the industry area. But the disadvantage of this controller appears along with the development of the industry equipment. Such as worse compatibility cooperate with the new equipment, poor satisfaction of the high calculation and weak communication and so on. Thus, there need new technology to satisfy the increasing industry requirements. The soft PLC comes into the world from on kind of condition. The function of PLC is imitated through software on the PC platform. But the soft PLC has shortage also. The sturdiness and instantaneity is worse than the traditional PLC. Therefore, the embedded PLC combines the advantages of traditional PLC and soft PLC, increase the computing power, express the advantages of ladder diagram and open construction to bring a universal platform to the controlled members.
Key words:PLC;embedded; communication
嵌入式PLC是一种在特定的控制装置中实现PLC Programmable Logic Controller)的相关编程语言解释和执行的功能,使得该特定装置不仅具有自身的专用功能,还实现了PLC的基本功能 [1]。目前,嵌入式PLC已经广泛应用到了工业控制领域,大大提高了生产效率,促进工业自动化发展。
嵌入式PLC系统设计需要从多方面因素进行考虑,其中主要包括硬件平台、软件平台和网络通信平台。
1 嵌入式PLC硬件平台
嵌入式PLC需要满足不同客户的需求,在不同的应用场景中,需求可能会完全不同。因此,在硬件平台设计过程中,应尽量采用模块化的设计方法,这样能够使系统具有更好的可扩展性。对于PLC最重要的指标是实时性,在实际生产过程中,会存在一些误操作以及干扰信号,如果PLC不具有较好的实时性,那么将会造成十分严重的后果。
本硬件平台主要有高性能嵌入式CPU和各种外围接口组成,CPU内部集成了大量资源,以供外围接口及CPU自身使用 [2]。主机采用RAM芯片做CPU,负责对数据的运算和处理,上外围电路包括存储芯片、复位电路、电源电路、时钟电路、以太网接口电路等,主机通过各种总线或以太网来实现与外部的通讯。对现场数据的采集和对PLC输出数据的执行,均由输入输出模块来处理。系统结构如图1所示。
嵌入式PLC的网络控制是通过嵌入式PLC的通讯接口来实现的,嵌入式PLC通过各种总线与其他设备进行数据交互,使其他设备很方便的接入嵌入式PLC的控制网络,组成一个完整的控制系统。这里所采用的通讯接口主要有以下几种:
1)串行通讯接口RS232
RS-232接口是目前最常用的一种串行通讯接口,使用线路少、成本低,应用广泛。从图一可以看到,在硬件平台中使用了两个RS232接口,其中一个串口用于与PC机进行通讯,包括用户所编写的PLC程序下载,PLC与组态软件之间的数据通信。通过该串口,上位机能够实时控制PLC设备和获取PLC的数据和工作状态。另一个RS232串口作为备用接口。
2)串口通讯接口RS485
RS485接口用于实现RS232接口无法完成的联网功能,它采用平衡发送的方式发送数据,另一方面采用差分接收的方式接收数据,这样能够很好地抑制共模干扰。RS-485接口在工作中采用半双工模式,发送过程由使能信号进行控制,在同一时间接口中只存在一个点能够进行发送数据。
3)扩展总线接口SPI
SPI是一种高速的,全双工,同步的通信总线,在点对点的通信中,SPI接口不需要进行寻址操作,简单高效。设在标准SPI总线中,由于使用了MISO和MOSI的方式,可以进行双向数据传输。SPI总线可用来扩展I/O模块、无线数据采集模块等数据采集模块通讯。
4)现场总线CAN接口
控制器局域网络(Controller Area Network,CAN)是一种多线路网络通信系统,它具有时分多主、非破坏性总线仲裁和自动检错重发的特点。CAN价格低廉,在通信技术上灵活可靠,已经被广泛应用于工业自动化控制生产线、传感器、智能设备及医疗设备等领域 [3]。嵌入式PLC既可以通过CAN总线进行联网,构成分布式控制系统;也可以通过CAN总线构成的数据采集系统为PLC控制系统采集大量的信息。
2 嵌入式PLC软件平台
嵌入式PLC软件平台主要包括开发平台和操作系统,其中开发平台用于PLC程序编写和烧写,操作系统用于控制整个系统、与外界交互及数据存储等。结构如图2所示。
开发环境:开发环境的核心功能是将PLC程序写入控制器存储器中,目前主要有两类PLC编程语言:梯形图和指令表。从系统的扩展性和可移植性考虑,梯形图和指令表可以用C语言代替,这样可以提高程序的可读性和可移植性[4]。
操作系统:操作系统通过PLC虚拟机来仿真传统的PLC,进行存储、控制、计算和通信。用户在使用中的操作实际上并不是直接控制硬件设备,而是通过虚拟机间接地控制。因此,当外围硬件设备改变时,并不需要修改控制器程序,只需要配置虚拟机即可。这样大大提高了软件的健壮性,缩短开发周期,提高了系统升级更新的效率。目前有许多嵌入式操作系统可以选择,最著名的包括微软的Windows CE,RedHat公司的eCos,Vxworks和其他开源的操作系统,例如UC/OS—II和uCLinux。
虚拟机是PLC操作系统最为重要的部分,它是硬件设备和应用程序之间交互的媒介。虚拟机的设计主要由系统管理器、通讯管理器、编译器、解释器以及元件库五个部分组成,图3显示了它们之间的关系[5,6]。
系统管理器:PLC虚拟机中,系统管理器主要用于管理和调用其他部分,主要负责系统任务的管理和调度、PLC任务管理和调度、I/O管理和监控、文件管理、输入输出管理及系统错误管理等。
通讯管理器:通讯管理器的主要功能包括PLC程序的上传下载和数据交换,即通讯管理器主要负责PLC虚拟机与上位机的通讯。通讯管理器将嵌入式PLC虚拟机中的实时数据发送到上位机,并实时接收用户通过上位机所传递的指令,然后通知系统管理器进行相应的操作。通讯管理器模块基于TCP/IP协议的通讯模块,用户可以方便地利用以太网来和嵌入式PLC通讯,并把用户编写的PLC程序下载到嵌入式PLC,并对嵌入式PLC进行远程监控和调试,大大提高了PLC的开放性。
编译器:在PLC程序设计中,用户编写的程序大部分采用梯形图方式,但这种程序不能被编译器识别,编译器负责将梯形图程序进行编译,使其转变为PLC虚拟机可以执行的程序段。编译器模块主要由词法分析器、语法分析器、语义分析器、代码生成器和错误管理器组成。
解释器:由编译器生成的代码文件,在解释器中进行加载并解释执行。在解释器中,以面向对象的方式进行代码解释和数据结构构造,当编译器生成的代码文件被解释器加载后,会首先对代码进行解释分析,生成面向对象的数据结构,在程序执行阶段就不需要对代码进行分析和判断,大大提高了程序的执行效率。
元件库:元件库是PLC虚拟机和系统功能连接的纽带,它包含PLC程序设计所需要的梯形图原件信息,主要分为两类信息。一类信息为描述信息,主要是梯形图原件库中具体原件的描述信息,主要包括原件图形和接口的相关数据类型和结构的描述。另一类信息是逻辑信息,主要包括元件库中具体原件所对应的具体逻辑代码。在对梯形图程序进行编译过程中,编译器会首先访问元件库,查询梯形图原件的相关信息,然后根据具体原件信息进行代码编译。
3 总结
本文分别从硬件平台、软件平台的角度对嵌入式PLC系统进行了详细的分析。首先分析和设计了嵌入式PLC硬件平台的基本结构,并对设计中采用的通讯接口进行详细的讨论说明。然后讨论了嵌入式PLC软件平台的构成和基本结构,并详细分析了PLC虚拟机的组成关系。
参考文献:
[1] 廖常初. PLC应用技术问答[M].北京:机械工业出版社,2006.
[2] 高春侠,张磊.一种单片机嵌入式PLC系统的研究与开发[J].石化电气,2010,29(2):68-70
[3] 梁丁.基于嵌入式PLC的开发平台体系研究[D].成都: 电子科技大学,2007.
[4] 严奎.嵌入式PLC编程软件开发[J].工业控制计算机,2012,25(10):67-70.
[5] 徐本桥.基于芯片组的嵌入式PLC系统设计[D]武汉:华中科技大学,2008.
[6] 周春杰,雄蕊,王永义.基于网络环境的嵌入式PLC软件平台设计与实现[J].计算机工程与应用,2006, 34(35):77-80.