在众多的工业控制软件中, 罗克韦尔软件不愧为业内一颗闪亮的明星,其RS系列产品,范围之广,应用之深,几乎满足所有自动化领域中的需求。笔者有幸在一次连铸机改造中初试了RS家族中的可视化平台 RSVIEW32。下面从产品应用角度介绍编程调试中认识肤浅,然而印象深刻的心得体会。
一、工艺背景
本项目的全名:武钢二炼钢3#连铸机改造工程(以下简称3#铸机)。由奥钢连(VAI)总体工艺设计的3#铸机引进了如结晶器调宽(MWA)、结晶器振动(DYNAFLEX)和自动锥度控制(ASTC)等多项当今世界上最先进的连铸机技术,是国内目前为止装备和技术最先进的连铸机。例如,建成后达产的速度,连续379炉的连浇次数等多项指标刷新了全国纪录。同时,产品的多项物化品质比老铸机有明显的提高,铸坯纯净度提高了30%。
二、PLC+网络结构
本项目的控制平台为美国罗克韦尔自动化公司ALLEN-BRADLEY Logix5000,主体网络CONTROLNET,设备网DEVICENET+Profibus+Modbus,分布式I/O FLEX 1794+Canbus。运行RSView32系统画面的PC机通过1784-PCIC(S)专用网卡连入CONTRETNET,单机运行版。系统配置图如图1所示。其中三台L1 HMI和一台EWS为运行RSView32系统的PC机。
三、平台特点
3.1 使用简单
评判一个可视化平台的性能时不能闭而不谈其是否易学易用。这对自动化应用人员尤其重要。一个优秀的平台应能使编程者尽快上手,迅速掌握,而不是花很多时间去培训或自学。在这个可视化平台之上,他(她)根据以往的工作经验和阅历,把更多时间和精力置于应用程序的设计和二次开发上。RSView32 系统编程概念和开发环境简单易懂,便于自学。结合学习随RSView32系统安装盘一道提供的Samples程序,可解决诸如标签定义、绘图、动画处理、趋势显示以及报警/事件记录等一般画面应用问题。图2为RSView32系统编辑窗口。
3#铸机含有显示和受控I/O点共2500余个,涉及5台Logix5K PLC的数据访问,中间变量约500余个,满幅工艺流程画面18张,加上子画面和零星窗口共有画面百余张。其中标签在画面中出现的平均次数为3次。此外,程序中使用了大量的宏命令和引用标签等。笔者从完成上述画面内容的编辑,到典型回路和设备的在线/离线的测试,前后累计花费的时间不到两个月,很大程度上不能不归功于RSView32系统简单实用的原则和好用易用的特点。请再看几例。
图1
图2
图3 与 图4
3.2 标签数据库自动生成(Tag Database)
在控制系统整体构思和PLC事先将标签定义好的条件下使用罗克韦尔自动化配套的Logix 5000 Tag Import 工具可免除键盘敲击之辛劳,直接经由PLC导出的后缀为L5K的标签文件,为已经打开RSView32系统应用程序自动生成一个标签数据库。这可以避免键盘失误操作,提高了数据质量。由于标签的转换和传输的目标路径可以人为定义。因此重复这一操作可使标签库不断完善和补充。也可用该工具生成后缀为CSV的文件,再用RSView32系统下的Database Import and Export 工具导入RSView32应用程序。图3为Logix 5000 Tag Import 的操作界面。当然若增加的标签的数量不是很多,也可手工在标签库中录入标签。
3.3 标签地址在线连接(Tag Address)
如果ControlNet网络已经开通,则通过扫描连接OPC Server 的Node(在本项目中就是PLC),可直接对标签变量的地址赋值。通过这种方式连接地址,实际上已经将程序调试中与PLC之间的对点工作近乎完成。图4为标签地址在线连接的操作过程。
3.4 对象动画集成编辑(Animation)
动画显示是控制系统监控画面中的一个重要内容。具不完全统计,80&以上的输入点有动画显示的需求。例如开关量输入标签的报警,以填充图形表示模拟量变化等等。RSView32系统将对象常用的动画显示归纳为隐藏(Visibility)、变色(Color)、填充(Fill)、水平移动(Horizontal Position)、竖直移动(Vertical Position)、变宽(Width)、变高(High)、旋转(Rotation)、触摸(Touch)、水平滑条(Horizontal Slide)和竖直滑条(Vertical Slide)共11大类,全部集成在动画编辑窗口内,如图5所示。一般情况下,动画显示受控于表达式栏内填入的标签值。最常用的例子,如图5所示,就是根据标签值改变对象的颜色和闪烁属性。同一对象可以同时使用两种以上动画显示,控制标签可以是一个,也可以是多个。例如液压泵组操作方式出错的提示字域,当方式未出错时将其隐蔽。出错时显示并闪烁报警。
图5 表达式为一个变量名的动画编辑窗口
3.5 IF-THEN-ELSE 和Derived Tag
If-then-else语句是RSView32系统中常用的运算语句,一般在动画、数值显示字域等对象的表达式编辑中使用,运算对象可以是开关量,也可是模拟量。If-then-else编写的程序关系清晰,易读易懂,非常适合自动化应用人员。下面是一段根据连铸过程送引锭杆模式还是浇铸模式来选择编码器跟踪值的 If-then-else 程序:
if plc2\start_dmb_insert then plc2\g10gz else
if plc2\start_cast then plc2\g3gz else
if plc2\start_tail then plc2\wpgz1 else
plc2\dmb_tracking
RSView32系统的运算表达式里还有开关量的与或非运算、模拟量比较和常用数学函数和报警函数等功能。这些函数、指令和If-then- else一起构成了RSView32系统实用的指令系统,为用户问题提供解决方案。Derived Tag(引用标签),顾名思义,主要对内部标签(中间变量)进行二次或多次定义,是一种面向画面显示任务的程序结构。在Derived Tag编辑器内,利用If-then-else语句或其他运算指令为标签编程。程序以表格形式存放在RSView32系统下的文件里。可按控制任务定义多个Derived Tag 文件。一个文件可最多存放1000个Tag,对一般规模的控制项目已经足够使用。Derived Tag可以完成比对象动画要求更复杂的一些显示任务。例如,连铸机拉钢过程中铸流的运动轨迹是一个不规则的弧形,画面上要求用三种颜色独立或组合实现送引锭、拉钢以及尾坯输出等5种生产模式下引锭杆和铸流的运动轨迹的模拟。扇形段的弧长和扇形段两头的拉矫辊的速度是已知条件。显然,此时已经无法在简单的动画编辑中找到答案,因为那里仅能解决对象的衡平竖直的移动显示问题。在Derived Tag概念下,建立数个Derived的中间变量计数器,取拉矫辊编码器输出值为参考点,利用动画电影制作的原理,较好地完成了这个显示任务。图6是在线录入的连铸机拉钢时的实时画面。一般在系统的Startup 组态中将Derived Tag 文件定义为随画面系统自动启动。若有多个Derived Tag 文件,可在命令窗口或合适的画面部位用DerivedOn/Off 命令启动/停止。
图6
3.6 调试方便
用调试方便评价RSView32系统,无论如何都不过分。首先,画面编辑和运行间的切换非常快,提高了程序调试过程的速度。RSView32系统以表格形式的标签监视器和命令窗口是程序调试中必然用到的两个工具。两者作为画面控件均可被编入画面程序。两者结合起来,可在程序运行中在命令窗口里发命令,在标签监视器中看命令执行的结果。用这种方法察看程序的中间结果,跟踪中间结果的变化特别有用。一般的做法是,将标签按设备或工艺类型分别定义到不同的标签监视器中,以文件形式保存。在宏命令编辑器中将对应的任务录入成文件的形式。然后对照使用,可提高程序调试的效率。图7是调试铸流模拟时使用的标签监视器。
RSView32系统简单实用,但提供的功能也很丰富,再请看下面的例子。
3.7 Recipe(配方功能)
二次冷却水表是连铸过程重要的工艺参数。二冷水表为各扇形段的冷却水调节回路提供设定值,是多组常数的集合。使用时一般根据不同的钢种,在 RSView32系统环境内从画面PC机的硬盘中将对应的水表调至内存并在画面上显示,必要时予以修改后再下装至PLC。修改后的水表还要存回硬盘。换言之,水表操作显示任务要求批量数据在PC机硬盘、内存和PLC三地之间进行移动。在程序中引用Recipe控件使这一控制任务异常简单,如图8所示。
图8 Recipe控件应用示例
3.8 安全机制
画面系统的安全操作和管理是自动化控制系统可靠运行的根本保证。因此对操作的限制和数据的保护是画面程序设计中必须考虑的问题。比如对设备启停操作,工艺参数值的修改或录入等等。同时,设置不同的操作权限可有效降低人为误操作或其他因素带来的损失。RSView32系统的安全机制分对象安全级别管理和用户操作权限两个层次。对象安全级别共分15级,分别以大写字母的排序A~P表示。相邻的两个安全级别,左边的读写优先级别高于右边的,余下类推。 A级优先权最高。同对象的其他如颜色,尺寸等属性一样,安全级别也是一种属性,可定义和修改。具有安全级别的对象一般是标签、画面和操作命令等。操作权限是用户的属性,一个用户可有多种访问权限(安全级别),同一个权限也可被多个用户拥有。新建用户的默认权限为*,拥有一切权限或称万能用户。
图9和图10分别为画面安全级别和用户操作权限的设定窗口。
3#铸机中按操作岗位共设置了仪表、液压、生产、电气和系统管理共五种操作权限。操作时各取所需,互不干扰。另一方面,安全管理的引入使数据资源的利用率大大提高,维护量减少。比如过去画面操作以地域为界,只管本区域设备,没有一台含有全部画面的完整的画面PC机。现在所有画面PC机运行统一的且包含连铸机全部画面的画面程序。所有设备的操作均需通过操作者合法性的判断。程序备份文件只有一个。新连铸机投运之后,工艺工程师可在任意画面站点访问全部连铸机过程数据。
3.9 运行情况
画面死机对大家并不陌生,但没人能够忍受。更重要的是,关键设备或工艺过程的数据突然在画面上凝固或消失,有造成重大设备和质量事故的风险。画面死机的原因有多种,如PC机硬件、网络质量、用户程序和操作系统等等。然而比较而言,在其他因素相同的条件下,画面平台“包袱轻”,跑得快,相应“死机”的概率要小许多。这是不争的事实。如前所述,RSView32系统轻装上阵,反映迅速,应该少死或不死机。事实正如此。事实上,3#连铸机画面软件自从去年8月正式投运以来已连续运行近10余月。精确地讲,四台画面PC机无一台次运行过程中死机的记录,的确是一个奇迹。值得一提的是,画面的稳定快速运行除了平台因素外,还要求画面应用程序精益求精,特别注意以下几个方面:
3.9.1 画面显示优先级
合理使用Cache加速选项,使常用画面驻留内存,可实现画面的无扰切换,减少因开关画面产生的晃动视觉感。但Cache资源有限,仅提供最多至40幅画面的Cache。笔者的设计原则,工艺流程画面长驻内存(约18张),小窗口(如设备操作箱)等子画面随用随开,用完关闭。主画面和子画面为主从关系:子画面在主画面中调用,主画面切至后台后其子画面立即关闭,释放内存,效果不错。
3.9.2 合理使用画面资源
尽量避免使用复杂图形(如动态立体图形)。一般情况,RSView32系统提供的图库已经够用。笔者以为,画面显示的准确,可靠和稳定性是第一位的,美观和视觉刺激是第二位的,不能本末倒置。应把机器内存,时间等硬件资源用到最需要的地方去。再有,过于花悄和艳丽的图形本身就是对有用信息的一种视觉干扰,弊大于利。因此,笔者多年一直奉行画面从简的设计原则。
3.9.3 经常”打扫卫生”
注意保持画面程序的整洁,“去除垃圾“,减轻负担。不用的画面,标签和程序段(调试时建立的)坚决予以清除。否则,这些垃圾不但耗费系统扫描时间和内存资源(尽管是静态),而且日久天长,会因标签的误用或张冠李戴造成程序逻辑紊乱,出现意想像不到的故障。
四、结束语
限于个人水平和项目实际需求,3#铸机画面应用程序无法涵盖RSView32系统所有的功能。因此就评论RSView32系统而言,本文片面之处在所难免。另外,有些功能如VB、OLE、ODBC和OPC等对常规显示应用而言,使用的机会不是很多。
同时,作为RSView32系统产品的用户,希望RSView32系统的未来版本能在下述几个方面予以改进:
4.1 光标的精确定位
图形编辑中移动对象时,除使用鼠标以外若有辅助的光标定位,会使图形编辑更加方便。
4.2 标签库编辑
希望标签库编辑功能达到或接近MS Excel功能水平。
4.3 Datalog 格式
现在的Datalog输出文件中,标签名和标签值不在一个DBF文件中,不便直接读取。