APP下载

WinCC软件的编程功能在高线上的开发应用

2015-05-15李倩

有色冶金设计与研究 2015年3期
关键词:高线脚本组态

李倩

(山东钢铁股份济南分公司,山东济南 250101)

WinCC软件的编程功能在高线上的开发应用

李倩

(山东钢铁股份济南分公司,山东济南 250101)

介绍了组态软件编程的功能和使用方法,并结合在高线自动化系统中的实际应用,分析了利用WinCC组态软件强大的脚本功能实现控制器间数据通讯、轧制表功能及区域权限过程。实践证明,该方法有效节约了系统资源,而且能够满足控制要求,达到降本增效的目的。

组态软件;编程;脚本功能;数据通讯;轧制表;区域权限

1 项目背景

某高线项目由南、北两条并列轧线组成,每条生产线包括加热炉、30架轧机、风冷线及精整区设备,出口保证速度115m/s,每条线的设计年产量为600 kt。全线自动化系统由4套PLC完成。PLC之间,远程I/O和变频器与PLC控制器之间都是采用Profibus DP现场总线实现通讯。自动化系统完成全线的顺控、速度控制和位置控制,包括轧件跟踪和模拟轧钢功能。

HMI采用客户机/服务器结构,服务器双机热备,可在线切换、可在线更新画面及数据库,监控软件选用目前成熟先进的SIMATIC WinCC V7.0 SP1亚洲版,操作系统为Windows XP SP3,为了数据可靠,维护方便,服务器采用了raid1磁盘镜象。监控系统通过100 M光纤环形以太网与控制器通讯连接。HMI人机接口实现对生产过程的状态监视、人工干预及控制系统的设备故障诊断功能,完成轧制表的建立、存贮、修改和下载功能,完成生产报表的统计、分析和打印等生产管理功能。

2 组态软件

组态软件是计算机技术与控制技术发展的产物,随着以工业PC为核心的自动控制集成系统技术的日趋完善,组态软件越来越多地应用于工控系统的各个领域,组态软件能以灵活多样的组态方式提供良好的用户开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和I/O产品,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,进行系统集成。

SIMATIC WinCC(Windows Control Center,视窗控制中心),是西门子在自动化领域中的先进技术和Microsoft的强大功能相结合的产物。通常主要完成图形组态、I/O组态、历史数据和报表等功能,除了这些,其后台还具有强大的编程功能,在实现一些逻辑处理功能,以及对大量数据进行采集和处理方面优势明显,能为使用者提供极大的方便,而且节约了PLC的资源,因此有必要对组态软件的编程功能进行研究、开发和利用。

3 WinCC的编程功能

WinCC软件的编程功能是通过全局脚本来实现的。“脚本”功能是指通过其提供的一种嵌入到其自身内部的简单编程语言实现基本的程序流程控制手段(比如条件语句)和可执行指令。可执行指令可以划分为两种类型:第一类指令是调用组态软件功能的指令,如打开或关闭画面,第二类指令是与组态软件功能无关的命令,如运算和文件操作等命令。“脚本”功能极大地增强了组态软件的灵活性,使组态软件能够去适应用户千变万化的需求,按照用户的意愿来编写指定的逻辑和控制流程。

WinCC的脚本语言分为C语言和VB语言,脚本动作是指可以自己创建和修改的动作。在WinCC项目的启动控制中心里的全局脚本编辑器,可以创建和编辑全局脚本动作,运行时,通过使用全局脚本动作来对过程进行控制。动作由触发器启动,触发器可以分为时间周期性、非周期性以及变量触发设置。创建一个全局脚本动作的基本步骤包括:新建动作,编写程序,设置启动触发事件,编译动作,保存动作。

脚本动作可以调用函数。动作用于独立于画面的后台任务,例如打印日常报表、监控变量或执行计算等。函数是一段代码,可在多处使用,但只能在一个地方定义,WinCC包括的函数分为3类:项目函数、标准函数和内部函数。项目函数是用户可编程和修改的C函数,它们创建后对于当前项目是唯一的;标准函数是WinCC系统自带的在C语言基础上开发的若干常用函数,如报警、图形、标签记录及用户归档等函数;内部函数使图形对象和归档动态化[1],比如标签的写入和读出过程标签、读出图形对象属性的函数等,可用在项目函数、标准函数和全局脚本动作中。

4 WinCC编程在高线系统上的应用

利用WinCC组态软件的编程功能,已在高线控制器间数据通讯、轧制表设计、风冷线设定表、区域权限处理上得到了很好的开发和应用。

4.1 控制器间数据通讯的实现

4.1.1 问题的提出

高线项目调试初期,轧机PLC和风冷PLC之间需要交换数据,两系统之间是通过Profibus DP网络实现通讯的,但由于某些原因,当时Profibus DP网络还未搭建起来,系统之间的关键数据不能传输,制约了整个系统的调试进度。

4.1.2 解决方案

高线的自动化系统架构设计中,控制器之间通过Profibus DP网络进行数据交换,而组态服务器与各PLC控制器之间是通过工业以太网进行通讯的,经过分析研究,确定利用已运行的以太网网络,由组态服务器通过WinCC的编程功能,将两PLC控制器所需要的数据发布,临时性的实现两控制器之间的数据交换。

4.1.3 具体实施

在组态软件Wincc7.0中,利用全局脚本进行逻辑编写,通过触发器对动作“程序”进行周期调用。在动作中,通过调用内部函数GetTagBit()读取变量的数值,然后通过内部函数SetTagBit()将该数据写入指定的变量中。例如下行语句:

SetTagBit("temp_plc3_2",GetTagBit("PLC3/DB_ LCRT_TEMP.Roll_speed_low_temp"));其中:“PLC3/ DB_LCRT_TEMP.Roll_speed_low_temp”指的是风冷线PLC的信号“13#-19#辊道由于集卷站未准备好,转为低速并禁止出钢”;“temp_plc3_2”是轧线PLC接收的变量名。由于通讯数据要周期性刷新,因此该动作执行的触发条件选择“周期性时间”模式,以250 ms的速率在服务器后台周期性执行。

4.1.4 投用效果

在调试中,无需新增硬件成本,仅用几行编程语句,就可完成两个PLC控制器系统间的数据交换功能,为系统的调试提供了有力的支持。

4.2 轧制表的设计

4.2.1 高线轧制表

高线轧制表主要包括粗轧、中轧、预精轧、精轧机的轧辊辊径、辊径补偿、工作辊径,延伸率、拉钢系数、轧件面积、线速度和电机转速等内容,还包括轧制编号、坯料规格、成品规格、出口速度等信息。每个轧机的速度给定要根据轧制表来进行计算,是轧线速度级联控制的基础工艺参数。针对不同钢种和产品规格可人工录入或调用不同的轧制参数,在长期的生产过程对工艺参数不断进行修改和优化,逐渐通过轧制表功能总结出适合本轧线生产的不同产品规格的一整套工艺参数,所以轧制表功能的实现对于轧线长期稳定安全生产起着重要的作用[2]。

和轧制表相关的操作包括数据的存储、读取、优化和下载,以及轧制表的建立、命名和删除。为避免轧制表的文件名丢失,在数据存储的同时,各表的文件名都写入一个记录文件进行保存,可以通过“读取文件名”获得所有的轧制表名。

4.2.2 设计方案

在开发前期,采用的设计方案是:利用WinCC软件自带的用户归档功能,在画面中调用用户归档表格,作为轧制程序表,操作员通过画面完成轧制程序的相关操作。但在测试中,发现用户归档的表格在监控画面调用后,样式单一,不易更改;用户归档有一系列函数,编程较繁琐[3];而且,WinCC软件的归档功能需要另外购买授权。综合考虑以上利弊,确定采用WinCC软件的编程功能,利用C脚本来完成轧制表的全部功能。

4.2.3 具体实施

在组态软件Wincc7.0中,利用全局脚本进行逻辑编写,通过按钮触发对组态“程序”进行调用。建立WinCC内部变量,分别代表轧制表的相关信息,在监控画面上显示,操作人员可以进行修改变量值。通过操作画面上的读取、存储、删除、计算、优化和下载等按钮命令,完成轧制表的相关功能。其中:1)读取。将该轧制表内的数据调入到当前画面上,具体步骤如下:先通过字符串函数strcat获取当前轧制表的名字,然后通过函数fopen打开该文件,通过函数fscanf读取文件中的数据,最后将读取的数据利用函数SetTagFloat写入轧制表的内部变量,在画面上显示。2)存储。将当前画面上的数据写入文件进行存储,具体步骤是:先通过GetTag系列函数获取当前画面上的轧制数据,然后通过字符串函数strcat获取当前轧制表的名字,通过函数fopen打开该文件,通过函数fprintf将相关数据写入该文件名的轧制表中。3)计算。通过GetTag、SetTag系列函数,进行工作辊径、转速、线速度给定的计算。4)优化。使用GetTag、SetTag系列函数,将控制器里的运行数据更新当前的轧制表数据。5)下载。利用SetTag系列函数,将当前画面上的轧制数据写入控制器,参与控制。6)读文件名。通过fscanf()函数获取记录文件里的文件序号和文件名,然后通过函数SetTag按序号写入画面里的轧制表清单中。7)写文件名。通过函数GetTagChar获得当前轧制表清单所有的文件名,然后打开记录文件,通过函数fprintf将相关数据写入该文件。

4.2.4 投用效果

轧制表画面如下图1所示,监控画面简单、直观,易扩展,且编程简易,不涉及归档控件和数据库,便于操作和维护。

图1 轧制表画面

4.3 区域权限的设计

高线自动化系统中,轧机区和风冷区共用一套服务器,风冷线的操作终端可以浏览轧线的某些画面,但不允许操作轧机区某些命令按钮,如轧制启动、停止按钮,仿真开始、停止按钮等。因此,需要对某些画面或画面中的按钮,按照操作终端的位置设置不同的权限。

以“轧线总览”画面上的“轧制启动”按钮的操作权限为例,首先,在WinCC项目的用户管理器中,将操作员的权限设定为“用户管理”,其对应的PasswordLevel的值为1;然后,在按钮所在画面的“打开画面”属性进行脚本编程:通过strcmp函数,获取当前操作终端的机器名,然后,通过SetPropBOOL函数对当前画面上的按钮属性“PasswordLevel”进行设置,当操作终端为轧机区时,该值设为1时允许操作;当操作终端为风冷区时,该值设置不为1,因此当在风冷区操作该按钮时,信息提示没有权限,不允许操作。

利用C脚本进行编程,依据操作终端的不同机器名,来设置不同区域的控制对象的操作权限,达到区域权限管理的目的。

5 结论

综上所述,某高线项目利用WinCC组态软件强大的脚本功能实现了控制器间数据通讯、轧制表功能及区域权限的设置。实践证明,利用计算机运行速度快、容量大的特点,把一些逻辑控制和数据处理功能放在了组态软件中完成,提高了设备利用率,增快了响应速度,降低了PLC程序处理的开销,值得推广。

[1] 王锬.WinCC用户归档在合钢线材轧制表上的应用[J].安徽冶金科技职业学院学报,2007,17(4):87-89.

[2] 张昱.轧制表功能在WinCC中的简单实现[J].PLC&FA,2010(11):76-79.

[3] 张庆.用组态软件实现棒材生产线的轧制表功能[J].冶金动力,2011(4):87-89.

Development and Application of Programming Function of WinCC Software in High Speed Wire

LI Qian
(Jinan Company of Shandong Iron&Steel Group Co.,Ltd.,Jinan,Shandong 250101,China)

The paper introduces the function and application method of configuration software programming,and strong script function of WinCC configuration software can be applied for data communication,roll pass schedule function and area permission between controllers in combination with actual application of high speed wire automation system.It proves in practice that this method not only can effectively save system resource,but also meet control requirement and reach the objective of cost reduction and efficiency increasing.

configuration software;programming;script function;data communication;roll pass schedule;area permission

TP31

B

1004-4345(2015)03-0057-03

2015-03-26

李倩(1973—),女,高级工程师,从事炼钢、轧钢电气自动化控制工作。

猜你喜欢

高线脚本组态
酒驾
基于PLC及组态技术的恒温控制系统开发探讨
安奇奇与小cool 龙(第二回)
关于“三线交一”的思考
快乐假期
基于PLC和组态的智能电动拧紧系统
小编的新年愿望
坚持道德“高线”争做合格党员
坚守『底线』与跃摸『高线』
高速线材PF线故障攻关和改造