基于WINCC的轮胎硫化机圆盘曲线的实现
2021-01-05梁帅杨华张树伟赵尊梅丁建华徐敬志陆永高
梁帅,杨华,张树伟,赵尊梅,丁建华,徐敬志,陆永高
(1.青岛海琅特种装备科技有限公司,山东 青岛 266400;2.青岛双星轮胎工业有限公司,山东 青岛 266400)
轮胎硫化生产中有三个关键要素,即温度、压力、时间。这三个要素决定了轮胎硫化的质量。为了掌控轮胎硫化质量及在轮胎售出后做质量追溯,一般轮胎生产厂家都会记录并保存这三要素的相关数据。关于数据的记录方法之前是使用机械式圆盘记录仪、打点记录仪,后来发展到智能无纸记录仪及上位机监控系统。圆盘曲线是指上位机监控系统中的一个功能,圆盘曲线可以在一屏同时显示24 h的温度、压力曲线,可以方便的观察一天中设备停机情况、预热时间、班次产量等信息,在轮胎生产厂家使用过程中已成为必备功能之一。上位机监控系统的画面软件可使用高级语言编写,也可使用成熟的组态软件实现。本文将介绍使用WINCC软件实现圆盘曲线功能的一种方法,文中的硫化机控制系统采用西门子S7 1500系列PLC,上位机采用西门子工控机,监控软件采用西门子WINCC组态软件。上位机与工控机通过以太网连接。
1 WINCC软件
SIMATIC WinCC(Windows Control Center)--视窗控制中心,它是西门子最经典的过程监视系统,已成为市场的领导者,乃至业界遵循的标准。WinCC能为工业领域提供完备的监控与数据采集(SCADA)功能,涵盖单用户系统直到支持冗余服务器和远程 Web 服务器解决方案的多用户系统。SIMATIC WinCC 是公司垂直集成交换信息的基础,具有良好的开放性和灵活性,它采用了工厂智能,助力用户实现更大程度的生产过程透明化。虽然WinCC的功能很强大,但它未对硫化机行业做专门的定制开发,未提供圆盘曲线的控件,用户需自己通过WinCC脚本系统开发相应功能。
2 WinCC 脚本系统
WinCC的脚本系统支持C脚本和VBS脚本。脚本本质上是一段用C或VB编写的代码,用以实现一些特定的功能。这里,我们简单介绍一下C脚本的概念。如图1所示,为WinCC脚本的分类。
图1 脚本分类
2.1 函数和动作
函数和动作本质上都是一段代码。如图1所示,函数分为嵌入函数和用户函数。嵌入函数用户只能使用,不能修改;而用户函数则可由用户根据实际需要创建和修改,用户函数又分为项目函数、标准函数和DLL函数。
动作由用户自己创建,必要时可以进行口令保护,防止未经授权的人对其进行修改和查看。动作要想执行,必须至少为其分配一个触发器。
动作分为全局动作和局部(本地)动作。在客户机-服务器项目中,全局动作在项目中所有计算机中都可执行;而局部动作则只能在对其进行分配的计算机上执行。当创建的是单用户项目时,全局动作和局部动作之间就没有太大的差别了。
2.2 脚本的执行过程
图2为脚本的执行过程。WinCC脚本的核心是动作。动作通过触发器触发来实现相应事件或改变画面中对象的属性等。函数则是一段特定功能的代码,它本身并不能参与到WinCC的动态响应中去,动作在需要的时候,调用某个函数来实现既定功能。
图2 脚本的执行过程
一个动作触发后,会执行其对应的代码,在该代码中,可能会调用到其他C代码编写的函数,相当于子程序。
2.3 触发器
触发器的类型如图3所示。一个动作可以由定时器触发,也可以用变量触发。定时器触发又可分为循环触发和非循环触发;而变量触发则可以选择在某一变量值发生变化的时候触发动作,也可以选择采用"循环监视变量值"的方式。
图3 触发器的类型
一个动作可以同时分配若干个触发器,任何一个触发器有效了,动作就将被执行,而且,动作要想被执行,必须至少分配一个触发器。
3 WinCC圆盘曲线的实现
利用WinCC自带的WINCC FunctionTrendContr ol控件,可实现直角曲线功能,但不能实现圆盘曲线的显示。为实现圆盘曲线功能,我们需要做以下工作:
(1)将记录的数据转换成极坐标形式
将一天24个小时平均分布到圆盘图中,然后根据系统时间将当前时刻转换为极坐标形式。再将PLC读取的实时数据转换成对应的当前时刻极坐标形式。C脚本如下所示:
(2)将转换完成的变量记录到数据库中
用户归档编辑器是WinCC 的一个附加选件,通过它可以周期性的把PLC读取的数据保存到数据库中。 在图形编辑器中,可以通过组态 WinCC 用户归档表格元素来以表格显示运行系统中用户归档的在线数据。可通过用户归档的控制变量实现数据的读取和写入,而不需要用户自己写脚本,使用起来非常方便。在用户归档编辑器中,可以最多组态 500 个归档和500 个视图。 每个归档最多可创建 500 个域。归档中的数据记录的最大数目,取决于已组态列的数目和归档中包含的数据记录。列和数据记录的乘积不能大于320 000。对于数据存储量不是很大的需求,WinCC用户归档基本上可以满足。通过WINCC的归档功能,我们可以将转换完成的极坐标数据周期性的保存进数据库中,如图4所示。
图4 WINCC归档设置
(3)设置WINCC FunctionTrendControl控件属性,组态要显示的曲线,选择相应曲线连接的数据源,曲线显示的Y轴坐标等,如图5所示。
图5 WINCC FunctionTrendControl控件属性
(4)编写查询曲线用的C脚本,具体脚本如下
最终效果如图6所示。
图6 圆盘曲线展示
4 结束语
经过以上工作,我们就可以在WinCC中实现圆盘曲线功能。该方法操作起来比较简单,适合刚刚入门的朋友。如果想要实现更多功能,可使用高级语言自己编写相应功能的COM控件,在此笔者不在赘述。谨以此文抛砖引玉,希望能和大家多多交流。