1 引言
气力输送是化工行业中最常用的固体散料输送方式。高效稳定的输送系统是保证生产装置连续运行的必要条件,德国科倍隆公司是全球首屈一指的专业气力输送厂家,其高性能的输送系统运行在全球的各个角落。辽宁锦西石化的15万吨/年的聚丙烯项目中的输送部分经各方考察、比较后最终确定采用科倍隆系统。
本系统采用稀相输送工艺,共有送料、掺混、打包三条输送线。送料线部分负责将挤出机挤出的粒料送到预先选定的目标料仓中;掺混线的功能是将粒料均化,以保证产品的品质;打包线将掺混后粒料送到打包料仓中储存。料仓共6个,兼储存、掺混用途,三条线共用,因此涉及的如蝶阀、旋转阀、过滤器等共用设备众多,联锁繁杂。料仓工程现场如图1所示。
2 控制系统构成
项目使用siemens公司s7-300/400系列plc构建控制系统。为了满足客户的cpu和上位机冗余安全性要求,并且所有数据要和dcs交换,考虑到现场io点数多、公用设备多、联锁复杂等因素,cpu采用s7414-4h,通过profibus-dp网络挂接et200站组成分布式结构,如图2所示。
2.1 硬件配置
(1)s7 414-4h:“热备”模式的s7-400h
的运行是根据主动冗余原理,在发生故障时,无扰动地自动切换。因此无故障时两个子单元都在运行状态。如果发生故障,正常工作的子单元能独立地完成整个过程的控制。高可靠的冗余系统确保了系统的长期稳定运行。
(2)et200m:是一种适合和冗余系统配合使用的高性能分布式io系统,配备有源底板,所有模块可带电热插拔。
(3)cp341:用于和dcs交换数据不占用cpu资源,在et200站上配备了cp341,采用modbus协议通信。
(4)hmi:共两台工控机,一台工程师站和一台操作员站,两台hmi组态为冗余模式。
2.2 软件配置
(1)wincc6.2:符合工业标准的高可靠性、良好开放性的新一代hmi系统;
(2)wincc/redundancy:可并行运行两个链接的wincc单用户系统或服务器pc,这二台pc彼此监视对方,当服务器中有一个出现故障时,第二个服务器承担整个系统的控制任务。当故障的服务器恢复运行时,所有消息内容和过程值归档都会被复制回恢复的服务器。
3 动态切仓解决方案及实现
3.1 功能设计
化工行业的生产具有连续性特点,送料线是气力输送系统和挤出系统的联接部分,其能否稳定、可靠的长期运行将关系到整个聚丙烯装置的生产效益。在该线的关键工艺-换仓处理上,目前国内基本上采用操作员手动切仓或单仓输送模式,这两种方式均不够灵活、自动化程度较低,为提高输送线生产效率、更好的体现自动化的优势,本系统决定采用软件实现其动态切仓功能。
3.2 技术路线
为实现动态切仓,需要plc产生并记录以下信息:
(1)选中的料仓数量;
(2)料仓顺序号;
(3)当前加料的料仓编号;
(4)当前料仓状态,空闲、满仓、区域等信息。
当操作员在hmi上点击相应的料仓选择按钮时,plc程序计算当前的料仓顺序号,同时在相应的按钮上显示该料仓的顺序号,在加料时根据生成的顺序号自动切换;当送料线程序自动切换到预先选择的最后一个料仓(一般送料线占用三个或四个料仓)加料时,系统发出提示信息告知操作员可以重新选仓,操作员点击“动态选仓”按钮,弹出《运行时选仓画面》,若料仓目前为空闲
(未被掺混线或打包线使用,也不在冲洗模式)状态,则画面上的选择按钮为可操作状态,plc程序根据操作员的点击顺序重新生成顺序号,再根据顺序号对选择的料仓逐个加料。如果操作员不重新选仓的话,程序进入循环切仓模式,即切换到预先选择的第一个料仓进行加料。运行时选仓窗口界面如图3所示。
3.3 实现方法
在编程时为料仓建立一个结构变量以储存料仓信息,包含顺序号、当前料位等数据,图4、图5分别是在db块中的料仓数据和结构原型。
动态切仓功能有效的保证了送料线可以长期的连续不间断运行,较大的提高了生产效率,为聚丙烯装置连续生产提供了必要条件。
4 完善的信息提示功能
一个优秀的控制系统首先给人的第一感觉应该具备良好的人机交互能力,科倍隆一直不主张让业主的维护人员自主进入s7程序查看信息数据,因为这样在查找故障时效率低下且有可能会导致不必要的错误,因此要求在hmi上向操作人员以及维护人员提供全面的系统信息。
按照控制工艺,每条线的主画面上方显示该线的启动条件、当前流程信息、停机原因等,操作员进入该线完成设备预选后,“il”(启动联锁)栏会以文本方式提示未满足的条件,操作员或维护人员根据提示操作相应设备或排除故障,当所有启动条件满足后,启动联锁栏显示“ok”,操作员点击“启动”按钮,该线即进入启动流程,“pm”(过程信息)栏显示当前正在执行的程序流程,让操作员实时掌握程序运行状况,当启动流程完成进入输送状态后该栏显示“lineis on”。
输送线停止方式有两种,分别为正常停车和快速停车,正常停车即程序按照停车流程逐步停止该线所有相关设备,此时“pm”栏会显示当前正在执行的停车流程;快速停车则省略了停车时的吹扫过程,适用于一些比较紧急的状况,停车时“sr”栏会显示本次停车原因,该信息一直保存到输送线下一次运行时才被清除。输送线实时信息如图6所示。
5 结构化编程
由于现场设备众多,为提高编程效率与开发速度,一般均采用结构化编程模式,这也是西门子推荐的编程方式。具体实现方法如下。
5.1 plc侧
scl是西门子step7专业版提供的一种可以使用类似高级语言编程的开发工具,由于使用类pascal语言,对于熟悉高级语言编程的人来说可以极大的提供程序开发效率。
根据工艺要求为每个设备对象编制fb或fc,包括电机控制块、蝶阀控制块、三通阀控制块、模拟量处理块、气量计算模块等。
在使用scl编写fb/fc时,一律采用局部地址,控制逻辑在fb/fc内部完成,对外仅提供调用接口。例如:按照科倍隆要求,hmi上的设备图标在故障到来而操作员未应答时闪烁,应答而故障未离开则红色不闪烁,因此定义了如7图所示的输出接口。
在wincc中仅读取“qstate”的值,其它输出接口用于plc内部程序逻辑,这样既可以在hmi实时显示设备状态又节约了外部变量点数。限于篇幅,其它接口及具体内部逻辑不再贴出了。
5.2 wincc侧
根据操作员的操作习惯及一些人性化考虑,为每个设备对象编制画面模板,每个画面模板对应一个fb,pcs7中的faceplate就是这种方式,只是功能多了很多,如图8所示。
在wincc中建立结构变量,其结构对应相应的fb背景数据块,在调用画面模板时赋予其相应的变量前缀即可;为提高组态速度,采用脚本自动解析方式,在连接结构变量至udo原型时vb脚本自动赋予画面模板的变量名前缀以及在画面窗口标题栏上自动填写设备名称。解析变量名前缀的vbs代码。如图9所示。
结构化编程极大的提高了编程效率与项目开发速度,也是plc编程的一种趋势,在我所接触的所有plc中,西门子的编程方法最为灵活与强大。
6 结束语
该项目于2009年四月试运行,七月正式交付使用,至今已稳定运行一年多,用户对系统完善的信息提示及人性化的操作非常满意。尤其信息提示功能极大的方便了操作人员,对系统维护人员也有很大的帮助,维护人员无需进入step7即可诊断、排除大部分故障,极大的提高了工作效率及生产效益。
在使用西门子产品的过程中,对其结构化的编程理念极为欣赏,基于这种编程方式,我们完全可以建立一套自己的s7功能块库、hmi界面库,这样的好处是可以避免重复劳动,减少程序出错率及调试时间,极大的提高了工作效率。