|
會(huì) 簽
|
|
檔 號(hào)
|
|
編 號(hào)
|
|
|
保管期限
|
|
密 級(jí)
|
|
|
|
|
階段標(biāo)記
|
F
|
|
|
|
版 次
|
1.7
|
|
版
|
|
名 稱
|
北斗工業(yè)控制管理系統(tǒng)平臺(tái)方案設(shè)計(jì)報(bào)告
|
|
單 位
|
北京航天自動(dòng)控制研究所15311809316
|
|
編 寫(xiě)
|
|
|
校 對(duì)
|
|
|
審 核
|
|
|
標(biāo) 審
|
|
|
批 準(zhǔn)
|
|
北京航天自動(dòng)控制研究所
|
|
內(nèi)容摘要:
|
|
|
|
|
|
主題詞
|
北斗工業(yè)控制 ModBus 方案設(shè)計(jì)
|
|
|
更改欄
|
更改單號(hào)
|
更改日期
|
更改人
|
更改辦法
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
1 概述
北斗工業(yè)控制管理系統(tǒng)平臺(tái)旨在提供一套基于北斗短報(bào)文數(shù)據(jù)服務(wù)和標(biāo)準(zhǔn)工業(yè)控制通信協(xié)議的遠(yuǎn)程工業(yè)控制解決方案。平臺(tái)利用北斗通信鏈路實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)獲取和遠(yuǎn)程控制的目的。北斗工業(yè)控制管理系統(tǒng)平臺(tái)定制開(kāi)發(fā)的軟、硬件包括:由北斗工控通信服務(wù)軟件、北斗工業(yè)控制管理系統(tǒng)終端軟件、北斗工業(yè)控制管理系統(tǒng)終端機(jī)三部分組成。
2 設(shè)計(jì)依據(jù)及原則
2.1 設(shè)計(jì)依據(jù)
- 《北斗工業(yè)控制管理系統(tǒng)平臺(tái)二期技術(shù)要求0418A》
- 《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范》(GB/T 19582-2008)
- 《軍用裝備實(shí)驗(yàn)室環(huán)境試驗(yàn)方法》(GJB 150-2009)
- 《電子設(shè)備可靠性設(shè)計(jì)準(zhǔn)則》(YW1314-97)
2.2 設(shè)計(jì)原則
該設(shè)計(jì)方案在充分理解任務(wù)要求的基礎(chǔ)上,貫徹航天型號(hào)產(chǎn)品研制的相關(guān)規(guī)定,在設(shè)計(jì)中具體遵循以下原則:
- 實(shí)用性原則:以貼近實(shí)際、方便使用為設(shè)計(jì)宗旨,在充分了解客戶需求的基礎(chǔ)上進(jìn)行軟、硬件設(shè)計(jì),盡量方便用戶的操作和觀察。
- 可靠性原則:設(shè)計(jì)時(shí)把可靠性放于首位,供電、對(duì)外接口與內(nèi)部數(shù)字控制電路的隔離等設(shè)計(jì)均保證數(shù)據(jù)通信的可靠與安全;軟件設(shè)計(jì)時(shí)充分考慮用戶異常操作時(shí)對(duì)系統(tǒng)的保護(hù),保證各種情況下的系統(tǒng)安全性,保證設(shè)備工作的穩(wěn)定性。
- 可擴(kuò)展性原則:設(shè)計(jì)時(shí)應(yīng)充分考慮硬件和軟件的開(kāi)放性、靈活性,方便后期功能修改。
3 總體方案

圖3.1北斗工業(yè)控制平臺(tái)系統(tǒng)結(jié)構(gòu)框圖
服務(wù)器監(jiān)控軟件通過(guò)Modbus TCP/IP協(xié)議連接到北斗工業(yè)控制平臺(tái),北斗通信鏈路服務(wù)器為服務(wù)器監(jiān)控軟件提供鏈接轉(zhuǎn)換和數(shù)據(jù)傳輸服務(wù)。北斗工業(yè)控制平臺(tái)向外提供4個(gè)獨(dú)立的以太網(wǎng)口,每個(gè)IP地址支持250個(gè)PLC/RTU設(shè)備,設(shè)備號(hào)為1-250,北斗工業(yè)控制平臺(tái)根據(jù)IP地址和設(shè)備號(hào)實(shí)現(xiàn)目標(biāo)PLC/RTU設(shè)備連接的北斗設(shè)備地址的轉(zhuǎn)換;北斗通信鏈路服務(wù)器編碼后將數(shù)據(jù)幀傳輸至北斗終端,北斗終端設(shè)備解碼后轉(zhuǎn)換為Modbus TCP/IP協(xié)議發(fā)送給PLC/RTU設(shè)備進(jìn)行數(shù)據(jù)采集和控制。
表1 以太網(wǎng)口和設(shè)備號(hào)與PLC/RTU設(shè)備、連接的北斗終端組成的對(duì)應(yīng)關(guān)系映射
|
Modbus 協(xié)議指定地址
|
PLC/RTU設(shè)備IP地址
|
對(duì)應(yīng)的北斗終端地址
|
|
以太網(wǎng)端口
|
Modbus設(shè)備號(hào)
|
|
1
|
1-250
|
250個(gè)PLC/RTU設(shè)備IP地址
|
250個(gè)北斗設(shè)備ID
|
|
2
|
1-250
|
250個(gè)PLC/RTU設(shè)備IP地址
|
250個(gè)北斗設(shè)備ID
|
|
3
|
1-250
|
250個(gè)PLC/RTU設(shè)備IP地址
|
250個(gè)北斗設(shè)備ID
|
|
4
|
1-250
|
250個(gè)PLC/RTU設(shè)備IP地址
|
250個(gè)北斗設(shè)備ID
|
北斗工業(yè)控制平臺(tái)由北斗工控通信服務(wù)軟件、北斗工業(yè)控制管理系統(tǒng)終端軟件、北斗工業(yè)控制管理系統(tǒng)終端機(jī)組成。
- 北斗工控通信服務(wù)軟件:實(shí)現(xiàn)對(duì)服務(wù)器監(jiān)控服務(wù)器的服務(wù)響應(yīng),利用北斗信道與北斗終端雙向傳輸自定義協(xié)議實(shí)現(xiàn)數(shù)據(jù)采集和控制功能;針對(duì)北斗工業(yè)控制平臺(tái)進(jìn)行設(shè)置,實(shí)現(xiàn)以太網(wǎng)口和設(shè)備號(hào)與北斗地址映射關(guān)系管理、各個(gè)終端的指令預(yù)配置;
- 北斗工業(yè)控制管理系統(tǒng)終端軟件:提供標(biāo)準(zhǔn)的北斗通信功能,并支持ModBus協(xié)議編解碼,支持自定義協(xié)議,實(shí)現(xiàn)數(shù)據(jù)采集和控制功能;
- 北斗工業(yè)控制管理系統(tǒng)終端機(jī):實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備和北斗鏈路的雙向通信的硬件平臺(tái)。
軟件設(shè)計(jì)共包括兩部分:北斗工控通信服務(wù)軟件、北斗工業(yè)控制管理系統(tǒng)終端軟件。其中北斗工控通信服務(wù)軟件按照功能劃分為信道服務(wù)器軟件設(shè)計(jì)、信道配置軟件設(shè)計(jì)、自定義協(xié)議設(shè)計(jì)、MODBUS服務(wù)器與客戶端軟件設(shè)計(jì)。北斗工業(yè)控制管理系統(tǒng)終端軟件按照功能劃分為終端軟件設(shè)計(jì)、MODBUS服務(wù)器與客戶端軟件設(shè)計(jì)。
圖3.2北斗工業(yè)控制平臺(tái)軟件結(jié)構(gòu)框圖
信道服務(wù)器軟件負(fù)責(zé)對(duì)服務(wù)器監(jiān)控軟件的MODBUS指令進(jìn)行響應(yīng),負(fù)責(zé)服務(wù)器監(jiān)控軟件的MODBUS協(xié)議與北斗自定義協(xié)議的轉(zhuǎn)換,負(fù)責(zé)對(duì)北斗指揮機(jī)進(jìn)行數(shù)據(jù)收發(fā)控制。軟件通過(guò)數(shù)據(jù)映射緩存的方式實(shí)現(xiàn)北斗和工控現(xiàn)場(chǎng)帶寬不匹配的問(wèn)題。北斗數(shù)據(jù)按照用戶等級(jí)實(shí)現(xiàn)不同的數(shù)據(jù)更新頻度,服務(wù)器端數(shù)據(jù)實(shí)現(xiàn)秒級(jí)更新頻度。
終端軟件負(fù)責(zé)控制北斗終端收發(fā)北斗自定義協(xié)議,負(fù)責(zé)北斗自定義協(xié)議與MODBUS協(xié)議的轉(zhuǎn)換,負(fù)責(zé)與終端PLC/RTU設(shè)備通過(guò)MODBUS協(xié)議進(jìn)行控制與查詢。
信道配置軟件負(fù)責(zé)服務(wù)器軟件與終端軟件的指令配置、資源配置以及通信鏈路映射關(guān)系配置。
基于地址映射的北斗傳輸協(xié)議與MODBUS協(xié)議的對(duì)應(yīng)關(guān)系,定義讀寫(xiě)指令的優(yōu)先級(jí)、請(qǐng)求應(yīng)答方式。
MODBUS服務(wù)器與客戶端軟件向上通過(guò)MODBUS接口為MODBUS客戶端提供數(shù)據(jù)存取服務(wù),使得現(xiàn)場(chǎng)設(shè)備的狀態(tài)可以實(shí)時(shí)的顯示在監(jiān)控中心平臺(tái)上。
3.1 軟件功能分析
- 與監(jiān)控軟件建立4個(gè)TCP連接(分別部署在兩臺(tái)服務(wù)器上),能夠提取基于TCP/IP的Modbus尋數(shù)幀數(shù)據(jù)包,要求采用合理的機(jī)制保證服務(wù)器監(jiān)控發(fā)送命令在服務(wù)器監(jiān)控設(shè)置超時(shí)時(shí)間內(nèi)得到響應(yīng);
- 解析尋數(shù)幀讀取功能碼、站號(hào)、讀寫(xiě)數(shù)據(jù)地址和數(shù)量,其中每一個(gè)TCP連接對(duì)應(yīng)的PLC/RTU設(shè)備的站號(hào)為250個(gè);
- 將解析后的尋數(shù)幀轉(zhuǎn)化為北斗短信報(bào)文下發(fā)到北斗終端設(shè)備,要求具備最大化(1000個(gè)站點(diǎn))并發(fā)處理能力;
- 提供尋數(shù)幀站號(hào)和PLC/RTU設(shè)備IP地址對(duì)應(yīng)關(guān)系管理功能;
- 提供PLC/RTU設(shè)備IP地址和北斗地址的映射關(guān)系管理功能;
- 數(shù)據(jù)鏈路采用北斗通信連路,通信連路要符合北斗體系約束;
- 系統(tǒng)支持同時(shí)針對(duì)每個(gè)PLC/RTU設(shè)備單獨(dú)采集/控制,采集數(shù)據(jù)的更新頻率合理,充分利用北斗通信信道,實(shí)現(xiàn)不同PLC/RTU設(shè)備的不同地址數(shù)據(jù)采集和控制;
3.1.1 北斗工控通信服務(wù)軟件方案
- 信道服務(wù)器軟件通過(guò)TCP/IP協(xié)議建立與服務(wù)器監(jiān)控軟件的連接,能夠通過(guò)IP地址及MODBUS中設(shè)備號(hào)進(jìn)行北斗終端地址轉(zhuǎn)換。
- 在信道服務(wù)器中建立所有的終端的虛擬終端(實(shí)際終端設(shè)備的虛擬數(shù)據(jù)映射),并通過(guò)虛擬終端完成與服務(wù)器監(jiān)控軟件的MODBUS協(xié)議通信。在本模塊中服務(wù)器監(jiān)控軟件為主節(jié)點(diǎn),服務(wù)器監(jiān)控軟件發(fā)送MODBUS指令;虛擬終端為子節(jié)點(diǎn),虛擬終端回復(fù)回令。
- 信道服務(wù)器軟件控制北斗指揮機(jī)進(jìn)行數(shù)據(jù)收發(fā),對(duì)自定義的北斗傳輸協(xié)議進(jìn)行轉(zhuǎn)換。虛擬終端將收到的北斗協(xié)議數(shù)據(jù)進(jìn)行解析,更新自身狀態(tài)。虛擬終端將服務(wù)器監(jiān)控發(fā)送的控制指令生成北斗控制命令,通過(guò)指揮機(jī)進(jìn)行發(fā)送,并向服務(wù)器監(jiān)控軟件回復(fù)控制回令;指揮機(jī)收到北斗回令后,立刻更新虛擬終端的狀態(tài)信息。
- 信道服務(wù)器軟件啟動(dòng)后,根據(jù)配置文件中的描述信息建立虛擬從站,每個(gè)虛擬從站獨(dú)立維護(hù)自身狀態(tài)。軟件使用兩個(gè)隊(duì)列及線程分別處理MODBUS協(xié)議及北斗自定義協(xié)議。

圖3.3北斗工業(yè)控制服務(wù)軟件結(jié)構(gòu)框圖
- 服務(wù)器軟件能夠解析配置文件中的指令、資源配置、通信鏈路映射關(guān)系等信息。
- 服務(wù)器軟件能夠向終端發(fā)送握手、重啟等終端控制指令。
- 服務(wù)器軟件具備良好的人機(jī)交互界面,供用戶進(jìn)行狀態(tài)查看,配置更新等操作。
3.1.1.1 多鏈接并發(fā)
Ø 支持多上位機(jī)系統(tǒng)多鏈接并發(fā)訪問(wèn);
軟件按照《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范》(GB/T 19582-2008)實(shí)現(xiàn)C/S服務(wù)方式提供通信服務(wù),可以實(shí)現(xiàn)1024個(gè)以太網(wǎng)連接并發(fā)訪問(wèn)。
MODBUS 報(bào)文傳輸服務(wù)在502口上提供一個(gè)偵聽(tīng)套接字,允許接收新的連接和與其他設(shè)備交換數(shù)據(jù)。當(dāng)報(bào)文傳輸服務(wù)需要與遠(yuǎn)端服務(wù)器交換數(shù)據(jù)時(shí),它與遠(yuǎn)端502 口建立一個(gè)新的客戶連接,以便與遠(yuǎn)距離交換數(shù)據(jù)。本地口必須高于1024,并且每個(gè)客戶連接
各不相同。如果客戶機(jī)與服務(wù)器的連接數(shù)量大于授權(quán)的連接數(shù)量,則最早建立的無(wú)用的連接被關(guān)閉。激活訪問(wèn)控制機(jī)制檢查遠(yuǎn)端客戶機(jī)的IP 地址是否是經(jīng)過(guò)授權(quán)的。如果未經(jīng)授權(quán),將拒絕新的連接。
基于已經(jīng)打開(kāi)的正確的TCP 連接發(fā)送MODBUS 請(qǐng)求。遠(yuǎn)端設(shè)備的IP 地址用于尋找所建的TCP 連接。在與同一個(gè)遠(yuǎn)端設(shè)備建立多個(gè)連接時(shí),選擇其中一個(gè)連接用于發(fā)送MODBUS報(bào)文,可以采取不同的選擇策略,例如:最早的連接、第一個(gè)連接。在MODBUS通信的全過(guò)程中,連接必須始終保持打開(kāi)。一個(gè)客戶機(jī)可以向一個(gè)服務(wù)器啟動(dòng)多個(gè)事務(wù)處理,而不必等待前序事物處理結(jié)束。本軟件支持最大1024個(gè)TCP鏈接。
采用Socket通信來(lái)實(shí)現(xiàn)Moubus/TCP服務(wù)端和Moubus/TCP客戶端的互聯(lián),Socket (套接字)機(jī)制是一種API,其提供的網(wǎng)絡(luò)通信機(jī)制也是客戶-服務(wù)器模式,本文設(shè)計(jì)的服務(wù)器采用面向連接的服務(wù)(TCP)實(shí)現(xiàn)數(shù)據(jù)交換。Socket連接建立和關(guān)閉的流程如圖所示:

主要步驟為:
(1)服務(wù)器端創(chuàng)建Socket套接字,并綁定監(jiān)聽(tīng)相應(yīng)端口的輸入;
(2)客戶端發(fā)出建立連接請(qǐng)求,服務(wù)器端和客戶端建立連接;
(3)客戶端發(fā)出服務(wù)請(qǐng)求,服務(wù)器端接收到請(qǐng)求后,處理此請(qǐng)求并把結(jié)果返回給客戶端;
(4)重復(fù)上述過(guò)程,直到完成一次會(huì)話過(guò)程。
Ø 基于TCP/IP協(xié)議的C/S服務(wù)方式提供通信服務(wù);
北斗服務(wù)軟件運(yùn)行于服務(wù)器,配置管理軟件可以獨(dú)立運(yùn)行在客戶端或服務(wù)器,以C/S訪問(wèn)北斗服務(wù)軟件。
3.1.1.2 多協(xié)議支持
對(duì)外通信采用Modbus TCP標(biāo)準(zhǔn)協(xié)議進(jìn)行通信,現(xiàn)場(chǎng)通信數(shù)據(jù)通過(guò)數(shù)據(jù)緩存區(qū)進(jìn)行讀寫(xiě)訪問(wèn)。
3.1.1.3 地址映射管理
將不同的Modbus TCP設(shè)備號(hào)、OPC設(shè)備名映射到北斗通信終端通信,利用北斗通信信息報(bào)文的24bit區(qū)分不同的現(xiàn)場(chǎng)設(shè)備,進(jìn)行一對(duì)一的現(xiàn)場(chǎng)設(shè)備管理。
服務(wù)軟件以終端SIM卡號(hào)、終端映射Modbus TCP設(shè)備號(hào)、服務(wù)器SIM卡號(hào)、終端IP、終端網(wǎng)關(guān)、數(shù)據(jù)源IP、數(shù)據(jù)源站地址、OPC設(shè)備名等信息為一一對(duì)應(yīng)關(guān)系建立關(guān)系數(shù)據(jù)庫(kù),提供增刪改查功能。
3.1.1.4 Modbus TCP協(xié)議
軟件按照《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范》(GB/T 19582-2008)實(shí)現(xiàn)配置指令解析、數(shù)據(jù)指令解析、設(shè)置指令解析、設(shè)備地址提取。
Modbus/TCP協(xié)議使用TCP502端口,查詢-應(yīng)答機(jī)制和Modbus協(xié)議相同,不同的地方在于組成報(bào)文的字節(jié)內(nèi)容和順序、差錯(cuò)校驗(yàn)方式和地址描述。Modbus/TCP協(xié)議中通信采用C/S模式,C/S模型服務(wù)方式見(jiàn)圖所示:

其中請(qǐng)求(Request):客戶端向服務(wù)端發(fā)送請(qǐng)求;
指示(Indication):服務(wù)端標(biāo)識(shí)接收到了客戶端請(qǐng)求;
響應(yīng)(Response):服務(wù)端響應(yīng)請(qǐng)求,開(kāi)始向客戶端發(fā)送數(shù)據(jù);
證實(shí)(Confirmation):標(biāo)識(shí)客戶端接收到服務(wù)端發(fā)送的消息。

ADU(Application Data Unit)應(yīng)用數(shù)據(jù)單元,PDU(Protocol DataUnit)協(xié)議數(shù)據(jù)單元,Modbus/TCP協(xié)議中有專門(mén)的報(bào)文頭標(biāo)識(shí)MBAP(MocibusApplication Protocol Header)。可見(jiàn)Modbus/TCP數(shù)據(jù)巾貞中沒(méi)有專門(mén)的錯(cuò)誤校驗(yàn)部分,而是在MBAP頭中附加了數(shù)據(jù)長(zhǎng)度信息以完成對(duì)數(shù)據(jù)的校驗(yàn),利用它可以確保接收方可以識(shí)別出所傳誦的數(shù)據(jù)的邊界,甚至當(dāng)數(shù)據(jù)被分割成很多包時(shí)也能確保數(shù)據(jù)的正確性,這些校驗(yàn)措施保證了 Modbus/TCP協(xié)議傳送數(shù)據(jù)的正確性和可靠性。
3.1.1.5 OPC協(xié)議
OPC DA 3.0規(guī)范是2003年3月OPC基金會(huì)發(fā)布的OPC DA自定義接口規(guī)范。該規(guī)范制定了OPC服務(wù)器和OPC客戶程序的COM接口標(biāo)準(zhǔn),通過(guò)制定標(biāo)準(zhǔn)的接口來(lái)實(shí)現(xiàn)多個(gè)廠家的OPC服務(wù)器和OPC客戶程序開(kāi)發(fā)。
OPC DA以Microsoft的COM/DCOM技術(shù)為基礎(chǔ),采用C/S通信模式,并為OPC的服務(wù)器和客戶端定義了一套標(biāo)準(zhǔn)的COM接口。該規(guī)范指出,通過(guò)這些標(biāo)準(zhǔn)的數(shù)據(jù)通信接口,一個(gè)OPC客戶端可以連接到一個(gè)或多個(gè)由不同廠家提供的OPC服務(wù)器,而多個(gè)OPC客戶端也可以連接到同一個(gè)OPC服務(wù)器上,其OPC客戶端與OPC服務(wù)器之間關(guān)系如圖所示。

OPC DA規(guī)范為OPC服務(wù)器定義一個(gè)由服務(wù)器(Server)、組(Group)、項(xiàng)(Item)三個(gè)數(shù)據(jù)對(duì)象組成的三層數(shù)據(jù)結(jié)構(gòu)體系來(lái)管理數(shù)據(jù)信息,如圖3-4所示。其中OPC服務(wù)器對(duì)象除了管理對(duì)象自身的相關(guān)信息之外,還作為OPC組對(duì)象的一個(gè)容器,可以包含多個(gè)組對(duì)象數(shù)據(jù),而組對(duì)象除了管理自身的相關(guān)信息之外,還作為OPC項(xiàng)的容器,將OPC項(xiàng)包含在組對(duì)象之中。

OPC項(xiàng)對(duì)象代表的是OPC服務(wù)器到數(shù)據(jù)源的一個(gè)物理連接,即我們所要監(jiān)控的數(shù)據(jù)點(diǎn)。一個(gè)項(xiàng)對(duì)象中包含三種屬性值(Value)、品質(zhì)(Quality)和時(shí)間戳(Time Stamp)。可是,項(xiàng)對(duì)象并沒(méi)有直接暴露的可用接口,我們要獲得項(xiàng)對(duì)象的數(shù)據(jù)信息,必須得通過(guò)它的容器——組對(duì)象,一個(gè)組對(duì)象可以任意創(chuàng)建項(xiàng)對(duì)象,因此,我們說(shuō)組對(duì)象為OPC客戶端程序提供了一種分組管理設(shè)備數(shù)據(jù)的方法。例如,一個(gè)組對(duì)象代表了一個(gè)PLC中需要讀寫(xiě)的寄存器組。而其中的項(xiàng)對(duì)象便對(duì)應(yīng)寄存器單元。組對(duì)象是由服務(wù)器對(duì)象來(lái)管理,這樣便構(gòu)成了OPC服務(wù)器對(duì)象的三層次結(jié)構(gòu)。
接口是OPC DA數(shù)據(jù)通信規(guī)范的最重要內(nèi)容,規(guī)范規(guī)定的三種數(shù)據(jù)對(duì)象——服務(wù)器對(duì)象、組對(duì)象和項(xiàng)對(duì)象。以下內(nèi)容主要介紹服務(wù)器對(duì)象和組對(duì)象的接口定義。
(1)OPC服務(wù)器對(duì)象
OPC服務(wù)器對(duì)象是OPC服務(wù)器程序?qū)ν饨缈梢?jiàn)的主要對(duì)象,即客戶端程序通過(guò)該接口調(diào)用OPC服務(wù)器對(duì)象的功能函數(shù),從而實(shí)現(xiàn)對(duì)服務(wù)器對(duì)象的操作。
。
上圖所示為一個(gè)標(biāo)準(zhǔn)OPC服務(wù)器對(duì)象及其相應(yīng)的接口,以下我們來(lái)簡(jiǎn)單介紹一下服務(wù)器對(duì)象的接口及其功能。
IUnknown接口:微軟COM組件必須實(shí)現(xiàn)的一個(gè)基礎(chǔ)接口。
IOPCCommon接口:提供設(shè)置客戶/服務(wù)器對(duì)話和查詢本地標(biāo)識(shí)的方法。
IOPCServer接口:主要用于組對(duì)象的創(chuàng)建、刪除、枚舉和獲取當(dāng)前狀態(tài)等操作,是OPC服務(wù)器對(duì)象的主要接口。
IOPCBrowse接口:提供瀏覽OPC服務(wù)器地址空間的方法。
IOPCItemIO接口:提供讀取項(xiàng)對(duì)象的值、質(zhì)量、時(shí)間的方法。
IConnectionPointContainer接口:提供向客戶程序發(fā)送通知或事件的方法。
OPC服務(wù)器對(duì)象的主要功能:建立和管理OPC組對(duì)象;瀏覽OPC服務(wù)器內(nèi)部的數(shù)據(jù)組織結(jié)構(gòu);管理服務(wù)器內(nèi)部的狀態(tài)信息。

(2)OPC組對(duì)象
OPC組對(duì)象提供了一種讓客戶組織數(shù)據(jù)的方法,是OPC服務(wù)器用來(lái)管理Item集合的對(duì)象。一個(gè)標(biāo)準(zhǔn)的OPC組對(duì)象及接口如上圖所示。以下我們來(lái)簡(jiǎn)單介紹一下服務(wù)器對(duì)象的接口及其功能。
IUnknown接口:微軟COM組件必須實(shí)現(xiàn)的一個(gè)基礎(chǔ)接口。
IOPCItemMgt接口:提供給添加、刪除、控制組對(duì)象中的項(xiàng)對(duì)象的方法。
IOPCGroupStateMgt2接口:提供獲取和設(shè)置組對(duì)象全部狀態(tài)的方法。
IOPCSyncIO接口:提供對(duì)OPC服務(wù)器進(jìn)行同讀/寫(xiě)操作的方法。
IOPCSyncIO2接口:繼承自IOPCSyncIOPC接口,提供了IOPCSyncIO的全部方法,此外,還提供基于組層次的同步向服務(wù)器寫(xiě)入時(shí)間戳和質(zhì)量信息的方法。
IOPCAsyncIO2接口:提供對(duì)OPC服務(wù)器進(jìn)行異步的讀/寫(xiě)操作的方法。
IOPCAsyncIO3接口:繼承自IOPCSyncIO2接口,提供了IOPCASyncIO的全部方法,此外,還提供基于組層次的異步向服務(wù)器寫(xiě)入時(shí)間戳和質(zhì)量信息的方法。
IOPCItemDeadBandMgt接口:提供組中某個(gè)項(xiàng)對(duì)象死區(qū)的管理方法。
IOPCItemSamplingMgt接口:這個(gè)可選接口提供了管理組中某個(gè)項(xiàng)對(duì)象的采樣周期的方法。
OPC組對(duì)象的主要功能:創(chuàng)建和管理Item對(duì)象;OPC服務(wù)器內(nèi)部的數(shù)據(jù)的同步、異步、訂閱讀取。OPC組對(duì)象對(duì)象主要面向OPC服務(wù)器對(duì)底層設(shè)備的數(shù)據(jù)存取,從用戶數(shù)據(jù)源處獲取信息。
(3)OPC項(xiàng)對(duì)象
OPC項(xiàng)對(duì)象沒(méi)有與外界交流的接口,它只包括三個(gè)基本屬性——值(Value)、品質(zhì)(Quality)、時(shí)間戳(Timestamp)。值的數(shù)據(jù)類型為VARIANT,表示實(shí)際的數(shù)值;品質(zhì)則標(biāo)識(shí)數(shù)值是否有效;時(shí)間戳反映了從設(shè)備讀取數(shù)據(jù)的時(shí)間或者服務(wù)器刷新其數(shù)據(jù)存儲(chǔ)區(qū)的時(shí)間。OPC項(xiàng)并不是實(shí)際的數(shù)據(jù)源,只是表示與數(shù)據(jù)源的連接。
OPC DA規(guī)范規(guī)定了三種數(shù)據(jù)訪問(wèn)方式:同步方式、異步方式、訂閱方式。
同步數(shù)據(jù)訪問(wèn)時(shí),OPC Client程序?qū)PC Server進(jìn)行讀寫(xiě)操作時(shí),OPC Client程序必須等到OPC Server相應(yīng)的操作全部完成后才能返回,在此期間OPC Client程序一直處于等待狀態(tài),OPC Client的效率比較低。在同步方式時(shí),如果有大量數(shù)據(jù)讀、寫(xiě)操作,必然造成OPC客戶程序的阻塞現(xiàn)象,因此同步通訊方式適用于OPC客戶程序較少,數(shù)據(jù)量較小時(shí)的場(chǎng)合。

異步數(shù)據(jù)訪問(wèn)時(shí),OPC Client程序?qū)PCServer進(jìn)行數(shù)據(jù)讀寫(xiě)時(shí),OPC Client程序操作后立刻返回,不必等待OPC Server的返回結(jié)果,可以立即進(jìn)行其他操作。當(dāng)OPCClient完成操作后再通知OPC Client程序。如下圖所示。跟同步通訊方式相比,異步通訊的效率更高,適用于進(jìn)行大量數(shù)據(jù)訪問(wèn)的場(chǎng)合。

訂閱方式進(jìn)行數(shù)據(jù)訪問(wèn)時(shí),不需要OPCClient程序向OPC Server發(fā)出請(qǐng)求,服務(wù)器周期性地掃描數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)。OPC標(biāo)簽的數(shù)據(jù)類型是模擬量時(shí),只有標(biāo)簽的當(dāng)前值與上次值的差的絕對(duì)值超過(guò)設(shè)定的范圍時(shí),才更新標(biāo)簽數(shù)據(jù)并通知OPC Client應(yīng)用程序。這樣OPC Client應(yīng)用程序就可以自動(dòng)接到OPC Server送來(lái)的變化通知,由此可以忽略模擬值的微小變化,使得網(wǎng)絡(luò)上的請(qǐng)求包數(shù)大大減少,大大降低了對(duì)服務(wù)器的重復(fù)訪問(wèn)次數(shù)。從而減輕OPC Server和OPC Client應(yīng)用程序的負(fù)擔(dān)。訂閱式數(shù)據(jù)采集方式實(shí)際上也屬于異步讀取方式的一種,如下圖所示。在數(shù)據(jù)點(diǎn)很多的情況下,訂閱通信方式的優(yōu)勢(shì)更能凸現(xiàn)出來(lái)。

要開(kāi)發(fā)OPC數(shù)據(jù)服務(wù)器,設(shè)計(jì)者既需要熟悉OPC規(guī)范,又要掌握相應(yīng)的硬件設(shè)備特性。OPC數(shù)據(jù)服務(wù)器大致可以分解為不同的功能模塊:OPC對(duì)象接口管理模塊,數(shù)據(jù)項(xiàng)和地址空間管理模塊、硬件設(shè)備通訊模塊以及服務(wù)器界面模塊等。COM組件程序可以用各種語(yǔ)言開(kāi)發(fā),但最適合COM開(kāi)發(fā)的語(yǔ)言仍然是C++,因此一般都選擇采用Visual C++進(jìn)行開(kāi)發(fā)。
MFC(Microsoft Foundation Classes,微軟基礎(chǔ)類庫(kù))開(kāi)發(fā)一個(gè)OPC服務(wù)器主要有以下幾個(gè)步驟:
(1)新建工程,添加對(duì)COM的支持,添加從OPC基金會(huì)下載的OPC3.0規(guī)范的接口文件,然后根據(jù)實(shí)際情況對(duì)各個(gè)接口ID進(jìn)行定義。
(2)創(chuàng)建OPC數(shù)據(jù)服務(wù)器類廠對(duì)象。從IClassFactory基類派生出OPCMasterOPCClassFactory類,然后重載CreateInstance()成員函數(shù),通過(guò)該函數(shù)創(chuàng)建COPCMaster服務(wù)器對(duì)象。
(3)設(shè)計(jì)OPC對(duì)象。根據(jù)實(shí)際需要修改OPCServer和OPCGroup類接口查詢函數(shù),增加相應(yīng)的指針成員變量。當(dāng)客戶程序查詢某一接口時(shí),實(shí)例化該接口類,并返回該接類的接口指針變量,然后,客戶程序通過(guò)該接口指針變量調(diào)用相應(yīng)的接口成員函數(shù)。
(4)數(shù)據(jù)訪問(wèn)地址空間設(shè)計(jì)。利用C++標(biāo)準(zhǔn)模板庫(kù)(STL)中的容器模板,實(shí)現(xiàn)對(duì)OPC服務(wù)器地址空間的樹(shù)形瀏覽。
(5)硬件設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā),或者調(diào)用硬件廠商提供的“I/O DLL”實(shí)現(xiàn)對(duì)硬件設(shè)備的通訊功能。
(6)界面設(shè)計(jì)。可以使用MFC中提供的樹(shù)形列表控件,按照“服務(wù)器對(duì)象-組對(duì)象-項(xiàng)對(duì)象”層次在界面左側(cè)用樹(shù)型結(jié)構(gòu)展示出來(lái),在右側(cè)用列表控件顯示具體的項(xiàng)對(duì)象信息。此外,還要設(shè)計(jì)相應(yīng)的通訊配置對(duì)話框。
- OPC服務(wù)器的軟件結(jié)構(gòu)
(1)OPC對(duì)象與接口模塊:OPC對(duì)象與接口由OPC基金會(huì)發(fā)布的規(guī)范規(guī)定,它們的主要功能也在規(guī)范中體現(xiàn)。在《OPC數(shù)據(jù)訪問(wèn)接口規(guī)范3.0版》中,定義了服務(wù)器對(duì)象、組對(duì)象的接口及功能,只需要按照要求實(shí)現(xiàn)即可。項(xiàng)對(duì)象,只是說(shuō)明了主要的功能和一些必須的屬性值,具體要根據(jù)物理設(shè)備的通訊協(xié)議的數(shù)據(jù)格式進(jìn)行定義,項(xiàng)對(duì)象可以用一個(gè)類或結(jié)構(gòu)體來(lái)描述,該類或結(jié)構(gòu)體應(yīng)該包含項(xiàng)對(duì)象所支持的全部屬性。
(2)服務(wù)器地址空間和數(shù)據(jù)管理模塊:服務(wù)器地址空間和數(shù)據(jù)管理是OPC服務(wù)器中的重要部分。該部分包含了由服務(wù)器程序定義的數(shù)據(jù)項(xiàng),OPC Client可以通過(guò)訪問(wèn)OPC Server對(duì)象的IOPCBrwose接口來(lái)瀏覽OPC Server的地址空間及其數(shù)據(jù)項(xiàng)的屬性。地址空間也被稱作現(xiàn)場(chǎng)數(shù)據(jù)緩存區(qū),OPC Client程序通過(guò)組對(duì)象來(lái)訪問(wèn)緩存區(qū)中的數(shù)據(jù),硬件設(shè)備驅(qū)動(dòng)不斷地讀取現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù),并將最新的現(xiàn)場(chǎng)數(shù)據(jù)傳送到緩沖管理區(qū)中。OPCServer的地址空間是分層次的,跟windows資源管理器的形式類似。采用樹(shù)型結(jié)構(gòu)來(lái)描述這個(gè)地址空間,這個(gè)樹(shù)形結(jié)構(gòu)屬于多叉樹(shù)的結(jié)構(gòu)。多叉樹(shù)又可以轉(zhuǎn)化為二叉樹(shù)。使用二叉樹(shù)描述OPCServer32的地址空間,實(shí)現(xiàn)的關(guān)鍵是二叉樹(shù)節(jié)點(diǎn)的定義和描述。使用結(jié)構(gòu)體實(shí)現(xiàn),該結(jié)構(gòu)體變量除了存儲(chǔ)節(jié)點(diǎn)本身的信息外,還應(yīng)存儲(chǔ)其父節(jié)點(diǎn)、最左子節(jié)點(diǎn)、最右兄弟節(jié)點(diǎn)的ID信息。描述地址空間節(jié)點(diǎn)的結(jié)構(gòu)體如下:
Typedef struct
{
Dword id;//節(jié)點(diǎn)的ID
Char name[100];//節(jié)點(diǎn)的名字
Dword dwParent ID;//節(jié)點(diǎn)父節(jié)點(diǎn)的ID
Dword dwLeftChildID;//節(jié)點(diǎn)的最左子節(jié)點(diǎn)的ID
Dword dwRightsiblingID;//節(jié)點(diǎn)的右邊兄弟節(jié)點(diǎn)的ID
}Node;
整個(gè)OPC Server的地址空間只需要用一個(gè)上面的結(jié)構(gòu)體數(shù)組就可以存儲(chǔ)下來(lái)并寫(xiě)入到配置文件中。此外,還必須定義一個(gè)類來(lái)對(duì)服務(wù)器地址空間全部節(jié)點(diǎn)(亦即節(jié)點(diǎn)結(jié)構(gòu)數(shù)組)進(jìn)行管理和操作。這個(gè)類主要包括添加、刪除、查看、遍歷結(jié)構(gòu)體數(shù)組的功能。地址空間中的節(jié)點(diǎn)實(shí)際上就是一個(gè)項(xiàng)對(duì)象,因此,該類也能對(duì)項(xiàng)對(duì)象進(jìn)行管理。在OPCServer接口模塊收到OPC Client程序請(qǐng)求后,可以利用該模塊提供所請(qǐng)求的OPC Item對(duì)應(yīng)的物理設(shè)備數(shù)據(jù)點(diǎn)的信息。
- OPC服務(wù)器的數(shù)據(jù)管理模塊
管理模塊是OPC數(shù)據(jù)存取服務(wù)器的一個(gè)關(guān)鍵模塊,它由五部分組成。
(1)通道定義模塊
通道定義是Modbus/TCP服務(wù)器(主設(shè)備)與遠(yuǎn)程地Modbus/TCP從設(shè)備的連接屬性設(shè)置項(xiàng)。對(duì)Modbus/TCP通訊協(xié)議來(lái)說(shuō),通道由IP地址、IP端口、連接超時(shí)時(shí)間等組成。對(duì)每一個(gè)“IP地址-IP端口對(duì)”必須定義一個(gè)唯一的通道。對(duì)于直接連接到TCP/IP網(wǎng)絡(luò)上的設(shè)備來(lái)說(shuō),使用這些信息就可以唯一地確定連接到OPC服務(wù)器的物理設(shè)備。

(2)Modbus/TCP從設(shè)備映射模塊
考慮到OPC服務(wù)器連接設(shè)備的多樣性、可擴(kuò)充性,地址空間布局的合理性,在管理模塊中設(shè)計(jì)了邏輯標(biāo)簽組對(duì)象和邏輯設(shè)備對(duì)象。由于不同的設(shè)備數(shù)據(jù)處理標(biāo)準(zhǔn)可能有一些差別,支持的Modbus/TCP的功能碼可能不同。因此,在管理模塊中,物理設(shè)備實(shí)際上被映射成為屬于某一特定通道的邏輯設(shè)備,通道的邏輯設(shè)備物理設(shè)備是一一對(duì)應(yīng)的關(guān)系。這種“通道-邏輯設(shè)備-標(biāo)簽組-標(biāo)簽”的層次結(jié)構(gòu)與OPC接口的樹(shù)狀地址空間是一一對(duì)應(yīng)的關(guān)系,這樣只需要在用戶界面中為邏輯設(shè)備和標(biāo)簽組做配置,對(duì)服務(wù)器的地址空間也就完成了配置。此外,還可以將邏輯上關(guān)聯(lián)的標(biāo)簽放在同一個(gè)標(biāo)簽組中,便于OPC服務(wù)器對(duì)數(shù)據(jù)項(xiàng)管理。比如,可以創(chuàng)建一個(gè)邏輯設(shè)備“PLC01”,將01號(hào)PLC中點(diǎn)全部置于該邏輯設(shè)備中創(chuàng)建一個(gè)標(biāo)簽組“Temperature”,將物理設(shè)備中的溫度模擬量全部置于該標(biāo)簽組。將相似的數(shù)據(jù)項(xiàng)進(jìn)行分類管理,大大提高了存取效率。
(3)數(shù)據(jù)點(diǎn)映射模塊
現(xiàn)場(chǎng)硬件設(shè)備的數(shù)據(jù)直接映射為標(biāo)簽,標(biāo)簽包含了設(shè)備數(shù)據(jù)點(diǎn)的地址、寄存器類型、數(shù)據(jù)變量類型、讀寫(xiě)權(quán)限等屬性。而OPC項(xiàng)(Item)代表了到數(shù)據(jù)源(物理設(shè)備數(shù)據(jù)點(diǎn))的連接。
(4)模擬變量變換模塊
硬件設(shè)備中的模擬量能以浮點(diǎn)數(shù)或整數(shù)的形式讀出,但這些值有可能只是數(shù)據(jù)量程范圍內(nèi)的一個(gè)相對(duì)值,需要經(jīng)過(guò)某種形式的變換才能轉(zhuǎn)換為有實(shí)際意義的物理值。
(5)數(shù)據(jù)點(diǎn)在線監(jiān)視模塊
OPC Server可以在線監(jiān)視現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù),并支持對(duì)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)讀寫(xiě)操作。在線監(jiān)視時(shí),OPC的添加、刪除服務(wù)器對(duì)象、組對(duì)象、項(xiàng)對(duì)象的操作被禁止。

3.1.1.6 現(xiàn)場(chǎng)數(shù)據(jù)獲取
通過(guò)北斗鏈路獲取現(xiàn)場(chǎng)數(shù)據(jù)、現(xiàn)場(chǎng)設(shè)備滿足MODBUS訪問(wèn)、通過(guò)配置文件完成不同資源的監(jiān)測(cè)等級(jí),不同監(jiān)測(cè)等級(jí)數(shù)據(jù)可按照不同頻度進(jìn)行更新。
下行控制的狀態(tài)參數(shù)及數(shù)據(jù)返回優(yōu)先級(jí)高于正常數(shù)據(jù)上傳,保證下行控制的及時(shí)有效。
現(xiàn)場(chǎng)數(shù)據(jù)類型分為DI/DO/AI/AO四種類型可選,每種類型可配置最大數(shù)量200個(gè)。具體的通信指令設(shè)置如下:
- 按照最大站點(diǎn)數(shù)據(jù)量計(jì)算,完全更新一次有效數(shù)據(jù)需要更新428Bytes數(shù)據(jù),即通過(guò)12條報(bào)文完成數(shù)據(jù)的更新,終端數(shù)據(jù)完全更新周期約為13min。數(shù)據(jù)查詢指令中不同資源可設(shè)置不同監(jiān)測(cè)等級(jí),不同監(jiān)測(cè)等級(jí)不同的更新頻率。當(dāng)終端數(shù)據(jù)更新采用不同監(jiān)測(cè)等級(jí)查詢時(shí),高優(yōu)先級(jí)數(shù)據(jù)更新周期縮短,低優(yōu)先級(jí)數(shù)據(jù)更新周期相應(yīng)延長(zhǎng)。
3.1.1.7 工控指令下發(fā)
- 數(shù)據(jù)查詢指令不再采用“請(qǐng)求-應(yīng)答模式”,指揮機(jī)不再發(fā)送周期性查詢命令,改為由終端主動(dòng)向指揮機(jī)上報(bào),終端按照監(jiān)測(cè)等級(jí)以不同頻度更新監(jiān)測(cè)數(shù)據(jù);信道服務(wù)器依據(jù)本地緩存數(shù)據(jù)向服務(wù)器監(jiān)控軟件進(jìn)行實(shí)時(shí)回復(fù)。
- 控制指令保持“請(qǐng)求-應(yīng)答模式”,信道服務(wù)器始終向服務(wù)器監(jiān)控軟件實(shí)時(shí)回復(fù)控制指令正常回令,并通過(guò)北斗通信鏈路下發(fā)控制指令;控制回令通過(guò)北斗終端回復(fù)至北斗指揮機(jī),回復(fù)內(nèi)容為與控制指令相關(guān)的數(shù)據(jù)查詢值。工控指令下發(fā)和執(zhí)行狀態(tài)返回優(yōu)先于現(xiàn)場(chǎng)數(shù)據(jù)獲取;
- 支持工控指令發(fā)送策略:點(diǎn)對(duì)點(diǎn)。控制指令由服務(wù)器監(jiān)控軟件發(fā)起控制指令(指揮機(jī)->單個(gè)終端):iFix軟件對(duì)某個(gè)站點(diǎn)下達(dá)的控制命令,通過(guò)指揮機(jī)->單個(gè)終端的報(bào)文下達(dá),若控制指令可以在一條報(bào)文中傳輸完畢,控制周期為30S+60S+20S。若控制指令需要N條報(bào)文進(jìn)行傳輸,則控制周期為(30S+60S+20S)*N。不同站點(diǎn)的控制指令排隊(duì)發(fā)送。
- 北斗服務(wù)上傳、下行數(shù)據(jù)通過(guò)質(zhì)量戳標(biāo)記表示操作成功與否。
為保證北斗鏈路中控制數(shù)據(jù)準(zhǔn)確及時(shí)的傳遞,對(duì)控制數(shù)據(jù)采取下列可靠性保證措施:
- 控制指令中增加數(shù)據(jù)校驗(yàn)功能,若傳輸出現(xiàn)異常,丟棄當(dāng)前報(bào)文,等待重傳;避免終端PLC/RTU誤動(dòng)作。
- 控制指令采用“請(qǐng)求+應(yīng)答”模式,若服務(wù)器端發(fā)送的請(qǐng)求未在有效時(shí)間內(nèi)收到回復(fù),則允許客戶端進(jìn)行重發(fā)操作,保證命令能夠正常傳遞。
- 現(xiàn)場(chǎng)數(shù)據(jù)分優(yōu)先級(jí)進(jìn)行傳輸。
3.1.1.8 北斗短報(bào)文管理
北斗一號(hào)通信能力與用戶等級(jí)相關(guān),用戶等級(jí)越低,優(yōu)先級(jí)越低,通信能力越差。
- 數(shù)據(jù)報(bào)文長(zhǎng)度:(項(xiàng)目采用非加密用戶,通信等級(jí)3) 每次傳輸44個(gè)漢字(14bit/漢字,628bit,約80byte)
- 服務(wù)頻度:(項(xiàng)目用戶為2類)
終端->指揮機(jī):60s
指揮機(jī)->單個(gè)終端:30s
指揮機(jī)->全部終端(廣播):30s
北斗一號(hào)對(duì)普通通信的響應(yīng)時(shí)間:小于等于10s
- 北斗鏈路系統(tǒng)信號(hào)傳輸由用戶經(jīng)衛(wèi)星至中心控制系統(tǒng)為入站,由中心控制系統(tǒng)經(jīng)衛(wèi)星至用戶為出站,每次通信都需要進(jìn)行一次出站及入站操作。
- 由于傳輸中存在數(shù)據(jù)分組情況,協(xié)議中需要添加數(shù)據(jù)幀編號(hào)來(lái)進(jìn)行數(shù)據(jù)完整性檢驗(yàn)。
- 制定數(shù)據(jù)查詢協(xié)議,需包括資源配置情況、監(jiān)測(cè)等級(jí)、傳輸周期及傳輸數(shù)據(jù)。
- 制定控制指令,需要按照具體應(yīng)用情況進(jìn)行分級(jí),不同級(jí)別的控制指令設(shè)計(jì)不同協(xié)議分別處理。
- 制定終端控制指令協(xié)議。
表4 通信類型和指令類型
|
通信類型
|
指令類型
|
備注
|
|
上行(終端->指揮機(jī))
|
控制指令回令
|
回復(fù)關(guān)聯(lián)資源的數(shù)據(jù)信息
|
|
配置文件更新回令
|
|
|
終端狀態(tài)回令
|
|
|
下行(指揮機(jī)->終端)
|
直接控制指令
|
|
|
配置文件更新指令
|
資源配置信息直接更新,關(guān)聯(lián)信息按新增、刪除操作
|
|
終端控制指令
|
包括握手、系統(tǒng)啟動(dòng)、系統(tǒng)停止等指令
|
- 短報(bào)文根據(jù)具體的數(shù)據(jù)格式進(jìn)行解壓縮,模擬類的現(xiàn)場(chǎng)數(shù)據(jù)將浮點(diǎn)轉(zhuǎn)化為整形,壓縮數(shù)據(jù)。
- 短報(bào)文長(zhǎng)包分幀發(fā)送:對(duì)大的數(shù)據(jù)包進(jìn)行拆包并加相應(yīng)的包頭,接收端對(duì)接收的數(shù)據(jù)包拆除包頭,并對(duì)數(shù)據(jù)合并,如果有數(shù)據(jù)包丟失,則要求發(fā)送端重新發(fā)送丟失的數(shù)據(jù)包,直到所有的數(shù)據(jù)接收完畢為止。同時(shí)還必須采取超時(shí)控制等措施,保證數(shù)據(jù)通信效率和降低通信費(fèi)用。
3.1.1.9 北斗通道管理
軟件集成對(duì)北斗通道添加、刪除、修改和查詢功能,北斗通道批量添加、刪除,啟用、停用,方便用戶靜態(tài)和動(dòng)態(tài)管理配置。
3.1.1.10 遠(yuǎn)程北斗工業(yè)控制管理系統(tǒng)終端機(jī)管理
軟件集成對(duì)北斗工業(yè)控制管理系統(tǒng)終端機(jī)的信息查詢、支持遠(yuǎn)程啟動(dòng)、停止,通過(guò)信道配置接口對(duì)遠(yuǎn)程修改北斗工業(yè)控制管理系統(tǒng)終端機(jī)配置參數(shù)、支持北斗工業(yè)控制管理系統(tǒng)終端機(jī)運(yùn)行狀態(tài)監(jiān)控。
- 信道配置軟件能夠?qū)Ψ⻊?wù)器軟件與終端軟件的預(yù)置指令配置、資源配置以及通信鏈路映射關(guān)系進(jìn)行配置,分別生成服務(wù)器端配置文件及終端軟件配置文件。
- 具備友好的人機(jī)交互界面,用戶可以按照提示或向?qū)瓿膳渲霉ぷ鳌?/li>
配置文件包括以下幾部分內(nèi)容:
- 站點(diǎn)資源配置信息:包括站點(diǎn)資源數(shù)量、站點(diǎn)資源類型等信息的描述。
- 資源監(jiān)測(cè)等級(jí)描述信息:描述不同資源的監(jiān)測(cè)等級(jí),不同監(jiān)測(cè)等級(jí)數(shù)據(jù)可按照不同頻度進(jìn)行更新。
- 資源關(guān)聯(lián)信息:描述控制量與相關(guān)監(jiān)測(cè)量的對(duì)應(yīng)關(guān)系。
- 預(yù)置指令信息:描述不同預(yù)置指令的功能。
配置文件支持離線更新和通過(guò)北斗鏈路在線更新。由于北斗鏈路在線更新過(guò)程中當(dāng)前站點(diǎn)無(wú)法進(jìn)行數(shù)據(jù)查詢,且整個(gè)系統(tǒng)無(wú)法下達(dá)控制指令,因此,首次固化配置文件建議離線更新,后續(xù)進(jìn)行配置文件調(diào)整時(shí)可采用在線更新方式。
3.1.1.11 系統(tǒng)自維護(hù)
軟件通過(guò)監(jiān)視窗口實(shí)時(shí)顯示系統(tǒng)各服務(wù)組件運(yùn)行狀態(tài)監(jiān)視,并實(shí)時(shí)保存運(yùn)行狀態(tài)日志,供用戶維護(hù)和排查問(wèn)題定位。
3.1.1.12 通信聯(lián)絡(luò)狀態(tài)監(jiān)視
軟件通過(guò)監(jiān)視窗口實(shí)時(shí)顯示上位機(jī)與北斗工業(yè)控制管理系統(tǒng)平臺(tái)服務(wù)軟件的鏈路狀態(tài)、北斗通信聯(lián)絡(luò)狀態(tài)和北斗工業(yè)控制管理系統(tǒng)終端機(jī)與工控設(shè)備的聯(lián)絡(luò)狀態(tài),提供界面顯示。
3.1.1.13 用戶權(quán)限
軟件通過(guò)設(shè)置管理員、普通用戶、監(jiān)視用戶等權(quán)限的配置,實(shí)現(xiàn)對(duì)通信信道、資源配置等的管理。
3.1.1.14 綜合管理界面
軟件支持圖形化的綜合管理界面對(duì)整個(gè)服務(wù)軟件提供的服務(wù)進(jìn)行可視化管理操作,包括啟動(dòng)、停止和重啟;支持各環(huán)節(jié)策略的可視化管理與維護(hù);支持個(gè)模塊圖形化管理與配置等功能。



3.1.1.15 支持市場(chǎng)主流北斗天線
軟件與北斗指揮型用戶機(jī)接口協(xié)議遵循《北斗一號(hào)用戶機(jī)數(shù)據(jù)接口要求( 4.0 版)》,在前期其它項(xiàng)目設(shè)計(jì)過(guò)程中,與多家天線廠商產(chǎn)品進(jìn)行了匹配,指標(biāo)一致性良好。
3.1.2 北斗終端軟件設(shè)計(jì)方案
- 在終端中建立虛擬主站(僅控制當(dāng)前終端的模擬主站),由虛擬主站向PLC/RTU發(fā)起TCP/IP連接。
- 終端軟件能夠按配置協(xié)議配置虛擬主站。
- 虛擬主站按資源配置情況及監(jiān)測(cè)等級(jí)周期性查詢PLC/RTU狀態(tài),查詢后轉(zhuǎn)換為北斗協(xié)議后發(fā)送。不同監(jiān)測(cè)等級(jí)分配不同的查詢周期,等級(jí)越高查詢頻率越高。
- 終端軟件能夠控制北斗接收機(jī),完成北斗短報(bào)文的數(shù)據(jù)收發(fā)工作。
- 終端軟件中運(yùn)行嵌入式MODBUS TCP/IP協(xié)議棧,完成TCP/IP下MODBUS指令的收發(fā)工作。
- 終端軟件通過(guò)北斗終端接收控制指令,轉(zhuǎn)換為MODBUS指令后,由虛擬主站發(fā)送給PLC/RTU。
- 虛擬主站接收到控制回令后,按照配置信息中資源關(guān)聯(lián)信息查詢PLC/RTU狀態(tài),并將查詢結(jié)果轉(zhuǎn)換為自定義北斗協(xié)議,優(yōu)先通過(guò)北斗終端發(fā)回指揮機(jī)。
- 終端軟件能夠通過(guò)北斗鏈路接收配置更新信息,并對(duì)本地配置信息進(jìn)行更新。
- 終端軟件能夠響應(yīng)終端控制指令并進(jìn)行回復(fù)。
- MODBUS協(xié)議棧:定義了ModBus總線MASTER(主站)與SLAVE(從站)之間的通訊報(bào)文格式。對(duì)于服務(wù)器來(lái)說(shuō),終端作為從站;對(duì)于RTU設(shè)備來(lái)說(shuō),終端作為主站。詳細(xì)協(xié)議幀請(qǐng)參考《基于Modbus協(xié)議的工業(yè)自動(dòng)化網(wǎng)絡(luò)規(guī)范》(GB/T19582-2008)。
3.1.2.1 多協(xié)議支持
對(duì)外通信采用Modbus TCP標(biāo)準(zhǔn)協(xié)議進(jìn)行通信,現(xiàn)場(chǎng)通信數(shù)據(jù)通過(guò)數(shù)據(jù)緩存區(qū)進(jìn)行讀寫(xiě)訪問(wèn)。
3.1.2.2 Modbus TCP協(xié)議
同3.1.1.4內(nèi)容。
3.1.2.3 數(shù)據(jù)獲取指令執(zhí)行
軟件內(nèi)部設(shè)置數(shù)據(jù)緩存區(qū),解決MODBUS和北斗之間帶寬不匹配問(wèn)題。對(duì)上緩存服務(wù)軟件下發(fā)的數(shù)據(jù)獲取指令,對(duì)下按照服務(wù)軟件設(shè)定的策略執(zhí)行對(duì)應(yīng)的協(xié)議指令。
現(xiàn)場(chǎng)數(shù)據(jù)類型分為DI/DO/AI/AO四種類型可選,每種類型可配置最大數(shù)量200個(gè)。各類型數(shù)據(jù)優(yōu)化結(jié)構(gòu)、拼幀傳輸,減少對(duì)北斗帶寬的消耗。
按照最大站點(diǎn)數(shù)據(jù)量計(jì)算,完全更新一次有效數(shù)據(jù)需要更新428Bytes數(shù)據(jù),即通過(guò)12條報(bào)文完成數(shù)據(jù)的更新,終端數(shù)據(jù)完全更新周期約為13min。數(shù)據(jù)查詢指令中不同資源可設(shè)置不同監(jiān)測(cè)等級(jí),不同監(jiān)測(cè)等級(jí)不同的更新頻率。當(dāng)終端數(shù)據(jù)更新采用不同監(jiān)測(cè)等級(jí)查詢時(shí),高優(yōu)先級(jí)數(shù)據(jù)更新周期縮短,低優(yōu)先級(jí)數(shù)據(jù)更新周期相應(yīng)延長(zhǎng)。
3.1.2.4 工控指令執(zhí)行
控制指令保持“請(qǐng)求-應(yīng)答模式”,信道服務(wù)器始終向服務(wù)器監(jiān)控軟件實(shí)時(shí)回復(fù)控制指令正常回令,并通過(guò)北斗通信鏈路下發(fā)控制指令;控制回令通過(guò)北斗終端回復(fù)至北斗指揮機(jī),回復(fù)內(nèi)容為與控制指令相關(guān)的數(shù)據(jù)查詢值。工控指令下發(fā)和執(zhí)行狀態(tài)返回優(yōu)先于現(xiàn)場(chǎng)數(shù)據(jù)獲取。
3.1.2.5 遠(yuǎn)程北斗工業(yè)控制管理系統(tǒng)終端機(jī)指令執(zhí)行
通過(guò)北斗自定義協(xié)議接收服務(wù)軟件傳來(lái)的重啟指令并執(zhí)行;接收服務(wù)軟件傳來(lái)的修改配置參數(shù)指令并執(zhí)行;收集自身運(yùn)行狀態(tài)并傳送給服務(wù)軟件。
3.1.2.6 北斗短報(bào)文管理
同3.1.2.7章節(jié)內(nèi)容。
3.1.2.7 系統(tǒng)自維護(hù)
軟件實(shí)時(shí)對(duì)系統(tǒng)運(yùn)行狀態(tài)監(jiān)視,并提供內(nèi)部運(yùn)行寄存器接口,供用戶維護(hù)和排查問(wèn)題定位。
3.1.2.8 通信聯(lián)絡(luò)狀態(tài)監(jiān)視
軟件監(jiān)視北斗通信聯(lián)絡(luò)狀態(tài)及北斗工業(yè)控制管理系統(tǒng)終端機(jī)與工控設(shè)備的聯(lián)絡(luò)狀態(tài),提供界面顯示。
3.1.2.9 終端配置管理
終端配置管理支持北斗工控通信服務(wù)軟件遠(yuǎn)程配置和本地Web端配置。
- 獲取站點(diǎn)資源配置情況,按照站點(diǎn)實(shí)際情況,利用北斗工控通信軟件生成服務(wù)器端及終端配置文件,該工作可離線完成。
- 固化終端配置信息至北斗終端,該工作可離線完成。
- 在保持系統(tǒng)運(yùn)行的情況下更新服務(wù)器配置文件,該工作需在控制中心完成。配置文件更新可包括新增站點(diǎn)、站點(diǎn)資源變更等操作。
3.2 北斗工業(yè)控制管理系統(tǒng)終端機(jī)方案
以下針對(duì)北斗通信終端設(shè)備進(jìn)行硬件方案設(shè)計(jì)。
北斗通信終端包括室內(nèi)單元和室外單元兩部分。其中室外單元包括北斗接收機(jī)和天線,室內(nèi)單元包括北斗協(xié)議/ModBus協(xié)議轉(zhuǎn)換、防雷電路。室內(nèi)外單元通過(guò)電纜(包括供電和RS232通信)相連。
3.2.1 室外單元設(shè)計(jì)
室外單元包括RDSS天線、低噪放、射頻通道、基帶處理器、功放,
- 接收天線選用零相位中心天線,負(fù)責(zé)接收和發(fā)射衛(wèi)星信號(hào)。
- 接收通道工作流程:低噪放將接收到的射頻信號(hào)進(jìn)行放大,減小了噪聲系數(shù)。低噪放放大后輸出給射頻通道做下變頻、濾波處理,轉(zhuǎn)換為中頻后送入基帶處理模塊,
- 發(fā)送通道工作流程,基帶處理模塊輸出中頻數(shù)據(jù)到射頻通道,經(jīng)上變頻后,再功放將信號(hào)能量放大,以達(dá)到發(fā)射功率要求。
- 基帶處理模塊是本機(jī)的處理核心。負(fù)責(zé)短報(bào)文通信的控制和外部接口通信。基帶處理模塊根據(jù)原先儲(chǔ)存的衛(wèi)星星歷參數(shù),確定需要捕獲的衛(wèi)星信號(hào),配置相應(yīng)的基帶信號(hào)處理模塊通道;通道捕獲結(jié)束后進(jìn)行信號(hào)跟蹤,解擴(kuò)、導(dǎo)航解算等功能。
- 室外單元能承受GJB 150.8所規(guī)定的淋雨試驗(yàn),降雨強(qiáng)度10cm/h。
表6室外單元接口定義
|
室外單元6芯定義
|
|
序號(hào)
|
定義
|
描述
|
|
1
|
VCC
|
電源接口。輸入電壓24V±20%。
|
|
2
|
GND
|
地
|
|
3
|
RS232-A
|
RS232通信接口,接收數(shù)據(jù)。
|
|
4
|
RS232-B
|
RS232通信接口,發(fā)送數(shù)據(jù)。
|
|
5
|
RS232-GND
|
信號(hào)地
|
|
6
|
NC
|
NC
|
3.2.2 低功耗終端設(shè)備室內(nèi)單元設(shè)計(jì)
采用ARM CORTEX-M(STM32F103VC)架構(gòu),外擴(kuò)CY7C1399B SRAM和29LV320 FLASH、處理器外接1片百兆PHY芯片DM9000擴(kuò)展1路以太網(wǎng)接口、處理器外擴(kuò)1個(gè)RS232 和1個(gè)RS485接口。

通信口:共一路RS232接口,一路RS485接口。RS232和RS485通訊口均采用隔離電源單獨(dú)供電,高速光耦隔離,波特率9600~115200bps可設(shè)。RS232驅(qū)動(dòng)芯片采用MAX232AESE,RS485驅(qū)動(dòng)芯片MAX485ESA、接口示意圖如圖所示。

串口圖
RS232接口圖電路圖如圖,驅(qū)動(dòng)芯片D8采用MAX232AESE,支持最大波特率為120kbps,其中R2~R3為10Ω。

RS232接口圖
RS-485接口圖如圖,波特率范圍為1200bps~38400bps。其中R48~R49為47KΩ。

RS485接口圖
復(fù)位接口:利用電源復(fù)位芯片TLC7733監(jiān)視+3.3V電源,門(mén)檻電壓達(dá)到+2.93V以后460毫秒,復(fù)位信號(hào)輸出無(wú)效。電路接口圖和復(fù)位時(shí)序圖如圖所示。


復(fù)位電路和時(shí)序圖
以太網(wǎng)接口:網(wǎng)絡(luò)芯片采用DM9000CIEP,支持Modbus/Tcp,采用軟件編程,變壓器統(tǒng)一選用HX1188。
10~100兆自適應(yīng)以太網(wǎng)接口,實(shí)現(xiàn)標(biāo)準(zhǔn)MODBUS/TCP功能,可實(shí)現(xiàn)將本地IO數(shù)據(jù)映射到遠(yuǎn)端PLC,或?qū)⑦h(yuǎn)端PLC的IO數(shù)據(jù)映射到本機(jī),組成PLC控制網(wǎng)絡(luò)。
以太網(wǎng)網(wǎng)絡(luò)變壓器接口圖如圖,R11~R13為75Ω,C64為0.1uf/2KV,FG為機(jī)殼點(diǎn)。

以太網(wǎng)接口圖
開(kāi)入接口:主要由調(diào)理、光耦、整形電路組成。
開(kāi)出接口:提供常開(kāi)、常閉出點(diǎn)繼電器,用來(lái)控制負(fù)載,每路額定負(fù)載電流2A。隔離方式為光電加繼電器隔離。
供電及功耗:采用+24V±20%直流電源,要求一、二次電源不共地且均不接機(jī)殼,并與二次電源隔離,能夠承受40V,不大于1s的電脈沖沖擊。設(shè)計(jì)輸出電源為+3.3V對(duì)整板供電。為提高電源輸入濾波抗干擾能力,除選用了濾波器外,在輸入端加電感和電容濾波。

通過(guò)綜合計(jì)算各芯片最大工作功耗為4W。
3.2.3 結(jié)構(gòu)方案
3.2.4 室內(nèi)單元設(shè)計(jì)
室內(nèi)單元采用鋁材質(zhì),外觀尺寸≤200×160×120mm,可固定安裝。
3.2.5 室外單元設(shè)計(jì)
航天拓?fù)涮峁嚓P(guān)技術(shù)及環(huán)境指標(biāo)的符合性由航天拓?fù)浔WC。
3.3 系統(tǒng)兼容性及可擴(kuò)展性
本系統(tǒng)對(duì)外接口采用標(biāo)準(zhǔn)的MODBUS TCP,并且MODBUS軟件均已經(jīng)過(guò)大量工程應(yīng)用,可以無(wú)縫對(duì)接現(xiàn)有系統(tǒng)和第三方標(biāo)準(zhǔn)設(shè)備。
軟件考慮到系統(tǒng)的擴(kuò)展和延伸,TCP連接數(shù)設(shè)置為1024。
4 測(cè)試及部署方案
4.1 系統(tǒng)測(cè)試調(diào)試方案
4.1.1 測(cè)試調(diào)試設(shè)備
需要設(shè)備除了北斗終端3套+網(wǎng)絡(luò)監(jiān)聽(tīng)工具1套外,保障的調(diào)測(cè)設(shè)備如下:
- 信道服務(wù)器1臺(tái);
- 北斗指揮機(jī)1臺(tái);主站仿真設(shè)備(或服務(wù)器監(jiān)控軟件)1套;
- 從站仿真設(shè)備(或分站PLC/RTU)3套;
4.1.2 試驗(yàn)測(cè)試
|
低溫工作試驗(yàn)
|
在-40±2℃恒溫貯存至4h時(shí),待溫箱升至室溫(+25±5℃,升溫速率≤5℃/min),取出。
|
低溫工作結(jié)束后,將產(chǎn)品恢復(fù)到常溫狀態(tài),進(jìn)行外觀檢查。
|
|
高溫工作試驗(yàn)
|
在+70±2℃恒溫貯存至4h時(shí),待溫箱降至室溫(+25±5℃,降溫速率≤5℃/min),取出。
|
高溫工作結(jié)束后,將產(chǎn)品恢復(fù)到常溫狀態(tài),進(jìn)行外觀檢查和通電測(cè)試。
|
|
老煉試驗(yàn)
|
溫度:15℃~35℃;相對(duì)濕度:20%~80%;老煉時(shí)間:200h;
|
間隔4小時(shí)監(jiān)測(cè)
|
|
壓力測(cè)試
|
并發(fā)1000鏈接,不間斷訪問(wèn)24h;
|
實(shí)時(shí)檢測(cè)
|
4.1.3 系統(tǒng)調(diào)試方案
- 服務(wù)器端軟件調(diào)試
調(diào)試服務(wù)器軟件與仿真主站的TCP/IP連接功能,調(diào)試MODBUS協(xié)議的解析與回復(fù)功能,調(diào)試虛擬從站自身狀態(tài)維護(hù)功能。
- 終端軟件調(diào)試
調(diào)試終端軟件與仿真從站的TCP/IP連接功能,調(diào)試MODBUS協(xié)議指令生成與解析功能,調(diào)試虛擬主站對(duì)從站的數(shù)據(jù)查詢與控制。
- 北斗通信鏈路調(diào)試
調(diào)試服務(wù)器軟件與北斗指揮機(jī)的數(shù)據(jù)收發(fā)功能,調(diào)試終端軟件與北斗終端的數(shù)據(jù)收發(fā)功能,調(diào)試北斗自定義通信協(xié)議的傳輸與解析。
- 配置軟件及配置文件相關(guān)功能調(diào)試
調(diào)試配置軟件生成配置文件的功能,調(diào)試服務(wù)器軟件按照配置文件進(jìn)行地址轉(zhuǎn)換、虛擬從站建立、配置更新等功能,調(diào)試終端軟件按照配置文件進(jìn)行資源配置、數(shù)據(jù)查詢、配置更新等功能。
- 仿真環(huán)境聯(lián)調(diào)
將調(diào)試設(shè)備組網(wǎng),模擬實(shí)際使用情況對(duì)系統(tǒng)進(jìn)行操作,調(diào)試系統(tǒng)各功能。
4.1.4 現(xiàn)場(chǎng)布置方案
北斗工控一期測(cè)試分為實(shí)驗(yàn)室、指揮中心、場(chǎng)站三個(gè)步驟,具體如下:
北斗終端和數(shù)據(jù)源Modbus Tcp連接在一個(gè)網(wǎng)段,數(shù)據(jù)源用modsim軟件仿真,監(jiān)控使用modscan軟件監(jiān)視。

圖4.1 實(shí)驗(yàn)室終端設(shè)備布置
北斗終端和數(shù)據(jù)源Modbus Tcp連接在一個(gè)網(wǎng)段,數(shù)據(jù)源用真實(shí)場(chǎng)站上傳到交換機(jī)側(cè)的真實(shí)數(shù)據(jù),監(jiān)控使用Ifix軟件(或其他具備Modbus tcp客戶端功能的軟件)。

圖4.2 指揮中心終端設(shè)備布置
北斗終端布置在場(chǎng)站現(xiàn)場(chǎng),和數(shù)據(jù)源通過(guò)Modbus Tcp連接在一個(gè)網(wǎng)段。北斗終端將現(xiàn)場(chǎng)采集數(shù)據(jù)通過(guò)北斗發(fā)送到北斗服務(wù)器軟件,監(jiān)控使用Ifix軟件(或其他具備Modbus tcp客戶端功能的軟件)。

圖4.3 場(chǎng)站終端設(shè)備布置
4.1.5 現(xiàn)場(chǎng)終端設(shè)置
通過(guò)配置軟件對(duì)北斗終端進(jìn)行現(xiàn)場(chǎng)配置,用于選擇讀取MODBUS服務(wù)器何種數(shù)據(jù),界面見(jiàn)圖4.4、4.5。
配置參數(shù)如下:DI/DO/AI/AO四種類型數(shù)據(jù)個(gè)數(shù)(每種類型最大可選255個(gè))、DI/DO/AI/AO四種類型數(shù)據(jù)偏移地址、數(shù)據(jù)源IP、數(shù)據(jù)源站地址、北斗終端IP、北斗終端網(wǎng)關(guān)、北斗終端用戶SIM卡地址、指揮機(jī)SIM卡地址。

圖4.4北斗終端參數(shù)配置
圖4.5數(shù)據(jù)源偏移地址參數(shù)配置
參數(shù)設(shè)置完畢,回到系統(tǒng)參數(shù)設(shè)置界面,點(diǎn)擊數(shù)據(jù)保存按鈕,然后斷電重啟北斗終端設(shè)備即可。
現(xiàn)場(chǎng)北斗終端與指揮機(jī)SIM卡一一對(duì)應(yīng)。
根據(jù)現(xiàn)場(chǎng)對(duì)終端的配置參數(shù),生成北斗服務(wù)的IO點(diǎn)表。IO點(diǎn)表示例內(nèi)容如下:
|
序號(hào)
|
數(shù)據(jù)源地址
|
北斗服務(wù)地址
|
質(zhì)量戳
|
|
1
|
40001
|
41300
|
03777
|
|
2
|
30001
|
41000
|
03521
|
|
3
|
10001
|
01009
|
03009
|
|
4
|
00001
|
02625
|
03265
|
4.2 北斗終端配置注意事項(xiàng)
4.2.1 北斗天線安裝
北斗天線需垂直安裝在南向無(wú)遮擋的地方,保障數(shù)據(jù)通訊暢通。
4.2.2 北斗終端供電
北斗終端供電工作電壓:DC+24V±20%,供電線紅正-藍(lán)負(fù)。
4.2.3 北斗終端數(shù)據(jù)選擇
北斗終端可配置DI/DO/AI/AO四種類型數(shù)據(jù),每種類型可選擇快變、慢變各100個(gè)數(shù)據(jù),累計(jì)可選擇800個(gè)原始數(shù)據(jù)。
4.2.4 北斗終端數(shù)據(jù)更新時(shí)間
在北斗系統(tǒng)不丟幀的情況下,現(xiàn)場(chǎng)最大數(shù)據(jù)更新約15分鐘。
北斗工控作為數(shù)據(jù)采集監(jiān)控的應(yīng)急、安全、備用鏈路,數(shù)據(jù)選擇應(yīng)結(jié)合工程實(shí)際所需,選擇必要的數(shù)據(jù)進(jìn)行監(jiān)控,減少傳輸數(shù)據(jù)對(duì)北斗系統(tǒng)的通訊負(fù)荷壓力,提高場(chǎng)站數(shù)據(jù)更新頻度,提升數(shù)據(jù)監(jiān)控的相應(yīng)速度。
4.2.5 數(shù)據(jù)源
4.2.5.1 實(shí)驗(yàn)室模擬數(shù)據(jù)
如圖4.6進(jìn)行北斗終端布置,按4.4進(jìn)行北斗終端參數(shù)設(shè)置。模擬數(shù)據(jù)源配置:運(yùn)行mod_rssim, 選擇simulation-animation-training plc simula,在SCRIP框內(nèi)輸入腳本文件名(如N1.VBS,腳本和EXE放在同一文件夾),確定后查看數(shù)據(jù),如數(shù)據(jù)正常后軟件選擇為no animation(停止仿真)。一臺(tái)PC僅能模擬一個(gè)MODBUS服務(wù)器。

圖4.6mod_rssim數(shù)據(jù)源配置
五臺(tái)模擬源順序192.168.1.111-192.168.1.115,五臺(tái)終端順序:192.168.1.101-192.168.1.105。
表4.2模擬數(shù)據(jù)源配置表
|
終端
|
模擬源DI
|
模擬源DO
|
模擬源AI
|
模擬源AO
|
腳本文件
|
|
1#
|
0x12循環(huán)
|
0x34循環(huán)
|
0x0001開(kāi)始遞增0x01
|
0xFFFF開(kāi)始遞減0x01
|
N1.VBS
|
|
2#
|
0x56循環(huán)
|
0x78循環(huán)
|
0x0001開(kāi)始遞增0x10
|
0xFFFF開(kāi)始遞減0x10
|
N2.VBS
|
|
3#
|
0x89循環(huán)
|
0xab循環(huán)
|
0x0001開(kāi)始遞增0x20
|
0xFFFF開(kāi)始遞減0x20
|
N3.VBS
|
|
4#
|
0xcd循環(huán)
|
0xef循環(huán)
|
0x0001開(kāi)始遞增0x30
|
0xFFFF開(kāi)始遞減0x30
|
N4.VBS
|
|
5#
|
0x68循環(huán)
|
0x29循環(huán)
|
0x0001開(kāi)始遞增0x40
|
0xFFFF開(kāi)始遞減0x40
|
N5.VBS
|
4.2.5.2 指揮中心數(shù)據(jù)
現(xiàn)場(chǎng)隨機(jī)選擇四個(gè)場(chǎng)站,并按圖4.2進(jìn)行北斗終端布置,按4.4進(jìn)行北斗終端參數(shù)設(shè)置。
4.2.5.3 場(chǎng)站數(shù)據(jù)
將北斗終端按照所需布置在現(xiàn)場(chǎng)終端,按圖4.3進(jìn)行北斗終端布置,按4.4進(jìn)行北斗終端參數(shù)設(shè)置。
4.3 部署方案
- 獲取站點(diǎn)資源配置情況,按照站點(diǎn)實(shí)際情況,利用信道配置軟件生成服務(wù)器端及終端配置文件,該工作可離線完成。
- 固化終端配置信息至北斗終端,該工作可離線完成。
- 在保持系統(tǒng)運(yùn)行的情況下更新服務(wù)器配置文件,該工作需在控制中心完成。配置文件更新可包括新增站點(diǎn)、站點(diǎn)資源變更等操作。
- 室外單元固定在三角架或墻面固定,線纜穿PVC管引到室內(nèi)單元,安裝完畢后連接服務(wù)器。
5 軟件工程化及測(cè)評(píng)
5.1 軟件工程化
- 模塊化設(shè)計(jì)思想,擴(kuò)展性強(qiáng):軟件開(kāi)發(fā)過(guò)程中采用通用體系架構(gòu)和模塊化的設(shè)計(jì)理念,軟件擴(kuò)展性強(qiáng)。
- 采用成熟的重用庫(kù)設(shè)計(jì),可靠性高:軟件開(kāi)發(fā)中以豐富的軟件重用庫(kù)為依托,大量采用了重用模塊,代碼重用率高。重用庫(kù)中的模塊都經(jīng)過(guò)相關(guān)測(cè)試,并在大量航天型號(hào)中得到了充分的驗(yàn)證,縮短了開(kāi)發(fā)周期,提高軟件的可靠性。
- 過(guò)程受控,質(zhì)量嚴(yán)格:嚴(yán)格按照軟件工程化要求,對(duì)開(kāi)發(fā)工作進(jìn)行全過(guò)程控制,按照《軟件配置管理程序》(Q/De9007.12-2011)實(shí)施配置管理。軟件項(xiàng)目設(shè)置配置管理員,配備專用配置管理計(jì)算機(jī),使用配置管理工具Firefly4.2,進(jìn)行嚴(yán)格的軟件配置管理。開(kāi)發(fā)階段的所有代碼都及時(shí)提交、受控;軟件開(kāi)發(fā)任務(wù)書(shū)、需求分析、設(shè)計(jì)報(bào)告等相關(guān)文檔齊全;代碼模塊化并完全自主,后期維護(hù)方便。
5.2 軟件測(cè)評(píng)
- 軟件測(cè)試目的:
- 驗(yàn)證軟件是否滿足軟件研制任務(wù)書(shū)、需求規(guī)格說(shuō)明、設(shè)計(jì)文檔所規(guī)定的技術(shù)要求;
- 通過(guò)測(cè)試,盡可能早、盡可能多的發(fā)現(xiàn)軟件缺陷;
- 便于軟件可靠性、安全性評(píng)價(jià),為軟件能否參與后續(xù)階段工作提供依據(jù)
-

- 軟件測(cè)試的級(jí)別:
- 單元測(cè)試:
- 對(duì)軟件最小組成單位——軟件基本單元的測(cè)試
- 目的是檢驗(yàn)每個(gè)軟件單元能否正確地實(shí)現(xiàn)其功能,滿足其性能和接口要求
- 驗(yàn)證程序與詳細(xì)設(shè)計(jì)說(shuō)明的一致性
- 單元測(cè)試是軟件動(dòng)態(tài)測(cè)試的最基本部分
- 當(dāng)被測(cè)單元已經(jīng)完成了編碼和調(diào)試、能夠通過(guò)編譯和連接達(dá)到執(zhí)行狀態(tài)時(shí)才能進(jìn)行單元測(cè)試
- 系統(tǒng)集成過(guò)程中進(jìn)行在這種測(cè)試中,驗(yàn)證程序與概要設(shè)計(jì)說(shuō)明的一致性
- 各單元逐步裝配成單元測(cè)試一般采用白盒測(cè)試方法。
單元測(cè)試的依據(jù):軟件詳細(xì)設(shè)計(jì)文檔
- 組裝測(cè)試:
- 高層功能模塊并測(cè)試,直到整體
- 其目的是檢驗(yàn)軟件單元之間的接口是否正確,并將經(jīng)過(guò)測(cè)試的單元構(gòu)成符合設(shè)計(jì)要求的軟件。
-
- 配置項(xiàng)測(cè)試:
-
-
- 系統(tǒng)聯(lián)試
- 系統(tǒng)測(cè)試的對(duì)象是完整的、集成的計(jì)算機(jī)系統(tǒng)(CS),重點(diǎn)是新開(kāi)發(fā)的配置項(xiàng)的集合;
- 可根據(jù)軟件測(cè)評(píng)任務(wù)書(shū)、合同或其他等效文件及軟件系統(tǒng)的重要性、安全性關(guān)鍵等級(jí)等對(duì)如下技術(shù)要求內(nèi)容進(jìn)行剪裁,但必須說(shuō)明理由。
- 軟件測(cè)試的內(nèi)容:
測(cè)試類型:
靜態(tài)測(cè)試:文檔審查、靜態(tài)分析、代碼審查
動(dòng)態(tài)測(cè)試: 功能測(cè)試、性能測(cè)試、接口測(cè)試、安全性測(cè)試、強(qiáng)度測(cè)試、余量測(cè)試、人機(jī)交互操作測(cè)試等
- 軟件測(cè)試的流程:
軟件測(cè)試提交的文檔:
軟件測(cè)試計(jì)、軟件測(cè)試需求規(guī)格說(shuō)明、軟件測(cè)試說(shuō)明、軟件測(cè)試報(bào)告。
- 軟件測(cè)試級(jí)別和測(cè)試類型
按照軟件的安全關(guān)鍵等級(jí)安排單元測(cè)試和配置項(xiàng)測(cè)試。在測(cè)試類型方面,分為文檔審查、靜態(tài)分析、代碼審查、功能測(cè)試、性能測(cè)試、接口、安全性測(cè)試是必選項(xiàng),人機(jī)交互測(cè)試、強(qiáng)度測(cè)試、余量測(cè)試可依據(jù)被測(cè)軟件的情況開(kāi)展。
6 可靠性設(shè)計(jì)
6.1 元器件可靠性
- 元器件的技術(shù)性能、質(zhì)量等級(jí)、使用條件滿足設(shè)計(jì)要求,充分考慮元器件的精度、工作溫度和降額設(shè)計(jì),留有余量;
- 優(yōu)先選用溫度和時(shí)間穩(wěn)定性好、抗電磁干擾性好和參數(shù)離散度小的元器件;
- 減少元器件的品種、規(guī)格和生產(chǎn)廠家。
6.2 電路可靠性設(shè)計(jì)
- 使用成熟穩(wěn)定的電路設(shè)計(jì),采用強(qiáng)、弱信號(hào)隔離,地線隔離,電源隔離;
- 對(duì)電源進(jìn)行濾波處理,降低電源噪聲和波動(dòng);
- 信號(hào)輸出端加隔離保護(hù),輸入端加過(guò)壓保護(hù)。
- 按照GJB/Z35-93《可靠性降額準(zhǔn)則》進(jìn)行2級(jí)降額選用。
6.3 熱設(shè)計(jì)
- 減少發(fā)熱器件數(shù)量;
- 優(yōu)先選用低功耗器件,提高效率,降低發(fā)熱器件的功耗;
- 選用耐高溫、熱穩(wěn)定性好的元器件和材料;
- 元器件合理布局,發(fā)熱元器件分散布局,熱敏感元器件遠(yuǎn)離發(fā)熱源。
6.4 軟件可靠性設(shè)計(jì)
- 規(guī)范化設(shè)計(jì)原則:實(shí)施軟件工程,進(jìn)行工程化管理和設(shè)計(jì)。嚴(yán)格執(zhí)行質(zhì)量規(guī)范,建立質(zhì)量體系,確立以可靠性為核心的質(zhì)量標(biāo)準(zhǔn),實(shí)行文檔化管理并完善文檔編制、評(píng)審和測(cè)試制度;
- 有效的過(guò)程管理:采用迭代開(kāi)發(fā),每個(gè)階段嚴(yán)格執(zhí)行軟件分析、設(shè)計(jì)、編碼和測(cè)試的過(guò)程,并形成文檔;
- 采用模塊化設(shè)計(jì)方法:降低各模塊的耦合,提高系統(tǒng)穩(wěn)定性;
- 進(jìn)行全面有效的單元測(cè)試與集成測(cè)試。
7 安全性和可維修性設(shè)計(jì)
7.1 安全性設(shè)計(jì)
- 強(qiáng)弱電隔離,避免設(shè)備損壞。
- 防誤操作設(shè)計(jì):線纜標(biāo)識(shí)清楚、軟件界面設(shè)計(jì)防誤確認(rèn),減少誤操作。
- 電線的截面積或印制線的布線寬度符合最大負(fù)載電源和安全使用電流的要求;
- 接插件自帶鎖緊裝置,確保連接可靠;
- 在電纜外部套熱縮管保護(hù),防止導(dǎo)線線芯與機(jī)殼接觸引發(fā)設(shè)備故障。
7.2 可維修性設(shè)計(jì)
- 在設(shè)計(jì)上盡量減少維修時(shí)間、減少維修的復(fù)雜程度。
- 在結(jié)構(gòu)上,終端采用一體成型、標(biāo)準(zhǔn)接口設(shè)計(jì),便于檢查和更換。
8 保障性設(shè)計(jì)
- 材料選用合格供方中廠家的產(chǎn)品,以保證元件供貨維修渠道的暢通。
- 軟件為自主研發(fā),具有自主徹底解決問(wèn)題的能力。
9 可測(cè)試性設(shè)計(jì)
- 設(shè)備在進(jìn)行功能設(shè)計(jì)的同時(shí),考慮測(cè)試性設(shè)計(jì),設(shè)置必要的測(cè)試點(diǎn)。
- 內(nèi)部自測(cè)試:包括功能測(cè)試和穩(wěn)定性測(cè)試,其中功能測(cè)試包括終端接口測(cè)試和功能測(cè)試;穩(wěn)定性測(cè)試是指搭建模擬仿真環(huán)境,整體連續(xù)運(yùn)行72小時(shí)的穩(wěn)定性測(cè)試。
- 內(nèi)部自測(cè)完成后,交付甲方進(jìn)行實(shí)測(cè),并依據(jù)實(shí)測(cè)結(jié)果及用戶要求對(duì)功能進(jìn)行改進(jìn)。
10 環(huán)境適應(yīng)性設(shè)計(jì)
- 元器件選用工業(yè)級(jí)以上。
- 室外單元采用防淋雨設(shè)計(jì)、防雷擊設(shè)計(jì)。
- 室內(nèi)外聯(lián)調(diào)后按GJB 150-86《軍用設(shè)備環(huán)境試驗(yàn)方法》進(jìn)行篩選試驗(yàn)。
11 電磁兼容性設(shè)計(jì)
- 電源輸入端進(jìn)行濾波,有效降低電源的紋波。
- 有源信號(hào)和無(wú)源信號(hào)進(jìn)行分離,高頻信號(hào)和低頻信號(hào)進(jìn)行分離,模擬信號(hào)和數(shù)字信號(hào)進(jìn)行分離,PCB布板進(jìn)行優(yōu)化處理,減少信號(hào)間的干擾,增加系統(tǒng)可靠性。
- 結(jié)構(gòu)接口之間加入導(dǎo)電橡膠圈,滿足了電磁輻射要求;
- 電纜選用屏蔽線材或在線纜上纏上屏蔽材料,以提高信號(hào)傳遞的抗干擾能力。
12 風(fēng)險(xiǎn)分析
經(jīng)分析,技術(shù)方案可行可控,不存在技術(shù)風(fēng)險(xiǎn)。
13 培訓(xùn)及質(zhì)量管理體系
- 結(jié)合終端及軟件在線運(yùn)行的實(shí)際情況,對(duì)甲方系統(tǒng)應(yīng)用技術(shù)人員進(jìn)行完整技術(shù)培訓(xùn),使其能掌握系統(tǒng)的使用、維護(hù)和管理,達(dá)到能獨(dú)立進(jìn)行日常運(yùn)作、管理、故障處理、日常測(cè)試維護(hù)等工作的目的,以保障投標(biāo)人所提供的系統(tǒng)能夠正常、安全地運(yùn)行。
- 按照《培訓(xùn)課程體系》、《培訓(xùn)講師管理制度》、《培訓(xùn)效果評(píng)估》、《培訓(xùn)管理體系》完成對(duì)客戶的培訓(xùn)。
- 遵守GJB9000、GJB5000質(zhì)量管理體系,建立二級(jí)質(zhì)量管理體系,執(zhí)行Q/De9000、Q/De5000體系。通過(guò)新時(shí)代認(rèn)證中心的質(zhì)量體系認(rèn)證。現(xiàn)持有職業(yè)健康安全管理體系認(rèn)證證書(shū)、環(huán)境管理體系認(rèn)證證書(shū)。
14 售后服務(wù)
質(zhì)保期內(nèi),系統(tǒng)運(yùn)行中出現(xiàn)的問(wèn)題和不足,提供及時(shí)的升級(jí)維護(hù)和技術(shù)支持服務(wù),并承擔(dān)維護(hù)的所有費(fèi)用。
質(zhì)保期內(nèi)提供以下形式的技術(shù)服務(wù):
電話咨詢:免費(fèi)提供咨詢電話技術(shù)支持服務(wù),解答用戶在系統(tǒng)使用中遇到的問(wèn)題,及時(shí)提出解決問(wèn)題的建議和操作方法。
現(xiàn)場(chǎng)響應(yīng):自收到用戶的服務(wù)請(qǐng)求起8小時(shí)內(nèi),如遠(yuǎn)程支持不能解決系統(tǒng)故障,指派技術(shù)人員趕赴現(xiàn)場(chǎng)進(jìn)行故障處理。遇到重大技術(shù)問(wèn)題,及時(shí)組織技術(shù)人員集中處理,并采取相應(yīng)措施以確保系統(tǒng)的正常運(yùn)行。
15 主要性能指標(biāo)
表15.1北斗工控通信服務(wù)軟件要求滿足情況匯總表
|
序號(hào)
|
技術(shù)要求
|
設(shè)計(jì)指標(biāo)
|
|
-
|
多鏈接并發(fā)
|
支持多上位機(jī)系統(tǒng)并發(fā)訪問(wèn);
|
|
-
|
基于TCP/IP協(xié)議的C/S服務(wù)方式提供通信服務(wù)。
|
|
-
|
多協(xié)議支持
|
實(shí)現(xiàn)Modbus TCP通信服務(wù)
|
|
-
|
支持OPC通信服務(wù)
|
|
-
|
支持PROFINET、CIP等主流工控協(xié)議
|
|
-
|
Modbus TCP協(xié)議支持
|
支持基于標(biāo)準(zhǔn)Modbus協(xié)議的數(shù)據(jù)采集和控制
|
|
-
|
OPC協(xié)議支持
|
兼容OPC DA2.0規(guī)范
|
|
-
|
現(xiàn)場(chǎng)數(shù)據(jù)獲取
|
支持在北斗低帶寬條件下數(shù)據(jù)獲取按策略獲取
|
|
-
|
支持?jǐn)?shù)據(jù)獲取指令優(yōu)先
|
|
-
|
支持工控參數(shù)數(shù)據(jù)獲取優(yōu)先
|
|
-
|
工控指令下發(fā)
|
工控指令的執(zhí)行狀態(tài)返回優(yōu)先于現(xiàn)場(chǎng)數(shù)據(jù)獲取
|
|
-
|
支持點(diǎn)對(duì)點(diǎn)的工控指令發(fā)送策略
|
|
-
|
北斗短報(bào)文管理
|
支持工控指令及返回狀態(tài)獨(dú)立組包解包;
|
|
-
|
支持現(xiàn)場(chǎng)參數(shù)獨(dú)立組包解包;
|
|
-
|
支持各類數(shù)據(jù)指令混合組包解包;
|
|
-
|
支持長(zhǎng)包分幀發(fā)送;
|
|
-
|
支持北斗通道管理
|
支持北斗通道添加、刪除、修改和查詢;
|
|
-
|
支持北斗通道批量添加、刪除;
|
|
-
|
支持北斗通道狀態(tài)管理,啟用、停用;
|
|
-
|
遠(yuǎn)程北斗工業(yè)控制管理系統(tǒng)終端機(jī)管理
|
支持維護(hù)北斗工業(yè)控制管理系統(tǒng)終端機(jī)信息和信息查詢
|
|
-
|
支持遠(yuǎn)程修改北斗工業(yè)控制管理系統(tǒng)終端機(jī)配置參數(shù);
|
|
-
|
支持北斗工業(yè)控制管理系統(tǒng)終端機(jī)運(yùn)行狀態(tài)監(jiān)控;
|
|
-
|
系統(tǒng)自維護(hù)
|
系統(tǒng)各服務(wù)組件運(yùn)行狀態(tài)監(jiān)視
|
|
-
|
運(yùn)行狀態(tài)日志
|
|
-
|
通信聯(lián)絡(luò)狀態(tài)監(jiān)視
|
上位機(jī)與北斗工業(yè)控制管理系統(tǒng)平臺(tái)服務(wù)軟件的鏈路狀態(tài)
|
|
-
|
北斗通信聯(lián)絡(luò)狀態(tài)
|
|
-
|
北斗工業(yè)控制管理系統(tǒng)終端機(jī)與工控設(shè)備的聯(lián)絡(luò)狀態(tài)
|
|
-
|
用戶權(quán)限
|
用戶管理
|
|
-
|
權(quán)限管理
|
|
-
|
綜合管理界面
|
支持圖形化的綜合管理界面對(duì)整個(gè)服務(wù)軟件提供的服務(wù)進(jìn)行可視化管理操作;
|
|
-
|
支持軟件服務(wù)啟動(dòng)、停止和重啟;
|
|
-
|
支持模塊圖形化管理與配置;
|
|
-
|
支持市場(chǎng)主流北斗天線
|
支持市場(chǎng)主流北斗天線
|
|
-
|
綜合管理界面
|
支持秒級(jí)數(shù)據(jù)訪問(wèn)頻率
|
|
-
|
支持1000個(gè)鏈接并發(fā)訪問(wèn)并發(fā)數(shù)可擴(kuò)展
|
|
-
|
支持1000個(gè)終端管理和通信功能并發(fā)數(shù)可擴(kuò)展
|
|
表 15.2北斗工業(yè)控制管理系統(tǒng)終端機(jī)軟件要求滿足情況匯總表
|
序號(hào)
|
技術(shù)要求
|
設(shè)計(jì)指標(biāo)
|
|
-
|
多協(xié)議支持
|
實(shí)現(xiàn)Modbus TCP通信服務(wù)
|
|
-
|
支持OPC通信服務(wù)
|
|
-
|
Modbus TCP協(xié)議
|
支持基于標(biāo)準(zhǔn)MODBUS協(xié)議的數(shù)據(jù)采集和控制
|
|
-
|
數(shù)據(jù)獲取指令執(zhí)行
|
支持在北斗低帶寬條件下數(shù)據(jù)獲取按策略獲取
|
|
-
|
數(shù)據(jù)結(jié)果通過(guò)北斗鏈路傳給服務(wù)軟件
|
|
-
|
工控指令執(zhí)行
|
工控指令執(zhí)行優(yōu)先;
|
|
-
|
工控指令執(zhí)行;
|
|
-
|
執(zhí)行狀態(tài)回傳;
|
|
-
|
遠(yuǎn)程北斗工業(yè)控制管理系統(tǒng)終端機(jī)指令執(zhí)行
|
接收服務(wù)軟件傳來(lái)的修改配置參數(shù)指令并執(zhí)行;
|
|
-
|
收集自身運(yùn)行狀態(tài)并傳送給服務(wù)軟件;
|
|
-
|
北斗短報(bào)文管理
|
支持工控指令及返回狀態(tài)獨(dú)立組包解包;
|
|
-
|
支持現(xiàn)場(chǎng)參數(shù)獨(dú)立組包解包;
|
|
-
|
支持各類數(shù)據(jù)指令混合組包解包;
|
|
-
|
支持長(zhǎng)包分幀發(fā)送;
|
|
-
|
系統(tǒng)自維護(hù)
|
異常狀態(tài)發(fā)送給服務(wù)軟件
|
|
-
|
通信聯(lián)絡(luò)狀態(tài)監(jiān)視
|
北斗通信聯(lián)絡(luò)狀態(tài)
|
|
-
|
北斗工業(yè)控制管理系統(tǒng)終端機(jī)與工控設(shè)備的聯(lián)絡(luò)狀態(tài)
|
|
16 項(xiàng)目研制計(jì)劃
17 產(chǎn)品分項(xiàng)報(bào)價(jià)表
18 結(jié)論
本報(bào)告針對(duì)用戶需求和指標(biāo)進(jìn)行分析的基礎(chǔ)上,結(jié)合我們成熟技術(shù)及產(chǎn)品工程應(yīng)用經(jīng)驗(yàn),提出了本方案設(shè)計(jì)報(bào)告,通過(guò)分析,本項(xiàng)目設(shè)計(jì)方案合理可行,可以滿足用戶使用。
|