西门子PRODAVE与S7-300 PLC的气力输送实验系统
时间:2017-07-24 阅读:1265
西门子PRODAVE与S7-300 PLC的气力输送实验系统
在自动化领域,DCS、现场总线、SCADA、PLC技术的蓬勃发展为自动化技术的发展注入了新的活力。该领域*技术与传统生产工艺的结合,已使得生产工艺、产品质量得到了较大的改善与提高。本文以南京顺风气力输送有限公司的气力输送机械平台为基础,同时结合SIEMENS公司的PRODAVE数据链接库、S7-300系列PLC等软硬件方面的*技术,经过二次开发,成功的构建了一套能够模拟现场的气力输送自动化实验系统,为气力输送自动化系统的设计与现场实施提供了极大的帮助。
2 气力输送实验系统工艺及功能要求
气力输送就是利用气流作为输送动力,在管道中搬运粉、粒状固体物料的方法。一个完整的气力输送系统通常由空气或气体源、把物料加入管内的设备、输送管道以及从输送空气中分出被输送物料的分离设备等组成。以常用的粉煤灰仓式泵气力输送系统为例,它主要由仓式输送泵、管道、气源、输送目的地(如灰库)和控制部分组成。
一个完整的气力输送工艺流程大体可分为仓泵装料阶段、仓泵充压阶段、物料输送阶段和管道清扫阶段。在卸料装灰阶段,打开进料阀和透气阀,灰斗中的物料在重力的作用下落入仓泵;然后,关闭进料阀和透气阀,并打开进气阀为仓泵中的物料加压,即仓泵充压阶段;当压力达到某一定值时,则打开出料阀,进入物料输送阶段,此时,仓泵中的物料在气力作用下经输送管道被输送到目的地;为了防止在下次进行输送时发生管道堵塞现象,当仓泵中的物料被输送完成以后,还要让空气流对管道进行清扫。这样就完成了一个流程的物料输送,如此循环,可不断的将灰斗中的物料送往目的地。
作为一套气力输送实验自动控制系统,它不仅应当满足气力输送系统的基本要求,使得操作人员能够在监控界面上实时查看现场的仪表参数、设备状态,实现对设备的实时控制。而且还应具备实验系统所*的在硬件与软件的灵活、可修改性、开放等方面的特点。
在对气力输送实验系统进行软件设计时,除了要满足气力输送系统实验人员实时监控现场运行状态的需要外,还应具有对实验所用的压力、延迟时间、循环次数等工艺参数的设置功能;而且,根据实际需求,在监控界面上要能够容易地实现不同工艺流程之间的简单切换,或者实现工艺流程的随意组态;同时,为了以后对实验数据的分析,软件的设计还应具备实验数据的实时采集、存档以及数据的分析绘图功能。
此外,气力输送实验系统还应考虑经济、操作方便、界面友好等方面的因素。
3 气力输送实验系统构建方案
气力输送实验系统的构建主要包括机械部分硬件、电气自动化方面硬件以及自控系统软件等几部分组成。气力输送实验平台的机械部分设备主要包括:空气压缩机、储气罐、输送仓泵、喂料机、除尘器、气动阀门、压力表、称重传感器、以及输送管道等。自控系统方面,通过比较,系统采取了目前比较常用且稳定性较高的工控计算机(IPC)——可编程逻辑控制器(PLC)系统集成模式。该模式下,IPC与位于其上的监控软件作为监控级,PLC作为现场控制级,两者通过实时数据传输共同完成数据采集与设备监控任务。在软件组成方面,为了节省成本,增加系统灵活性,监控软件采取了Visual Basic与PRODAVE相结合进行二次开发的方式,与SIMATIC Step 7编写的PLC软件一起共同实现系统的自动控制。
3.1 气力输送实验自控系统硬件配置与选型
在PLC的选型上,气力输送实验系统选用了西门子公司SIMATIC S7-300系列中型PLC,由于该系列PLC基于模块化结构设计,具有高速的指令处理和浮点运算、方便的人机界面、自诊断等功能,因此,深受国内用户欢迎,应用广泛。
气力输送实验系统设计时,根据系统的现场设备情况和气力输送工艺功能要求,通过对各被控设备与输入/输出信号的统计,然后分别对PLC所需的I/O点数和存储容量估算,实验系统的PLC模块组可按以下方式进行配置:482.6mm单机架通用导轨一个、PS 307 2A电源模块一块、CPU 312C一块、DO 16×DC24V/0.数字输出模块一块、DI 16×DC24V数字输入模块一块、AI 8×12Bit模拟输入模块两块。同时,还为CPU模块配置存储容量为64KB的微存储卡MMC,用于存储CUP的用户程序(所有功能块)、归档和配方、S7项目组态数据、操作系统更新和备份数据等,参见图2。
图2 气力输送实验系统PLC模块配置示意图
另外,系统配置研华IPC 610工控机,其性能为In Pentium Ⅲ,800MHz CPU, 256M内存,40G硬盘,64M显存的显卡,三星19″,纯平面显示器,带多种通讯接口,易于扩展的ISA和PCI插槽,声卡及音响(作报警和提示用),配置满足系统要求。
3.2 气力输送实验自控系统软件设计
气力输送实验系统的软件主要包括用于控制工艺流程的PLC软件、上位机监控软件、上位机和PLC相互的通讯软件、数据分析与作图软件以及系统所要求的其他软件。
(1)PLC 软件部分设计。S7-300系列PLC的软件设计工作是在Step 7 SIMATIC Manager中完成的,块操作是STEP 7 PLC程序的一大特色,软件程序功能是通过对功能块的不断调用实现的。因此,气力输送实验系统的软件设计可以通过对功能块编程来实现。
一个完整的气力输送工艺流程主要包括进料、输送、清扫三个阶段,以普通无压开泵气力输送方式为例,其工艺流程根据顺序可分为如下几个步骤:系统启动—开透气阀(透气阀开到位)—开进料阀(进料阀开到位)—开喂料机(料位满信号到)—关喂料机—延时T1(T1可设定,下T2、T3同)—关透气阀、关进料阀(透气阀、进料阀关到位)—开除尘器、开出料阀(出料阀开到位)—开一次气阀—延时T2—开二次气阀(料位下限到)—关一次气阀—延时T3—关二次气阀—关出料阀(出料阀关到位)—关除尘器—设定泵数S未到,进入下一个循环;否则,系统停止。
根据上述工艺要求,该气力输送工艺的PLC软件组成可分为组织块OB1、功能块FB1、FB1的背景数据块DB11、共享数据块DB20、功能FC1、FC2、FC3以及循环中断组织块OB35几个部分。其中,OB1是程序循环执行的主体;FB1是气力输送工艺流程执行主体,气力输送的工艺流程可通过对FB1的编程来实现;FC1的作用是实时检测外界设备、仪表信号,并将检测到的信号传递给功能块FB1;FC2的作用是将工艺流程的执行结果传递给外界,以实现对外部现场设备的控制;FC3是为了和上位计算机监控软件实现通讯而建立的功能块,它和监控计算机共用共享数据块DB20中的数据;为了保证系统的稳定运行,程序中设计有中断组织块OB35。
气力输送系统PLC程序调用过程示意图 同理,按照以上方法,可以根据工艺要求对气力输送系统的普通无压开泵、一次气智能方式、有压开泵、一次气智能方式、普通无压开泵、流化、流化智能方式、有压开泵、流化、流化智能方式进行程序设计,通过建立不同的FB以实现不同的工艺和功能。
(2)监控软件部分设计。监控软件是人机交互的主要界面,是自动控制系统的重要组成部分,通常由监控软件与和PLC通讯的软件两部分组成。
Visual Basic上位机监控软件程序设计。由于Visual Basic采用可视化的编程环境,具有简单易学的特性,因此,在对实验室气力输送系统进行设计时,可以结合Visual Basic的编程特点并根据系统的工艺功能要求开发出符合实际应用需要的IPC监控软件。
上位机与PLC通讯软件设计。当上位监控计算机需要与PLC通信时,通信软件的设计必须根据所采用PLC产品使用相应的通信协议,MPI(Muti-Point-Interface)便是集成在西门子公司的可编程序控制器、操作员界面和编程器上用于建立小型的通信网络的集成通信接口。为解决PC与SIEMENS PLC之间的通讯,西门子公司的PRODAVE函数包提供有一系列已经测试的DLL(动态链接库)或LIB(库)功能函数,为程序建立与S7-200、S7-300 系列PLC通讯提供了极大的方便。
PRODAVE的函数可分为基本函数、数据处理函数和服务函数(eService Functions)。基本函数用于建立、断开和激活PC与PLC的连接,以及读、写PLC中的各种数据。数据处理函数用于PC中用户数据的转换和处理。服务函数用于PC通过线与PLC建立连接。另外,当利用MPI通讯口进行通讯时,首先要将PC Adapter的两端分别插在计算机的串行口和PLC CPU模块的MPI口通讯口上,PC适配器的波特率可根据情况设为187.5 kbps或者更高。
气力输送实验室系统中,利用Visual Basic编写的上位机监控软件在和S7-300 PLC进行通讯时,主要调用了load_tool、unload_tool、new_ss、db_read、db_wtite、d_field_read、d_field_write等函数。其中,load_tool的作用是检查通讯、对通讯参数初始化;new_ss用于上位机需要和PLC进行数据交换时,进行通讯检查并激活通讯连接;db_read、db_wtite、d_field_read、d_field_write分别用来对S7-300系列PLC的数据单元(WORD或BYTE)进行读写操作;unload_tool用于在退出系统以前断开和PLC之间的通讯连接,当需要退出监控系统时可以调用此函数。
在对上述函数调用之前,需要在VB模块中作类似如下的声明,以调用相应的函数,例如,当在程序执行过程中调用load_tool函数时,可声明如下:
Declare Function load_tool Lib “w95_s7m.dll” (ByVal nr As Byte, ByVal dev As String, adr As plcadrtype) As Long
这样,当上位机执行到对load_tool的调用时,它会自动访问安装在操作系统上的w95_s7m.dll动态链接库,从而可以实现初始化通讯连接的目的。
下面给出了气力输送实验系统上位机监控软件程序运行时实现与PLC通讯检查并加载主监控界面功能的程序代码。
Public Sub Form_Load()
Dim ss As String
Dim msg As Integer
plcadr(0).adr = 2
plcadr(0).SEGMENTID = 0
plcadr(0).RACKNO = 0
plcadr(0).SLOTNO = 2
plcadr(1).adr = 0
plcadr(1).SEGMENTID = 0
plcadr(1).RACKNO = 0
plcadr(1).SLOTNO = 2
res = load_tool(1, “S7ONLINE”, plcadr(0))
If (res <> 0) Then
ss = “通讯失败,无法建立连接!”
msg = MsgBox(ss, vbExclamation + vbRetryCancel, “提示信息!”)
If msg = 4 Then Call Form_Load
Else: maincontr.Show
End If
End Sub
上述代码执行时,用户启动上位机监控系统软件,软件首先检查是否有在线的PLC连接,如果在线连接成功,即上位监控计算机经由适配器与PLC的CPU模块通讯无误,那么系统将执maincontr.Show语句,显示主监控界面。否则,将显示“提示信息”对话框,提示操作人员无法与PLC建立通讯,操作人员应当检查通信线路,然后重试建立连接,或者取消连接检查而直接查看监控画面。
上位机监控软件中其它诸如数据采集、状态显示、实时控制等方面功能的实现与此类似,不再赘述。
(3)数据采集与分析软件设计。数据采集与分析是实验系统重要组成部分,是改进系统和完善工艺的理论依据和科学基础。为了满足工艺研究人员对采集数据多方面的查看与分析要求,对实验数据的处理与分析可借助于专门的工程软件MATLAB来实现。
图4 实验数据作图GUI对话框
图4是在GUI环境下开发的对采集数据进行作图的初始对话框,它主要由两个操作按钮和文字提示信息组成。使用时,操作人员可通过点击“上载”按钮来采集数据所在位置,然后,系统将自动绘制各采集模拟量的MATLAB图形,当操作人员点击“取消”按钮时,将关闭该对话框并返回。 上述的用户界面在MATLAB中保存为两个文件,它们分别时SF.m和SF.fig,其中SF.m为“上载”按钮的调用(Callback)函数,函数主要内容如下所示:
function pushbutton1_Callback(hObject, eventdata, handles)
Mpic
function pushbutton2_Callback(hObject, eventdata, handles)
close
其中,pushbutton1、pushbutton2分别是提示对话框中两个操作按钮的名称,而Mpic是被调用的又一M-file,作用是根据需要对采集到的各量绘制其MATLAB图形。作为示例,图5给出的是绘制仓泵重量随时间变化图形的M-file代码及趋势图。
clear
x=load(‘E:/matlab6p5p1/work/数据/009.txt’)
t=1:360
plot(t,x(:,7),‘.-k’)
title(‘Container Weight (Kg)’)
ylabel(‘DATA NO. 9’,‘fontsize’,12)
xlabel(‘TIME (S)’,‘fontsize’,10)
4 结束语
根据上述的气力输送实验系统,我们以粉煤灰为输送介质,通过对有压、无压、流化等不同工艺流程进行气力输送,为粉煤灰气力输送系统的研究和现场工程实施提供了大量的参考数据和设计依据。同时,借助本文所构造的气力输送实验系统,并通过在该实验平台上的气力输送实验,我们完成了江苏靖江热电厂粉煤灰气力输送系统与上海外高桥热电厂烟气脱硫工程石灰石粉气力输送系统的设计,并在工程实际实施过程中为现场工作的顺利开展提供了大量的指导。
通过将该气力输送实验系统与工业应用实际相结合,并通过在该实验系统上的多次实验,本文所设计的气力输送系统可以很大程度地改进目前在气力输送领域所存在的问题,优化当前的气力输送系统结构,并为以后气力输送的发展与应用提供新的思路,具有广泛的实际应用价值。