|
zijinqiaozutairuanjianxitongzidaidebaojinggongnengdechuliluojishiyicidadaobaojingtiaojianhou,ruguoxianchangceliangzhiyizhimanzudangqiandebaojingtiaojian,namezhihuitishizuikaishidediyitiaobaojingjilu。danshiruguoxuyaozaifashengbaojinghou,dangqianxianchangceliangzhijixumanzubaojingtiaojianhaiyaogeichubaojingtishishi,zheyangjiuxuyaojinxingercikaifa,xiamiandeshilijiugeichuleyigezhenduizhezhongxuqiudejiejuefangfa。
用戶具體需求是:當現場測量值滿足條件(這裏假定是大於3.9或者小於3.5)觸發報警之後,立刻報警。下一條數據也滿足條件時也要觸發報警(不能不報)。具體是,如果收到的數據一直不在3.5~3.9的範圍內且值不變化則60秒報一次警,如果收到的數據一直不在3.5~3.9的範圍內,且值是變化的同步產生報警。下麵以偏差報警為例進行說明。
下圖是功能實現的流程圖:

係統流程圖
具體實現:
一、畫麵圖元組態
1、在工程目錄下新建了一個Access數據庫並新建了一個數據表ALM1如下圖:

2、在點組態裏新建模擬點TEST、TEST1、TEST2和報表關係數據源點RP如下圖:

3、新建了中間變量RECY。(下文會交代它的作用)
4、組態報表關係源點連接字符串,具體就是點擊圖中連接字符串文本框後麵的按鈕進行配置如下圖:

最終生成的字符串為:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+GetAppPath()+"\Sql\AlmDB.mdb;User Id=admin;Password=;"
5、在紫金橋開發環境裏新建一個窗口Draw1、一個自由報表ALM、一個文本對象、一個按鈕如下圖:

6、關聯文本對象的動畫連接——TEST.PV的模擬輸入輸出,用於手動改變TEST.PV的值,模擬現場情況。
7、關聯按鈕的動畫連接鼠標腳本:#ALM.SaveExcel("",1,1);後邊要通過查看保存的Excel文件來驗證係統是否可以實現預期功能。
二、係統控製邏輯組態
1、窗口腳本周期腳本組態,這部分腳本主要是要實現係統流程圖中的從關係數據表讀入數據並顯示在報表控件上。如下圖:

2、在自由報表ALM/自由報表設置/關係庫連接設置裏,組態了報表關係庫源點,如下圖:

3、在應答後觸發的腳本/SQL正確返回腳本中,實現判斷當前TEST.PV是否滿足偏差報警條件,如果滿足就把變量RECY置1否則置0,這裏RECY是一個中間變量起到觸發向關係庫插入報警記錄的開關作用。腳本如下圖:

4、畫麵/腳本/條件腳本組態,這裏我們新建了一個條件腳本InsertRecord如下圖,並進行腳本控製邏輯組態如下圖:

通過這個條件腳本實現了向關係庫插入報警記錄的邏輯。
三、運行工程,測試係統實際效果
1、手動改變TEST.PV=9.7滿足偏差報警條件大於3.9或者小於3.5保持一段時間如下圖:

2、手動改變TEST.PV=3.6不滿足偏差報警條件(大於3.9或者小於3.5)
3、手動改變TEST.PV=1滿足偏差報警條件(大於3.9或者小於3.5)保持一段時間
4、點擊“導出”按鈕保存自由報表的內容為excel格式文件。
5、打開Excel表格如下圖:

6、分析表格記錄
通過對表格的分析我們可以得出清晰的結論:
(1)ruguodangqianxianchangceliangzhimanzubaojingtiaojianqieheqianyigebaojingzhibuyizhizeyehuichanshengbaojing,jicharuguanxishujubiaobingzaiziyoubaobiaoshangxianshi。rubiaogezhongdediyitiaojiluTEST.PV=0和第二條記錄TEST.PV=9.7。
(2)如果當前現場測量值滿足報警條件並且不變則係統會向關係數據表中60秒插一條記錄並顯示在自由報表控件上例如當TEST.PV=9.7時。即符合用戶關於“如果收到的數據一直不在3.5~3.9的範圍內則60秒報一次警”的需求。
(3)如果當前報警值不符合報警條件就不會產生報警例如:令TEST.PV=3.6在導出的表格裏沒有記錄。即係統隻會記錄報警記錄。

(4)當現場測量值由正常值變成符合報警條件的值時,立刻就會產生一條報警例如:TEST.PV=3.6變成TEST.PV=1就會產生報警。Excel表格中第14條記錄就當
TEST.PV=3.6變成TEST.PV=1時產生的報警。
綜上,經測試係統達到了用戶的需求並能正確穩定運行。
有任何關於組態軟件的技術問題或需要更多的技術資料,可以在微信(微信號:Realinfo)留下聯係方式或者到http://www.realinfo.cc/交流論壇裏提出,我們將及時為您解答。
|