城市軌道交通標準技術委員會 魏曉東
中國電子信息產業集團有限公司第六研究所 趙云飛
5.2 系統集成接口協議
5.2.1 接口協議結構
協議(Protocol)是接口各方對信息交換方式的約定,協議內容通常包括信息格式、信息含義、交互過程,這是接口通信協議的三要素:
信息格式:信息格式規定傳輸時數據和數據包的格式。信息格式設計時,需考慮的因素包括:(1)界定數據包,即通過什么方式在通信線路的順序字節流中界定出數據包。可以采用同步碼方式,如CDT規約的三組“EB 90”,也可以采用字節時間間隙,如Modbus-RTU的幀間間隔3.5字符時間。指定信息目的地,即指定數據包最終要傳輸的目標設備/系統。(2)指定信息源,即數據包發送者的身份。可以用發送者的地址、站號、用戶等類似信息來標示發送者身份,該信息可用于身份鑒別,或用于信息過濾。(3)保證數據完整性,即設法對傳輸信息是否完整提供監測方式。傳輸過程中任何干擾都可能導致數據出錯,接口通信必須要作好數據完整性檢查,通常可采用在數據包中附加校驗碼的方式來進行檢查。(4)保證傳輸完整性,指接口雙方的會話保持完整,不存在語句錯漏。通信過程中可能會有丟包、數據包亂序等異常,需要信息格式中提供一定的支持,如數據包順序標識等。(5)提高傳輸效率,即增加數據包中有效字節數在總數據包字節數中的占比,以節約帶寬資源。
并非所有協議都要處理以上全部因素,應綜合平衡應用需求和處理復雜度。此外,有時還需要增加處理其它更多因素,如實現信息安全的數據加密、實現接口靈活性的設備無關驅動程序、實現直接輸出給打印機等人機終端的ASCII傳輸模式等。
信息含義:信息含義規定了接口雙方對信息的理解和處理的要求,包括從應用角度提出的對協議的約束,這些約束會影響會話的用詞、消息格式和交互規則的制定,以及面向應用功能的接口。在工業自動化領域,接口信息含義的最常見表現形式是點表。點表是自動控制行業用語,表征自動化控制系統內各種變量的情況,集成系統接口傳輸的信息多數可用點表來表示。作為接口協議的一部分內容,點表是系統集成商與設備和子系統供應商共同的約定,是工作的重要基礎。通常每個變量都會有對應的唯一的變量名、設備名、設備地址、寄存器地址等相關內容。
交互過程:交互過程規定了接口雙方信息傳輸行為的發生條件和動作順序,如建立連接、請求和應答、主動傳輸、數據重傳、拆除連接等。交互過程承載著多數接口應用的需求,也直接受限于接口局部和系統整體的實現方案,需考慮的因素比較多,是接口協議的難點。
按交互過程,接口協議可分為主動傳送型、請求應答型、混合型協議。
本節闡述了接口協議的一些總體性結構,實際應用中還需考慮更多需求特性,如報文和數據完整性、報文順序、時間異常、靈活性和擴展性等;也要考慮許多實現技術的特性,如生產者消費者協議結構中的生產和消費操作的無序隨機性、體現生產和消費操作制約的信號量形式、體現生產/消費操作原子性的互斥鎖等。如何將需求和技術的這些特性轉換到協議中,需在設計協議時仔細處理。
5.2.2 接口協議示例
本節將簡要介紹三種常見的標準接口協議,分別是Modbus、IEC61850(變電站網絡與通信協議)和OPC(OLE for process control)。通過這些例子,可進一步理解接口協議的結構和特性。
Modbus:Modbus是由Modicon公司在1979年發明的全球第一個真正用于工業現場的總線協議。ModBus網絡只有一個主機,所有通信都由它發出。網絡可支持247個之多的遠程從屬控制器,實際所支持的從機數要由所用通信設備決定。協議支持傳統的RS-232、RS-422、RS-485和以太網設備。許多工業設備,包括PLC、DCS、智能儀表等都在使用Modbus協議作為他們之間的通訊標準。
為更好地普及和推動Modbus在基于以太網上的分布式應用,該協議所有權已移歸IDA(Interface forDistributed Automation,分布式自動化接口)組織,并成立了Modbus-IDA組織,為Modbus發展奠定了更堅實的基礎。在中國,Modbus已經轉換成國家標準GB/T19582-2008。
(1)信息格式:Modbus協議幀結構見圖2所示。
圖2 Modbus協議幀結構
其中:地址域:要訪問的從站設備的地址。功能碼:用于區分數據類別和操作類別的編碼。如01代表讀線圈,05代表寫單個線圈。數據:數據依不同的功能碼有不同格式,通常有寄存器/線圈地址、數量、寄存器值/線圈狀態等構成。所謂寄存器、線圈,指Modbus的一些基本數據類型。Modbus以不同類型的數據列表為基礎,其中最基本的四個數據類型為離散量輸入、線圈、輸入寄存器、保持寄存器,如表1所示:
表1 Modbus協議的基本數據類型
差錯校驗:對報文內容的冗余校驗,根據不同的傳輸模式(RTU或ASCII)使用CRC和LRC兩種不同個計算方法。
(2)信息含義:Modbus協議不規定具體信息含義,具體信息的含義有應用去約定。以某動力變壓器設備為例,其接口點表如表2所示(表中僅提供部分信息,其中DI為離散量輸入,AI為輸入寄存器):
表2 某動力變壓器的設備接口點表
(3)交互過程:Modbus是同步請求應答型協議。作為接口主站的信息接收方發起,輪流與各子站設備進行會話。對采集方向的信息傳遞,主站發起會話的時機通常是周期的;對控制方向的信息傳遞,發起會話時機是應用驅動的。會話時,子站依據其操作的成敗結果來應答,操作正常時用正常數據應答,操作異常時回復錯誤應答,如圖3和圖4所示。
圖3 Modbus協議交互過程之正常響應
圖4 Modbus協議交互過程之異常響應
IEC61850:IEC61850標準由國際電工委員會第57技術委員會(IECTC57)制定,是電力系統自動化領域的全球通用標準,對應中國電力行業標準為DL/T860。IEC61850將變電站通信體系分為3層:變電站層、間隔層、過程層。在變電站層和間隔層之間的網絡采用抽象通信服務接口映射到制造報文規范(MMS)、傳輸控制協議/網際協議(TCP/IP)以太網或光纖網。在間隔層和過程層之間的網絡采用單點向多點的單向傳輸以太網。IEC61850的特點是:(1)面向對象建模; (2)抽象通信服務接口;(3)面向實時的服務;(4)配置語言;(5)整個電力系統統一建模。
(1)信息格式:IEC61850標準采用面向對象的建模技術,定義了基于客戶機/服務器結構數據模型。每個IED包含一個或多個服務器,每個服務器本身又包含一個或多個邏輯設備。邏輯設備包含邏輯節點,邏輯節點包含數據對象。數據對象則是由數據屬性構成的公用數據類的命名實例。
IEC61850采用抽象通信服務接口(ACSI),不存在常規協議中的協議數據單元PDU。通過ACSI,可將對象結構中的服務器、邏輯設備和邏輯節點,分別映射成制造報文規范(MMS)中的虛擬設備、域和命名變量;也可將數據集,映射成命名變量列表。
所有信息均由抽象語法標記語言(ASN.1)完成信息編碼。ASN.1定義在ISO8824/8825中,它采用TLV(type,length,value)三元組編碼規則,支持布爾型、整型、二進制字符串、八進制字符串、對象標識符、實數、枚舉、時間等多種簡單數據類型,也支持SEQUENCE等復合數據類型,編碼器復用性非常強。
(2)信息含義:在信息含義方面,IEC61850表達能力遠遠超過普通點表。它提供了兩種交換接口信息含義的方式:離線系統配置文件,或在線的對象自描述。
離線系統配置使用基于XML的子站配置描述語言(SCL),其中SCD文件描述了整個變電站的結構和布局、ICD文件提供了智能設備能力的描述,任何集成商都可通過它來快速獲得智能系統集成適用的信息。
SCD內容也被用于在線對象自描述,面向對象的數據自描述在數據源就對數據本身進行自我描述,傳輸到接收方的數據都帶有自我說明,不需要再對數據進行工程物理量對應、標度轉換等工作。由于數據本身帶有說明,所以傳輸時可以不受預先定義限制,簡化了對數據的管理和維護工作。
(3)交互過程:IEC61850對象模型包含監視、控制等方向性信息,也規定了連接、訪問信息模型、文件傳輸、時鐘同步等抽象服務(ACSI),這些抽象服務都要通過映射到制造報文規范(MMS)的服務來實現,具體如表3所示。
表3 ACSI服務向MMS服務的映射
MMS服務采用原語的形式,由MMS協議機完成服務原語與MMSPDU之間的轉換,關聯控制服務ACSE可完成MMPDU與表示層之間的轉換,編碼和傳輸是在表示層及以下完成的。MMS服務原語有“請求+指示、應答+確認”兩種類別,支持召喚和訂閱,支持各服務異步并行,具有高傳輸效率和靈活性。
OPC標準:OPC是1996年秋由OPC基金會建立了一套標準的OLE/COM接口協議。它包括一系列標準規范,如數據訪問(Data Access)、報警&事件(Alarms & Events)、批量(Batch)、數據交換(Data eXchange)、歷史數據訪問(HistoricalData Access)、安全性(Security)、XML數據訪問(XML-DA)、復合數據(Complex Data)、指令(Commands)等。OPC采用統一的方式存取不同生產商的設備或子系統,實現“互操作”。它的特點是把軟硬件供應商和系統集成供應商分離開來,各自只對數據的格式負責,而不用管復雜的數據鏈路層。當需要接入基于以太網的智能設備時,用OPC接口可明顯降低系統的復雜度、改善系統性能,提高軟件重用度。
(1)信息格式:OPC功能中最常用的是數據訪問(DA),這里只簡要介紹DA中的數據結構。DA中規定了三層接口:服務器(Server)、組(Group)和數據項(Item),依次呈包含關系。服務器對象:服務器對象包含了信息源的所有信息,服務器對象也是組對象的容器,它是OPC的啟動服務器,它獲得其他對象和服務的起始對象,并返回Group類對象;一個數據源對應于一個OPC服務器,即一種設備驅動程序。OPC擴展了設備的概念。只要符合OPC服務器的規范,OPC客戶都可與之進行數據交換,而無需了解數據源究竟是PLC還是儀表。組對象:組對象包含一組信息。OPC的組對象為客戶提供了組織數據的一種方法,可對其進行直接讀寫、還可設置數據更新的速率,或設置為有數值變化時傳輸。有2種組對象:全局組(public)和局部組(local),全局組由多個客戶共有,局部組只能對建立它的客戶有效。數據項:數據項的數據結構有3個成員變量:數據值、數據質量和時間戳,一個數據項與一個具體的位號相連,是讀寫數據的最小邏輯單位,通常指向設備/子系統的一個存儲單元。數據項并不提供對外接口,客戶不能直接對其進行操作,所有操作都是通過組對象進行的。
(2)信息含義:與Modbus類似,OPC不規定具體的信息含義,由具體應用約定。
(3)交互過程:OPC規范基于DCOM技術,本質上是一種分布對象標準。OPC可視為一個將通信協議設計與接口驅動程序實現緊密結合起來的標準,OPC服務器本身通常就是一個可執行程序,它以設定的速率采集和緩存數據,緩存的內容有最新的數據值、數據質量標識和時間戳,客戶可通過訪問分布對象來使用這些數據和服務。
OPC客戶和OPC服務器進行數據交互有兩種方式:同步方式和異步方式。同步方式在客戶數目較少、客戶同服務器交互的數據量也較少的時候采用;采用異步方式時,由客戶程序實現服務器回調函數,服務器中執行遠程調用,當有大量客戶和大量數據交互時,異步方式的效率更高。
作者簡介:
魏曉東,1967年畢業于天津大學精儀系。1984~1991年任安徽工業大學自動化系副教授。1991年出版《分散型控制系統》( 上海科技文獻出版社) 。2000~2012年任北京和利時系統工程公司副總工、事業部總設計師,北京地鐵13號線、深圳地鐵一期工程、廣州地鐵3號線綜合監控系統工程技術總負責人。2006、2010年出版《城市軌道交通自動化系統與技術》初版與第二版(電子工業出版社);2010年主編國家標準《城市軌道交通綜合監控系統工程設計規范》(GB50636-2010)《城市軌道交通綜合監控系統施工與質量驗收規范》(GB/T50732-2011);2010年主編關于兩化融合的國家標準《工業企業信息化集成系統規范》(GB/T26335-2010)。2013年至今任清華同方數字城市工程中心技術專家,住建部城市軌道交通標注技術網Eu委員會委員,全國自動化系統與集成標準技術委員會委員。
摘自《自動化博覽》2017年8月刊