在實際的應用中,有一些現場值無法從設備中直接取得,需要通過手工錄入的方式將數據上傳,在上傳的過程中需要有一種反饋機制來確認操作是否成功。
在人工錄入機上建立2個數字I/O點。當操作工錄入完數據選擇提交后,前置機點Data.pv會接收到隨時間變化點Send.pv 的數值,然后Data.pv又將數值傳給Recv.pv,最后人工錄入機判斷Send.pv和Recv.pv的數值是否相等,如果相等說明回路暢通,人工錄入的數據能夠傳遞到前置機上,否則人工錄入的數據不能傳遞到前置機上。
在人工錄入機上定義遠程數據源:
在公共-〉數據源下增加遠程數據源,在“數據源定義”對話框內選擇“遠程節點”并填寫遠程計算機的IP地址,這里的IP地址為前置機地址。 在人工錄入機上建立數字I/O點:Z_Send.pv和Z_Recv.pv,指定Z_Recv.pv的外部連接為上面定義的遠程數據源。 在前置機上定義遠程數據源:一般已經定義。 在前置機上定義數字I/O點:Z_Data.pv,指定該點的外部連接為人工錄入機的遠程數據源。
雙擊人工錄入工程中的“提交”按鈕,可以看見一文本框,在該文本框的最后增加以下內容: ////////////////////////////// 1Z_SEND.PV = $SYSTEM.LONGTIME; 2delay(1000); 3if Z_RECV.PV == Z_SEND.PV then 4msgbox("提交成功!"); 5Display("儲一光明錄入目錄"); 6else 7msgbox("提交失敗,請重新提交!"); 8endif; 第一行表示將當前時間距離1970年1月1日的時間賦值給Z_SEND.PV;第二行延時1秒,給數據傳輸預留時間;第三行判斷傳出的值和接收的值是否相同;第四行,數值相同提示成功;第五行,返回到登陸界面;第六行如果數值不同;第七行,彈出失敗提示。 |