System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本專利技術涉及工業(yè)控制,具體涉及一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法。
技術介紹
1、對于礦鴻應用的數(shù)據(jù)對外轉發(fā)過程在礦鴻應用在傳統(tǒng)的應用開發(fā)中,如何將下位機的數(shù)據(jù)方便靈活的方式通過協(xié)議轉發(fā)給上端訪問的設備,組態(tài)的方式的數(shù)據(jù)轉發(fā)協(xié)議提供方便快捷的設置界面,設置過程快捷方便,可以自定義設置數(shù)據(jù)規(guī)則,相比較傳統(tǒng)開發(fā)模式需要定制開發(fā)調整,組態(tài)模式的數(shù)據(jù)轉發(fā)協(xié)議實現(xiàn)礦鴻數(shù)據(jù)協(xié)議轉發(fā)領域的高效穩(wěn)定、靈活度高、復用性強和成本低的效果,并且傳統(tǒng)對對于設備的通信訪問都是根據(jù)需求需要在代碼中來創(chuàng)建對象,靈活度差。
技術實現(xiàn)思路
1、本專利技術目的是針對
技術介紹
中存在的問題,提出一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法。
2、本專利技術的技術方案:一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,包括:
3、礦鴻組態(tài)編輯器界面創(chuàng)建目標組態(tài)的礦鴻組態(tài)數(shù)據(jù)源;
4、配置所述礦鴻組態(tài)數(shù)據(jù)源的轉發(fā)規(guī)則,從而得到數(shù)據(jù)轉發(fā)的配置文件,所述轉發(fā)規(guī)則包括訪問目標礦鴻設備提供的數(shù)據(jù)訪問格式以及模擬暴露對外訪問所述目標礦鴻設備地址和內存變量之間的關系;
5、礦鴻組態(tài)應用導入所述數(shù)據(jù)轉發(fā)的配置文件,并基于所述數(shù)據(jù)轉發(fā)的配置文件初始化所述目標礦鴻設備對象和數(shù)據(jù)規(guī)則對象,從而得到所述目標礦鴻設備配置;
6、基于所述目標礦鴻設備配置動態(tài)創(chuàng)建連接所述目標礦鴻設備的設備對象,啟動所述目標礦鴻設備并定時監(jiān)聽上位機傳輸?shù)恼埱笾噶睿瑥亩玫蕉鄠€所述請求指令,將多個所述請求指令進行拼接,從而得到拼接的所
7、對每次拼接的所述請求指令進行有效性檢測,若有效性檢測不合格,則將拼接的所述請求指令丟棄;
8、若有效性檢測合格,則對拼接的所述請求指令進行解析,從而得到相應的請求指令對象,并將所述請求指令對象加入至指令請求隊列中;
9、從所述指令請求隊列中彈出所述請求指令對象,對所述請求指令對象的屬性和數(shù)據(jù)轉發(fā)協(xié)議進行解析,從而得到反饋內容,若所述反饋內容為修改指令,則將所述修改指令封裝為修改指令對象,并將所述修改指令對象傳輸至下端設備,所述下端設備將所述修改指令對象作為執(zhí)行參數(shù);
10、所述下端設備向請求端回復所述修改指令的回復。
11、優(yōu)選的,所述目標組態(tài)的礦鴻組態(tài)數(shù)據(jù)源包括礦鴻設備序列號、設備索引、從站地址、設備ip地址、藍牙識別號、波特率和有效位。
12、優(yōu)選的,所述對每次拼接的所述請求指令進行有效性檢測,包括:
13、獲取所述請求指令,并檢測所述請求指令的站地址是否正確,若所述請求指令的站地址不正確,則所述請求指令的有效性檢測不合格;
14、若所述請求指令的站地址正確,則檢測所述請求指令的功能碼是否正確,若所述請求指令的功能碼不正確,則所述請求指令的有效性檢測不合格;
15、若所述請求指令的功能碼正確,則檢測所述請求指令的指令長度是否正確,若所述請求指令的指令長度不正確,則所述請求指令的有效性檢測不合格;
16、若所述請求指令的指令長度正確,則檢測所述請求指令的驗證碼是否正確,若所述請求指令的驗證碼不正確,則所述請求指令的有效性檢測不合格;
17、若所述請求指令的驗證碼正確,則檢測所述請求指令的起始地址和結尾地址是否在合理區(qū)間,若所述請求指令的起始地址和結尾地址不在合理區(qū)間,則所述請求指令的有效性檢測不合格,否則,著所述請求指令的有效性檢測合格。
18、優(yōu)選的,所述基于所述目標礦鴻設備配置動態(tài)創(chuàng)建連接所述目標礦鴻設備的設備對象,啟動所述目標礦鴻設備并定時監(jiān)聽上位機傳輸?shù)恼埱笾噶睿瑥亩玫蕉鄠€所述請求指令,將多個所述請求指令進行拼接,從而得到拼接的所述請求指令,并基于所述礦鴻組態(tài)數(shù)據(jù)源的波特率計算循環(huán)監(jiān)聽上位機的單位時間片,包括:
19、判斷所述目標礦鴻設備是否啟動,若所述目標礦鴻設備啟動,則在單位時間片內獲取所述目標礦鴻設備的請求內容;
20、判斷所述目標礦鴻設備的請求內容是否不為空,若所述目標礦鴻設備的請求內容不為空,則判斷所述目標礦鴻設備的請求內容是否符合指令格式,若所述目標礦鴻設備的請求內容符合指令格式,則清空待匹配指令片段;
21、若所述目標礦鴻設備的請求內容不符合指令格式,則將所述目標礦鴻設備的請求內容與待匹配指令進行拼接,從而得到新請求內容,并判斷所述新請求內容是否符合指令格式,若所述拼接請求內容符合指令格式,則清空待匹配指令片段,否則,則等待循環(huán)單位時間片內更新請求內容;
22、將所述請求內容和所述新請求內容轉換為請求指令對象,并將所述請求指令對象壓入請求指令隊列,并等待循環(huán)單位時間片更新所述請求指令隊列。
23、優(yōu)選的,所述從所述指令請求隊列中彈出所述請求指令對象,對所述請求指令對象的屬性和數(shù)據(jù)轉發(fā)協(xié)議進行解析,從而得到反饋內容,若所述反饋內容為修改指令,則將所述修改指令封裝為修改指令對象,并將所述修改指令對象傳輸至下端設備,所述下端設備將所述修改指令對象作為執(zhí)行參數(shù),包括:
24、判斷所述請求指令對象的指令對象驗證是否通過,若所述請求指令對象的指令對象驗證不通過,則判斷所述請求指令對象的站地址是否正確,若所述請求指令對象的站地址不正確,則不對所述請求指令對象進行反饋,否則,則反饋錯誤信息;
25、若所述請求指令對象的指令對象驗證通過,則判斷所述請求指令對象是否是查詢指令,若所述請求指令對象是查詢指令,則解析出所述查詢指令的查詢范圍,并根據(jù)轉換規(guī)則找到對應的變量,并將所述變量的值拼接成反饋指令格式;
26、若所述請求指令對象不是查詢指令,則判斷所述請求指令對象是否是單數(shù)據(jù)單元修改,若所述請求指令對象不是單數(shù)據(jù)單元修改,則找出要修改的存儲單元集合,并將所述存儲單元集合轉換成指令變量數(shù)組,且將所述指令變量數(shù)組轉換成組態(tài)的變量賦值事件集合,并基于所述變量賦值事件集合生成反饋指令碼,基于所述反饋指令格式和所述反饋指令碼將反饋指令回復給請求端;
27、若所述請求指令對象是單數(shù)據(jù)單元修改,則找出要修改的存儲單元,并根據(jù)數(shù)據(jù)單元和要修改的值組織下行修改指令,并判斷所述下行修改指令是否執(zhí)行成功,若所述下行修改指令執(zhí)行成功,則直接反饋請求指令,否則,則反饋錯誤信息。
28、與現(xiàn)有技術相比,本專利技術的上述技術方案具有如下有益的技術效果:
29、本專利技術能夠根據(jù)項目的特點需求自定義的組織礦鴻數(shù)據(jù)協(xié)議規(guī)則,支持多款標準的礦鴻協(xié)議進行反饋給對方,并且組態(tài)方式對于數(shù)據(jù)轉發(fā)協(xié)議規(guī)則只需要再界面上簡單配置即可操作簡單靈活方便,而且轉發(fā)協(xié)議課針對不同需求調整參數(shù)即可,不需要重新編譯,所以復用性高,且對于請求指令和結果反饋采用了雙解耦隊列模式,不會存在指令擠壓和阻塞的過程,另外對于指令的校驗判斷嚴謹,數(shù)據(jù)解析兼容性強,杜絕了錯誤數(shù)據(jù)導致錯誤處理的情況,最后開發(fā)全程不需要代碼開發(fā),操作處理過程是全程智能化操作代替了復雜的傳統(tǒng)本文檔來自技高網...
【技術保護點】
1.一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,包括:
2.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述目標組態(tài)的礦鴻組態(tài)數(shù)據(jù)源包括礦鴻設備序列號、設備索引、從站地址、設備IP地址、藍牙識別號、波特率和有效位。
3.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述對每次拼接的所述請求指令進行有效性檢測,包括:
4.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述基于所述目標礦鴻設備配置動態(tài)創(chuàng)建連接所述目標礦鴻設備的設備對象,啟動所述目標礦鴻設備并定時監(jiān)聽上位機傳輸?shù)恼埱笾噶睿瑥亩玫蕉鄠€所述請求指令,將多個所述請求指令進行拼接,從而得到拼接的所述請求指令,并基于所述礦鴻組態(tài)數(shù)據(jù)源的波特率計算循環(huán)監(jiān)聽上位機的單位時間片,包括:
5.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述從所述指令請求隊列中彈出所述請求指令對象,對所述請求指令對象的屬性和數(shù)據(jù)轉發(fā)協(xié)議進行解析,從而得到反饋內容,若所述反饋內容為修改指令,則將所述修改指令封裝為
...【技術特征摘要】
1.一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,包括:
2.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述目標組態(tài)的礦鴻組態(tài)數(shù)據(jù)源包括礦鴻設備序列號、設備索引、從站地址、設備ip地址、藍牙識別號、波特率和有效位。
3.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述對每次拼接的所述請求指令進行有效性檢測,包括:
4.根據(jù)權利要求1所述的一種基于礦鴻組態(tài)系統(tǒng)的數(shù)據(jù)轉發(fā)方法,其特征在于,所述基于所述目標礦鴻設備配置動態(tài)創(chuàng)建連接所述目標礦鴻設備的設備對象,啟動...
【專利技術屬性】
技術研發(fā)人員:連維瑞,
申請(專利權)人:淮南萬泰電子股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。