加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子WINCC8.0帶確認的輸入/輸出域
        發布時間: 2024-09-01 21:40 更新時間: 2024-11-22 08:00
        觀看西門子WINCC8.0帶確認的輸入/輸出域視頻

        在實際的項目應用中,某些關鍵數據的輸入需要提示操作人員確認無誤后才能進行。如下圖所示:

        圖1

        當在輸入/輸出域中輸入數值99并回車后,數據并不立即輸入到變量里,而是彈出一個確認的信息窗口。這時候如果選擇“是”那么數據將輸入到相應的變量,如果選擇“否”相應的變量會保持原來的值不變。下面就介紹如何使用WinCC的輸入/輸出域實現這種功能。

        1. 前提條件
        創建兩個數據類型相同的變量 DisplayValue和TempValue,其中DisplayValue是實際需要控制的變量,TempValue作為臨時變量使用。如下圖所示:

        圖2

        2. 輸入/輸出域的屬性設置
        在畫面中新建一個輸入/輸出域,打開屬性對話框。選擇屬性?輸出/輸入?輸出值,在動態部分點擊鼠標右鍵,如下圖所示:

        圖3

        打開動態對話框。選擇需要控制的變量(本例中變量為:DisplayValue),并配置數據類型。如下圖所示:

        圖4

        3. 輸入/輸出域的事件設置

        3.1更改動作設置
        選擇同一個輸入/輸出域,打開屬性對話框。選擇事件?屬性主題?輸出/輸入?輸入值,在更改動作部分點擊鼠標右鍵,如下圖所示:


        圖5

        打開直接連接對話框。來源部分保持默認設置,目標部分選擇直接連接到臨時變量(本例中為:TempValue )。如下圖所示:

        圖6

        3.2鍵盤釋放動作設置
        選擇同一個輸入/輸出域,打開屬性對話框。選擇事件?鍵盤?釋放,在動作部分點擊鼠標右鍵,如下圖所示:

        圖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);//message
        if ( xRet == IDYES )//confirm operate
        {
        SetTagWord("DisplayValue",TempValue);// set data
        }
        }
        當系統運行后,一旦在該輸入/輸出域中檢測到回車信號,系統就會彈出如圖1所示的確認窗口。

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415