软PLC控制技术综述
20世纪90年代后期,人们逐渐认识到,传统PLC(本文简称硬PLC)自身存在着这样那样的缺点:难以构建开放的硬件体系结构;工作人员必须经过较长时间的专业培训才能掌握某一种产品的编程方法;传统PLC的生产被几家厂商所垄断,造成PLC的性价比增长很缓慢。这些问题都成了制约传统PLC发展的因素。近年来,随着计算机技术的迅猛发展以及PLC方面国际标准的制定,一项打破传统PLC局限性的新兴技术发展起来了,这就是软PLC技术。其特征是:在保留PLC功能的前提下,采用面向现场总线网络的体系结构,采用放的通信接口,如以太网、高速串口等;采用各种相关的国际工业标准和一系列的事实上的标准;全部用软件来实现传统PLC的功能。
二、系统结构和应用特点
(一)系统结构
软PLC基于PC机,建立在一定操作系统平台之上,通过软件方法实现传统PLC的计算、控制、存储以及编程等功能,通过IO模块以及现场总线等物理设备完成现场数据的采集以及信号的输出。根据传统PLC的组成结构,软PLC系统由开发系统和运行系统两部分组成。也可分为编辑环境和运行环境两部分。编辑环境与运行环境是客户服务器模式,二者之间采用COMDCOM通信机制,运行环境作为COM服务器,提供标准的通信接口;编辑环境作为COM客户端应用,本地或远程访问存取这些接口,进行下载代码、读取运行环境的运行信息等操作。软PLC系统的整体框图如图1所示。
图1 软PLC系统的整体框图
嵌入式系统通常由EPC或嵌入式控制器(也称智能控制器)和嵌入式软件组成,嵌入式软件又分为嵌入式操作系统和嵌入式应用程序,嵌入式操作系统的特点是程序短小、所需内存少,Mi-crosoft公司推出的WindowsCE就是一个嵌入式操作系统,而软PLC可以作为一个嵌入式应用程序运行在嵌入式系统中。
软PLC开发系统和运行系统是相互独立而又密不可分的两个应用程序,可以分别单独运行。
1.软PLC开发系统
软PLC开发系统实际上就是带有调试和编译功能的PLC编程器,此部分具备如下功能:①编程语言标准化,遵循IEC61131-3标准,支持多语言编程(共有5种编程方式:IL,ST,LD,FBD和SFC),编程语言之间可以相互转换;②丰富的控制模块,支持多种PID算法(如常规PID控制算法、自适应PID控制算法、模糊PID控制算法、智能PID控制算法等等),还包括目前流行的一些控制算法,如神经网络控制;③开放的控制算法接口,支持用户嵌入自己的控制算法模块;④仿真运行,实时在线监控,在线修改程序和编译;⑤强大的网络功能。支持基于TCPIP网络,通过网络实现PLC远程监控,远程程序修改。
2.软PLC运行系统
这一部分是软PLC的核心,完成输入处理、程序执行、输出处理等工作。通常由IO接口、通信接口,系统管理器、错误管理器、调试内核和编译器组成:①IO接口,可与任何IO系统通信,包括本地IO系统和远程IO系统,远程IO主要通过现场总线InterBus,ProfiBus,CAN等实现;②通信接口。通过此接口使运行系统可以和开发系统或HMI(或MMI)软件按照各种协议进行通信,如下载PLC程序或进行数据交换;③系统管理器,处理不同任务和协调程序的执行,而且从IO映像读写变量;④错误管理器,检测和处理程序执行期间发生的各种错误;⑤调试内核,提供多个调试函数,如重写、强制变量、设置断点、设置变量和地址状态;⑥编译器,通常开发系统将编写的PLC源程序编译为中间代码,然后运行系统的编译器将中间代码翻译为与硬件平台相关的机器可执行代码(即目标码)。
(二)技术实现
以西门子公司开发的软件PLC产品为例说明它的构成方式。
第一种,在PC机上安装专用程序,使PC机用作为可编程控制器。该PC机上的操作系统是基于实时功能的,如:WindowsNT或WindowsCE或Linux等,在西门子开发的应用软件Pro-ToolPro的支持下,实现控制和监视,在编程软件STEP7支持下,提供用户编程环境。该PC机上还集成了现场总线Profibus-DP的通信协议及Profibus-DP接口,用以实现与分布式IO及其他现场设备的连接。
第二种,将软PLC做成一块插板,安装在PC机的PCI总线插槽上。该PLC是可以独立工作的微机系统,与PC机无关,如有需要甚至可以用自身独立提供的电源。PC机可以容纳数个插槽式的PLC,并把它们当作集成模块,在操作系统支持下既独立又协调地工作。这种软PLC对操作系统、控制软件和编程软件的要求与第一种相同。在PC机的平台上,实现编程、运行、操作、监控数据存储及状态显示功能。
当对实时控制的要求较低时,一般使用第一种结构,专用软件就直接安装在Windows
软PLC控制技 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)