资源描述:
翟紫嚣z磬篇 念 意 盔 79 总第150期M E TA L l l 讯G l cA LP W ER ,了 在PLC控 制 程 序 中 实 现 上 料 系 统 优 化 选 仓 的 算 法 张玉红 北京首钢自动化信息技术有限公司自动化事业部,北京100041 【摘要】在上料系统的PLc自动控制中,查找满足条件的料仓进行备料操作时,通常是根据所需料种的原 料代码与各料仓所储原料的代码进行比较。找到第一个符合条件的料仓就可以进行下一步的备料操作。但当存 在多个满足条件的结果时,就会希望最合理地选择其中的一个,以更好地满足生产工艺及生产设备的要求。以 首秦公司转炉炼钢二级模型自动控制改造项目为背景,在合金上料系统PLc控制的二级改造中,针对生产实际 要求,通过三个步骤的算法,实现了优化选仓功能。 【关键词】PLc控制;上料系统;优化选仓;算法 【中图分类号】.I呓9【文献标识码】B【文章编号】1006_67“201202.ocr7906 A lgor i thm t oR eal i ze O pt i m i zat i on ofB i n Sel ect i ng i l I Feedi ngSyst emby PL CC ont rol Pro垆锄 ZH A N GY u_hong 似眦删fo忍却埘伽e鸸成毛『打垮鼽喇肿gJt呦啪砌l 珂确删伽死c拥。蛔,,co.,L砬,庇玎魄’J优w “ 【A bstr act 】I nPLCaut om at i c cont rol pr ogram of出e feedi ngsyst em ,w henyou w 明t t o f i ndoutw 】li chbin讲Ubeused,t l l ecom m on啪yi sto com par et he des i redm at eri alcode 诵tl lt hecodeofm at eri alin every bi n.Thene】【tf品dprep蒯oncanbeconductedw l l ent l l e fi rstbin r舱et i ng tllecondi t i onsi sf oundout .W hentl ler ear e m any bi ns m eeti ng t l l e concl i t i ∞s,youhope t o∞lectt l Iereasonabl eonetom eett l l eneeds0f pr oduct i onprocess 龃d equi pm ent .T aking for ex锄ple t ll eall t om at iccontr ol托constm cti 叩 proj ect 0fl eVel2 m odel of convert erst eel m aki ngofShouqi n Com pany,i n t l Iesecondreconst ruct i onoft ll e al l oy feedi ng syst emby PLCcont rol pm g删, i n出e l i曲t 0fact ual pr oduct i onr equi r em ents, it r eal i zes opt i m i zat i on ofbi n sel ect i ngtl lr ougll t ll e alg耐t| lm oft hree procedures. 【l 【eywor ds】PI £contr ol ;f eedingsyst em;叩t i m i 船t i on ofbi n select ing;alg面dl m 1引言 随着技术的进步和生产节奏的提高,首秦公司 转炉炼钢系统决定引进西门子公司先进的二级控 制模型,对现有控制系统进行升级改造,PLC程序在 原有的自动控制基础上增加二级模型控制模式。 转炉炼钢系统共包括三座转炉,合金上料系统 分为三座转炉所共享的公用部分和只服务于单一 转炉的私用部分,见图1所示。公用部分有10个料 仓,每相邻的两个为一组,共用一个称量斗,共有5 个称量斗。称量斗下面通过4条皮带及2个电液三 通阀将合金料输送到每座转炉后面的合金汇总斗 中。每座转炉各有2个私用料仓,共用1个称量斗, 称量后的合金料直接卸到炉后的合金汇总斗中。由 于合金汇总斗底部只有一个手动的阀门,正常为常 开状态,所以称量后的合金料将直接倒人钢包中。 无论公用部分还是私用部分,都是2个料仓共用1 个称量斗。由于生产工艺及设备原因。在同一个称 量斗中不能混有两种原料,所以,当相邻的两个料 仓都需要放料肘,称量斗只能先称量一种合金料, 待称量斗清空后,才能再继续称量另一种合金料。 引入二级控制系统后,合金系统要根据二级系统发 出的添加合金料指令自动完成从备料到放料的过 程。考虑到公用的l O 个合金料仓为三座转炉所共 用、每个料仓所储原料种类不固定,还存在同一种 原料存储在多个料仓的情况,为加快生产节奏,缩 短备料、放料周期,尽量避免“称量斗争用”相邻两 个料仓都需备料,争用同一个称量斗现象。因此而 对一级控制系统提出了“优化选仓”的要求。 冶金动力 2012年第2期 80 M ETA LLU lt G I cA LPcf、忱R 总第150期 私有部分 罗田田四田田; ;圃圃囤回圃i F 习 f1。转炉I l___- -_.___-__-一国 图1炼钢合金系统设备示意图 2系统环境 此改造项目,针对合金上料部分,继续使用原来 的环境一级控制系统硬件采用的是施耐德公司的 昆腾系列的CPU43412,PLC编程软件使用Conc印t v2.6,监控画面使用i Fi xv3.5软件编程。 3控制要求及难点 合金上料系统改造前的操作过程是操作工事 先在监控画面上为每个称量斗输入需要备料的设定 重量,然后再利用监控画面上的选择按钮通知PLC 将由哪个料仓进行备料,再触发“合金备料启动”按 钮完成从备料到放料至钢包的过程。由于合金上料 系统有三座转炉共用部分,所以在操作前,需要事先 获取操作权限,完成操作后再释放权限,以供其它转 炉使用。 改造后,各料仓所储存的原料名称、原料代码、 原料描述、优先级等参数全部由二级系统控制,并将 数据发送到一级控制系统。操作人员可以根据生产 实际及生产需求在二级控制系统中更换各料仓的原 料种类、代码等参数。 在二级控制模式下,二级控制系统还将在出钢 前根据钢水中的成分计算合金的添加种类及数量, 并发送给一级控制系统执行。一级控制系统在接收 到二级控制系统发来的指令后,要根据设备条件判 断具体由哪个料仓执行备料操作,然后将优先级较 高原料对应的设定重量传送给相应的称量斗进行称 量操作。称量结束后将称量斗中的合金料依次放到 传送皮带上,经皮带传送通过炉后合金汇总斗放料 到钢包中。一级控制系统还要将每个料仓设备状态 及实际投料重量发送到二级控制系统,作为重要参 F习 I3‘转炉l I.__.-_____-___一 数参与模型计算。在二级控制模式下,向钢包中投入 合金料的整个操作过程,实际上分为称重备料及放 料到钢包两个步骤。为方便操作,操作工只需要事先 获取相应的操作权限,然后通过监控画面上的“也 备料启动”按钮触发,就能完成从备料到放料的全部 过程。 在对PLC进行编程的过程中。发现存在以下几 项因素,使编程工作遇到了困难 1各仓原料种类不固定,由二级控制系统决 定,并存在更改的可能性。 2向钢包中添加的合金料种类及数据不固定, 由二级控制系统模型计算,并将结果传送到一级控 制系统执行。在改造前由操作工输入各称量斗称量 设定数据。并人工指定由哪个料仓来备料。改造后只 已知需要备料的每个料种的设定重量及优先级,由 一级控制系统来判断由具体由哪个料仓来备料,并 把设定数据传送给称量斗。 3每种合金料不一定只存储在一个料仓内,存 在同一种原料存储在多个料仓的可能。 4考虑有10个合金料仓为三座转炉所共用, 且由于生产工艺及设备情况要求称量斗中不能混 料,所以应尽量避免“称量斗争用”现象,即避免共用 同一个称量斗的两个料仓同时需要备料的情况。当 发生“称量斗争用”时,要按照二级控制系统发来的 各种原料的优先级来分配料仓备料的先后次序,优 先级高的原料先进行称量,然后执行所有称量斗中 原料通过皮带运输放料到钢包的过程;然后,再对优 先级较低的原料进行称量,并再次执行通过皮带放 料到钢包的放料过程。在这种情况下,系统就要经历 翟臻气嚣z者瀹札。念ac差P∞忽 8,总第150期M ET A LL U R G I C A LP∞乍R81 两个备料、放料的循环,才能完成添加合金的指令, 这必然要延长备料放料的时间,有可能会影响到其 他两座转炉的生产,对加快生产节奏,提高生产率也 会造成影响。 综合这些影响因素,要求一级控制系统不能仅 仅将二级系统指令中的原料代码与各料仓代码进行 简单地判断匹配,而应该选择合理的料仓进行备料, 使相邻两个料仓尽量避免同时请求备料的情形发 生,从而缩短备料、放料的周期,即实现“优化选仓”。 4算法步骤 为方便与原程序融合,我们把优化选仓的整个 功能设计成一个自定义功能块。 由于存在“称量斗争用”的可能,因此考虑了需 要两个周期进行备料的情况。 我们把优化选仓的步骤分为三步。首先,把二级 指令按优先级进行分类排序,排序结果存人变量 ZL-麟中;然后在第二步中为排序结果变量ZL_-P【 中的每个数据按优先级逐一查找可用的料仓,并将 结果分别送到内部变量SPw t -l 第一轮备料各仓设 定重量和SPW L2 第二轮备料各仓设定重量 中, 这样就可以保证优先级较高的原料先进行备料操 作。这是实现优化选仓的关键步骤。最后在第三步中 对sPwLl和SPW L2的数据进行整理,为输出变量 H opw L l 第一轮备料各称量斗的称重设定 、 H 叩w t 一2第二轮备料各称量斗的称重设定和sel Bi n_1、sel Bin-2分别为第一轮、第二轮共用称量斗 的两个伙伴料仓选择标记,l 奇数仓O 偶数仓赋 值。 4.1接口数据设计 为方便功能块的调用,我们把功能块的输人数 据、输出数据和内部变量设计为数组类型,数据类型 命名以“九”开头。具体数据列表见表l 。 表1“优化选仓”功能块中使用的主要变量 其中使用的数据类型定义如下 ’IY PE S-zLl STRU CT “aozhongINT;P料种幸 z}IongⅡangREAL;聿重量牛 EN DS;TRU CT; SLLzl SrrR UC T UaoZhoI lgINT;P料种幸 Y oII 【i肌IN T.P优先级幸 K eY 叩gBO O L;P可用否牛 END -_S1、RU C T; A 。ZI。lA RRA Y【1..12】O FS_zLl ; ALPX一1ARRAY[O ..5,1..12】OF S-zL l ; A-LZl ARR AY[1..12】O FS一- Lzl; A INT5A RR A Y[1..5】O F I N T; A IN Tl 2A RRA Y 【1..12】O FINT; ABOO Ll 2AR RAY[1- .5】O FBO O L; A - 砌£A Ll2A RRA Y【1..12】OFREA L A.BOO L5一12ARR AY【1..5,1..12] O FBO O k Aj匝AM A RRAY 【1..6】O FREA L; A BO O L6A RRA Y [1。6】O FBO O L; EN DTY PE 冶金动力2012年第2期 82 旧A LLURGICALP0w ER 总第150期 4.2具体步骤及流程 下面举例说明实现优化选仓功能的几个主要步 骤,各料仓所存储的原料代码可以参考图5所示。 假设二级系统发来“指令”,要求添加如表2所 示的几种合金原料。 表2二级控制系统指令表 注当原料代码为0时,表明二级指令已结束。 第一步对于二级控制系统发送的原料代码、优 先级及称重设定数据,先按照对应料种的优先级进 行排序,结果存人排序二维表zLPX 变量中。 ZL.Px为二维数组,其中第一个参数表示优先级,第 二个参数表示需备料的同一优先级的原料种类。在 二级控制系统中,优先级设定共分为l、2、3、4、5五 个级别,其中1为最高优先级别,5为最低优先级。 在这一步骤中用到内部变量Px_IND Ex,它是 包含5个元素的一维数组指针变量,用来保存排序 二维表中数据存放的位置。 完成第一步骤的控制流程图见图2所示。 图2优化选仓功能第一步控制流程图 ’ 第一步结束后,排序二维表ZL- _PX 变量的内容见 表3所示。 表3第一步结束后排序二维表一ZLP变量内容 原料种类1234 56789101112 优先级0 优先级1原料2 优先级2原料1原料3 优先级3 优先级4 优先级5 注优先级为O 的一行主要为了保证程序正常运行 而赋予的初值。 第二步对排序二维表中的数据按优先级逐一 查找可用的料仓,并将结果分别送到内部变量 SPW Ll 和SPW L2中。 在实际应用中,由于大量用到数组变量,因此规 定数组中的索引号1。12分别对应实际的9匕2矿料 仓。 在上例中,先为“原料2”查找匹配的料仓,找到 可用的17掌料仓后用变量ZL_.FIRST记录查找的结 果“zL_兀R ST9”。然后判断伙伴料仓18,是否已被 选用。若伙伴料仓18,未被选用,则为已查找到的 相匹配的料仓17标记已选用【z-uSED【9]1,并 将设定重量写入SPw t _l 数组中17料仓对应的位 置上 SPW Ll 【9】_290 。至此,“原料2”处理完成,优 先级为1的所有数据也查找结束。 接下来为优先级为2的“原料l ”查找匹配的料 仓,用变量ZL- H RST记录首次查找的结果 “ZLFIRsT10”。接下来判断其相邻的料仓1矿是 否已被选用,结果是已被“原料2”在上面的查询中 选中Lz-U SED [9]1。这时我们需要再为这个伙伴 料仓17* 对应的料种第二次向后继续查找是否还 有其他可用的料仓。这里,我们找到与17料仓原料 代码相同的还有1矿料仓。 紧接着,我们要再次判断与l 矿料仓互为伙伴 的2矿料仓是否被选用。如果2矿料仓未被选用,就 把“原料2”的设定数据由SPW Ll数组中l丁仓对 应位置修改到l 矿仓对应位置SPW t _l [1l 】-290, SPW Ll [9】_O ,把原料1的设定数据写入SPW Ll 数组中18,仓对应位置S网矿L1[10】380,并修改对 应的I z_U SED 变量标记。如果2矿料仓也已经被选 中,且再没有与“原料2”料种相匹配的其他可用料 仓了,则只能将“原料1”的设定重量写入变量 SPw L2数组中zL_FIRST变量所记录的首次查找 结果18,仓对应位置,并标记Lz.U SED 变量。“原 料1”处理结束后,依此法,继续为“原料3”查找匹 配的料仓,并为SPw Ll 或SPw L- 2变量赋值。 按照这样的方法,可以为排序表中的每个数据 进行匹配查找,直至全部有效数据处理结束。 完成第二步骤的控制流程图见图3所示。 第二步处理结束后,主要变量的值见表4所示。 图3优化选仓功能第二步控制流程图 表4第二步结束后主要变量的内容 元素 变量一 123 45678910 1112 SPⅣt 10OOO014000O0 3802900 SPW t2O0 O O 00OO0O O0 L2』SED 0OO0Ol0O 0ll0 第三步根据内部变量SPw Ll 和sPW t .-2的结 果,进行整理,为输出变量H 叩W Ll、H opW L.2和 Sel B i n1、Sel Bi n2赋值。 这一步较简单,只是为了与原控制程序相融合 而进行的数据整理。 第三步的控制流程图见图4所示。 第三步处理结束后,输出变量的值见表5所示。 表5第三步结束后输出变量的内容 元素 123456 H叩W t -l O 01枷O3∞290 SelBin- l O I卸W L2 O O 0 0 0 O 0 O O 1 0 selBin_2 OO 000 O ;古 金动 力 洲午*圳 R 4 ~fET札L 吓GIC LP0w E Rj 第㈨Ⅻ 图4优化选仓功能第三步控制流程图 在经过以上三个步骤的数据处理后,就可以实 执行,从而实现“优化选仓”功能。 最后我们把优化选仓的三个步骤封装成一个自 定义功能块,并命名为“sELEcTBI ”。经过封装之后, 我们就可以在原程序中通过简单的调用完成优化选 仓的功能,将二级系统的指令合理地分配、执行。当 然,在调用功能块之前,我们还要对相关数据进行一 些简单的组织,把零散的数据整合成优化选仓功能 块所需要的数组类型输入变量,才可以实现功能块 的正确调用。 5结论 经过以上的分析,我们可以得出,优化选仓功能 可以很好地解决生产中的实际问题。还以上面的假 设为例,如果我们未考虑优化选仓,而仅仅是将指令 中的代码与各料仓的原料代码进行简单的匹配,将 会得出17料仓和l 酽料仓都需要备料的结果。这样 的结果就会导致“称量斗争用”现象的发生,也将必 然延长备料、放料的周期,影响生产的效率。 现把二级控制系统指令合理地分配到匹配的设备去 实际改造后的合金系统,如图5所示。 黧 台金系统 20l 々l o ;;g{l 瓤;| 謦lt{Ij{{‘t 3,l l ;舭f9 骧料代码 5。Zil2 . 融缸.『 18∞2l f 2仃,一19 F~ 8;{2,瑶出键甩琏撵 - - 叫t I - 撮H{叠% j 8o引 ’o砖,1一.n i F-’‘、圳一,r出l 雕 L2是否l jj_用 ii .1 r,牛J婀西鬯碍计隋再瑁”霜j覃玎m ≯、‘巩 0珥 寥m}㈡舛 ll L2携式张燕被定 {}LJ 。l卜} i fl1 .;{ ”ljIl口i广1 黔L礁式下I累计 ●f0OoO0O F ㈠ 协 ∽‘ l rj f}、fI r1 |‘lJ l I o {t -} 鼾,-数据设定 j J|弓、1tl t { L., _00 藏际放料 ,po 在二级控制模式下,能够自动快速、准确地择优 选择符合条件的料仓进行备料,同时也增加了人工 参与选择的接口,能够完全满足生产上的各种需求。 由于实现了优化选仓功能,大大缩短了生产周 期,提高了生产效率,使炼钢三座转炉间实现协调生 熬鬻戳≯、 羹0 产。目前该系统的二级控制模式的使用率在90%以 上。 收稿日期20111215 作者简介张玉红1970一 ,女.河北唐县人.工程师.预士.现主要从 事自动化编程调试工作。 || | ||| ||
展开阅读全文