西门子模块6ES7222-1BD22-0XA0正规授权
可编程控制器(PLC,Programmable LogicController)经过几十年的发展,现在已经成为了重要、可靠、应用场合广泛的工业控制微型计算机。然而,人们在使用过程中也逐渐发现了传统PLC的缺点:兼容性差,由于生产厂家众多,各种机型互不兼容,没有统一的标准,难以构造统一的硬件结构;封闭、扩展能力差:产品能力的功能实现依赖硬件;对使用者的要求高:现行的PLC 产品,其编程方式要求使用者对PLC的硬件结构、电器原理、编程指令都要有相当的了解;可维护性差:PLC 出现故障时需要人员用工具进行检测和维修;成本较高,传统PLC 被几家厂商所垄断,性价比增长缓慢。这些问题都制约着传统PLC 的发展。近年来,工控领域的不少研究人员一直在寻求着解决这些问题的途径。随着计算机软硬件技术的发展及PLC IEC61131-3的制定,在计算机上以软件的方式来实现PLC 成为了发展的热点,这也就是软PLC(Soft PLC)。
软PLC介绍
软PLC,也叫软逻辑,是一种基于PC 机开放结构的控制装置。软PLC 综合了计算机和PLC 的开关量控制、 模拟量控制、数学运算、数值处理、通信网络等功能,通过一个多任务的控制内核,提供了强大的指令集、快速而准确的扫描周期、可靠的操作和可连接的各种I/O 系统及网络的开放结构。软PLC 提供了硬PLC 的各种功能,同时具备了PC 的各种优点。
基于PC 平台的软PLC 由于无需专门的编程器,因而可以充分利用PC 机的软硬件资源,直接采用梯形图或指令语言编程,并具有良好的人机界面,在数控系统中正逐渐取代硬件PLC,PLC 编程系统也正在逐步转向占据软件市场的PC 机。软PLC 技术发展的一个重要条件就IEC61131-3 标准的制定。
20 世纪90 年代,IEC(国际电工委员会)颁布了IEC61131 ,它的内容涵盖了PLC 整个生命周期的各个部分。IEC61131-3 是PLC 的语言标准,它定义了5 种PLC 编程语言的规范,其中结构化文本(ST)和指令表(IL)为文本语言,而顺序功能图(SFC)、梯形图(LD)、功能模块(FBD)为图形语言。同时,标准还允许在同一个程序中混合使用多种语言。IEC61131-3 标准由IEC 的SC65BW7工作组制定,它包括来自不同的PLC 制造商、软件公司和用户代表,实现了统一的编程标准。相对传统PLC,软PLC 解决了兼容性差、通用性差等问题,具有了多方面的优势:
(1) 硬件体系结构不再是封闭的,用户可以自己选择合适的硬件来组成满足要求的PLC。
(2) PC 机厂家的竞争激烈使得基于PC 机的软PLC 性价比得以提高。
(3) 软PLC 不仅可以实现连接到私有的PLC 网络中,而且可以通过PC 连接到计算机网络上。
(4) 由于软PLC 是基于IEC61131-3 标准的,因此在掌握标准后就可以容易的进行开发了。
由于软PLC 具有兼容性、通用性、、易于与网络连接、编程方便等优点。因而,目前都在进行软PLC 的研究。国际上,已经有了一些比较成熟和影响比较大的产品:如德国KW -sofeware 公司的MULTIPROG wt32、倍福TwinCAT控制软件TwinCAT PLC、法国CJ International公司的ISaGRAF 软件包、PCSoft International 公司的WinPLC、美国Wizdom Control Inbbblution 公司的Paradym-31 等等。而国内有关部门和工控方面的公司也正在着手研究开发具有自主版权的中文软PLC产品。
软PLC设计平台
硬件工作平台
软PLC 的期待硬件工作平台为工控机等PC 工业微机平台和嵌入式PC 平台。本设计因需要应用于嵌入式的数控系统中,所以采用了嵌入式PC 平台。嵌入式PC 是将PC 机的主要硬件集中在一张信用卡大小的主板上,将操作系统和应用软件存储在Flash芯片中。嵌入式PC 与标准PC 全兼容,采用与标准PC 相同的硬件结构和软件结构。因而,嵌入式PC在理论上能完成与普通PC 系统的工作。因而,我们可以在普通PC上做好设计和开发,再将软件移植到嵌入式PC 上。
嵌入式PC 包括单板计算机(SBC)、PC/104 计算机和饼干机,本设计采用的是嵌入式PC104 计算机。嵌入式PC/104 组件尺寸小,标准化,模块化程度高,采用层叠式结构,通过在CPU 板的基础上堆叠扩展板构成一个完整的计算机系统。PC104 的扩展板齐全,包括了网卡、数字I/O 卡、A/D 卡等。在PC104 上构造的系统即嵌入式软PLC 可扩展性好,标准化和模块化程度高。
现今PC104 的硬件水平可以达到P2 或者P3 一级,CPU 速度足够快,内存可到128M,程序存储空间可以选用CF 卡作为硬存储空间,可以达到128M,且可通过PC104 接口扩展其硬件I/O 能力,可增加软PLC 的I/O 口,丰富的硬件资源完全可以满足运行软PLC 的需要。这也使得设计时完全可以在普通PC 上,在Linux 内核下对软PLC 的各个模块进行调试,调试成功再移植到PC104 组件上运行。
软件平台
目前,大多数软PLC 分别以bbbbbbs, DOS 和Linux 系统为操作平台。早期的基于PC 的软PLC 采用的较多的是DOS 系统,这类软件由于运行DOS 环境下,可以轻松实现其实时控制的要求,但由于DOS 环境是单任务处理方式,使得PC 的潜力得不到充分发挥,系统的功能和灵活性也受到限制。而bbbbbbs 具有操作界面良好、程序开发相对容易、多任务等优点,但bbbbbbs 操作系统并不是一个理想的实时操作系统,且bbbbbbs 操作系统是收费的,这将大大增加开发应用的成本。因而,本设计配合数控系统的需要选用的是Linux 系统为操 作平台,基于Linux 内核模块的Rtlinux 是一个免费的、开放源代码的实时操作系统。
软PLC模块设计
本设计的软PLC 基于嵌入式PC104 计算机,建立在Linux 操作系统之上,软件的设计采用了模块化设计。每个模块都专职一项功能,每个模块都是一个进程。软PLC 全局变量是所有模块的公共数据,由配置文件设定。各个模块通过全局变量进行通信,各个模块的私有数据不包含在配置文件内。全局变量在每个模块都有副本,各个模块通过副本的数据对本模块进行运算,当循环一次运算后,就更新到全局变量,这样就实现了各个模块之间的通信。每个模块对全局变量的读写权限不一样的,只有对全局变量具有写权限的模块才可以更新全局变量里的数据。每个模块作为一个进程,进程之间的通信采用的是共享内存进行通信。软PLC 各模块之间的结构框图如图1 所示:
(1) 主程序(main program),启动软PLC,将首先运行主程序,主程序将读取配置文件上的内容,并运行配置文件上所设定的模块。
(2) 配置文件(configurefile),在软PLC 中具有核心的地位,它由几部分组成:
①软PLC 配置,在这部分设置了内核和各个模块的相关参数,
主要包括:模块列表,列出了要运行的模块;变量列表,列出了软PLC 中的全局变量,并定义了具有对应全局变量有写权限的模块。
② 公共配置,这部分设置了各个模块之间的共同属性。
③ 同步配置,这部分是要配制各个模块之间的同步性。为了保证数据的传输,必须让模块之间同步。
④ 实时性配置,软PLC 可以运行在3 种模式:正常模式、软实时模式和硬实时模式,设计时可以根据具体情况选择其中的一种模式。
对于每个具体的设计来说,需要对配置文件中的几个部分进行配置。
(3) 人机界面模块(HMI),用户和软PLC 之间的互动模块。通过友好的人机界面,用户可以控制软PLC 的调用和开关,同时可以查看软PLC 各个状态点的状态。在Linux 下,可以使用GTK 或者TCL/TK 进行设计。本设计由于整个数控系统的需要,采用了TCL/TK 进行设计。因为软PLC 的其他部分是用c语言进行设计,因而在用tcl/tk设计的人机界面模块和软PLC 之间,需要设计一个TCL/TK 的扩展模块作为两种语言之间的接口,这样在界面上就可以用TCL 语言调用C 语言编写的软PLC 函数。现阶段本设计主要完成了常用的PLC 图形语言梯形图和两种文本语言IL 语言和ST 语言的设计,因而人机界面可以分为两种,梯形图的编辑运行界面和文本编程的监控界面。
① 梯形图界面(如图2)。在梯形图界面上,用户可自由拖动如开关、计时器等各种器件进行自主编程,从而实现在线编程。在界面上右侧是状态栏,可以对各种状态点的控制和状态显示,如将状态点B1 状态置1,则需单击B1 前的小方框。界面的上方是菜单栏。用户可通过菜单的选择进行编辑、保存、打开等功能,编辑完毕,按下Run 键,TCL/TK 的底层程序将会检测状态点状态,并根据元件种类进行逻辑运算,这些直接使用TCL/TK 编程就可以实现。而Exit 键则是退出软PLC,当按下该键时,将会设置全局变量Quit = 1 并传递给关闭模块Plcshutdown。关闭模块将关闭所有在运行的软PLC模块,并杀死共享内存上的信号量。
② 文本编程监控界面。文本语言相对不够图形语言直观,设计监控界面,可以从监控界面上调用所需要的文本程序,同时对各个状态点的状态进行显示和控制。
(4) 文本编辑模块,用户PLC文本程序的编辑模块,使用文本编辑器即可实现。用户使用符合61131-3 标准的编程语言编写控制应用程序。编辑好的模块将会被软PLC 的编译器所编译,生成可执行代码。
(5) 逻辑模块,软PLC 的核心模块,它包括IEC61131-3编译器和数据处理模块。IEC61131-3编译器将编译用户编辑好的文本应用程序,首先将PLC 的代码编译成C 语言,然后再调用GCC 将程序和软PLC的链接库编译成目标文件,同时显示编译结果的正确性,将编译的错误信息及警告信息反馈给用户。
文本编辑模块与编译模块在软PLC 运行时,不会作为调用模块。软PLC只调用后生成的可执行模块。数据处理模块执行对各种浮点型数据的操作,功能包括PID控制、按一定的比例缩放数据大小等。
(6) 通信模块(Communication module),主要负责软件的网络通信协议等的实现,借助与操作系统的结合构建网络服务器,实现强大的网络服务功能,实现Modbus 等总线协议的总线控制功能。
(7) I/O 模块,软PLC与物理IO连接的模块。通过IO 模块,软PLC 的状态点与硬 件的IO 点一一对应,软PLC 可以通过IO 模块直接读写PC104 上IO扩展板的IO 点,实现对I O 点的读取和控制。
( 8 ) 关闭模块(Plcshutdown),由于本设计采用了多模块化设计和共享内存通信机制。因而软PLC退出,需要关闭所有正在运行的模块和杀死共享内存上的信号量。关闭模块提供了Quit的全局变量, 当Quit=1,将运行关闭模块中的程序关闭所有的软PLC 模块和杀死共享内存的信号量。
以上是根据需要设计的一些模块,根据用户需要还可以增加一些模块,如记录模块,数据库连接模块等,这些模块将会记录软PLC 的工作记录和保存软PLC 的数据记录。这些有待进一步的开发和设计。设计好各个模块,软PLC 的工作流程可如图3 所示。
本设计是在Linux 下进行设计,除HMI 模块是使用TCL/TK 设计外,其他均是使用C 语言进行编写,在Linux 下使用GCC 进行编译。由于篇幅所限,此处不展示代码。
实例
下面以一个简单的对3并口通道循环控制为例,说明软PLC 的工作流程。
(1)梯形图编程。从软PLC 主界面进入后,启动梯形图编程,调用梯形图编程的主程序。梯形图编程共需要调用梯形图界面模块、关闭模块、IO 模块,这些均在配置文件中设置好,不需用户进行设置。配置文件主要部分定义如下:
需运行的模块: 主要状态点定义:Ladder为拥有写的权利模块,主程序启动后,将读取对应的配置文件,运行所需模块。
用户即可在梯形图界面进行编辑,编辑后的梯形图程序如图4所示。这是一个比较简单的程序,因而只需要使用3个计时器和几个复位、置位输出就可以实现功能。编辑好梯形图程序后,按下Run 键,程序即可运行,并实现对IO 板上对应端口的控制。
(2)文本IL 语言编程。开始与梯形图编程相同,从软PLC 主界面进入后,启动IL 语言编程,调用主程序。文本编程共需要调用监控界面模块、逻辑目标程序模块、关闭模块、IO 模块。逻辑目标模块为用户编辑好的IL 程序,并通过编译器生成的可执行逻辑程序,用户可在PC 机上编辑和编译好逻辑程序,再移植到PC104 上进行调用。配置文件主要部分定义如下:
需运行的模块:
主要状态点定义:
为编译后的IL 程序模块。由于篇幅关系,实现循环控制的IL 程序在此处不再列出。
结束语
软PLC 具有强大的功能,在工业控制中发挥着越来越重要的作用,是一项具有巨大潜力的技术,其强大的网络功能是传统的PLC 无法比拟的。中国工业自动化的水平相对国外来说较低,技术含量少。因而国内企业要在激烈的竞争中立于不败之地,必须增加生产的自动化程度,提高产品的技术含量。发展自主产权的软PLC 将对此问题产生有力的推动作用,也有助于我国PLC 企业发展本国市场并向外扩展
1 概述
长期以来,马钢二铁厂的几座高炉因为煤粉产量不够,制约了高炉系数的进一步提高,为了提高煤粉产量,并且从节能角度出发,马钢二铁厂制粉系统将原来的球磨机改造为中速磨。中速磨是一套全负压的生产系统,配套设备较多,工艺较为复杂,因此对控制系统的要求相对较高。经过多方面综合考虑,控制系统后选用了在喷煤系统中有广泛应用的GE公司90-30系列PLC,并一次投运成功,实现了该系统的过程自动化。经过几个月的运行不仅完全满足工艺要求,而且运行稳定可靠。
2 工艺简介
制粉的过程是:原煤由行车吊入原煤仓,经阀门进入给煤机的皮带,通过皮带,进入中速磨,中速磨内有三个液压驱动的辊子,不断碾压原煤使其成粉末。同时,中速磨的一端鼓入加热炉送来的热风,将煤粉烘干,另一端则由煤粉风机向外抽风,形成负压,碾压过的细小煤粉和热风一起被抽到布袋除尘,布袋除尘回收煤粉至煤粉仓,用于高炉喷煤。热风则被煤粉风机排至大气中。
3 系统设计及配置
(1) 设计
本工程的自动化控制系统具体层次结构如下:
– 层:远程I/O从站和传动级系统,通过GENIUS现场总线与PLC相联进行通讯,完成数据的采集及设备控制。
– 第二层:过程控制系统,主要是将PLC和HMI(人机接面)通过基于TCP/IP协议的工业以太网相联,组成工业控制局域网,完成数据采集及设备运行状态的监视和控制。
– 第三层:预留与厂级网络的接口,进行生产管理所需数据的收集、处理、分析和传送。
(2) 系统配置
系统配置如图1所示。
图1 系统配置图
– 硬件配置
该控制系统硬件采用GE 90-30 PLC 2套,PLC的CPU采用IC693 CPU364,集成了工业以太网通讯接口。带有GENIUS接口的主/从站接口通讯处理器挂接VersaMax从站5套,完成数据采集及设备控制。操作站选用PIII工控机2套,操作站和PLC之间采用10MB的工业以太网进行连接,组成以TCP/IP协议为通讯基础的工业控制以太网,满足过程监视、控制及管理自动化的要求。
– 软件配置
操作系统采用bbbbbbs NT4.0工作站,为监控软件Cimplicity5.0和编程软件VERSA PRO提供可靠的运行环境。
在VERSA PRO 2.0中,梯形图和语句表为PLC编程语言,用于开发用户的控制程序,硬件组态程序用于PLC硬件、模板及网络通讯的组态,所有模板的组态数据都通过组态软件向PLC下载,避免了拨码开关的设置。
Cimplicity5.0接口开放,功能强大,图库丰富,能方便地进行生产过程的监视控制,并提供事件处理、报警登录、历史趋势等多种手段对数据进行分析。
4 系统控制功能
制粉工艺过程的主要控制包括:磨煤机出口温度控制系统,磨煤机负荷控制、磨煤机前负压控制等。
(1) 磨煤机入/出口温度控制
为了提高整个制粉系统的防爆能力,工艺将热风炉废气引入作为煤粉干燥气体及煤粉输送气体。由于热风炉废气温度变化较大,因此用加热炉产生高温烟气与热风炉废气混合,为磨煤机提供一定的干燥和温度稳定的气体。磨煤机入口温度可通过比值调节实现,即调节加热炉产生高温烟气与热风炉废气的混合比值来控制入口温度。
在制粉系统中磨煤机出口风粉温度要比入口温度重要,由于受磨煤机负荷及原煤干湿程度的影响,磨煤机出口风粉温度较难控制,因此可将磨煤机入口温度控制作为副环,出口风粉温度作为主环构成串级,这样,副环作为“粗调”,主环作为“细调”,减少了滞后,提高了抗干扰能力。由于采用改变入口温度作为控制手段,因此,加热炉产生的烟气只占整个干燥气的5%~10%,对风量影响不大,对磨煤机负荷控制也有好处。
(2) 磨煤机负荷控制
磨煤机是整个制粉系统的核心部分,负荷自动控制就是在保证喷吹要求的前提下,使磨煤机在经济的工况下运行。磨煤机负荷自动控制通常都是通过调节给煤机给煤量来实现,通过变频器控制给煤皮带的速度,从而控制给煤量。可按单回路设计,以给煤量作为调节变量。
(3) 磨煤机前负压控制
在使用中速磨制粉时,由于煤粉的细度与通风量之间是比例关系,因此保持磨煤机的风量不变,则煤粉的细度不变。保持磨煤机前负压的稳定,便能达到风量稳定的目的。实际上负压控制就是煤粉细度的控制,同时也能防止煤粉外泄。磨煤机前负压控制按单回路设计,以风量作为调节变量。
(4) 人机接口(HMI)功能
人机接口主要功能是生产操作人员通过CRT上的实时动态画面对生产过程进行监视,根据现场的实际情况对生产过程进行必要的控制和调节,以及进行趋势分析等。 用彩色CRT或液晶显示器的直观动态显示画面替代目前操作台上的大量显示仪表和操作按钮开关,使操作控制直观、简单和集中。其功能包括:生产各过程参数的监视与报警,历史数据的记录与显示,各控制回路的参数整定和调节操作,参数自适应、参数给定、报表打印等功能。
另外,系统监视功能也是人机接口的重要功能,它对整个自动化系统的功能实现起着重要作用。系统监视功能包括:过程故障报警与记录,电气系统故障报警与记录,动态参数显示与记录。
5 结语
控制系统自2002年5月正式投入生产以来,各项控制功能运行正常,完全满足工艺要求,系统运行稳定可靠,为今后其它高炉控制系统的改造提供了有益的经验。