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工業自動化社區,添加好友時請標註:姓名-城市,共同進步。