1. 概述
2. 通訊原理3. 引數設定
1. 概述
某生產企業世界500強的集團能源管控平臺專案建設,通過專線網路實現異地廠區資料整合,每個終端能源儀表都有IP地址,總共有1000多臺能源表計,總共有將近10000個資料點。在集團端部署iNeuOS工業網際網路作業系統,終端能源表計採用Modbus(Slave)協定,集團平臺主動網路連線終端能源表計,進行實時資料採集。結構示意,如下圖:
但是,隨著不斷有接入的廠區能源表計,也出現一些現象:(1)裝置採集資料順序不一致;(2)資料採集不及時。
工業領域的平臺肯定是一個實時系統,使用iNeuOS進行資料採集,與其他系統不太一樣,其他系統資料採集驅動一般包括IO的操作,這種方式很難應對複雜的應用場景。iNeuOS系統的資料採集驅動只負責協定驅動的解析、資料處理、觸發反向控制,至於通訊機制和IO操作有專門的服務範例排程器和IO管理器來負責,這樣設計的好處是:(1)適用於各種通訊應用場景,例如:4G、DTU、固定或不固定IP等等;(2)支援高並行資料互動,例如雲平臺建設;(3)系統更穩定、更健壯,不會因為某項異常影響其他儀表通訊。整體框架,如下圖:
基於iNeuOS核心框架結合集團能源管控平臺的裝置數量抽象出來的通訊原理如下圖:
iNeuOS包括多個服務排程範例,一個服務排程範例包括多個IO控制器,IO控制器中包括多個儀表,那麼服務排程範例和IO控制器的多少是根據實際現場情況設定的,所以要提高儀表的資料採集效率,是在服務排程範例和IO控制器中進行設定,同時考慮到Modbus通訊協定機制本身是應答模式,請求資料命令與返回資料之間有間隔中斷時間。
在《物聯網軟體架構設計與實現》書中主要就是介紹這些內容。
該專案案例提高資料採集效率,可以通過合理設定服務範例、控制模型、間隔時間和控制分組來實現。
(1) 服務範例的設定
服務範例設定原則:一個廠區設定一個服務範例、一類儀表設定一個服務範例、同一個資料採集週期設定一個服務範例等,根據現場資料採集的實際需求平衡負載設定相應的服務範例。設定如下圖:
(2) 控制模型的設定
根據該案例的實際情況,每個終端能源儀表都有獨立IP地址,總共有1000多臺能源表計,可以考慮把控制模型設定成並行模型(Parallel)。如下圖:
因為網路通訊是全雙工,採用並行控制模型表示:在當前服務範例下,一次性並行向儀表傳送請求命令,進行非同步接收返回的資料資訊。這就比每個裝置輪詢傳送請求命令->等待資料->接收資料同步模型要更高效率。並行控制模型示意,如下圖:
(3) 間隔時間的設定
一個IO控制器中至少有一臺裝置驅動,在並行控制模型下可以設定並行間隔(每次集中傳送請求命令的間隔時間)和並行裝置間隔(每個設定驅動之間傳送請求命令的間隔時間)來提高儀表資料採集效率。設定如下圖:
(4) 控制分組的設定
在服務範例下可以設定採集裝置的邏輯分組,每一個分組獨立進行資料採集的任務排程。如果每一臺裝置都設定不同的控制分組名稱則表示一個IO控制器只負責一臺裝置進行資料採集,這樣適合高頻資料採集。設定如下圖:
通過上述的設定,每臺儀表採集資料的週期計算公式為:資料點採集週期時間=並行間隔+並行裝置間隔*控制分組裡的裝置數量,如果一臺裝置中存在讀取多個資料點的命令,那麼存在一定誤差,但是不會太大。
物聯網&巨量資料技術 QQ群:54256083
物聯網&巨量資料專案 QQ群:727664080
QQ:504547114
微信:wxzz0151
部落格:https://www.cnblogs.com/lsjwq
微信公眾號:iNeuOS