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