wincc脚本函数
⑴ 请问wincc中怎么用全局脚本建立外部变量和内部变量的连接
连接?如果我没有理解错的话可能你是想读写wincc变量吧?
在脚本中,C脚本基本是这样的语句:
FloatF;
F=GetTagFloat(“TAG1”)这样就可以读出TAG1的数值,不管TAG1是外部变量还是内部变量,在脚本中都要加上“”,否则就默认是对脚本内部使用的变量读写。
如果想向某一个变量写数值的话可以使用SetTagFloat(“TAG1”,99.2)这样TAG1就被设置成了99.2这样的值。另外个对word类型的数据还有SetTagWord()函数,其他类型的也有,看一下帮助。
#include"apdefap.h"
intgscAction(void)
{
#pragmaoption(mbcs)
GetTagWord(Tag_Name);//Return-Type:WORD
GetTagValue(lpdmVarKey,lpdmresult,lpdmError);//Return-Type:BOOL
GetTagSWord(Tag_Name);//Return-Type:shortint
GetTagSDWord(Tag_Name);//Return-Type:longint
GetTagSByte(Tag_Name);//Return-Type:char
GetTagRaw(Tag_Name,pValue,size);//Return-Type:BOOL
GetTagFloat(Tag_Name);//Return-Type:float
GetTagDWord(Tag_Name);//Return-Type:DWORD
GetTagDouble(Tag_Name);//Return-Type:double
GetTagChar(Tag_Name);//Return-Type:char*
GetTagByte(Tag_Name);//Return-Type:BYTE
GetTagBit(Tag_Name);//Return-Type:BOOL
SetTagWord(Tag_Name,value);//Return-Type:BOOL
SetTagValue(lpdmVarKey,lpdmValue,dwState,lpdmError);//Return-Type:BOOL
SetTagSWord(Tag_Name,value);//Return-Type:BOOL
SetTagSDWord(Tag_Name,value);//Return-Type:BOOL
SetTagSByte(Tag_Name,value);//Return-Type:BOOL
SetTagRaw(Tag_Name,pValue,size);//Return-Type:BOOL
SetTagFloat(Tag_Name,value);//Return-Type:BOOL
SetTagDWord(Tag_Name,value);//Return-Type:BOOL
SetTagDouble(Tag_Name,value);//Return-Type:BOOL
SetTagChar(Tag_Name,value);//Return-Type:BOOL
SetTagByte(Tag_Name,value);//Return-Type:BOOL
SetTagBit(Tag_Name,value);//Return-Type:BOOL
return0;
}
⑵ 西门子WINCC应用C脚本数学运算
WinCC C脚本数学运算应用指南
WinCC C脚本数学运算提供了基本的算术运算和数学函数,助力自动化系统的高效数据处理。
1. 基本运算
加法运算:若需将两个32位浮点数据型变量 "TAG2_FLOAT1" 和 "TAG2_FLOAT2"相加,并将结果保存至"TAG2_FLOAT3"中,执行步骤如下:
按钮-->对象属性-->事件-->单击鼠标C动作,插入代码:TAG2_FLOAT3 = TAG2_FLOAT1 + TAG2_FLOAT2
2. 数学函数
WinCC内置的全局脚本中,包含丰富的数学函数,如幂运算。假设目标是计算两个32位有符号数据型变量 "TAG2_INT1" 和 "TAG2_INT2"的幂运算,并将结果存储至"TAG2_INT3",操作如下:
按钮-->对象属性-->事件-->单击鼠标C动作,输入代码:TAG2_INT3 = c_bib.math.pow(TAG2_INT1, TAG2_INT2)
为了深入探讨和交流WinCC应用经验,加入微信技术群:PLC工业自动化社区,添加好友时请标注:姓名-城市,共同进步。