摘要:软plc技术是一种基于pc的新型控制技术,与传统硬plc相比,它具有开放的体系结构、强大的网络通讯能力和更强的数据处理能力,能较好地满足现代工业自动化的要求,是目前工业自动化领域研究的热点之一。通过对软plc技术的相关概念和系统内容的分析与讨论,论述软plc的体系结构,提出基于pc的软逻辑控制系统的设计与实现方法。简要介绍软plc编辑系统,运行系统的组成部分和各个部分的功能,并讨论各个组成部分的实现策略。
关键词:软plc体系结构编辑系统运行系统
随着控制技术向智能化、分散化,网络化以及开放式控制发展,传统的plc技术渐渐暴露出其不足之处,主要表现在其技术封闭,各个生产厂商的plc产品互不兼容,各类plc的编程语言差别较大。同时,其技术为少数几家生产厂家所垄断,价格昂贵,所有这些因素都制约着plc的快速发展。pc-based控制技术的发展,以及工业控制领域的iec 61131国际标准的推出和实施,在工业pc上以软件技术实现硬plc的功能,能够解决传统plc应用所存在的不足。.
1软plc应用技术简介
1.1软plc产生的背景及其技术优点
软plc控制技术也称软逻辑(soft logic)和基于pc的控制技术。软plc采用开放式体系结构,具有良好的网络通讯能力,能够完成比较复杂的控制任务可以满足和实现当前和今后工业自动化领域控制系统开放性和柔性的要求。目前在工业控制领域,基于pc的控制系统得到日益广泛的应用。同时由于计算机软、硬件技术的迅速发展以及工控领域国际编程标准iec 61 131-3的制定和推广应用,在工业pc上以软件技术实现硬plc的功能,即软plc技术,成为一项新兴的技术。
与传统plc相比,softplc技术具有符合现代工业控制技术的许多优点:(1)具有开放的体系结构。(2)遵循国际工业标准和事实上的工业标准,如iec61131-3标准和iec 61491标准。(3)能充分利用pc机的资源,如大容量的内存、高速cpu及其它硬件。(4)具有更强的数据处理能力。(5)具有友好的人机界面,便于操作。(6)具有强大的网络通讯功能。(7)能够执行比较复杂的控制算法。(8)节约成本和培训费用。
1.2 iec 61131—3国际标准对软plc应用技术的影响
iec 61 131标准是有关可编程序控制器的硬件、安装、试验、编程、通讯等方面的国际标准。它共分5个部分,iec 61 13卜3是有关编程的标准。该标准共规定了5种编程语言,其中3种是图形化语言,另两种是文本化语言。图形化语言有梯形图ld(ladderdiagram),顺序功能图sfc(sequential functionchart),功能块图fbd(function block diagram)。文本化语言有指令表il(instruction list)和l结构文本st(structured text)。
以往各个生产厂家的产品不仅硬件各异,其软件编程也是五花afq。用户每使用一种plc时,不仅要重新熟悉其硬件结构,也必须重新学习软件编程的方法和规定。因此,用户对软件编程标准化的呼声很高。为此,国际电工委员会(iec)于1993年发公布了有关可编程序控制器标准化编程的iec 611 3 1—3标准。iec 61131-3标准为研发基于pc平台的软plc提供了规范的国际标准。
1.3软plc的发展现状
目前,国外许多工业控制系统开发商都在发展基于pc的控制系统,推出了符合iec 61131-3标准的产品。在国内市场上常见的控制产品有:法国cj in—ternational公司的isagraf,德国kw公司的multiprog beck—hoff公司的twincat以及softplc公司的softplc等作为典型的基于pc的控制系统,西门子公司的winac在国内得到了广泛的应用。
目前国内在这方面也开展了部分基础技术研究工作,但起步较晚,至今尚未有成熟的产品出现。
2软plc控制系统的体系结构及工作原理
2.1体系结构
软plc系统由编程系统和运行系统构成。编程系统用来完成plc应用程序的开发,运行系统负责对整个系统的管理和对应用程序的执行。由于编程系统和运行系统运行于同一pc平台,所以两者之间的通信可以采用动态连接库(dll)函数的方法实现数据交换。系统体系结构如图1、图2所示。
2.2编程系统
软plc编程系统实际上就是带有调试和编译功能的plc编程器,此部分具备如下功能:(1)编程语言标准化,遵循1ec 61 131-3标准,支持多语言编程(共有5种编程方式:il、st、ld、fbd和sfc),编程语言之间可以相互转换。(2)丰富的控制模块,支持多种pid算法(如常规pid控制算法、自适应pid控制算法、模糊pid控制算法、智能pid控制算法等等),还括目前流行的一些控制算法,如神经网络控制。(3)开放的控制算法接口,支持用户嵌入自己的控制算法模块;(4)仿真运行,实时在线监控,在线修改程序和编译;(5)强大的网络功能,支持基于tcp/ip网络,通过网络实现plc远程监控,远程程序修改。
2.3运行系统
这一部分是软plc的核心,完成输入处理、程序执行、输出处理等工作。通常由i/o接口、通信接口、系统管理器、错误管理器、调试内核和编译器组成。
1)i/o接口:可与任何i/o系统通信,括本地i/o系统和远程i/o系统,远程i/o主要通过现场总线interbus、profibus、can等实现。
2)通信接口:通过此接口使运行系统可以和编程系统软件按照各种协议进行通信,如下载plc程序或进行数据交换。
3)系统管理器:处理不同任务和协调程序的执行,并且从i/0映像读写变量。
4)错误管理器:检测和处理错误。
2.4软plc的工作原理
软plc工作过程如下图3所示。
右边是iec 611 31—3标准的编程环境;中间是windows nt运行环境;左边是现场设备,采集上来的现场输入信号被软plc运行系统处理,由软plc编程系统编写的应用程序也被软plc运行系统解释执行, 后将处理后的信号输出到本地(或远程)控制现场,驱动现场设备正常运转。
3基于pc平台的软plc控制系统的实现
3.1软plc控制系统实现方案的探讨
根据软plc运行的硬件平台的不同,其控制功能的实现方案有以下三种:
(1)基于ipc控制方案
在这种控制应用方案中,系统的软件平台可以采用windows nt,windows ce或linux等,通用i/o板卡和i/o接线端子板(或现场总线卡、现场总线以及远程i/o模块)负责与工业控制现场打交道。采集上来的输入信号被软plc运行系统处理,软plc编程系统(编程器)编写的控制应用程序也被软plc运行系统解释执行, 后将处理后的信号输出到本地(或远程)控制现场完成相应的本地控制(或远程控制)功能。
(2)基于嵌入式控制器或智能控制器的控制方案
嵌入式控制器是一个超小型计算机系统,一般没有显示器,其软件平台是嵌入式操作系统(3女llwindowsce)。在这种控制方案中,软plc运行系统可以作为一个固件被安装到嵌入式控制器中,编程系统编写的应用程序通过rs232或tcp/ip协议下载到此控制器中,因此整个系统就如同一个黑盒子运行并完成指定的控制功能。
(3)基于传统plc的控制方案
在这种方案中,传统plc将只作为一个硬件系统平台,将软plc运行系统安装到此传统plc硬件中,然后将开发系统编写的plc应用程序下载到此硬件系统并运行,即可实现plc的控制功能。
基于工业pc的软plc控制系统能够充分地利用pc机丰富的软、硬件资源,操作简单,成本较低,易于构建现场总线控制系统和网络控制系统。这种控制系统在工厂综合自动化系统以及工业企业管控一体化等领域有较广范的应用,本课题依据第一种方案实现基于pc平台的软plc控制系统。
3.2编程系统的设计
在plc系统中,为用户提供一个良好的软件开发调试环境是软p l c研究的重点。为此,需要进行了重点开发。该平台采用普通个人计算机作为基本编程工具,编程语言遵循iec 61131-3,并选择其中 常用的ld(梯形图语言)、il(指令语言)和 灵活的st(结构文本语言)3种语言同时作为用户程序开发语言。设计用户软件集成开发环境 主要的目的是为plc系统提供一个直观、方便、高效的用户程序开发平台。该平台的主要任务是完成对ld、il和st等3种plc语言的编辑、编译、调试。
编程系统主要括以下七大模块:
(1)编辑模块:主要为ld、il和st等3种plc语言提供一个程序编辑环境,接受用户的输入、编译。(2)、(3)编译、连接模块:用于将ld、il和st等3种语言写成的用户程序分别进行编译生成目标代码,再将其生成可执行文件。(4)调试模块:调试模块用于对用户程序中可能存在的语法错误,非法输人等进行定位、提示,以方便用户修改同时提供联机调试。(5)通信模块:用于负责编辑系统与运行系统的通讯。(6)项目管理模块:主要用于管理和归档所有数据,括用户编辑的源程序、编译生成的代码(中间码、目标码、可执行文件)、程序库(标准功能函数、通信功能函数、用户自定义函数)以及在线信息(plc硬件的配置信息、在线测试的附加信息等)。(7)仿真模块:用于运行对用户编制的程序进布完整的连续仿真。
3、3运行系统的设计
运行系统的主要功能有三个:(1)与编程系统的通信;(2)目标代码的执行;(3)各种i/o硬件的驱动。为了便于软件的日后维护和升级,将运行系统和编程系统分开,以便于移植到不同的硬件平台。软plc运行系统虚拟机是运行系统的核心,也是整个软plc系统的核心它一方面面负责处理操作系统的服务请求,另一方面对应用程序进行管理和执行。程序执行时,首先为应用程序分配内存,将程序加载到分配好的内存里,然后在虚拟机中解释并执行编程系统下载的目标代码。设计的运行系统虚拟机支持iec 61131-3标准规定的100余种函数、功能块和操作符。使用虚拟机技术,可以方便地将运行系统移植到不同的硬件平台。运行系统的i/o驱动模块直接驱动具体的硬件。
4软plc在工业生产应用中,应该解决的关键性技术问题
4.1软plc应用工业生产中需要解决一些重要的问题,其中主要有:
(1)以pc为基础的控制引擎的实时性问题。软plc首选的操作系统是windows nt,微软发布的windows nt系统是可靠性较高的编辑开发平台,非常适合软实时控制,它并不是一个硬实时的操作系统。
另外,windows ce等操作系统具有了nt在硬实时性方面所不具备的特性。在实际开发中也可使用其他的操作系统作为平台。
(2)设备的可靠性:即能在高温、震动、温差大、多灰尘等恶劣环境下保持正常工作。只有以上关键技术得到解决后,软plc才能真正用于工业控制领域。
4.2应用前景展望
软plc采用开放式体系结构,具有良好的网络通讯能力,能够完成比较复杂的控制任务,可以满足和实现当前和今后工业自动化领域控制系统开放性和柔性的要求,为将来工业自动化向更高层次的集成提供了可靠的技术保障。软plc克服了传统硬plc的诸多缺点,应用于工业控制后,将会大大提高企业的自动化水平和生产效率。基于此,可以预见软plc技术将有广阔的应用前景。
5结束语
本文介绍了软plc应用技术的相关概念,剖析了软plc的体系结构、以及工作原理。提出了具体的实现方案,对软plc应用中存在的关键性技术问题进行了深入分析。
参考文献
【1】王永华.现代电气控制及plc应用技术.北京:北京航空航天大学出版社,2003
【2】胡学林.可编程控制器(基础篇).北京:电子工业出版社,2003
【3】付应红,李晓帆,项进解.软plc(soft plc)技术、产品与控制力案探讨.微计算机信息,2000,5
【4】方原柏.iec 1131-3编程标准及其影响.石油化工自动化,2000(3):37~39
【5】karl-heinz john,michael tiegelkamp.1ec 61131-3:工业自动化系统的程序编制.北京:中国机电一体化技术应用协会秘书处翻译,2002
【6】骆智.可编程控制器(plc)运行系统的设计与实现[硕士学位论文】.北京:北方工业大学,2004