Page 71 - 《橡塑技术与装备》2020年1期(1月上半月橡胶)
P. 71
新技术与新产品 梁帅 等·基于 WINCC 的轮胎硫化机圆盘曲线的实现
创建和修改,用户函数又分为项目函数、标准函数和 执行,必须至少分配一个触发器。
DLL 函数。
动作由用户自己创建,必要时可以进行口令保护, 3 WinCC 圆盘曲线的实现
防止未经授权的人对其进行修改和查看。动作要想执 利用 WinCC 自带的 WINCC FunctionTrendContr
行,必须至少为其分配一个触发器。 ol 控件,可实现直角曲线功能,但不能实现圆盘曲线
动作分为全局动作和局部(本地)动作。在客户机 - 的显示。为实现圆盘曲线功能,我们需要做以下工作:
服务器项目中,全局动作在项目中所有计算机中都可 (1)将记录的数据转换成极坐标形式
执行 ;而局部动作则只能在对其进行分配的计算机上 将一天 24 个小时平均分布到圆盘图中,然后根据
执行。当创建的是单用户项目时,全局动作和局部动 系统时间将当前时刻转换为极坐标形式。再将 PLC 读
作之间就没有太大的差别了。 取的实时数据转换成对应的当前时刻极坐标形式。C
2.2 脚本的执行过程 脚本如下所示 :
图 2 为脚本的执行过程。WinCC 脚本的核心是动 #include "apdefap.h"
作。动作通过触发器触发来实现相应事件或改变画面
中对象的属性等。函数则是一段特定功能的代码,它 int gscAction( void )
本身并不能参与到 WinCC 的动态响应中去,动作在 {
需要的时候,调用某个函数来实现既定功能。 // WINCC:TAGNAME_SECTION_START
/ / sy n t a x: #d e fi n e T a gNa m e In Ac t i o n
"DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
图 2 脚本的执行过程 // WINCC:PICNAME_SECTION_START
一个动作触发后,会执行其对应的代码,在该代 // syntax: #define PicNameInAction
码中,可能会调用到其他 C 代码编写的函数,相当于 "PictureName"
子程序。 // next PicID : 1
2.3 触发器 // WINCC:PICNAME_SECTION_END
触发器的类型如图 3 所示。一个动作可以由定时 short a1,b1,c1,year,month,week,day,hour,minute
器触发,也可以用变量触发。定时器触发又可分为循 ,second,msecond;
环触发和非循环触发 ;而变量触发则可以选择在某一 double a, b,c,d,e,f,g,h,i,j,k,e0,f0,g0,e1,f1,g1,e2,
变量值发生变化的时候触发动作,也可以选择采用 " f2,g2,e3,f3,g3,e4,f4,g4,e5,f5,g5,e6,f6,g6,e7,f7,g7;
循环监视变量值 " 的方式。
// 获取系统时间
a1=GetTagWord("hour"); //Return-Type: WORD
b1=GetTagWord("minute"); / / R e t u r n - T y p e :
WORD
c1=GetTagWord("second"); / / R e t u r n - T y p e :
WORD
a = a1*3600+b1*60+c1; // 当前时刻转换成 0 点
开始的秒数 ;
图 3 触发器的类型
e=3.14; // 定义 e 的值为 π
一个动作可以同时分配若干个触发器,任何一个 f=a/86400; // 当前时刻在一天中占的比例 ;
触发器有效了,动作就将被执行,而且,动作要想被 c=0.5*e-2*f*e; // 当前时刻在圆盘图中的弧度 ;
2021 第 47 卷 ·19·
年