在實際的應用中,有一些現(xiàn)場值無法從設備中直接取得,需要通過手工錄入的方式將數(shù)據(jù)上傳,在上傳的過程中需要有一種反饋機制來確認操作是否成功。
在人工錄入機上建立2個數(shù)字I/O點。當操作工錄入完數(shù)據(jù)選擇提交后,前置機點Data.pv會接收到隨時間變化點Send.pv 的數(shù)值,然后Data.pv又將數(shù)值傳給Recv.pv,最后人工錄入機判斷Send.pv和Recv.pv的數(shù)值是否相等,如果相等說明回路暢通,人工錄入的數(shù)據(jù)能夠傳遞到前置機上,否則人工錄入的數(shù)據(jù)不能傳遞到前置機上。
在人工錄入機上定義遠程數(shù)據(jù)源:
在公共-〉數(shù)據(jù)源下增加遠程數(shù)據(jù)源,在“數(shù)據(jù)源定義”對話框內(nèi)選擇“遠程節(jié)點”并填寫遠程計算機的IP地址,這里的IP地址為前置機地址。 在人工錄入機上建立數(shù)字I/O點:Z_Send.pv和Z_Recv.pv,指定Z_Recv.pv的外部連接為上面定義的遠程數(shù)據(jù)源。 在前置機上定義遠程數(shù)據(jù)源:一般已經(jīng)定義。 在前置機上定義數(shù)字I/O點:Z_Data.pv,指定該點的外部連接為人工錄入機的遠程數(shù)據(jù)源。
雙擊人工錄入工程中的“提交”按鈕,可以看見一文本框,在該文本框的最后增加以下內(nèi)容: ////////////////////////////// 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秒,給數(shù)據(jù)傳輸預留時間;第三行判斷傳出的值和接收的值是否相同;第四行,數(shù)值相同提示成功;第五行,返回到登陸界面;第六行如果數(shù)值不同;第七行,彈出失敗提示。 |