腳本語言在數據采集系統中的應用研究
如圖1所示,通過系統配置,告訴采集核心需要建立的采集通道(對應采集點,每個通道的任務在自己的線程中調度),以及每個通道的采集任務(對應與通訊協議腳本)和調度方案(何時啟動采集或者多長時間周期采集一次)。正是應用了腳本語言描述采集任務,使得系統具有高度靈活的可配置性。
采集任務通過xml文檔描述,具體的通訊使用Fast Script描述。xml文檔結構如下:
?xml version=“1.0” encoding=“GBK”?>
項目名稱=“采集器對時”開始流程=“通信步驟1”>
全局變量初始化腳本=“…”/>!--采集任務必要的全局變量加載腳本-->
通信流程名稱=“通信步驟1”下一流程=“通信步驟2”>
發送數據腳本=“…”/>!--通信步驟發送數據的腳本-->
收全判斷腳本=“…”/>!--判斷通信數據是否收全的腳本,收全后進入下一步驟-->
正確回復腳本=“…”/>!--判斷通信步驟收到數據是否正確的腳本-->
/通信流程>
……
通信流程名稱=“通信步驟n”下一流程=“”>
發送數據腳本=“…”/>
正確回復腳本=“…”/>
收全判斷腳本=“…”/>
/通信流程>
數據處理腳本=“…”/>!--處理收到數據的腳本,一般用于數據解析并保存數據-->
/項目>
在系統核心中,把系統一些常量、函數聲明、讀入的腳本一起組成完整的腳本。
以下是幾個典型腳本的例程(函數聲明為系統定義,斜體部分為XML文檔中讀入系統)。
全局變量初始化腳本如下:
Procedure (Conn: TADOConnection; varGlobalVar:Variant);
begin{全局變量分別為采集點地址,開始地址,結束地址}
評論