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