專利名稱:可編程字符通訊方法
技術領域:
本發(fā)明屬于自動化工程、計算機軟件及字符信息處理與通訊技術領域,特別涉及一種 可編程字符通訊方法。
背景技術:
目前,使用計算機測控各種儀器、設備和裝置,自動執(zhí)行作業(yè)任務,以及構建集約式 數(shù)據信息服務平臺,已經成為自動化技術的主流發(fā)展方向。在現(xiàn)代自動化工程系統(tǒng)中,所 有的儀器、設備、計算機、服務器,都被錯綜復雜的通訊線路連接起來——包括有線與無 線形式,電能與光能載體。所有對儀器設備進行測控的指令交互,數(shù)據信息資源化的集約 存儲、傳輸、査詢服務,用戶調用數(shù)據信息平臺提供的瀏覽、管理、監(jiān)控界面等等,都離 不開基于計算機程序技術實現(xiàn)的通訊。
而這類基于計算機程序技術的通訊的表現(xiàn)形式,與人類通過語言行為進行通訊相仿,
即以字符串為通訊編碼內容;區(qū)別僅在于,計算機所用的字符是以二進制代碼存儲和傳輸, 而人類能夠直接使用可書寫和發(fā)音的文字符號作為字符。在形式上都是可直接傳送字符
串,或間接傳送約定的媒介信號導致對方解釋為對應的字符串。顯然,在此類通訊中,通 訊雙方必須執(zhí)行同一通訊協(xié)議(如同對話雙方采用同一語言一樣),才能準確解讀來自對 方的字符串,以及準確生成送達對方的字符串。
然而,由于裝置集成復雜程度、用途功能、技術方法、設計思路(乃至設計者個性化 的能力、偏愛)等等方面的區(qū)別,根本不可能強制所有的儀器、設備、數(shù)據信息平臺都能 夠使用同一通訊協(xié)議。雖然多年來各標準化組織、機構, 一直致力于研究開發(fā)自動化工程
系統(tǒng)通訊方面的標準化、通用化技術,產生了一些非常出色且影響深遠的標準協(xié)議;如,
Mode Bus、 http、 xml等。但還遠遠不能從行為級(而不僅僅是編碼級)滿足各種自動化 工程系統(tǒng)的千差萬別的通訊需求——即使是在可預見的將來。這就使我們在用計算機程序 與各式各樣的儀器、設備、數(shù)據信息平臺通訊時,必須執(zhí)行各式各樣的通訊協(xié)議。當一個 自動化工程系統(tǒng)包含有多個品種、型式的儀器、設備、數(shù)據信息平臺,那么按照所需執(zhí)行 的通訊協(xié)議,為所需實現(xiàn)的測控行為設計開發(fā)專用的通訊程序軟件,就會變得特別復雜、 困難。
傳統(tǒng)上,自動化工程系統(tǒng)的通訊軟件,采用固定 式的技術方法(相對于本發(fā)明而言)。即針對工程建造階段已知的,要求采用的通訊協(xié)議和要求實現(xiàn)的測控行為,逐一對應編寫 專用的程序部分,如進程、函數(shù)、模塊,條件分支處理等等。結果對于自動化工程系統(tǒng)中 的任何一臺計算機(包括服務器),其通訊軟件固定了所能采用的某個或某些通訊協(xié)議, 對規(guī)定品種型式的儀器、設備、數(shù)據信息平臺,做規(guī)定的測控行為,完成規(guī)定的作業(yè)任務。 這樣的通訊方法,在應用上存在很大的局限性,因為只要出現(xiàn)以下任何一種情況,原先 使用的通訊軟件就只能廢棄,必須為之重新設計適用通訊軟件
1、 在系統(tǒng)中更新、更換某品種型式的儀器、設備、數(shù)據信息平臺時,如果需要采用 不同的通訊協(xié)議。
2、 在系統(tǒng)中增加新品種型式的儀器、設備、數(shù)據信息平臺時,如果其通訊協(xié)議沒有 包含在原先使用的通訊軟件中。
3、 在需要增加測控行為時;例如,通訊對方性能升級后可進行更多測控作業(yè)。
4、 在需要改變通訊流程時;例如,把定時發(fā)送改變?yōu)榻邮蘸髴稹?br>
5、 在需要改變字符串包含內容時;例如,通訊對方在同次傳輸中在原字符串前后增 加其他字符串。
6、 需要增加與之交換、共享數(shù)據信息的鄰居系統(tǒng)時;例如,某環(huán)境空氣自動監(jiān)測系 統(tǒng),增加從某地球衛(wèi)星遙感系統(tǒng),自動獲取某波段掃描數(shù)據。
當代信息科技的快速發(fā)展,使自動化工程系統(tǒng),特別是提供數(shù)據信息產品與服務的系 統(tǒng)(例如環(huán)境污染監(jiān)控類型的系統(tǒng)和災害預警、應急類型的系統(tǒng)等),普遍面臨實現(xiàn)專業(yè) 多元化、集成動態(tài)化、擴展持續(xù)化和交流外向化的迫切需求?,F(xiàn)有技術方法的上述局限, 使之很難適應、滿足這些前沿級的技術需求——經多年從事此類計算機程序軟件的設計經 驗表明,即使能夠為系統(tǒng)配備有常備的軟件人員,解決問題的效率和效果仍然不可能優(yōu)佳。
此外還必須注意到,自動化工程系統(tǒng)中測控行為都是針對具體的某種儀器、設備或數(shù) 據信息平臺,因而具有非常鮮明的專業(yè)分工性和分類性;譬如氣象監(jiān)測專業(yè)與環(huán)境污染監(jiān) 測專業(yè)之間的區(qū)分。計算機程序設計者在編程、調試中,必須遵從測控行為所屬專業(yè)的專 家的指導,而該設計者對于這些專家指導意見的領會水平,局限著其所完成程序最終的成 效與品質。
發(fā)明內容
基于上述現(xiàn)有技術中存在的問題,本發(fā)明的目的在于提供一種可編程字符通訊方法。并基于該通訊方法,為計算機和服務器設計、安裝軟設備形式的具備極強可編程性的通訊 系統(tǒng)軟件;面向所有可能需要采用的基于計算機字符編碼的通訊協(xié)議——包括現(xiàn)有的和未 來新出現(xiàn)的,實行直接讓測控行為所屬專業(yè)的專業(yè)人員,能夠根據工作中需要完成的通訊 作業(yè),自行編排、配置、調整出各種通訊任務——而不需依賴軟件開發(fā)人員不斷地修改或 更新系統(tǒng)軟件。
本發(fā)明所采用的技術方案 一種可編程字符通訊方法,包括如下步驟
(1) 通訊雙方約定每一項通訊任務的通訊對方和執(zhí)行方式;
(2) 通訊雙方根據上述約定的通訊對方和執(zhí)行方式執(zhí)行發(fā)送或接收順序字符文本;
(3) 通訊雙方中任一方收到通訊對方發(fā)送的順序字符文本字符串后,將該順序字符文 本字符串分割為若干個順序間隔排隊的不變部分和可變部分;
(4) 根據預定義的解析方法,將上述分割后的順序字符文本字符串解析為計算機可識 別的字符指令。
上述步驟(1)中的通訊對方通過連線端口,或網絡地址,或連接設置文本的約定表 達形式選定。所述步驟(1)中的執(zhí)行方式約定為或主動報送,或接收應答,或發(fā)送接收。
上述步驟(2)中的通訊任務執(zhí)行方式約定為主動發(fā)送時,則只能向通訊對方發(fā)送一 個順序字符文本;通訊任務執(zhí)行方式約定為接收應答時,則先接收一個順序字符文本,如 果處理產生了一個順序字符文本,則發(fā)送給對方;通訊任務執(zhí)行方式約定為發(fā)送接收時, 先發(fā)送一個順序字符文本,然后在指定的時間內等待接收一個順序字符文本。
上述步驟(3)中的順序字符文本字符串的分割方式為可變部分夾在兩個不變部分 之間;字符串的開頭和結束確定為不變部分,且可以為空,當字符串僅有可變部分時則其 開頭與結束部分均為空,當字符串沒有可變部分時則其開頭與結束部分任意一個為空。
上述步驟(4)中的解析方法具體通過以下步驟實現(xiàn)
(a) 將所有的不變部分作為排序化配置參數(shù),按序逐個在接收到的順序字符文本字符
串中一一印對,以確認該字符串是否屬于本次通訊任務的順序字符文本,或判斷是否傳輸
成功;
(b) 建立虛擬線形印模方法,從順序字符文本字符串中獲取可變部分的字符內容; (C)建立虛擬順序分步填寫方法,生成通訊任務所需的發(fā)送字符串;
上述步驟(b)中的虛擬線形印模方法是指用不變部分的排序化配置參數(shù)作為印模的 各凸模段,在對字符串進行印壓去除所有不變部分的字符后,從印模的凹模段取得同樣排 序化的各可變部分的字符內容;利用上述凹模段提供的字符內容,按照預先配置的文本字符處理關系實現(xiàn)相關操作需求。
上述步驟(c)中的虛擬順序分步填寫方法是指從發(fā)送字符串開頭的不變部分開始,
漸增式按步填寫發(fā)送用字符串的所有不變部分和可變部分;填寫時,遵從預先編排的數(shù)據 信息來源與處理的規(guī)程化操作配置以獲得所需字符串。
經過在不同專業(yè)需求的計算機和服務器測試證明,本發(fā)明所述的可編程字符通訊方法
解決了傳統(tǒng)技術中存在的各種難題和局限。尤其突出的是能夠面向通訊協(xié)議多樣化、通
訊任務可調化的發(fā)展需求,設計開發(fā)新一代智能型計算機及服務器通訊系統(tǒng)和軟件。也能 夠以編程構件操作取代源代碼編寫,讓通訊軟件的使用者自主地按照通訊業(yè)務需求和變 化,或創(chuàng)建、或修改、或取消通訊軟件承擔的通訊任務。
以環(huán)境污染自動監(jiān)測工作為例包含有環(huán)境空氣、環(huán)境水、污染源,以及氣象、水文 等等專業(yè)監(jiān)測項目;在各種站點、實驗室需要使用很多品種的測量、分析儀器設備;而且 服務于各級、各職能的監(jiān)控管理部門。這使環(huán)境污染自動監(jiān)測類型的自動化工程系統(tǒng)的建
造和運行成為目前通訊需求最為復雜的類型之--因為其通訊協(xié)議和通訊任務最為多
樣且多變。通過使用本發(fā)明提供的可編程字符通訊方法,能夠解決此間通訊需求的技術方 法及其軟件,具有廣泛的應用領域。
圖1為本發(fā)明所述可編程字符通訊方法的流程圖2為基于本發(fā)明所述字符通訊方法開發(fā)的范例軟件的計算機界面圖。其中:
1 [Running]按鈕;
2 [通訊任務錄]框;
3 [類型]下拉列表框;
4 [區(qū)域]下拉列表框;
5 [站名]下拉列表框;
6 [編號]文本框;
7 [執(zhí)行]復選鈕;
8 [任務名稱]下拉列表框;
9 [接收應答]單選鈕;
10 [主動發(fā)送]單選鈕;
11 [發(fā)送接收]單選鈕;
12 [執(zhí)行方式參數(shù)]文本框;
13 [通訊通道]列表框;
14 [配置字符串]文本框;
15 [Save]按鈕;
16 [Delete]按鈕;
17 [SaveAs]按鈕;
18 [Delete All]按鈕;
19 [監(jiān)控指標/實時數(shù)據]按鈕;
20 [SaveAs]按鈕;
21 [接收虛擬線形印模方法]框;列表框;23 [模段]列表框;41[字段]列表框;
24 [凹處理]列表框;42[=]單選鈕;
25 [說明]文本框;43[o]單選鈕;
26 [參數(shù)]對話框;44[>]單選鈕;
27 [流程]文本框;45[<]單選鈕;
28 [關聯(lián)]按鈕;46[>=]單選鈕;
29 [清除]按鈕;47[<=]單選鈕;
30 [Save]按鈕;49[指標]列表框;
31 [Delete]按鈕;50[設定值]文本框;
32[發(fā)送應答虛擬分步填寫方法]框;51[查詢語句]文本框;
33 [步序]列表框;52[關聯(lián)]按鈕;
34 [步處理]列表框;53[排序]按鈕;
35 [說明]文本框;54[清除]按鈕;
36 [參數(shù)]對話框;55[Add]按鈕;
37 [數(shù)據源]展示框;56[Int]按鈕;
38 [記錄表]下拉列表框;57[Save]按鈕;
39 [and]單選鈕;58[Delete]按鈕。
40 [or]單選鈕;
具體實施例方式
下面結合附圖對本發(fā)明的具體結構作進一步的描述。
如圖1所示,本發(fā)明提出一種可編程字符通訊方法,其包括如下步驟(1 )通訊雙方約定每一項通訊任務的通訊對方和執(zhí)行方式;
(2) 通訊雙方根據上述約定的通訊對方和執(zhí)行方式執(zhí)行發(fā)送或接收順序字符文本;
(3) 通訊雙方中任一方收到通訊對方發(fā)送的順序字符文本字符串后,將該順序字符文本字符串分割為若干個順序間隔排隊的不變部分和可變部分;
(4) 根據預定義的解析方法,將上述分割后的順序字符文本字符串解析為計算機可識別的字符指令。
上述可編程字符通訊方法是經過詳細研究分析大量的通訊協(xié)議,包括來自標準化組織、機構的標準協(xié)議,以及來自那些不采用或者不僅僅采用標準協(xié)議的各種儀器、設備、數(shù)據信息平臺產品(裝置)的專用協(xié)議;并結合信息科學、人工智能科學、計算機網絡科學等學科知識,研究字符通訊協(xié)議設計、編制的原理和技術及其未來發(fā)展,總結得出。對于自動化工程系統(tǒng)任何一個切實可行的字符通訊協(xié)議,無論其體系是復雜還是簡單,都不可或缺地具備以下本發(fā)明所提出的特性-
1、 約定性任何一項通訊任務都服務于特定的一個測控行為;因而具備確切的、固定的通訊對方和執(zhí)行方式。可通過約定通訊任務的唯一性命名和配置,分別約定與不同的通訊對方通訊。通訊對方可通過連線端口、網絡地址、連接設置文本等約定表達形式選定。執(zhí)行方式可約定為或主動報送,或接收應答,或發(fā)送接收。
2、 完整性字符通訊任務的每一次成功的傳輸,總是使接收方能夠收到一個完整的順序字符文本,即收到的字符串具有確切、齊全的開始與結束(起點與終點);否則認定傳輸沒有成功。此外,通訊任務執(zhí)行方式約定為主動發(fā)送時,則只能向通訊對方發(fā)送一個順序字符文本;為接收應答時,則先接收一個順序字符文本,如果處理產生了一個順序字符文本,則發(fā)送給對方;為發(fā)送接收時,先發(fā)送一個順序字符文本,然后在指定的時間內等待接收一個順序字符文本。
3、 分割性此間由通訊協(xié)議規(guī)范的計算機程序實現(xiàn)的通訊,屬于人工智能級的語言行為,具有固定不變的表述樣式。因而任何一個符合順序字符文本完整性的字符串,都必然能夠被分割為若干個順序間隔排隊的,固定不變的部分和隨機可變部分。分割原理可變部分總是夾在兩個不變部分之間;字符串開頭和結束必定為不變部分,且可以為空——字符串僅有可變部分時則其開頭與結束部分均為空,字符串沒有可變部分時則其開頭與結束部分任意一個為空。這樣分割產生的可變部分,對于實施復雜測控行為是必不可少的。利用這種分割性
a、 可以預先把所有不變部分作為排序化配置參數(shù),按序逐個在接收到的字符串中一一印對,以確認該字符串是否屬于本次通訊任務的順序字符文本,或判斷是否傳輸成功。
b、 可以建立一種虛擬線形印模方法,從字符串中獲取可變部分的字符內容。用不變部分的排序化配置參數(shù)作為印模的各凸模段,在對字符串"印壓"后——去除所有不變部分的字符,從印模的凹模段取得同樣排序化的各可變部分的字符內容。進一步,就可以使用這些凹模段提供的字符內容,按照預先配置的文本字符處理關系實現(xiàn)測控行為的相關操作需求——本發(fā)明定義為"凹處理",用于凸模段的字符定義為"凸字符",用于凹模段的字符定義為"凹字符"。
C、可以建立一種虛擬順序分步填寫方法,生成通訊任務所需發(fā)送字符串。從該發(fā)送字符串開頭的不變部分開始,漸增式按步填寫發(fā)送用字符串的所有不變部分和可變部分。填寫時,遵從預先編排的數(shù)據信息來源(包括上述凹模段提供的內容)與處理的,規(guī)程化操作配置以獲得所需字符串——本發(fā)明定義為"步處理",步處理所得字符定義為"步字符"。
4、程式性任何切實可行的字符通訊協(xié)議都只擁有數(shù)量有限的各項通訊任務,這些任務在系統(tǒng)運行中總是持續(xù)產生(由信號或定時事件觸發(fā)),并要求反復執(zhí)行。因而可設計適用的計算機程序,依據各項通訊任務的,接收程式和發(fā)送程式的一整套配置參數(shù)、指標,自動完成所有持續(xù)產生的通訊任務。另一方面無論是接收還是發(fā)送,所用字符串均可通過計算機字符處理程式生成和整理(包括查詢、輸入、定位、插入、運算、格式化、變
換、校驗等等);并且具備行為進化程式,即只要構思、定制出少數(shù)最簡單處理功能,就可由此組合出所需復雜處理功能,應對廣泛需求。
基于字符通訊協(xié)議的特性和上述可編程字符通訊方法,本發(fā)明設計了一個應用產品級的范例軟件,其計算機界面如圖2所示。下面結合附圖2,描述在本發(fā)明中開發(fā)、使用的可編程字符通訊方法。
上述范例軟件在計算機(包括服務器)的安裝過程并不涉及任何通訊協(xié)議和通訊任務。運行本范例軟件的計算機(或服務器),可用兩種方法得知其通訊任務需求與實施流程
一種是直接引用同樣運行本范例軟件并承擔相同需求的其他計算機(或服務器)中現(xiàn)成的通訊任務配置;另一種是使用圖2所示的編程構件,按照通訊協(xié)議規(guī)范和通訊任務需求,設置、編排出包含所有需用接收程式與發(fā)送程式的本機通訊任務配置。同樣地,如果因為本機的在線用戶、通訊協(xié)議、測控行為等方面需求發(fā)生改變,需要或添加、或修改、或取消某些通訊任務,也可以隨時使用圖2所示的編程構件完成。
圖2界面中各編程構件用途、功能和處理規(guī)則說明如下
1 [Running]按鈕1。點擊可交替切換運行狀態(tài)。其標簽顯示為"Running"則執(zhí)行通訊任務;顯示為"Stop"則暫停執(zhí)行通訊任務,以利于進行通訊任務創(chuàng)建、修改、取消操作。
2 在[通訊任務錄]框2內遵從通訊任務約定性、完整性
2'1*用[類型]、[區(qū)域]、[站名]三個下拉列表框3、 4、 5顯示、選定、新建用戶,在[編號]文本框6中顯示、輸入(新建的)被選定用戶在系統(tǒng)中唯一化的編號,并可用[執(zhí)行]復選鈕7手動設定允許或禁止執(zhí)行被選定用戶的通訊任務。2*2'用[任務名稱]下拉列表框8,顯示、選定、新建被選定用戶的所有通訊任務??稍谕ㄓ嵢蝿彰Q中清晰提示其通訊協(xié)議和作業(yè)目的,以利于同一用戶實施多種通訊協(xié)議和執(zhí)行多個通訊任務。
2'3'用[接收應答]、[主動發(fā)送]、[發(fā)送接收]三個單選鈕9、 10、 11,顯示、選
定被選定通訊任務的執(zhí)行方式。并用文本框12顯示、輸入配置參數(shù)。當選定[接收應答]單選鈕9,文本框12標簽顯示"身份識別口令",則其中的字符為被選定通訊任務中的身份識別口令;當選定[主動發(fā)送]單選鈕IO,文本框12標簽顯示"動作周期N秒",則其中的數(shù)字為被選定通訊任務持續(xù)重復執(zhí)行的定時周期;當選定[發(fā)送接收]單選鈕ll,文本框12標簽顯示"動作周期N秒",則其中第一個數(shù)字為被選定通訊任務持續(xù)重復執(zhí)行的定時周期,第二個數(shù)字為發(fā)送后等待接收的時間長度限制。
2*4*用[通訊通道]列表框13,顯示本計算機或服務器進行通訊的所有通道(包括物理形式的和邏輯形式的),供被選定通訊任務選定。并用[ 配置字符串 ]文本框14顯示、輸入被選定通道的配置參數(shù)字符串(譬如端口連線參數(shù),網絡地址及服務,數(shù)據源連接文本等等)。
本范例軟件的上述用戶及通訊任務配置用各編程構件,被刷新顯示的跟進順序為[類
型]下拉列表框2 (始發(fā));[區(qū)域]下拉列表框3;[站名]下拉列表框5;[編號]文本框
6、[任務名稱]下拉列表框8;[接收應答]、[主動發(fā)送]、[發(fā)送接收]3個單選鈕9、 10、
11;文本框12;[通訊通道]列表框13;[配置字符串]文本框14。
2*5*用點擊[Save]按鈕15,可保存被選定通訊任務的配置。
2 6 用點擊[Delete]按鈕16,可刪除被選定通訊任務的配置。
2,7*用點擊[Save As]按鈕17,可彈出本范例軟件建立的對話界面,進行將被選定用戶的所有通訊任務配置,導出給選定的其他用戶的操作。從而盡可能減少重復操作,提高其他用戶通訊任務配置效率。
2 8 用點擊[DeleteAU]按鈕18,可刪除被選定用戶的所有通訊任務配置。
2*9*用點擊[監(jiān)控指標/實時數(shù)據]按鈕19,可彈出本范例軟件建立的對話界面,對被選定用戶所擁有的監(jiān)控指標和實時數(shù)據項目,進行創(chuàng)建、修改、保存、刪除等操作。
2,10*用點擊[SaveAs]按鈕20,可彈出本范例軟件建立的對話界面,進行將被選定通訊任務接收程式和發(fā)送程式配置,導出給選定的本用戶的其他通訊任務。從而盡可能減少重復操作,提高本用戶其他通訊任務配置效率。3 *在上述2*1*到2 *4 顯示、選定了被選定用戶、被選定通訊任務,并且[接收應答]、[發(fā)送接收]兩個單選鈕9、 ll其中任意一個被選定;則可為被選定通訊任務接收程式進行編程,在[接收虛擬線形印模方法]框21內3 1 ,在 [印模框圖]列表框22,顯示出被選定通訊任務接收程式中各模段配置;可用于瀏覽和輔助選定需要修改配置的模段。其中凸模段配置參數(shù)為接收文本字符串的各不變部分——即凸字符,凹模段配置參數(shù)為各凹處理的本范例軟件規(guī)約的專用表達式隊列一一執(zhí)行后可獲得最終需用凹字符。本列表框沒有列表項,則表明被選定通訊任務沒有配備接收程式。
3 *2 ,用[模段]列表框23,顯示、選定以1起計順序間隔列表的各凸模段和凹模段,單數(shù)模段名取模段序數(shù)接"凸"字,雙數(shù)模段名取模段序數(shù)接"凹"字。
其中,當被選定模段名屬于凸模段,則[凹處理]列表框24為空,在[說明]文本框25可對凸模段的功能、參數(shù)、范例等作出文字說明,提供在線幫助。[參數(shù)]對話框26展示為文本框,供輸入被選定凸模段的需用凸字符(即需接收的文本中應配置在被選定凸模段的不變部分)。在[流程]文本框27則實時跟隨引用、顯示[參數(shù)]對話框26輸入的字符,作為被選定凸模段配置的凸字符。
當被選定模段名屬于凹模段,則如下
3 *3 ,用[凹處理]列表框24,顯示、選定本發(fā)明創(chuàng)建的各種凹處理功能。在[說明]文本框25可對被選定凹處理的功能、參數(shù)、范例等作出文字說明,提供在線幫助。在[參數(shù)]對話框26可針對被選定凹處理提供相關的輔助操作構件,以盡量避免字符輸入操作。在[流程]文本框27可顯示為被選定凹模段配置的凹處理專用表達式隊列。點擊[關聯(lián)]按鈕28,可按照被選定凹處理及輸入、設定參數(shù),自動生成本范例軟件規(guī)約的相應專用表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾——即作為被選定凹模段的凹處理表達式隊列的最后一項。點擊[清除]按鈕29可清空[流程]文本框27,以重新進行被選定凹模段的凹處理專用表達式隊列的配置。
其中凹處理表達式隊列執(zhí)行規(guī)則為從第一項表達式開始順序執(zhí)行至最后一項表達式;各表達式均取被選定凹模段的當前凹字符進行處理,而每一項表達式產生的結果均作為被選定凹模段的(新的)當前凹字符。本發(fā)明創(chuàng)建的各種凹處理功能,作用與使用說明如下
3 3 1 凹處理"作為傳輸字符(默認)"選定后,[參數(shù)]對話框26無效,無操作。專用表達式(空)。功能取被選定凹模段序數(shù)的"印壓"結果為被選定凹模段當前凹字符。默認所有凹模段配置表達式隊列中第一項總為本表達式(總為空)一一即"印壓"結果自動成為當前凹字符。
3 3 2 凹處理"提取字符-起點,長度"選定后,[參數(shù)]對話框26展示為文本框,供顯示、輸入用","分隔的2個整數(shù);第一個整數(shù)用于指定起點,第二個整數(shù)用于指定長度(字符數(shù))。專用表達式@@@提取字符-起點,長度[被選定凹模段模段名]=("第一個整數(shù)","第二個整數(shù)")#絲。功能從被選定凹模段當前凹字符中指定起點截取指定長度的字符,作為被選定凹模段當前凹字符;如果條件不足則保持不變。但為了兼容處理那些不變部分字符可能會出現(xiàn)在其前面可變部分字符中(某些基于字節(jié)級編碼制的老式簡單通訊協(xié)議)的接收字符文本,特別約定如果"第一個整數(shù)"為0,則"第二個整數(shù)"用于確定"印壓"必須保證本凹模段可獲得字符的長度——即其前后兩個凸模段之間具有
固定不變的距離。點擊[關聯(lián)]按鈕28可生成本表達式,并聯(lián)接到[流程]文本框27中
原有字符的結尾。
3*3*3*凹處理"引用固定字符"選定后,[參數(shù)]對話框26展示為文本框,供顯示、輸入字符。專用表達式@@@引用固定字符[被選定凹模段模段名]=("輸入的字符")### 。功能用"輸入的字符"作為凹模段當前凹字符。點擊[關聯(lián)]按鈕28可生
成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 3 4 凹處理"合并字符"選定后,[參數(shù)]對話框26展示為列表框,順序列出
被選定通訊任務接收程式所有的凹模段名,供選定。專用表達式@@@合并字符[被選定凹模段模段名]=("選定的凹模段")### 。功能將被選定凹模段當前凹字符與"選定的凹模段"當前凹字符聯(lián)接,作為被選定凹模段當前凹字符。點擊[關聯(lián)]按鈕28可
生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 3 5 凹處理"數(shù)值運算"選定后,[參數(shù)]對話框26展示為文本框,供顯示、輸入變量為X的一元方程式。專用表達式:@@@數(shù)值運算[被選定凹模段模段名]=("變量為X的一元方程式")絲# 。功能將被選定凹模段當前凹字符數(shù)值代入指定一元方程式求數(shù)值解,并以用","分隔的各數(shù)值解作為其當前凹字符;如果條件不足則保持不變。點擊[關聯(lián)]按鈕28可生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3*3*6*凹處理"替換字符"選定后,[參數(shù)]對話框26展示為[字符]文本框和[替
換]文本框,供分別顯示、輸入被替換字符和替換為字符。專用表達式@@@替換字符[被選定凹模段模段名]=("被替換字符"000"替換為字符")#絲。功能將被選定
13凹模段當前凹字符中相同于"被替換字符"的部分,替換成"替換為字符"后作為其當前 凹字符;如果條件不足則保持不變。點擊[關聯(lián)]按鈕28可生成本表達式,并聯(lián)接到[流 程]文本框27中原有字符的結尾。
3*3*7*凹處理"作為身份識別口令"選定后,[參數(shù)]對話框26無效,無操作。
專用表達式@@@作為身份識別口令[被選定凹模段模段名]=()絲# 。功能將被選 定凹模段當前凹字符與被選定通訊任務配置的身份識別口令對比,如果不相同則中止正在
執(zhí)行的被選定通訊任務。點擊[關聯(lián)]按鈕28可生成本表達式,并聯(lián)接到[流程]文本 框27中原有字符的結尾。
3*3*8*凹處理"引用為監(jiān)控指標"選定后,[參數(shù)]對話框26展示為列表框,列 出被選定用戶的所有監(jiān)控指標名,供選定。專用表達式@@@引用為監(jiān)控指標[被選 定凹模段模段名]=("選定的監(jiān)控指標名")### 。功能將被選定凹模段當前凹字符,按 照監(jiān)控指標名保存到本范例軟件監(jiān)控指標配置。點擊[關聯(lián)]按鈕28可生成本表達式, 并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 。
凹處理"釆集為實時記錄數(shù)據"選定后,[參數(shù)]對話框26展示為列表框,
列出被選定用戶的所有實時數(shù)據名,供選定。專用表達式@@@采集為實時記錄數(shù)據 [被選定凹模段模段名]- ("選定的實時數(shù)據名")#絲。功能將被選定凹模段當前凹字 符作為數(shù)據,按照實時數(shù)據名記錄到本范例軟件建立的數(shù)據庫實時數(shù)據記錄表,供其他數(shù) 據源服務軟件共享以產生相關監(jiān)測性歷史數(shù)據記錄。點擊[關聯(lián)]按鈕28可生成本表達 式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 3 10 凹處理"采集為實時記錄數(shù)據標識"選定后,[參數(shù)]對話框26展示為 列表框,列出被選定用戶的所有實時數(shù)據名,供選定。專用表達式@@@采集為實時記 錄數(shù)據標識[被選定凹模段模段名]=("選定的實時數(shù)據名")#絲。功能將被選定凹 模段當前凹字符作為數(shù)據狀態(tài)標識,按照實時數(shù)據名記錄到本范例軟件建立的數(shù)據庫實時 數(shù)據記錄表,供其他數(shù)據源服務軟件共享以產生相關監(jiān)測性歷史數(shù)據記錄。點擊[關聯(lián)] 按鈕28可生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 *11 '凹處理"保存到標準格式文本"選定后,[參數(shù)]對話框26展示為文本框,
供顯示、輸入包含完整路徑名和擴展名及字符編碼制的文本名稱。專用表達式@@@保 存到標準格式文本[被選定凹模段模段名]=("文本名稱")### 。功能將被選定凹模 段當前凹字符,按照指定文本擴展名約定的標準文本格式和字符編碼制保存;如果文本不 存在則生成指定文本,如果文本已經存在則合并到指定文本(必須特別注意如xml格式之類樹形數(shù)據文本的正確合并);供其他軟件共享以滿足更多應用需求。點擊[關聯(lián)]按 鈕28可生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 3 12 凹處理"格式化時標書寫"選定后,[參數(shù)]對話框26展示為[轉換前 格式]列表框,和[轉換后格式]列表框,其中列表項包含計算機用各種日期時間格式范 例,供選定。專用表達式@@@格式化時標書寫[被選定凹模段模段名]=("轉換前格 式"I "轉換后格式")#絲。功能將被選定凹模段當前凹字符作為轉換前時標,轉換為 具有指定轉換后格式的時標,時標所表達日期時間值不變,并作為被選定凹模段當前凹字 符。點擊[關聯(lián)]按鈕28可生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結 尾。
3 3 13 凹處理"置為系統(tǒng)日期時間"選定后,[參數(shù)]對話框26無效,無操作。
專用表達式@@@置為系統(tǒng)日期時間[被選定凹模段模段名]=()絲# 。功能將被選 定凹模段當前凹字符作為日期時間值,調整本機硬時鐘的日期時間值。點擊[關聯(lián)]按鈕
28可生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 3 14 凹處理"文本完整性校驗CRC":選定后,[參數(shù)]對話框26展示為文本 框,供顯示、輸入以":"分隔的各參數(shù),包括"取被校驗字符起點"、"被校驗字符長度"、 "取校驗碼起點"。專用表達式@@@文本完整性校驗CRC:[被選定凹模段模段名]= ("取被校驗字符起點""取被校驗字符長度""取校驗碼起點")#絲。功能從被 選定通訊任務接收程式獲得的當前字符文本,按照"取被校驗字符起點"、"取被校驗字符 長度"截取被校驗字符串,并按照"取校驗碼起點"截取校驗碼,進行CRC校驗處理, 如果校驗結果為不正確則中止正在執(zhí)行的被選定通訊任務。點擊[關聯(lián)]按鈕28可生成 本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。
3 3 15 凹處理"文本完整性校驗Long":選定后,[參數(shù)]對話框26展示為文本 框,供顯示、輸入以":"分隔的各參數(shù),包括"取被校驗字符起點"、"被校驗字符長度"、
"取校驗碼起點"、"取校驗碼長度"、"碼制"。專用表達式@@@文本完整性校驗Long: [被選定凹模段模段名]=("取被校驗字符起點""取被校驗字符長度""取校驗碼起 點""取校驗碼長度""碼制")### 。功能從被選定通訊任務接收程式獲得的當 前字符文本,按照"取被校驗字符起點"、"取被校驗字符長度"截取被校驗字符串,并按 照"取校驗碼起點"、"取校驗碼長度"截取校驗碼,以"碼制"指定的樣式計算被校驗字 符的長度編碼,如果該長度編碼與校驗碼不符,則中止正在執(zhí)行的被選定通訊任務。點擊按鈕28可生成本表達式,并聯(lián)接到[流程]文本框27中原有字符的結尾。3,3。6.凹處理"文本完整性校驗XR":選定后,[參數(shù)]對話框26展示為文本框, 供顯示、輸入以""分隔的各參數(shù),包括"取被校驗字符起點"、"被校驗字符長度"、"取 校驗碼起點"。專用表達式@@@文本完整性校驗XR:[被選定凹模段模段名]=("取 被校驗字符起點""取被校驗字符長度""取校驗碼起點")絲# 。功能從被選定 通訊任務接收程式獲得的當前字符文本,按照"取被校驗字符起點"、"取被校驗字符長度" 截取被校驗字符串,并按照"取校驗碼起點"截取校驗碼,進行XR校驗處理,如果校驗 結果為不正確則中止正在執(zhí)行的被選定通訊任務。點擊[關聯(lián)]按鈕28可生成本表達式, 并聯(lián)接到[流程]文本框27中原有字符的結尾。
本范例軟件的上述通訊任務接收程式配置用各編程構件,被刷新顯示的跟進順序為 [模段]列表框23;[印??驁D]列表框22、[凹處理]列表框24;[說明]文本框25、[參 數(shù)]對話框26、[流程]文本框27。
3 4 點擊[Save]按鈕30,可將被選定凸模段或凹模段,及[流程]文本框27中 的字符串或凹處理專用表達式隊列,按照本發(fā)明定義的分割性,與被選定通訊任務接收程 式的所有模段一起進行優(yōu)化排序后,保存為被選定通訊任務接收程式的相應凹模短配置; 并刷新[印??驁D]列表框22。
3 5 點擊[Delete]按鈕31,可將被選定模段及配置,從被選定通訊任務接收程式 中刪除,同時將被選定通訊任務接收程式的所有模段,按照本發(fā)明定義的分割性重新進行 優(yōu)化排序、保存;并刷新[印模框圖]列表框22。
4 在上述2 1 到2 4 顯示、選定了被選定用戶、被選定通訊任務,則可為 被選定通訊任務發(fā)送程式進行編程,在[發(fā)送應答虛擬分步填寫方法]框32內
4 1 用[步序]列表框33可顯示、選定被選定通訊任務發(fā)送程式的現(xiàn)有各步序的 序號——順序列表。沒有步序列表項,則表明被選定通訊任務沒有發(fā)送程式。
4 2 用[步處理]列表框34可顯示、選定本發(fā)明創(chuàng)建的各種步處理功能。在[說 明]文本框35,可對被選定步處理項的功能、參數(shù)、范例等作出文字說明,提供在線幫助。 在[參數(shù)]對話框36,可針對被選定步處理項提供相關的輔助操作構件,盡量避免字符輸 入操作。
其中步處理執(zhí)行規(guī)則為開始執(zhí)行前置發(fā)送用字符串為空。按步序的序數(shù)由小到大逐 步執(zhí)行;至執(zhí)行完成最后一個步序步處理。如果執(zhí)行后沒有生成等待發(fā)送的標準格式文本, 則發(fā)送分步填寫產生的發(fā)送字符串;否則發(fā)送按照選定字符編碼制保存的標準格式文本一一但必須按照通訊通道及其配置字符串指定的方法決定做文件傳輸還是內容傳輸。本發(fā)明 創(chuàng)建的各種步處理功能,作用與使用說明如下
4 2 1 步處理"插入/填寫到發(fā)送用字符串"選定后,[參數(shù)]對話框36展示為文 本框,供顯示、輸入一個整數(shù)。功能將上一步序步處理產生的當前步字符,插入到當前 發(fā)送字符串的指定位置;如果[參數(shù)]對話框36為空,或其字符數(shù)值為0,或為"End", 或其字符數(shù)值大于當前發(fā)送字符串長度,則插入到發(fā)送字符串結尾;否則插入到發(fā)送字符 串中等于[參數(shù)]對話框36中字符數(shù)值的位置。
4*2*2*步處理"引用固定字符"選定后,[參數(shù)]對話框36展示為文本框,供顯 示、輸入字符。功能將[參數(shù)]對話框36的字符引用為當前步字符。
4 2 3 步處理"從記錄表取數(shù)據-記錄值/逐個"選定后,為自動合成數(shù)據査詢命 令語句,在[數(shù)據源]展示框37內
用[記錄表]下拉列表框38可顯示、選定指定用戶的全部歷史數(shù)據記錄表(來自共 享其他數(shù)據源服務類軟件提供的數(shù)據庫)。
用[and]、 [or]兩個單選鈕39、 40,顯示、選定數(shù)據査詢條件語句中字段數(shù)據約束 子句之間的約束條件。
用[字段]列表框41,顯示被選定記錄表所有字段名,供選定字段數(shù)據約束子句和排 序子句針對的字段。
用符號[=]、[ ]、[>]、[<]、[>=]、[<=]單選鈕42、 43、 44、 45、 46、 47,顯示、
選定被約束字段與約束值的關系。
用[指標]列表框49,顯示、選定約束值來源。其中列表項包括"設定值","系統(tǒng) 日期時間-設定值秒",和被選定通訊任務接收程式包含的所有凹模段名——以按照通訊 對方的需求進行數(shù)據査詢。用[設定值]文本框50,可顯示、輸入約束值的相關參數(shù)字符。
在[查詢語句]文本框51,可顯示配置所得的,本范例軟件規(guī)約樣式的數(shù)據查詢命令 條件語句。
點擊[關聯(lián)]按鈕52,則可按照約束字段為[字段]列表框41選定字段;約束關
系為[=]、[ ]、[〉]、[<]、[>=]、[<=]單選鈕42、 43、 44、 45、 46、 47、中選定項;
約束值為[指標]列表框49選定指標,以及[設定值]文本框50顯示、輸入的指標參數(shù);
合成出字段數(shù)據約束子句配置表達式;并以[and]、 [or]兩個單選鈕39、 40選定項所確
定的子句間約束條件,添加、聯(lián)接到[查詢語句]文本框51中各字段數(shù)據約束子句之后。 17其中,本范例軟件規(guī)約采用的字段數(shù)據約束子句配置表達式書寫規(guī)則為取標準SQL 數(shù)據査詢命令條件語句樣式,將在字符"'"之間的約束值內容寫為{"[指標]列表框
49選定項"} {"[設定值]文本框50輸入字符"}。執(zhí)行時如果"[指標]列表框49選
定項"為"系統(tǒng)日期時間-設定值秒",則以當前系統(tǒng)日期時間退減"[設定值]文本框
50輸入字符"中字符數(shù)值秒數(shù)后產生的日期時間,并自動參照約束字段的數(shù)據格式,作為 實際約束值內容;如果"[指標]列表框49選定項"為"被選定凹模段",則以被選定通 訊任務接收程式的,被選定凹模段當前凹字符作為實際約束值內容,如果"[指標]列表 框49選定項"為"設定值",則以"[設定值]文本框50輸入字符"中字符作為實際約束 值內容。
點擊[排序]按鈕53,則以[字段]列表框41選定字段為排序字段,生成標準SQL 數(shù)據査詢命令樣式的字段數(shù)據排序子句,并添加、聯(lián)接到[査詢語句]文本框51中排序 子句。
點擊[清除]按鈕54,可清空[査詢語句]文本框51,以重新進行被選定步處理的, 數(shù)據庫數(shù)據記錄査詢命令條件語句的配置。
用[參數(shù)]對話框36,展示為列表框,供顯示、選定[記錄表]下拉列表框38中被 選定歷史數(shù)據記錄表的所有字段名。
功能依據[記錄表]下拉列表框38選定的歷史數(shù)據記錄表;和[查詢語句]文本 框51顯示的數(shù)據査詢命令條件語句——按照本范例軟件規(guī)約從其約束子句約束值表達式 獲取實際約束值;遵從提供數(shù)據源服務的軟件所約定的,數(shù)據庫連接及歷史數(shù)據記錄表定 名規(guī)則;合成出所需數(shù)據査詢命令語句,執(zhí)行數(shù)據記錄査詢;建立査詢所得數(shù)據記錄集的 當前集成表,并按照排序字段的排序指針最大值(以日期時間排序即為最新)定位記錄項, 取[參數(shù)]對話框36選定的字段的數(shù)據作為當前步字符。
4 2 4 步處理"數(shù)據組求最大值"選定后,[參數(shù)]對話框36展示為列表框,供
顯示、選定當前集成表所引用歷史數(shù)據記錄表的所有字段名。功能以最進一次執(zhí)行步處
理"從記錄表取數(shù)據-記錄值/逐個"獲得的當前集成表中,取被選定字段名的所有數(shù)據, 求其中最大值,并作為當前步字符。
4 2 5 步處理"數(shù)據組求最小值"選定后,[參數(shù)]對話框36展示為列表框,供 顯示、選定當前集成表所引用歷史數(shù)據記錄表的所有字段名。功能以最進一次執(zhí)行步處
理"從記錄表取數(shù)據-記錄值/逐個"獲得的當前集成表中,取被選定字段名的所有數(shù)據, 求其中最小值,并作為當前步字符。
184 2 6 步處理"數(shù)據組求平均值"選定后,[參數(shù)]對話框36展示為列表框,供 顯示、選定當前集成表所引用歷史數(shù)據記錄表的所有字段名。功能以最進一次執(zhí)行步處 理"從記錄表取數(shù)據-記錄值/逐個"獲得的當前集成表中,取被選定字段名的所有數(shù)據, 求其平均值,并作為當前步字符。
4 2 7 步處理"超監(jiān)控標限倍數(shù)"選定后,[參數(shù)]對話框36展示為列表框,供
顯示、選定被選定用戶所有監(jiān)控指標名,和用[>]、[<]、[〉=]、[<=]四個單選鈕顯示、
選定比對關系。功能遵從選定比對關系,求當前步字符數(shù)值超過選定監(jiān)控指標標限設定
值的倍數(shù),并取其作為當前步字符。
4 2 8 步處理"超監(jiān)控標限標識字符"選定后,[參數(shù)]對話框36展示為列表框,
供顯示、選定被選定用戶所有監(jiān)控指標名,和用[>]、[<]、[>=]、[<=]四個單選鈕顯示、
選定比對關系。功能遵從選定比對關系,求當前步字符數(shù)值超過選定監(jiān)控指標標限設定 值的倍數(shù),如果不為0,則取選定監(jiān)控指標配置的超標限標識符號作為當前步字符,否則
取當前步字符為空(無標識)。
4*2*9*步處理"代入f(x)方程式計算"選定后,[參數(shù)]對話框36展示為文本
框,供顯示、輸入一條以X為變量的一元方程式。功能將當前步字符數(shù)值代入變量X求 數(shù)值解;如果存在有限個數(shù)值解,則取各數(shù)值解的字符——彼此用","分隔——作為當 前步字符;否則取當前步字符為空。
4 2 10 步處理"格式化數(shù)字書寫"選定后,[參數(shù)]對話框36展示為文本框, 供顯示、輸入用","分隔的整數(shù)位數(shù)和小數(shù)位數(shù)。功能如果當前步字符數(shù)值的整數(shù)位
數(shù)大于或等于指定位數(shù),則右截取指定位數(shù)作為當前步字符整數(shù),否則在其高位補o至等
于指定整數(shù)位數(shù)作為當前步字符整數(shù);如果當前步字符數(shù)值的小數(shù)位數(shù)大于或等于指定位 數(shù),則左截取指定位數(shù)作為當前步字符小數(shù),否則在其低位補0至等于指定小數(shù)位數(shù)作為 當前步字符小數(shù)。
4*2,11*步處理"10進制整數(shù)轉16進制n字節(jié)含負數(shù)"選定后,[參數(shù)]對話框 36展示為文本框,供顯示、輸入1個整數(shù)。功能將當前步字符的字符數(shù)值轉換為具有[參 數(shù)]對話框36中字符整數(shù)數(shù)值個字節(jié)的16進制數(shù);如果當前步字符的字符數(shù)值為負數(shù), 則置該16進制數(shù)最高字節(jié)最高位為1,否則置為0。然后以該16進制數(shù)作為當前步字符。
4*2, 12,步處理"從系統(tǒng)取日期時間"選定后,[參數(shù)]對話框36無效,無操作。
功能取當前系統(tǒng)日期時間作為當前步字符。
4 2 13 步處理"格式化時標書寫"選定后,[參數(shù)]對話框36展示為[轉換前格式]列表框,和[轉換后格式]列表框,其中列表項包含計算機用各種日期時間格式范 例,供選定。配置結果專用表達式"轉換前格式"I "轉換后格式"。功能將當前步字符 作為轉換前時標,轉換為具有指定轉換后格式的時標,時標所表達日期時間值不變,并作 為當前步字符。
4*2,14*步處理"提取字符-起點,長度"選定后,[參數(shù)]對話框36展示為文本框, 供顯示、輸入用","分隔的兩個整數(shù)。功能從當前發(fā)送字符串中指定起點截取指定長度 的字符,并作為當前步字符;如果條件不足則取發(fā)送字符串所有字符作為當前步字符。
4 2 15 步處理"求字符CRC校驗碼"選定后,[參數(shù)]對話框36無效,無操
作。功能求當前步字符CRC校驗碼,并作為當前步字符。
4 2 16 步處理"求字符長度數(shù)值"選定后,[參數(shù)]對話框36展示為文本框, 供顯示、輸入關于所用碼制的說明字符。功能如果碼制說明為"Hex"則以字節(jié)計算當 前步字符的長度;如果碼制說明為"Bit"則以位計算當前步字符的長度;其余均以字符計 算當前步字符的長度。并以該長度計算數(shù)值作為當前步字符。
4 2 17 步處理"求字符XR校驗碼"選定后,[參數(shù)]對話框36無效,無操作。 功能求當前步字符XR校驗碼,并作為當前步字符。
4 2 18 步處理"替換字符"選定后,[參數(shù)]對話框36展示為[字符]文本框 和[替換]文本框,供分別輸入被替換字符和替換為字符。配置結果專用表達式"被替 換字符"OOO "替換為字符"。功能將當前步字符中相同于"被替換字符"的部分
替換成為"替換為字符",如果條件不足則保持不變。
4 2 19 步處理"保存到標準格式文本"選定后,[參數(shù)]對話框36展示為文本
框,供輸入包含完整路徑名和擴展名及字符編碼制的文本名稱。功能將當前發(fā)送字符串,
按照指定文本擴展名約定的標準文本格式及字符編碼制,如果文本不存在則生成并存放到
該文本;如果文本已經存在則合并到指定文本(必須特別注意如xml格式之類樹形數(shù)據 文本的正確合并)。
4 2 20 步處理"繼續(xù)編寫下一條發(fā)送字符串"選定后,[參數(shù)]對話框36無效, 無操作。功能清空發(fā)送字符串,重新返回到第1步序開始執(zhí)行。但遇到步處理"從記錄 表取數(shù)據-記錄值/逐個",則不執(zhí)行數(shù)據査詢命令保持當前集成表不變!按照排序字段的排
序指針減本步處理循環(huán)執(zhí)行次數(shù)定位記錄項一一如果超出當前集成表排序指針范圍則終
止本步處理的循環(huán)執(zhí)行!取[參數(shù)]對話框36中被選定字段的數(shù)據作為當前步字符。4 2 21 步處理"與前一步字符相同則中止"選定后,[參數(shù)]對話框36無效, 無操作。功能如果當前步字符與前一步處理所得步字符相同則中止被選定通訊任務。
4 2 22 步處理"與前一步字符不同則中止"選定后,[參數(shù)]對話框36無效, 無操作。功能如果當前步字符與前一步處理所得步字符不同則中止被選定通訊任務。
4 2 23 步處理"與固定字符串相同則中止"選定后,[參數(shù)]對話框36展示為
文本框,供顯示、輸入字符。功能如果當前步字符與配置參數(shù)固定字符串相同則中止被
選定通訊任務。
4 2 24 步處理"與固定字符串不同則中止"選定后,[參數(shù)]對話框36展示為 文本框,供顯示、輸入字符。功能如果當前步字符與配置參數(shù)固定字符串不同則中止被
選定通訊任務。
4 2 25 步處理"與固定字符串相同則轉至第n步"選定后,[參數(shù)]對話框36 展示為"固定字符"文本框和"轉至n步"文本框,供顯示、輸入對比用固定字符串和 轉至步序數(shù)字。功能如果當前步字符與配置參數(shù)指定固定字符串相同,則從當前步序跳
轉至配置參數(shù)指定步序繼續(xù)執(zhí)行,否則繼續(xù)執(zhí)行下一步序。
4 2 26 步處理"與固定字符串不同則轉至第n步"選定后,[參數(shù)]對話框36 展示為"固定字符"文本框和"轉至n步"文本框,供顯示、輸入對比用固定字符串和 轉至步序數(shù)字。功能如果當前步字符與配置參數(shù)指定固定字符串不同,則從當前步序跳 轉至配置參數(shù)指定步序繼續(xù)執(zhí)行,否則繼續(xù)執(zhí)行下一步序。
——本范例軟件的上述通訊任務發(fā)送程式配置用各編程構件,被刷新顯示的跟進順序 為[步序]列表框33;[步處理]列表框34;[說明]文本框25、[參數(shù)]對話框36、(需 要數(shù)據庫操作時)[數(shù)據源]展示框37。其中在[數(shù)據源]展示框37內刷新顯示跟進順序 為[記錄表]下拉列表框38; [and]、 [or]單選鈕39、 40;[字段]列表框41; [ ]、[=]、 [>]、[<]、[>=]、[<=]單選鈕42、 43、 44、 45、 46、 47、 48,[指標]列表框49;[設 定值]文本框50、[査詢語句]文本框51。
4 3 點擊[Add]按鈕55,可將[發(fā)送應答虛擬分步填寫方法]框32內各編程構 件所選定、輸入的結果,添加為被選定通訊任務發(fā)送程式的,最后步序的步處理配置;并 刷新[步序]列表框33。
4 4 點擊[Int]按鈕56,可將[發(fā)送應答虛擬分步填寫方法]框32內各編程構件 所選定、輸入的結果,插入為被選定通訊任務發(fā)送程式的,[步序]列表框33選定項之前
21一個步處理配置;并刷新[步序]列表框33。
4 5 點擊[Save]按鈕57,可將[發(fā)送應答虛擬分步填寫方法]框32內各編程構 件所選定、輸入的結果,保存為被選定通訊任務發(fā)送程式的,當前[步序]列表框33選 定項的步處理配置;并刷新[步序]列表框33。
4 6 點擊[Delete]按鈕58,可刪除被選定通訊任務發(fā)送程式的,當前[步序]列 表框33選定項的步處理配置;并刷新[步序]列表框33。
采用本發(fā)明提供的可編程字符通訊方法,其主干程序流程中,除了支持如上所述用編 程構件添加、修改、取消通訊任務的人機對話界面,還必須支持自動執(zhí)行所有定制通訊任 務——滿足運行成效。本范例軟件設計的自動執(zhí)行通訊任務程序流程描述如下
5 自動執(zhí)行定制通訊任務
5*1*程序啟動從所有用戶通訊任務配置記錄中査詢相關公共設置資料。按照包含
的通訊通道及設置參數(shù)配置建立本機需用的所有連接、服務。為需要歷史數(shù)據記錄支持其 通訊任務的用戶適配數(shù)據源。初試化程序運行資源等等。
5 2 從所有用戶通訊任務配置記錄中查詢全部在線用戶,并建立在線用戶序列;
5*3,循環(huán)從在線用戶序列序數(shù)最小項開始至序數(shù)最大項,依次遞增確定一個被選 定用戶——如果遞增超過序數(shù)最大項則返回5 2 ;
5 4 從被選定用戶通訊任務配置記錄中査詢其全部通訊任務,并建立被選定用戶的 通訊任務序列;
5*5,循環(huán)從被選定用戶的通訊任務序列序數(shù)最小項開始至序數(shù)最大項,依次遞增
確定一個被選定通訊任務——如果遞增超過序數(shù)最大項則返回5 3 ; 5 6 遵從被選定通訊任務的執(zhí)行方式;
如果被選定通訊任務執(zhí)行方式為接收應答則調用5 7 執(zhí)行被選定通訊任務接收 程式;如果其中沒有發(fā)生中止——即接收到滿足要求的印壓字符串,則調用5,8'執(zhí)
行被選定通訊任務發(fā)送程式,否則不執(zhí)行被選定通訊任務發(fā)送程式。完成后結束被選定通
訊任務返回5-5'o
如果被選定通訊任務執(zhí)行方式為主動發(fā)送則從被選定通訊任務配置記錄中,查詢被
選定通訊任務發(fā)送程式的發(fā)送周期,與本機系統(tǒng)時鐘日期時間參比計算當前定時周期。如果發(fā)送時間記錄表明當前定時周期己經執(zhí)行過被選定通訊任務,則結束被選定通訊任務返 回5 5 。否則調用5 8 執(zhí)行被選定通訊任務發(fā)送程式;完成后結束被選定通訊 任務返回5*5* 。如果被選定通訊任務執(zhí)行方式為發(fā)送接收則從被選定通訊任務配置記錄中,查詢被 選定通訊任務發(fā)送程式的發(fā)送周期與接收程式的等待延時,與本機系統(tǒng)時鐘日期時間參比 計算當前定時周期。如果發(fā)送時間記錄表明當前定時周期己經執(zhí)行過被選定通訊任務,則 結束被選定通訊任務返回5*5* 。否則先調用5,8 執(zhí)行被選定通訊任務發(fā)送程式。 然后,在按照等待延時計算的限定時間內,重復調用5*7*執(zhí)行被選定通訊任務接收程 式,到其中沒有發(fā)生中止——即接收到滿足要求的印壓字符串并實現(xiàn)其中所有凹模段中 凹處理專用表達式隊列要求——為止。完成后結束被選定通訊任務返回5*5*。否則,返回5 5 。5 7 執(zhí)行接收程式從被選定通訊任務配置記錄中,查詢被選定通訊任務接收程式配置。從被選定通訊任務通訊通道,取當前接收到字符內容(并保證取后清空),聯(lián)接到被 選定通訊任務接收程式(等待處理的)接收字符串。如果被選定通訊任務通訊通道的連接 (或服務)中斷,則進行重建,并以發(fā)生中止返回調用方。用被選定通訊任務接收程式的凸字符序列,進行接收字符文本完整性檢查取第一個凸字符在被選定通訊任務接收程式的接收字符串中查找相同字符,如果沒有査找到則以發(fā) 生中止返回調用方。其后,每一個凸字符必須從上一個凸字符查找到的相同字符之后開始查找,至最后一個凸字符;其中,只要任何一個凸字符沒有査找到,則判別為被選定通訊 任務接收程式的接收字符串不完整,并以發(fā)生中止返回調用方。完整性檢査通過,則從指 定接收字符串中截取符合完整性檢査的部分的字符,作為被選定通訊任務接收程式印壓字 符串—即判別為接收到被選定通訊任務接收程式所需的完整字符文本;并且從被選定通訊任務接收程式的接收字符串中清除該印壓字符串,以繼續(xù)接收。用被選定通訊任務接收程式的凸字符序列,在印壓字符串中"印壓"提取凹字符序列 在印壓字符串開頭截除與序數(shù)為1的凸字符相同的字符;其后,按照循環(huán)計數(shù)指針從2起 計,每次循環(huán)加2,依次取序數(shù)等于計數(shù)指偵加1的凸字符,在被選定通訊任務接收程式 的剩余印壓字符串中査找與其相同字符的起點,截取該剩余印壓字符串中該起點之前的字 符作為被選定通訊任務接收程式的,序數(shù)等于計數(shù)指偵的凹模段的當前凹字符,并從該剩 余印壓字符串開頭截除該起點之前的字符,以及該起點和該凸字符長度范圍內的字符;依23次循環(huán)至剩余印壓字符串為空——也恰好到序數(shù)最大的凸字符。對在被選定通訊任務接收程式的印壓字符串中提取的凹字符序列,從序數(shù)最小項到序 數(shù)最大項,用其序數(shù)對應的凹模段的凹處理專用表達式隊列,順序逐個執(zhí)行其凹處理專用 表達式隊列規(guī)定的所有各項字符處理、應用、監(jiān)控、校驗等操作。如果其中任何一項操作 結果要求中止被選定通訊任務,則以發(fā)生中止返回調用方;否則以沒有發(fā)生中止返回調用 方。5*8*執(zhí)行發(fā)送程式從被選定通訊任務配置記錄中,査詢被選定通訊任務發(fā)送程式的步處理序列配置。如 果沒有步處理序列,則判別被選定通訊任務沒有發(fā)送程式,返回調用方;否則置空發(fā)送字符串及清除所有發(fā)送文本。依序逐步執(zhí)行指定通訊任務發(fā)送程式的所有步 處理;合成出發(fā)送字符串,及所需格式發(fā)送文本。其中,如果任何一項步處理結果要求中 止被選定通訊任務,則以發(fā)生中止返回調用方;否則被選定通訊任務發(fā)送程式的所有步處理完成后,如果存在發(fā)送文本則用被選定通訊任 務通訊通道,按照其連接或服務配置方式傳送文本或文本內容;否則用被選定通訊任務通 訊通道直接傳送發(fā)送字符串。完成后以沒有發(fā)生中止返回調用方。如上所述僅為本發(fā)明的實施范例之一,盡管所述實例已經表示和描述了本發(fā)明的具體 流程,但并不表示對本發(fā)明自身的限制,本領域的技術人員在不脫離本發(fā)明基本宗旨和原 理的前提下,可在其形式上和細節(jié)上作出各種變化,而所附權利要求書亦覆蓋了所有此類 改變和修改。
權利要求
1.一種可編程字符通訊方法,其特征在于,包括如下步驟(1)通訊雙方約定每一項通訊任務的通訊對方和執(zhí)行方式;(2)通訊雙方根據上述約定的通訊對方和執(zhí)行方式執(zhí)行發(fā)送或接收順序字符文本;(3)通訊雙方中任一方收到通訊對方發(fā)送的順序字符文本字符串后,將該順序字符文本字符串分割為若干個順序間隔排隊的不變部分和可變部分;(4)根據預定義的解析方法,將上述分割后的順序字符文本字符串解析為計算機可識別的字符指令。
2. 根據權利要求1所述的可編程字符通訊方法,其特征在于,所述步驟(1)中的通訊對 方通過連線端口,或網絡地址,或連接設置文本的約定表達形式選定。
3. 根據權利要求1所述的可編程字符通訊方法,其特征在于,所述步驟(1)中的執(zhí)行方 式約定為或主動報送,或接收應答,或發(fā)送接收。
4. 根據權利要求1所述的可編程字符通訊方法,其特征在于,所述步驟(2)中的通訊任 務執(zhí)行方式約定為主動發(fā)送時,則只能向通訊對方發(fā)送一個順序字符文本;通訊任務 執(zhí)行方式約定為接收應答時,則先接收一個順序字符文本,如果處理產生了一個順序 字符文本,則發(fā)送給對方;通訊任務執(zhí)行方式約定為發(fā)送接收時,先發(fā)送一個順序字 符文本,然后在指定的時間內等待接收一個順序字符文本。
5. 根據權利要求1所述的可編程字符通訊方法,其特征在于,所述步驟(3)中的順序字 符文本字符串的分割方式為可變部分夾在兩個不變部分之間;字符串的開頭和結束 確定為不變部分,且可以為空,當字符串僅有可變部分時則其開頭與結束部分均為空, 當字符串沒有可變部分時則其開頭與結束部分任意一個為空。
6. 根據權利要求1所述的可編程字符通訊方法,其特征在于,所述步驟(4)中的解析方 法具體通過以下步驟實現(xiàn)(a) 將所有的不變部分作為排序化配置參數(shù),按序逐個在接收到的順序字符文本字符串 中一一印對,以確認該字符串是否屬于本次通訊任務的順序字符文本,或判斷是否傳 輸成功;(b) 建立虛擬線形印模方法,從順序字符文本字符串中獲取可變部分的字符內容;(c) 建立虛擬順序分步填寫方法,生成通訊任務所需的發(fā)送字符串;
7. 根據權利要求6所述的可編程字符通訊方法,其特征在于,所述步驟(b)中的虛擬線 形印模方法是指用不變部分的排序化配置參數(shù)作為印模的各凸模段,在對字符串進行 印壓去除所有不變部分的字符后,從印模的凹模段取得同樣排序化的各可變部分的字符內容;利用上述凹模段提供的字符內容,按照預先配置的文本字符處理關系實現(xiàn)相 關操作需求。
8.根據權利要求6所述的可編程字符通訊方法,其特征在于,所述步驟(c)中的虛擬順 序分步填寫方法是指從發(fā)送字符串開頭的不變部分開始,漸增式按步填寫發(fā)送用字符串的所有不變部分和可變部分;填寫時,遵從預先編排的數(shù)據信息來源與處理的規(guī)程 化操作配置以獲得所需字符串。
全文摘要
本發(fā)明公開了一種可編程字符通訊方法,包括如下步驟(1)通訊雙方約定每一項通訊任務的通訊對方和執(zhí)行方式;(2)通訊雙方根據上述約定的通訊對方和執(zhí)行方式執(zhí)行發(fā)送或接收順序字符文本;(3)通訊雙方中任一方收到通訊對方發(fā)送的順序字符文本字符串后,將該順序字符文本字符串分割為若干個順序間隔排隊的不變部分和可變部分;(4)根據預定義的解析方法,將上述分割后的順序字符文本字符串解析為計算機可識別的字符指令。本發(fā)明能夠面向通訊協(xié)議多樣化、通訊任務可調化的發(fā)展需求,設計開發(fā)新一代智能型計算機及服務器通訊系統(tǒng)和軟件,具有廣泛的應用領域。
文檔編號H04L29/06GK101635711SQ200910041860
公開日2010年1月27日 申請日期2009年8月14日 優(yōu)先權日2009年8月14日
發(fā)明者師建中, 秦子彬, 鐘流舉 申請人:廣東省環(huán)境監(jiān)測中心