基于语句表和Profibus的水箱液位与进水口流量串级控制系统

2016-11-22 08:17
化工自动化及仪表 2016年3期
关键词:累加器功能块进水口

王 捷 艾 红

(1.北方工业大学电气与控制工程学院,北京 100144;2.北京信息科技大学自动化学院,北京 100192)

基于语句表和Profibus的水箱液位与进水口流量串级控制系统

王 捷1艾 红2

(1.北方工业大学电气与控制工程学院,北京 100144;2.北京信息科技大学自动化学院,北京 100192)

提出一种基于语句表和Profibus的水箱液位与进水口流量串级控制方案。给出系统组成和设备硬件组态,说明使用符号地址访问数据块中数据的方法。阐述了PID功能块FB41的使用方法和主要参数说明,给出了语句表主要程序段。相关测试结果表明:该系统响应速度快,超调量小。

串级控制系统 水箱液位 进水口流量 语句表 Profibus 符号表

Profibus是一种面向现场级和车间级的数字化通信总线标准,可实现现场设备层到车间级监控的分散式数字控制和现场通信网络[1~3],为实现工厂综合自动化和现场设备智能化提供了可行的解决方案[4]。

早期的液位控制系统采用模拟信号控制,这在系统比较简单时是一种可接受的方案。但是当系统较复杂时则会在控制系统性能、集中管理、成本、可靠性及维护方便性等方面受到诸多限制。而使用Profibus设计液位控制系统可以在以上各方面取得平衡。

在此,笔者以液位控制系统为例,提出一种基于语句表(Statement List,STL)和Profibus的水箱液位与进水口流量串级控制方案。

1 基于Profibus的液位控制系统组成

基于Profibus的液位控制系统组成如图1所示。

系统以S7-300 CPU315-2DP为主控制器,配备了具有Profibus接口的液位、压力、流量检测、阀门定位器及变频器等设备。系统所有控制信号之间的通信均由Profibus总线实现。系统使用Profibus-DP取代24V(DC)或4~20mA信号传输。Profibus-PA可使传感器和执行机构连在一根总线上,因此在Profibus-PA总线上连接有压力变送器、温度变送器、电磁流量计和阀门定位器。

图1 基于Profibus的液位控制系统组成

2 硬件组态

硬件组态的主要工作是利用Step7将控制系统的硬件进行相应配置,并在配置时对模块参数进行设定。创建:双击Hardware,添加轨道Rail,在右侧SIMERTIC 300中找到RACK-300;双击Rail,点击插槽1,在右侧找到SIMERTIC 300中的PS-300;双击PS 307 5A,点击插槽2,在右侧找到SIMERTIC 300中的CPU 315-2 DP。加入Profibus-DP线:在弹出的对话框中选择New,Subnet中将出现Profibus(1),选择1.5Mbit/s。在插槽4中添加CP 343-1,在弹出的对话框中修改其IP address。建立以太网通信:双击CP 343-1查看属性,若Networked为No则表示没有以太网通信,点击Properties进行属性修改,点击New新建一个以太网连接,此时Subnet中出现Ethernet(1);若Networked为Yes则表示已建立了以太网通信。液位控制系统硬件组态如图2所示。

图2 液位控制系统硬件组态

3 S7-300 PLC的编程模块

3.1用户程序模块

数据块(Data Block,DB)、组织块(Organization Block,OB)、功能块(Function Block,FB)、系统功能块(System Function Block,SFB)、功能(Function,FC)和系统功能(System Function,SFC)都包含部分程序,如果要加入某种模块,可在右边窗口(即出现OB1的窗口)空白处单击鼠标右键选择Insert New Object,然后在下拉菜单中单击所需模块即可。

3.2组织块OB35

S7-300 PLC启动成功后,操作系统将循环执行组织块OB1。在OB1中可以调用FB、SFB、FC及SFC等用户程序并使它们循环执行。OB1默认扫描监控时间150ms。OB35是循环中断组织块,循环中断的间隔时间在CPU属性中设定。OB35默认的循环中断间隔时间100ms(定时范围1~60 000ms),用户可根据实际需要进行修改。如果OB35的中断时间为100ms,而OB35中的执行程序时间为150ms,则会出现程序未运行完毕,系统就发出第二次中断,因此设置的中断时间应大于OB35中程序执行的时间[5]。

3.3DB

DB分为共享数据块(又称全局数据块)和背景数据块,是系统数据的存储区域。在共享数据块和全局符号表中声明的变量都是全局变量。背景数据块是专门指定给某个功能块或者系统功能块使用的数据块,是FB或SFB运行时的工作存储区。当用户将DB与某一个功能块相连时,该DB即成为该功能块的背景数据块。用户不能直接修改背景数据块,只能通过对应功能块的变量声明表来修改。访问数据块中的数据时可以使用绝对地址也可以使用符号地址。数据块中存储单元的地址由两部分组成:如DB1.DBX20.0,DB1表示数据块的名称,DBX20.0表示数据块第20Byte的第0位;DB41.DBD72表示DB41数据块的第72Byte开始取双字。

3.4符号表

在Step7程序中,可以访问使用地址,如I/O信号、位内存、定时器、数据块和功能块;也可以访问符号地址,程序将更容易阅读。如在OB35编程时通过符号bzxs就可以知道,其要访问的相应地址是比值系数。从符号表(表1)的内容中可以看到,符号qkxs1的地址是MD28,表示位内存地址从28开始的一个DWORD双字大小的内存单元;CONT_C表示使用PID功能块FB41。因此,使用符号地址更容易识别程序中的元素。

表1 符号表

(续表1)

4 控制方案与显示界面

Step7支持多种编程模式,如梯形图、功能块图、顺序功能图、结构化控制语言及STL等。

4.1STL

STL的每条语句都对应CPU处理程序中的一步;多条语句可组成一个程序段,实现某些不能用梯形图或功能块图表示的功能。用助记符L和T表示数据的装入和传送,装入指令和传送指令必须通过累加器进行数据交换。L <地址>装入指令,将原寻址单元中的内容装入累加器1中,累加器1再将原数据装入累加器2。T <地址>传送指令,将累加器1的内容写入目的地址存储区中,而累加器1的内容保持不变。数据长度小于32位时,数据在累加器中右对齐即低位对齐,其余各位补0。STL形式的条件跳转指令是以运算结果RLO的值或状态字标志位的状态为跳转条件的。

4.2PID功能块FB41

功能块FB41是连续PID模块,其测量数据可以存放在数据块DB43中。在符号表中将符号CONT_C分配给FB41。

设定值以浮点数格式在SP_INT处输入。过程变量即反馈值可以用两种方法输入:一种是用PV_IN输入浮点数格式的过程变量,这时控制输入过程变量的开关量PVPER_ON应为0;另一种是从外设直接输入过程变量到PV_PER,CRP_IN功能将从外设来的模拟量输入模块的采样值PV_PER转换成-100%~100%之间的浮点数格式,此时控制I/O输入过程变量的开关量PVPER_ON应置为1,模拟量输入模块采样值的最大值为27 648。CRP_IN功能根据CRP_IN的输出=PV_PER×100/27648,将PV_PER转换为-100%~100%之间的浮点数格式。PV_NORM功能根据PV_NORM的输出=(CRP_IN的输出)×PV_FAC+PV_OFF使CRP_IN的输出规格化。

功能LMNLIMT用于对控制器的输出值限幅。当超过控制器的输出值上限LMN_HLM时,信号位QLMN_HLM(输出超过上限)为“1”状态;低于下限值LMN_LLM时,信号位QLMN_LLM(输出低于下限)变为“1”状态。功能LMN_NORM根据LMN=LMNLIMIT的输出×LMN_FAC+LMN_OFF,将限幅后的LMNLIMIT的输出进行格式化后输出LMN(浮点数格式的控制器输出量)。LMN_FAC和LMN_OFF可以调节控制器输出量的范围[6]。功能CRP_OUT将浮点数格式的输出值LMN根据公式LMN_PER=LMN×100/27648转换成能直接输出到外设的值,即直接输出给模拟量输出模块。

4.3水箱液位与进水口流量串级控制STL

系统由主、副两个回路组成。主被控变量为水箱的液位高度H;副被控变量是气动调节阀支路流量Q,它是一个辅助的控制变量。由于管道的时间常数小于水箱的时间常数,因而当主扰动作用于副回路时,通过副回路的快速调节作用可以消除扰动影响。程序设计主要涉及3路信号,其中两路是现场测量信号,即水箱液位和管道流量;另外一路是控制阀门定位器的控制信号。水箱液位与进水口流量串级控制的主要程序如下:

sy10:L 5.000000e+000//将5.000000e+000送累加器1

T PQD 296//将累加器1的值送调节阀参数接口

CALL"CONT_C",DB41//连续调用PID控制器FB41,背景数据块是DB41

COM_RST:=

MAN_ON:=FALSE//设置PID控制器为“自动控制”模式

PVPER_ON:=TRUE//外设直接输入过程变量到PV_PER

PV_PER:=PIW272//将水箱压力赋给PV_PER

NOP 0

L PID 326//取进水口流量测量值到累加器1中

L 2.778000e+002//将2.778000e+002送到累加器1

*R//进水口流量测量值×2.778000e+002

T DB42.DBD 10//流量测量值×2.778000e+002并送到PV_IN

CALL"CONT_C",DB42//调用PID模块FB41,使用背景数据块DB42

PVPER_ON:=FALSE//PV_IN输入浮点数格式的过程变量

SP_INT:=DB41.DBD72//DB41的控制器输出值LMN送给内部设定值SP_INT

水箱液位与进水口流量串级控制程序中,通过连续PID控制器FB41分别调用了3个背景数据模块DB41、DB42和DB43,其中DB41是主回路控制数据块,DB42是副回路控制数据块,DB43是变频器控制数据块。

主回路测量值来自水箱,此时主回路对应的控制输入过程变量的开关量PVPER_ON应为1,表示外设直接输入过程变量到PV_PER。副回路流量测量值经过一定运算后送到PV_IN,此时控制输入过程变量的开关量PVPER_ON应为0,表示副回路的PV_IN输入浮点数格式的过程变量。根据串级控制规律,将主调节器的输出作为副调节器的给定值,即DB42的设定值信号来自DB41的控制器输出LMN,以实现主回路输出传送到副回路的给定[7]。

5 界面显示

系统的主调节器选择PI或PID控制,要求水箱液位稳定在15mm,电磁阀支路上的手动开关放在30°,打开电磁阀,加入阶跃干扰。观察水箱液位过渡过程,以响应快和超调量小为控制目标。水箱液位与流量的测量显示界面如图3所示。

图3 水箱液位和流量显示界面

6 结束语

笔者提出的基于STL和Profibus的水箱液位与进水口流量串级控制系统以S7-300 PLC为控制器,应用Step7的STL进行编程,实现了数据采集、记录、存储、通信和数据状态监视。在双容水箱装置上进行了水箱液位与进水口流量串级控制测试,不同工况条件下(如改变水箱容积及施加不同外加干扰等)的多次测试结果表明:该系统响应速度快,超调量小,实现了水箱液位与进水口流量串级控制和界面显示。

[1] 王佳,郝点,袁金宁.炼厂催化车间离心空压机噪声测试研究[J].化工机械,2012,39(2):146~149.

[2] 宁金龙,杨海燕.ProfibusDP通信技术在DCS中的应用[J].石油化工自动化,2015,51(2):59~60.

[3] 任振寰.Profibus-PA总线在工程应用中的探究[J].石油化工自动化,2015,51(6): 14~16.

[4] 姜建芳.西门子S7-300/400 PLC工程应用技术[M].北京:机械工业出版社,2012.

[5] 马秀坤,史运涛,马学军.S7-200 PLC控制原理及工程应用[M].北京:北京航空航天大学出版社,2012:224~263.

[6] 黄婷婷.基于ProfiBus的过程控制系统的软硬件组态[J].现代电子技术,2014,37(1):160~162.

[7] 张素文,贺凯歌.基于Profibus-DP的PLC与交流变频器通讯的实现[J].工业控制计算机,2008,21(5):58~59.

CascadeControlSystemforWaterTankLevelandInletFlowBasedonStatementListandProfibus

WANG Jie1, AI Hong2

(1.CollegeofElectricalandControlEngineering,NorthChinaUniversityofTechnology,Beijing100144,China;2.CollegeofAutomation,BeijingInformationScience&TechnologyUniversity,Beijing100192,China)

A statement list and Profibus-based cascade control system for both water tank level and inlet flow was proposed; and the system composition and its hardware configuration were presented, including the method of using symbolic address to access the data in a data block, FB41 PID function block’s application and description of main parameters as well as the main segment of statement table STL. Testing results show that this system has fast response speed and smaller overshoot.

cascade control system, water tank level, inlet flow, statement list, Profibus, symbol table

TH862

A

1000-3932(2016)03-0285-05

2016-01-12(修改稿)

猜你喜欢
累加器功能块进水口
密码累加器研究进展及应用
山区峡谷陡坡急弯河道电站取水能力及水力性态研究
三种国外集散控制系统(DCS)功能块扫描规则和执行顺序的分析和总结
简析80C51单片机的数据传送类指令
水库卧管涵管进水口现状分析及改造型式研究★
水电站进水口结构设计综述
Fpga的信号发生器设计原理
Ovation系统FIRSTOUT和FIFO跳闸首出比较
基于霍夫变换的工位点识别算法设计与实现
自定义功能块类型在电解槽联锁中的应用