在實際的項目應(yīng)用中,某些關(guān)鍵數(shù)據(jù)的輸入需要提示操作人員確認無誤后才能進行。如下圖所示:
圖1
當(dāng)在輸入/輸出域中輸入數(shù)值99并回車后,數(shù)據(jù)并不立即輸入到變量里,而是彈出一個確認的信息窗口。這時候如果選擇“是”那么數(shù)據(jù)將輸入到相應(yīng)的變量,如果選擇“否”相應(yīng)的變量會保持原來的值不變。下面就介紹如何使用WinCC的輸入/輸出域?qū)崿F(xiàn)這種功能。
1. 前提條件創(chuàng)建兩個數(shù)據(jù)類型相同的變量 DisplayValue和TempValue,其中DisplayValue是實際需要控制的變量,TempValue作為臨時變量使用。如下圖所示:
圖2
2. 輸入/輸出域的屬性設(shè)置在畫面中新建一個輸入/輸出域,打開屬性對話框。選擇屬性?輸出/輸入?輸出值,在動態(tài)部分點擊鼠標右鍵,如下圖所示:
圖3
打開動態(tài)對話框。選擇需要控制的變量(本例中變量為:DisplayValue),并配置數(shù)據(jù)類型。如下圖所示:
圖4
3. 輸入/輸出域的事件設(shè)置
3.1更改動作設(shè)置選擇同一個輸入/輸出域,打開屬性對話框。選擇事件?屬性主題?輸出/輸入?輸入值,在更改動作部分點擊鼠標右鍵,如下圖所示:
圖5
打開直接連接對話框。來源部分保持默認設(shè)置,目標部分選擇直接連接到臨時變量(本例中為:TempValue )。如下圖所示:
圖6
3.2鍵盤釋放動作設(shè)置選擇同一個輸入/輸出域,打開屬性對話框。選擇事件?鍵盤?釋放,在動作部分點擊鼠標右鍵,如下圖所示:
圖7
打開C動作編輯器。編寫用于判斷操作人員是否輸入完畢并按下回車的代碼。如下圖所示:
圖8
詳細代碼如下:
int TempValue=GetTagWord("TempValue");
char szBuffer[20];
sprintf( szBuffer,"Input number:%d",TempValue);
if ( nChar==13 )//if press enter{int xRet = MessageBox(NULL,szBuffer,
"確認窗口",MB_YESNO|MB_ICONQUESTION|MB_SYSTEMMODAL);
//messageif ( xRet == IDYES )//confirm operate{SetTagWord("DisplayValue",
TempValue);
// set data}
}
當(dāng)系統(tǒng)運行后,一旦在該輸入/輸出域中檢測到回車信號,系統(tǒng)就會彈出如圖1所示的確認窗口。
-
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28369 -
WinCC
+關(guān)注
關(guān)注
6文章
204瀏覽量
47995
原文標題:WinCC輸入/輸出域?qū)崿F(xiàn)帶確認的輸入操作
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論