。通過(guò)Modbus 和PPI協(xié)議復(fù)用的完備狀態(tài)機(jī)將不同協(xié)議的用戶數(shù)據(jù)封裝并存儲(chǔ)在內(nèi)存變量區(qū)中,當(dāng)串口 處于空閑狀態(tài)時(shí)將用戶數(shù)據(jù)通過(guò)物理串口發(fā)送出去,待從設(shè)備響應(yīng)后,解析響應(yīng)數(shù)據(jù)并將 信息存儲(chǔ)在主站內(nèi)存變量緩存區(qū)中,完成網(wǎng)絡(luò)系統(tǒng)五種狀態(tài)的變迀,同時(shí)定時(shí)比較并刷新 內(nèi)存變量區(qū)和變量緩存區(qū)的值,將系統(tǒng)數(shù)據(jù)處理、資源輸入輸出刷新和數(shù)據(jù)交互分時(shí)調(diào)度, 實(shí)現(xiàn)主從站的數(shù)據(jù)交互。
[0012] 如圖2所示,多協(xié)議復(fù)用串行通信主站同時(shí)支持Modbus和PPI兩種通信協(xié)議,為 實(shí)現(xiàn)整個(gè)系統(tǒng)的無(wú)縫集成,設(shè)計(jì)了完備的網(wǎng)絡(luò)系統(tǒng)管理方案,通過(guò)設(shè)備參數(shù)、通信參數(shù)、映 射通道參數(shù)以及變量管理參數(shù)管理實(shí)時(shí)串行通信主站??刂浦髡就ㄟ^(guò)發(fā)送掃描報(bào)文查詢 設(shè)備是否在線,統(tǒng)計(jì)設(shè)備在線數(shù)量并記錄設(shè)備通信參數(shù),包括設(shè)備地址、支持的串口協(xié)議以 及映射通道數(shù)量,實(shí)現(xiàn)主從站的自動(dòng)連接;根據(jù)管理計(jì)算機(jī)配置的映射通道參數(shù),將映射 報(bào)文信息存儲(chǔ)在內(nèi)存中,以便主站依次遍歷每個(gè)從站的每條資源映射信息,實(shí)現(xiàn)主從站的 有序通信,其中包括映射通道讀寫(xiě)類(lèi)型、讀寫(xiě)命令號(hào)、擴(kuò)展命令號(hào)以及主從站的變量管理參 數(shù);通過(guò)變量管理參數(shù)組裝相應(yīng)的讀寫(xiě)報(bào)文,包括主站地址,從站地址,變量類(lèi)型以及讀寫(xiě) 變量大小,實(shí)現(xiàn)主從站的數(shù)據(jù)交互;根據(jù)從站的響應(yīng),實(shí)現(xiàn)對(duì)從站的狀態(tài)分析、運(yùn)行錯(cuò)誤和 掉線管理。管理計(jì)算機(jī)將設(shè)備參數(shù)、通信參數(shù)、映射通道參數(shù)以及變量管理參數(shù)存儲(chǔ)在數(shù) 據(jù)結(jié)構(gòu)中并形成配置文件,由配置文件統(tǒng)一管理。其中,在映射通道信息中添加擴(kuò)展命令 號(hào),目的在于當(dāng)讀寫(xiě)類(lèi)型為寫(xiě)命令時(shí),第一次通信時(shí)先執(zhí)行擴(kuò)展命令,將從站信息讀回,避 免因突然改變從站的狀態(tài)造成不必要的損失,保證串行通信的正確性。串行通信主站支持 Modbus以及PPI協(xié)議,其中Modbus協(xié)議完成一次讀寫(xiě)操作由兩條報(bào)文組成,分別為請(qǐng)求報(bào) 文和響應(yīng)報(bào)文;而PPI協(xié)議完成一次讀寫(xiě)操作需要4條報(bào)文組成,分別為握手報(bào)文,握手響 應(yīng)報(bào)文,執(zhí)行命令報(bào)文和信息響應(yīng)報(bào)文,兩種協(xié)議具有完全不同的格式與機(jī)制,要實(shí)現(xiàn)一個(gè) 串口同時(shí)支持兩種協(xié)議的設(shè)備,建立了Modbus和PPI協(xié)議復(fù)用串行通信系統(tǒng)的完備狀態(tài) 機(jī),以Modbus和PPI協(xié)議復(fù)用實(shí)時(shí)調(diào)度狀態(tài)機(jī)處理機(jī)制實(shí)現(xiàn)對(duì)從站設(shè)備的狀態(tài)分析、自動(dòng) 連接、握手交互、通信服務(wù)、設(shè)備運(yùn)行錯(cuò)誤和掉線的管理,完成網(wǎng)絡(luò)系統(tǒng)五種狀態(tài)的變迀,保 證系統(tǒng)數(shù)據(jù)實(shí)時(shí)處理,設(shè)備資源實(shí)時(shí)刷新,主從站工作協(xié)調(diào)一致,使整個(gè)網(wǎng)絡(luò)系統(tǒng)具有自適 應(yīng)性。
[0013] Modbus和PPI協(xié)議復(fù)用串行通信系統(tǒng)的完備狀態(tài)機(jī)將從站狀態(tài)分為自動(dòng)掃描狀 態(tài),握手狀態(tài),設(shè)備運(yùn)行狀態(tài),設(shè)備運(yùn)行錯(cuò)誤狀態(tài)以及設(shè)備掉線狀態(tài),對(duì)于這5種狀態(tài)的具 體描述,如表1所示:
[0014] 表 1
[0015]
[0016] 本發(fā)明狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖,如圖3所示,圖中:實(shí)線代表Modbus協(xié)議的狀態(tài)切換過(guò) 程,虛線代表PPI協(xié)議的狀態(tài)切換過(guò)程。在每個(gè)狀態(tài)下,獲取存儲(chǔ)在內(nèi)存中當(dāng)前設(shè)備的協(xié)議 類(lèi)型,將通信參數(shù)組裝為相應(yīng)報(bào)文并發(fā)送,等待從站響應(yīng)。若從站響應(yīng)正確,從接收?qǐng)?bào)文中 解析變量信息并存儲(chǔ)在內(nèi)存中,從站在線標(biāo)志置為1 ;若從站響應(yīng)錯(cuò)誤或在超時(shí)時(shí)間內(nèi)未 響應(yīng),串行主站切換錯(cuò)誤狀態(tài),當(dāng)錯(cuò)誤次數(shù)大于3時(shí),將設(shè)備狀態(tài)切換為掉線狀態(tài),從站在 線標(biāo)志置為〇,待自恢復(fù)時(shí)間到后,自動(dòng)切換設(shè)備狀態(tài)為自動(dòng)掃描狀態(tài),以便設(shè)備運(yùn)行正常 后可立即通信,而不需要重新配置,實(shí)現(xiàn)主從站的自動(dòng)連接,保證整個(gè)網(wǎng)絡(luò)系統(tǒng)通信的自適 應(yīng)性。
[0017] 本發(fā)明實(shí)時(shí)調(diào)度狀態(tài)機(jī)處理機(jī)制示意圖,如圖4所示,由于在串口操作中處理數(shù) 據(jù)并完成資源的刷新耗時(shí)時(shí)間過(guò)長(zhǎng),在主站內(nèi)存中為開(kāi)辟了兩片區(qū)域,變量區(qū)和變量緩存 區(qū);將主站要寫(xiě)入從站的數(shù)據(jù)存儲(chǔ)在變量區(qū)中,定時(shí)刷新到相應(yīng)的變量緩存區(qū),待串口空閑 時(shí)經(jīng)狀態(tài)機(jī)將數(shù)據(jù)封裝成對(duì)應(yīng)協(xié)議格式并發(fā)送出去;狀態(tài)機(jī)接收從站的響應(yīng)數(shù)據(jù)并進(jìn)行解 析,將數(shù)據(jù)存儲(chǔ)在相應(yīng)的變量緩存區(qū)中,定時(shí)刷新到變量區(qū);將狀態(tài)機(jī)數(shù)據(jù)處理,資源輸入 刷新,資源輸出刷新分時(shí)調(diào)度,保證整個(gè)通信系統(tǒng)的實(shí)時(shí)性。
[0018] 本發(fā)明優(yōu)點(diǎn)在于:一種支持Modbus和PPI協(xié)議復(fù)用的實(shí)時(shí)串行通信系統(tǒng)具有完備 的網(wǎng)絡(luò)系統(tǒng)管理方案,實(shí)現(xiàn)Modbus從設(shè)備與西門(mén)子PPI從設(shè)備的無(wú)縫集成。另外,本發(fā)明 建立了Modbus和PPI協(xié)議復(fù)用串行通信系統(tǒng)的完備狀態(tài)機(jī),以Modbus和PPI協(xié)議復(fù)用實(shí) 時(shí)調(diào)度狀態(tài)機(jī)處理機(jī)制,實(shí)現(xiàn)五種狀態(tài)變迀,保證系統(tǒng)數(shù)據(jù)實(shí)時(shí)處理,設(shè)備資源實(shí)時(shí)刷新, 主從站工作協(xié)調(diào)一致,使整個(gè)網(wǎng)絡(luò)系統(tǒng)具有自適應(yīng)性。
【主權(quán)項(xiàng)】
1. 一種支持Modbus和PPI協(xié)議復(fù)用的實(shí)時(shí)串行通信系統(tǒng),包括管理計(jì)算機(jī)、控制主站、 控制從站及串行網(wǎng)絡(luò)通信線,其特征在于:所述控制主站,包括解析配置文件模塊、遍歷資 源信息模塊、組裝報(bào)文模塊、解析報(bào)文模塊及串行通信接口,所述解析配置文件模塊與串行 通信接口相連,所述管理計(jì)算機(jī)通過(guò)串行通信接口將配置文件傳送給解析配置文件模塊, 所述解析配置文件模塊與遍歷資源信息模塊相連,所述遍歷資源信息模塊與組裝報(bào)文模塊 相連,所述組裝報(bào)文模塊及解析報(bào)文模塊分別與串行通信接口相連,所述解析報(bào)文模塊通 過(guò)串行通信接口將返回響應(yīng)數(shù)據(jù)傳送給管理計(jì)算機(jī),所述控制從站包括支持Modbus協(xié)議 或PPI協(xié)議的設(shè)備0、設(shè)備1、設(shè)備2、設(shè)備3…設(shè)備N(xiāo),所述串行網(wǎng)絡(luò)通信線通過(guò)串口分別 與設(shè)備〇、設(shè)備1、設(shè)備2、設(shè)備3…設(shè)備N(xiāo)相連,所述串行網(wǎng)絡(luò)通信線與串行通信接口相連; 所述控制從站根據(jù)Modbus和PPI協(xié)議復(fù)用的實(shí)時(shí)串行通信系統(tǒng)的完備狀態(tài)機(jī)分為自動(dòng)掃 描狀態(tài)、握手狀態(tài)、設(shè)備運(yùn)行狀態(tài)、錯(cuò)誤狀態(tài)以及掉線狀態(tài),所述自動(dòng)掃描狀態(tài)根據(jù)當(dāng)前設(shè) 備協(xié)議類(lèi)型分別與握手狀態(tài)或設(shè)備運(yùn)行狀態(tài)連接,所述握手狀態(tài)根據(jù)控制從站響應(yīng)結(jié)果分 別與設(shè)備運(yùn)行狀態(tài)或錯(cuò)誤狀態(tài)連接,若響應(yīng)結(jié)果正確,則握手狀態(tài)通過(guò)狀態(tài)機(jī)與設(shè)備運(yùn)行 狀態(tài)連接,若響應(yīng)結(jié)果錯(cuò)誤,則握手狀態(tài)通過(guò)狀態(tài)機(jī)與錯(cuò)誤狀態(tài)連接;所述設(shè)備運(yùn)行狀態(tài)根 據(jù)設(shè)備協(xié)議類(lèi)型和響應(yīng)結(jié)果分別與握手狀態(tài)或錯(cuò)誤狀態(tài)連接,若通信錯(cuò)誤次數(shù)超過(guò)3次, 則錯(cuò)誤狀態(tài)通過(guò)狀態(tài)機(jī)與掉線狀態(tài)連接;所述掉線狀態(tài)通過(guò)自恢復(fù)機(jī)制與自動(dòng)掃描狀態(tài)連 接。
【專(zhuān)利摘要】本發(fā)明涉及工業(yè)控制技術(shù)領(lǐng)域,一種支持Modbus和PPI協(xié)議復(fù)用的實(shí)時(shí)串行通信系統(tǒng),包括管理計(jì)算機(jī)、控制主站、控制從站及串行網(wǎng)絡(luò)通信線,所述控制主站,包括解析配置文件模塊及與其依次連接的遍歷資源信息模塊、組裝報(bào)文模塊,還包括解析報(bào)文模塊及串行通信接口,所述解析配置文件模塊、組裝報(bào)文模塊、解析報(bào)文模塊及串行網(wǎng)絡(luò)通信線分別與串行通信接口相連,所述串行網(wǎng)絡(luò)通信線通過(guò)串口分別與控制從站中的設(shè)備0、1、2、3…N相連,本發(fā)明實(shí)現(xiàn)了Modbus從設(shè)備與西門(mén)子PPI從設(shè)備的無(wú)縫集成。另外,本發(fā)明建立了Modbus和PPI協(xié)議復(fù)用串行通信系統(tǒng)的完備狀態(tài)機(jī),以Modbus和PPI協(xié)議復(fù)用實(shí)時(shí)調(diào)度狀態(tài)機(jī)處理機(jī)制,保證主從站工作協(xié)調(diào)一致,使整個(gè)網(wǎng)絡(luò)系統(tǒng)具有自適應(yīng)性。
【IPC分類(lèi)】H04L12/24, H04L12/40, G05B19/048, G05B19/418
【公開(kāi)號(hào)】CN105024899
【申請(qǐng)?zhí)枴緾N201510290671
【發(fā)明人】仲崇權(quán), 王相蓉, 姚世選, 李稚春
【申請(qǐng)人】大連理工計(jì)算機(jī)控制工程有限公司
【公開(kāi)日】2015年11月4日
【申請(qǐng)日】2015年5月31日