技术频道

WinCC的Globe Script在中厚板过程机中的应用

摘 要:本文概要地介绍了组态软件WinCC,并通过对中厚板轧机过程设定计算的描述详细地介绍了Globe Script使用方法,展现了Global Script的强大后台功能。

关键词:组态软件;WinCC;Global Script;过程机

1. WINCC监控软件

  1.1 WinCC的外部结构

  WINCC4.02版本也是德国SIEMENS公司系列软件之一,它不但具有较强大的组态监控功能,而且具有灵活方便的后台运算功能以及自成一体的数据库管理功能,主要体现在以下两个方面。

  1) Tag Management 用于管理内部标签和外部标签,内部标签作为工程的内部变量,外部标签是上位机和下位机PLC进行数据交换的过程变量;

  2) 在Editor工具中主要有下面几种开发环境:

  (1) Graphics Designer用于设计监控界面图;

  (2) Alarm Logging 用来实现报警信息的记录;

  (3) Tag Logging 用于实现标签值的实时记录与归档以及实时监视的趋势曲线;

  (4) User Archive 用于用户数据库的管理工作;

  (5) Global Script用于加入用户程序,通过各种触发方式来完成过程运算及控制。

  1.2 Global Script功能与组成

  由于组态软件的图形编辑、报警及趋势等功能都是大同小异,本文不做详细介绍,而后台脚本却有较大的差别。Global Script即全局脚本,拥有全局变量的特点,即为整个程序中随时随处可以调用的全局函数。Global Script基于类C语言,除了具备C语言的内核外,Siemens还开发了针对WinCC的各种函数库。由以下四部分组成。

  1.Project Functions

  称为项目函数,由用户根据需要创建,可以是主过程或主函数,也可以是子过程或子函数。创建函数或过程时,需要加头文件“apdefap.h”。

  2.Standard Functions

  称为标准函数,是Siemens公司自开发函数,提供了对报警、图形、标签记录、WINCC、WINDOWS、用户归档数据库等操作的函数。供所有程序调用,用户也可以在此处开发常用函数,也可改变现有的标准函数。

  3.Internal Functions

  称为内部函数,在c_bib函数库中罗列了源于C语言标准库的函数,同时给出了操作标签的读出和写入、图形对象属性及视窗控制中心等函数。供所有程序调用,但不能创建和改变内部函数。

  4.Actions

  称为动作,是创建执行程序的脚本,可以调用项目函数及标准函数中的任何函数。它有两种触发方式:一种是时间触发,分为定时触发和周期触发。定时触发是根据需要在某一特定的时刻触发程序运行;周期触发是在某一定长时间内周期性地触发程序运行。另一种是标签触发,当被设定为触发标签的标签值有变化时触发程序。一般情况下尽可能选择标签触发,以减轻CPU的负担。

2. 中厚板轧机过程机的任务

  依据原料、产品的要求以及实际的轧制工艺、设备条件,制定合理的压下规程,在轧制设备允许的条件下,实现制定的温度制度和变形制度,保证轧制产品的外形尺寸和内部的冶金质量,这是轧制工艺规程计算的基本任务。所以轧制工艺规程计算是轧制过程得以顺利进行的前提条件。

  2.1轧制工艺规程计算的基本组成:

  (1)预计算;(2)再计算;(3)后计算。

  (1) 轧制规程预计算就是根据原始数据运用数学模型及经验数据进行计算,确定各道次的实际压下量、空载辊缝、轧制力和温度等参数,预计算的准确与否是实现精确的在线控制的关键。预计算是在轧钢之前完成。

  (2) 轧制工艺规程再计算是根据预计算的计算结果和粗轧的实际测量结果,考虑到预设定和实测的偏差,对随后的各道次参数进行修正计算。其结果可进一步依据实测数据对轧制参数进行修正,提高设定计算的精度。再计算是在轧制过程中进行,所以也称动态计算。

  (3) 轧制工艺规程后计算也称为轧制工艺参数的自适应计算,就是在一块钢轧制完以后,记录其所有实测数据,利用相应的自适应算法来提高数学模型计算精度,提高下块钢辊缝值设定精度的过程。

3. 程序的嵌入与触发

  3.1程序的嵌入

  在Project Functions中按程序自下而上的方式,先把每个独立的最小辈份的子过程嵌入并通过编译,接着是比它高一级的子过程或函数的嵌入及编译,直到主过程的嵌入并进行全程编译。如果在编译过程中发现错误,在程序下方自动弹出编译信息,提示程序员具体出错位置及错误内容。

  3.2过程或函数之间数据的传递

  在C语言的程序中,常以全局变量及参数的形式进行过程及函数之间的数据传递。在WinCC的Global Script中的全局变量就是标签。其中间数据传递有两种方式:(1)Tag方式;(2)结构变量方式。

  (1) Tag方式 是把中间变量通过内部函数中的SetTag函数存储在内部标签中,每次需要使用中间变量时,要通过GetTag函数把标签中数据取出来进行计算。

  (2) 结构变量方式 是在头文件(apdefap.h)中把中间变量全部定义成结构变量,并以参数传递的方式传递中间数据。

  3.3程序的触发

  3.3.1预计算的触发

  在原始数据输入后并得到现场工人的确认时触发预计算,可以通过确认按钮直接触发预计算,即在确认按钮的Events中的Mouse Action事件中直接调用预计算的主程序;也可以设定一个特别的二进制外部触发标签,由PLC将标签值置为1,而需要在Global Script中的Actions中添加调用程序,并将那个二进制标签设为触发标签,在程序调用结束后,将触发标签值置为0。

  3.3.2再计算的触发

  再计算发生在轧制过程中,所以要经常触发,而用时间触发方式不能达到理想,一定要采用标签触发。轧制过程中道次变化最具代表性,所以采用道次标签作为触发标签。标签值的变化是每轧完一个道次加1,连同实测的道次温度值、道次轧制力值一起由PLC送到WinCC的外部标签中。被触发的再计算程序,首先用GetTag函数取来当前道次温度值及轧制力值,并根据预计算结果用SetTag修正下一道次的压下量的标签值。

  3.3.3后计算的触发

  后计算发生在一块钢轧制完成之后,为了确切地得到这个消息,在操作台上设了一个规程复位按钮。在后计算的Actions程序中将规程复位标签设为触发标签,当规程复位按钮被按下,PLC将与之对应的标签值置为1时触发程序,程序运行结束后将标签值置为0。

4. 程序调试

  4.1离线调试方法

  离线状态下,即PLC与上位机没有通讯关系情况下,外部标签不能使用,所以在离线调试时不能使用外部标签,可以先将其定义成内部标签。程序可以设置成周期触发,也可由内部标签通过I/O控件修改标签值触发。预计算程序可以进行离线调试,再计算和后计算可先用内部标签进行离线模拟计算过程调试,再进行在线精确调试。

  4.2程序运行过程监视

  即使程序全程编译通过,也不能算大功告成,要使程序按计划运行,还要进行仔细调试。WINCC提供了程序调试窗口。打开Graphics Designer,在右侧的对象工具箱中点击Application Window,在图中拉出适当大小,系统自动弹出选择对话框,选择Global Script按ok,再选择GSC Diagnostics按ok。运行过程如图1所示,停止运行时还可对运行结果进行存储和打印。


图1 调试窗口

5.结束语

  随着工业控制及自动化的不断发展,工业控制计算机已成为控制过程必不可少的成份,组态软件的应用也越来越广泛,WinCC不但具有强大的组态、报警、趋势曲线等功能,还具有强大的全局脚本后台功能。本文根据某中厚板过程机的实际应用阐明了WinCC的Global Script的具体使用方法及调试手段,突出了WinCC组态软件的后台开发能力及其在工业过程控制中的应用。

参考文献:

  1. WinCC4.0 Graphic Designer + Global Scripts Manual

  2. WinCC4.0 Control Center

文章版权归西部工控xbgk所有,未经许可不得转载。