范大鵬, 陳凌宇*, 王曉宇, 吳繼春
(1.國防科技大學 智能科學學院,湖南 長沙 410073;2.華中科技大學 機械科學與工程學院,湖北 武漢 430074;3.湘潭大學 機械工程學院,湖南 湘潭 411105)
以嵌入式計算機(IPC)、可編程邏輯控制器(PLC)、現(xiàn)場總線控制系統(tǒng)(FCS)為代表的可編程控制系統(tǒng)(PMC)作為實現(xiàn)各類工業(yè)裝備自動化的“大腦”和“神經”,是現(xiàn)代智能工廠中實時控制、信息采集、過程監(jiān)控管、安全保障與防護等設備不可或缺的共性基礎控制部件,廣泛應用于數控機床、機器人、自動化生產線等自動化裝備中[1-2]。作為全球最大的制造業(yè)基地,我國市場上95%的可編程控制器產品被國外品牌壟斷[3],國內裝備制造業(yè)嚴重依賴國外控制器產品,產業(yè)升級面臨著國外的掣肘,存在嚴重的市場隱患。迫切需要提高工業(yè)控制基礎部件產品的自主化率,以保障高端制造裝備的運行的本質安全。
可編程控制系統(tǒng)涉及機械、電子、自動化、計算機軟硬件等多個學科,由嵌入式主機(主站)、實時現(xiàn)場總線、總線控制組件(從站)、軟件集成開發(fā)環(huán)境(Integrated Development Environment,IDE)、人機交互(HMI)軟件等技術構成相互依存的技術生態(tài)鏈條[4]。歐美發(fā)達國家在可編程控制技術領域經過多年的技術積累,已經有了成熟的系列產品,利用專利、標準、規(guī)范構筑了嚴密的技術壁壘,使可編程控制系統(tǒng)的自主可控研發(fā)門檻很高。國內相關高校和企業(yè)在核高基、高檔數控機床及基礎制造裝備等國家重大專項支持下,在國產操作系統(tǒng)、工業(yè)以太網總線、高性能IPC及測控模塊等一些關鍵技術上取得了一定成果[5-7],但是尚未形成完整的關鍵技術鏈條和研發(fā)生態(tài)。
國內研發(fā)的可編程控制系統(tǒng)主從站硬件大多數采用定制化模式。針對專用的機電系統(tǒng)設計,標準化、模塊化程度不高,系統(tǒng)底層硬件構成差異大,互換性及互聯(lián)互通性不強,研制與批產成本高。在軟件方面,IDE是用戶進行編程、調試、下載等操作的重要工具,涉及實時操作系統(tǒng)、應用層協(xié)議棧、可視化編程、代碼庫生成和管理、HMI組態(tài)等多個方面,難度和工作量極大[8-10]。這類軟件被3S,KW-Software等國外軟件廠商壟斷,國內自動化廠商還不能提供完整的軟件開發(fā)平臺,嚴重制約了自主可控可編程控制系統(tǒng)軟件的發(fā)展。
現(xiàn)場總線是實現(xiàn)可編程控制系統(tǒng)主從站數據高速、可靠傳輸的重要橋梁。由于制造裝備對數據傳輸實時性及同步性要求的不斷提高,以EtherCAT,Profinet,POWERLINK為代表的實時以太網總線成為可編程控制系統(tǒng)的標配[11]。這些總線廠商通過出售集成通信協(xié)議的專用ASIC芯片來授權總線的使用,嚴重影響工業(yè)控制系統(tǒng)的信息安全。以EPA總線[12]、NCUC總線[13]、EtherMAC總線[14]等為代表的國內實時以太網總線,對標準IEEE802.3鏈路層進行修改,在FPGA中集成鏈路層協(xié)議,初步形成了自主可控的實時以太網總線。但功能完善程度和整體實時性能與國外先進總線仍然具有一定差距[15]。
目前,我國可編程控制系統(tǒng)研發(fā)面臨的主要問題為:(1)技術體系復雜,國外技術壁壘高筑;(2)碎片化的技術研究,尚未形成各項關鍵技術研發(fā)生態(tài);(3)工業(yè)軟件開發(fā)難度大,需要長期的技術積累來形成軟件數字資產;(4)總線技術面臨升級改造,迫切需要掌握高性能總線接口技術;(5)缺乏面向嵌入式應用的國產工業(yè)級CPU,F(xiàn)PGA芯片。
本文通過分析可編程控制系統(tǒng)的發(fā)展過程和技術體系,提出一種總線式可編程控制系統(tǒng)構成方案。以實現(xiàn)自主可控為目標,對方案中的主從站標準化、實時以太網總線及應用層協(xié)議、軟件集成開發(fā)環(huán)境及人機界面、符合PLCopen規(guī)范的軟件功能庫等的原理和關鍵技術進行分析說明,最后從建立研發(fā)技術生態(tài)角度提出了各關鍵技術的解決思路和方法。
自20世紀60年代開始,隨著微電子、計算機、信息處理等技術的發(fā)展,數字控制系統(tǒng)逐漸替代模擬控制系統(tǒng),可編程工業(yè)控制系統(tǒng)開始登上歷史舞臺。這類系統(tǒng)主要經歷了集中式控制系統(tǒng)(Centralised Control System, CCS)、分布式控制系統(tǒng)(Distributed Control System, DCS)、總線式控制系統(tǒng)(Fieldbus Control System, FCS)3個發(fā)展階段[16],如圖1所示。集中式控制系統(tǒng)是由一臺主機作為核心控制單元,通過計算機板卡擴展外部通用信號接口,對系統(tǒng)中各個外設進行直接控制的系統(tǒng)。由于采用單個控制器單元,外設數量、控制算法復雜程度等因素的增加,導致系統(tǒng)處理能力受到限制。
分布式控制系統(tǒng)以微處理器為基礎,將由主機實現(xiàn)的控制功能分散到各個子控制器模塊中,使子控制器模塊具有較強的局部處理功能,主機用于完成協(xié)調控制功能。其特點在于對系統(tǒng)采用集中管理,各外設通過子控制器分散控制。這種分布式結構能夠提高系統(tǒng)工作的可靠性,但存在硬軟件標準化程度不高,不易實現(xiàn)開放互聯(lián)的問題。
總線式控制系統(tǒng)則主要依托于各種工業(yè)現(xiàn)場總線,系統(tǒng)主機(站)通過總線通信管理的方式對總線上的從站外設節(jié)點進行實時控制和管理操作,實現(xiàn)在標準通信協(xié)議下各功能模塊的開放式互聯(lián)[17]。這種集計算技術、總線技術與控制技術為一體的開放式工業(yè)控制系統(tǒng)體系架構,相比CCS和DCS,在系統(tǒng)可靠性、使用靈活性、功能多樣性、架構開放性、設備成本等多個方面都具有較大的優(yōu)勢。尤其是實時以太網技術在現(xiàn)場總線中的廣泛應用。當前,基于實時以太網總線的FCS已成為工業(yè)過程控制與裝備自動化領域可編程控制系統(tǒng)的主流架構。
圖1 可編程控制系統(tǒng)發(fā)展階段示意圖Fig.1 Schematic diagram of programmable control system development stage
早期的可編程控制系統(tǒng)大都采用相對封閉的硬軟件結構。在硬件上,采用專用的IO控制模塊、電源模塊和專用的中低速總線,硬件模塊定制化程度較高,缺乏兼容性。軟件上,各廠商都推出了各自的軟件開發(fā)環(huán)境且都采用梯形圖、語句表等編程語言,但其組態(tài)方式、尋址空間、語言結構等均有較大不同??偩€上,各大廠商使用的總線及協(xié)議不盡相同,如西門子的Profibus,三菱的CC-Link、貝加萊的Powerlink、施耐德的Modbus-IDA等總線。各廠商的可編程控制系統(tǒng)硬軟件互不兼容,具有較高的技術壁壘,嚴重阻礙了總線技術發(fā)展和不同廠商產品的互聯(lián)互通。
FCS具有現(xiàn)場總線及協(xié)議標準化、從站節(jié)點控制器模塊化、邏輯與運動控制編程開發(fā)環(huán)境集成化、系統(tǒng)互聯(lián)開放化等特征。這些特征使得可編程控制系統(tǒng)的結構和功能由過去的封閉式走向開放式。當前,總線式可編程控制系統(tǒng)的架構和開發(fā)應用具有以下主要特點:
(1)在總線方面,采用具有高同步性能的實時以太網總線及標準化應用層協(xié)議。在符合IEEE802.3規(guī)范的以太網物理層接口的基礎上設計適應工業(yè)控制的鏈路層數據傳輸協(xié)議,使它具有高的實時和同步性能,是實時以太網現(xiàn)場總線接口技術研制的核心內容。當前,應用較廣的實時以太網總線有Ethernet/IP,EthernetPowerlink,Profinet,及EtherCAT等。這些總線的物理層、鏈路層均采用通用以太網接口標準,主要區(qū)別在于網絡層、傳輸層實現(xiàn)實時性的方法。其實時控制周期可小于1 ms甚至100 μs,同步性能也能達到100 ns以內[18],為可編程控制系統(tǒng)的總線選擇提供了較大的空間。
應用層協(xié)議用于屏蔽總線物理層、鏈路層差異,為用戶層提供統(tǒng)一的總線讀寫操作服務接口。應用層協(xié)議及協(xié)議棧對總線式可編程控制系統(tǒng)的主站、從站用戶程序設計有直接的影響。在眾多應用層協(xié)議中,CANopen 協(xié)議是一種占有重要地位的標準,該協(xié)議由CiA(CAN-in-Automation)組織1992年發(fā)布,其主要特點是通過“數據字典(Object Dictionary,OD)”對工業(yè)控制系統(tǒng)中各節(jié)點設備的功能和網絡行為進行描述[19]。依靠CANopen 協(xié)議的支持,主機可通過總線對不同廠商的CANopen設備進行靈活配置。將CANOPEN協(xié)議與實時以太網相結合,形成了不同類型的實時以太網應用層協(xié)議,如Powerlink,COE(CANopen over EtherCAT)應用層協(xié)議等。
(2)在系統(tǒng)硬件方面,主站和從站越來越通用化??偩€式可編程控制系統(tǒng)一般由主站和多個測控從站通過實時以太網總線連接構成。對主站總線接口硬件而言,可直接采用標準以太網卡或集成在嵌入式主板上的通用以太網控制器,因此主站有較大的選擇余地。但對于從站而言,則需要通過專用實時以太網總線接口芯片來實現(xiàn)從站處理器對總線數據的收發(fā)操作。隨著總線接口芯片技術的日臻成熟,用于實現(xiàn)數字量IO、模擬量輸入輸出、編碼器檢測、運動控制、伺服驅動等現(xiàn)場測控功能的從站與實時總線的數據交換不再困難。這也促進了從站標準化、通用化程度的提高,具有實時以太網接口的從站類型、規(guī)格會愈加豐富,性價比會不斷提升,使未來可編程控制系統(tǒng)的從站硬件選擇和系統(tǒng)構建過程變得更加簡單快捷。
(3)在編程開發(fā)工具軟件方面,功能更加豐富。總線式控制系統(tǒng)的工具軟件主要涉及自動化編程和人機交互界面編程兩個方面。自動化編程軟件是一種用于工控語言編程調試的集成化開發(fā)平臺,能夠按照IEC61131-3國際標準規(guī)定 的 指 令 表(IL)、梯 形 圖(LD)、功 能 塊 圖(FBD)、結構化文本(ST)和順序功能圖(SFC)5種編程語言進行邏輯控制、運動控制程序的混合編程和在線調試[20]。人機交互界面編程軟件主要用于總線式控制系統(tǒng)內部狀態(tài)數據顯示和外部指令等人機交互方式的設計。這兩種軟件相輔相成,共同決定著工控系統(tǒng)編程的質量和效率。編程開發(fā)工具軟件已成為衡量可編程控制系統(tǒng)技術水平的重要標志。目前,應用較多的編程工具軟件主要以德國的產品為主,如3S公司的CoDeSys3、KW公司的KW-Software、西門子公司的SIMATIC WinAC、倍福公司的Twin-CAT3等。這些工具軟件具有多語言混合編程、實時多任務、仿真與在線調試、支持Modbus 接口協(xié)議、能支持多種總線類型、硬軟件擴展性好等共性特點。這些功能特點涵蓋了控制系統(tǒng)項目在編程、調試、管理、維護等各個階段所需的軟件開發(fā)及協(xié)同管理工作,使得編程標準化和可移植性顯著提高,在同一個工具軟件平臺通過控制邏輯和人機交互界面的“軟件組態(tài)”就能進行可編程控制系統(tǒng)的快速可重構開發(fā),實現(xiàn)完整的自動化解決方案,還會顯著降低人力、研發(fā)、培訓和技術支持的成本。
(4)在應用軟件開發(fā)方面,IEC61131-3語言和PLCopen規(guī)范相結合成為主要的標準化開發(fā)樣式。在以IEC61131-3語言編程調試為基礎的集成化開發(fā)平臺上,采用IEC61131-3的5種編程語言以及與C/C++的混合編程可以靈活實現(xiàn)對被控設備對象的邏輯、運動、安全等控制功能的軟件開發(fā)。但在制造機床、工業(yè)機器人等需要多軸伺服電機高精度協(xié)同控制的高端裝備應用場合,所設計的應用軟件在一定程度上仍存在對系統(tǒng)硬件依賴性強、開發(fā)標準化程度不高、繼承復用性不理想的問題。針對某類工業(yè)裝備的控制應用需求,基于PLCopen規(guī)范,通過IEC61131-3編程語言進行運動控制、工藝過程控制、安全控制等應用軟件功能塊的標準化開發(fā),進而建立該類裝備運行控制的完整軟件功能塊庫,已成為當前可編程控制系統(tǒng)應用軟件研究的主要技術途徑[21]。對應用軟件開發(fā)者而言,通過調用功能塊即可快速實現(xiàn)對裝備的復雜運動控制。所開發(fā)的功能塊庫具有與主從站硬件的依賴性低、工藝知識封裝與隱藏性好、便于跨平臺復用、易于智能化升級的特點。隨著硬件成本的不斷降低,可編程控制系統(tǒng)的核心技術競爭力主要表現(xiàn)在功能塊庫的差化方面。作為“軟件定義機器”理念的具體實現(xiàn)樣式,這些功能塊庫也將成為未來企業(yè)的重要數字資源和提高自身市場競爭力的主要內容。
(5)在系統(tǒng)應用方面,開放性互聯(lián)能力不斷增強。與工業(yè)現(xiàn)場的設備和傳感器直接連接,獲取各類現(xiàn)場設備的工作狀態(tài)數據,實現(xiàn)設備的自動化控制,是可編程控制系統(tǒng)的主要任務。但隨著企業(yè)信息化、智能化水平的提高,迫切需要將部分有價值的現(xiàn)場數據傳輸至上層MES/ERP管理系統(tǒng),以實現(xiàn)車間、企業(yè),以及更高層級的設備運營決策優(yōu)化。特別是工業(yè)互聯(lián)網、智能制造和大數據技術的運用,對總線式可編程控制系統(tǒng)的開放互聯(lián)性能提出了更高的要求,但現(xiàn)有總線系統(tǒng)間的應用層協(xié)議差異較大,難以滿足需求。如何直接獲取現(xiàn)場數據的優(yōu)勢,嵌入IT接口和安全訪問技術,實現(xiàn)開放式互聯(lián),已成為可編程控制系統(tǒng)發(fā)展的一個重要特點。OPC基金會提出的統(tǒng)一架構(OPC UA)模型作為一種自動化領域的數據交換互操作性標準,可以實現(xiàn)制造管理系統(tǒng)中現(xiàn)場設備、車間、企業(yè)、云端等層級間數據的高安全性無縫數據交換,是近年工業(yè)4.0和工業(yè)物聯(lián)網領域的研究熱點之一[22]。特別值得關注的是,OPC UA與PLCopen兩個國際組織在OPC UA信息模型和IEC61131-3功能結構模型的合作,通過IEC61131-3語言來搭建符合OPC UA規(guī)范的數據交換模型,并提出了PLCopen OPC-UA規(guī)范,開發(fā)了OPC UA客戶端功能模塊,使得可在PLCopen編程開發(fā)環(huán)境下通過客戶端功能塊調用即可方便地實現(xiàn)與系統(tǒng)內其他設備的數據交換。
多年來,在核高基、高端數控機床及基礎制造裝備等國家重大專項的支持下,國產化CPU、FPGA芯片、操作系統(tǒng)軟件等硬軟件技術已取得長足進步。國產元器件產業(yè)化能力顯著增強,使可編程控制系統(tǒng)的硬件電路設計有了更大的選擇空間。在高性能運動控制系統(tǒng)、工業(yè)編程軟件和HMI軟件開發(fā)等方面,我國已掌握一批關鍵技術,并具備了可編程控制系統(tǒng)自主可控研究的基礎條件。
典型的總線式可編程控制系統(tǒng)構成如圖2所示。其中,嵌入式計算機(主站)通過實時以太網總線將節(jié)點控制器(從站)進行連接并組網。在符合IEC61131-3標準的集成開發(fā)環(huán)境(IDE)中編寫邏輯和運動控制程序,經過編譯后下載至主站。主站運行過程中根據代碼的執(zhí)行流程,在程序組織單元(POU)中向各從站發(fā)送控制指令。各從站在接收主站控制指令后,控制相應的末端設備并采集設備狀態(tài)信息通過總線返回至主站。人機界面(HMI)組態(tài)軟件用于人機交互方式設計,實現(xiàn)系統(tǒng)指令輸入和各從站狀態(tài)數據顯示。由此可知,嵌入式主站、實時以太網總線、各種功能類型從站、IDE以及HMI組態(tài)軟件等5個方面的硬軟件共同構成了可編程控制系統(tǒng)的產品生態(tài)體系。
圖2 FCS系統(tǒng)構成原理Fig.2 Schematic diagram of FCS system composition
研發(fā)可編程控制系統(tǒng)的核心就是對圖2中典型系統(tǒng)各構成部分的相關技術進行攻關。
圖3為總線式可編程控制系統(tǒng)涉及到的相關技術。除硬軟件關鍵技術以外,圖中還增列出了安全設計技術。這是因為隨著裝備信息化、智能化的發(fā)展,控制和信息互聯(lián)程度越來越高,裝備運行面臨更多安全威脅,對可編程控制系統(tǒng)的安全性功能提出了更高的要求。安全總線、安全控制、安全從站、安全伺服驅動、安全設計軟件和智能安全等技術已成為未來高端可編程控制技術和市場競爭的焦點[23]。為提高市場競爭力,必須高度重視可編程控制系統(tǒng)的功能安全和信息安全問題的理論和關鍵技術研究。
圖3 總線式可編程控制系統(tǒng)技術架構Fig.3 Technical architecture of fieldbus programmable control system
總線式可編程控制系統(tǒng)研發(fā)涉及機械、微電子、計算機、控制等多個學科,共同構成了技術生態(tài)鏈條。單在鏈條中的某一環(huán)節(jié)進行研究,很難取得技術突破,形成完整的系統(tǒng)級產品。必須在整個技術生態(tài)鏈條上的各個環(huán)節(jié)同步持續(xù)發(fā)力,實現(xiàn)系統(tǒng)內主站、總線、從站硬件和集成開發(fā)環(huán)境、HMI組態(tài)軟件開發(fā)等成套關鍵技術的整體突破,才能真正具備可編程控制系統(tǒng)的自主可控研發(fā)能力。
總線式可編程控制系統(tǒng)研制涉及技術生態(tài)鏈條長、關鍵技術復雜,需要長期的技術積累。
總線式可編程控制系統(tǒng)自主可控研發(fā)的內涵與目標是:基于國產CPU、操作系統(tǒng)等基礎芯片和軟件,圍繞主站、總線、從站硬件和集成開發(fā)環(huán)境、HMI組態(tài)軟件等總線式可編程控制系統(tǒng)技術鏈條中的關鍵環(huán)節(jié)開展全面的研究,建立較完備的研發(fā)生態(tài),形成具有自主知識產權的核心技術成果,在硬軟件設計、加工檢測、運行維護等方面具備獨立可控、不受制于人的研發(fā)能力。圖4為我們開發(fā)的總線式可編程控制系統(tǒng)構成示意圖。
在系統(tǒng)主站研發(fā)方面,硬件上采用集成國產CPU,SOC等芯片,具有標準以太網口、串口、GPIO等外設的嵌入式主板,軟件上采用國產實時操作系統(tǒng)。
在從站研發(fā)方面,硬件上以國產SoC芯片為核心控制器件,根據數字量IO、模擬量AD/DA、伺服控制、通信轉換等控制功能的需求,進行不同類型外設電路的設計。為減少硬件資源的占用率,提高運行實時性,從站不安裝實時操作系統(tǒng),對CANopen協(xié)議棧、總線控制器接口操作、外設底層操作均采用C/C++直接編寫。
在實時以太網總線控制器方面,實時性和同步性是衡量總線式可編程控制系統(tǒng)數據傳輸性能的核心指標。在物理層符合以太網物理鏈路標準IEEE802.3的條件下,實時性和同步性主要取決于介質訪問控制子層(MAC層)的數據交換速度和交換方式。因此,須根據控制過程的實時與非實時數據傳輸特點,設計能在FPGA或ASIC芯片上運行的網絡數據收發(fā)鏈路層傳輸協(xié)議IP核,才能保證網絡幀的實時傳輸和同步性能。
在軟件IDE方面,以國產實時操作系統(tǒng)為基礎,對開源的IEC61131-3 IDE的架構及原理進行剖析,提出包含IDE和主站運行環(huán)境(Runtime)的編程開發(fā)環(huán)境構件方案,并開展硬件組態(tài)配置、IEC61131-3編程、CANopen協(xié)議棧、C代碼轉換、程序下載及調試、HMI數據訪問等功能插件的研究,以實現(xiàn)IEC61131-3五種編程語言的可視化開發(fā)。
在人機交互界面HMI組態(tài)軟件方面,HMI是可編程控制系統(tǒng)的“窗口”,用于實現(xiàn)系統(tǒng)狀態(tài)的實時監(jiān)視和控制,起著人機交互顯示操控的重要作用。HMI功能的實現(xiàn)主要取決于運行于控制系統(tǒng)內部的數據訪問機制的有效性和顯示操作控件設計的快捷性。前者一般采用MODBUS數據交換協(xié)議在主站中通過軟件功能插件的形式實現(xiàn),后者則可借助通用的HMI組態(tài)軟件進行快速開發(fā)。
在PLCopen功能塊庫開發(fā)方面,首先開展基于PLCopen規(guī)范的運動控制功能庫架構設計和快速開發(fā)方法的研究,以掌握基于IEC61131-3編程語言的運動控制、安全控制等PLCopen功能塊的標準化開發(fā)方法,進而具備能對典型裝備運動過程進行建模分析和功能塊庫快速研制的能力。
圖4 總線式可編程控制系統(tǒng)構成示意圖Fig.4 Schematic diagram of autonomous PMC system
主站是可編程控制系統(tǒng)的“大腦”,用于完成邏輯與運動控制功能執(zhí)行、從站任務調度與管理、總線實時數據傳輸、HMI界面通信等任務。主站對外接口單一,以網絡通信為主。以國產X86架構的處理器芯片為核心的嵌入式計算機平臺就可以實現(xiàn)主站功能。目前,性能優(yōu)越的嵌入式國產CPU處理器芯片主要包括飛騰系列、龍芯系列以及申威系列等[24]。為了充分發(fā)揮國產處理器的性能特點,需對國產CPU硬件環(huán)境的信號完整性、功能模塊與CPU通信接口、基于現(xiàn)場總線的系統(tǒng)運行問題進行優(yōu)化。主站的硬件架構如圖5所示,包括主控CPU、電源模塊、USB設備輸入接口、HDMI顯示輸出接口、SATA硬盤接口、DDR3內存單元、兩路獨立的標準以太網接口、RS232通信接口、CAN總線接口和GPIO接口等。
圖5 主站硬件架構Fig.5 Master station hardware architecture
從站作為工業(yè)現(xiàn)場末端設備的控制器,接收現(xiàn)場總線指令,直接控制對不同類型的工業(yè)現(xiàn)場末端設備進行狀態(tài)信息采集。根據外部設備控制原理、接口類型等差異,在通用的處理器電路和通信電路基礎上,設計針對不同外設的電路結構是實現(xiàn)從站模塊化開發(fā)的有效手段。通過對設備控制模型的分析與整合,設計了具有開關量輸入輸出的數字量IO從站、具有模擬電壓、電流采集與輸出的模擬量IO從站、集成伺服控制算法的運動控制從站、具有現(xiàn)場總線與其他通信方式兼容的通信轉換從站。從站采用集成Cortexm3內核的國產SoC芯片作為從站主控單元,在國產大容量FPGA中集成現(xiàn)場總線協(xié)議,形成從站主控和通信相關的硬件架構。模塊化的從站硬件結構如圖6所示。
圖6 從站硬件架構Fig.6 Schematic diagram of slave station hardware
實時以太網總線是FCS控制系統(tǒng)的基礎,是實現(xiàn)系統(tǒng)整體連接的關鍵“橋梁”。目前,典型的實時以太網總線如EtherCAT,POWERLINK和PROFINET,是在以太網物理鏈路標準IEEE802.3的基礎上,保留物理層接口與傳輸線路,修改了數據鏈路層的MAC子層數據傳輸協(xié)議,使數據傳輸獲得實時性[25]。因此,采用國產核心器件搭建標準的以太網硬件平臺,針對工業(yè)控制過程中實時與非實時數據的傳輸特點,設計網絡數據收發(fā)鏈路層協(xié)議、網絡幀實時傳輸、通信同步等方法,是實現(xiàn)實時以太網總線自主可控的關鍵。
使用Verilog語言對實時以太網鏈路層協(xié)議進行開發(fā),并封裝成IP核集成在國產FPGA中作為總線控制器,可縮短開發(fā)時間,便于升級、維護。設計的總線控制器模塊如圖7所示,主要包括2路獨立的MII接口模塊、數據訪問接口、寄存器模塊、通信控制模塊和同步控制模塊。其中,MII接口模塊用于控制100 Mb/s通用型PHY芯片,進行網絡底層數據收發(fā);數據訪問接口用于總線控制器與從站主控芯片之間數據傳輸,主要包括對總線控制器進行配置、讀取總線控制器中接收到的網絡數據、將外設狀態(tài)信息寫入總線控制器后發(fā)送至主站、產生通信中斷及同步信號;寄存器模塊用于存放總線控制器信息、配置、通道數據等參數;通信控制模塊對通信過程中產生的過程數據(周期傳輸)和服務數據(非周期傳輸)進行獨立的通道管理,以實現(xiàn)數據交換的準確性與實時性;同步控制模塊集成基于IEEE1588精準時鐘同步協(xié)議,計算網絡通信幀在各從站間傳輸的延時并進行補償,通過數據訪問接口的SYNC信號,產生精準的同步信號。
圖7為實時以太網總線數據傳輸原理。主站發(fā)送以太網數據幀至從站以太網接口1,總線控制器的MII接口模塊1將網絡幀數據讀取后由通信控制模塊處理后存放在寄存器模塊中。此時,數據訪問接口根據同步控制模塊產生通信中斷信號和同步信號。從站主控芯片通過數據訪問接口將總線控制器接收到的數據讀出,通過協(xié)議轉換模塊將鏈路層協(xié)議轉換為應用層協(xié)議后送入應用層協(xié)議棧。協(xié)議棧更新對象字典中數據,控制設備操作模型對外設進行控制。外設狀態(tài)參數由傳感器采集后寫入對象字典,并通過協(xié)議轉換后存入總線控制器的寄存器模塊中。在以太網數據幀抵達總線控制器時,通信控制模塊將寄存器中外設狀態(tài)參數寫入網絡幀并由MII接口模塊2發(fā)送至總線。
圖7 實時以太網數據傳輸原理Fig.7 Schematic diagram of real-time Ethernet data transmission
IEC61131-3標準規(guī)定了PLC,DCS,CNC等系統(tǒng)的編程標準,包括IL,LD,F(xiàn)BD,ST,SFC五種編程語言。這種標準化編程方式簡化了邏輯和運動控制代碼編寫的過程,改變了傳統(tǒng)基于C/C++等底層語言的繁瑣編程模式,使用戶能方便高效地進行應用程序的開發(fā)[26]。在國產操作系統(tǒng)或Linux操作系統(tǒng)中設計一套具有IEC61131-3邏輯和運動控制編程、代碼轉換編譯、調試與下載功能的IDE是可編程控制系統(tǒng)軟件自主可控的基礎。
構成IDE的功能組件主要包括硬件組態(tài)配置插件、IEC61131-3編程插件(GUI)、C代碼轉換插件、程序下載及調試插件。此外,在主站中集成代碼管理插件來實現(xiàn)主站與軟件集成開發(fā)環(huán)境之間的通信和管理,也是實現(xiàn)可視化編程調試不可缺少的環(huán)節(jié)。其中,硬件組態(tài)配置插件根據實際系統(tǒng)上從站數量、類型、對應的節(jié)點號等信息,形成整個系統(tǒng)的硬件連接關系,并生成系統(tǒng)組態(tài)文件,為主站實現(xiàn)網絡通信調度提供準確的設備信息。IEC61131-3編程插件根據生成的系統(tǒng)組態(tài)文件,采用IEC61131-3定義的五種編程語言,進行系統(tǒng)整體邏輯功能的編程操作。這五種編程語言各有其優(yōu)勢,在編程時可采用一種或使用多種進行混合編程。C代碼轉換插件將設計完成的IEC61131-3邏輯代碼轉換為主站系統(tǒng)平臺可以執(zhí)行的標準C代碼,為后續(xù)程序下載、調試等操作做好準備。由于ST的語法邏輯與C語言相似,插件首先將IEC61131-3其他語言轉換為ST語言,再將ST轉換為C代碼。程序下載及調試插件操作以太網接口,將生成的C代碼以及組態(tài)文件傳輸至主站用于程序下載/調試的網絡端口。在主站運行過程中與主站中代碼管理插件進行程序中的控制、狀態(tài)變量的實時通信,通過在線修改相關變量參數實現(xiàn)調試功能。代碼管理插件集成在主站程序中,實現(xiàn)與軟件集成開發(fā)環(huán)境中程序下載及調試插件的實時通信。此外,通過接收系統(tǒng)邏輯功能C代碼和組態(tài)文件,調用本地C/C++編譯器,生成主站程序框架內具有完成系統(tǒng)邏輯功能的可執(zhí)行文件,并集成在主站程序組織單元中。
圖8展示了軟件集成開發(fā)環(huán)境結構以及編程調試流程。用戶在軟件集成開發(fā)環(huán)境中進行硬件組態(tài)和符合IEC61131-3的程序編寫后,通過網口將程序可執(zhí)行的C代碼下載到主站中。主站的代碼管理插件對C代碼進行編譯,然后將可執(zhí)行文件集成于主站POU中。最后,POU調用總線以太網端口進行總線通信,實現(xiàn)對系統(tǒng)各從站和末端設備的控制。
圖8 IDE功能原理Fig.8 IDE functional schematic
在可編程控制系統(tǒng)中,HMI組態(tài)軟件是一種可快速開發(fā)的工業(yè)自動化控制場景狀態(tài)監(jiān)測、管理控制的可視化軟件,也是實現(xiàn)人機交互的重要工具[27]。HMI組態(tài)軟件由界面開發(fā)環(huán)境和HMI運行程序構成。其中,界面開發(fā)環(huán)境用于設計HMI界面顯示、圖形、通信等相關結構,HMI運行程序則是在目標平臺上實現(xiàn)最終HMI功能的程序。考慮到系統(tǒng)通用性和自主可控的需求,在通用的Windows/Linux操作系統(tǒng)中采用C語言在跨平臺軟件開發(fā)環(huán)境QT上進行HMI界面開發(fā),在Linux以及國產操作系統(tǒng)中運行所生成的界面程序,實現(xiàn)了HMI組態(tài)編程軟件的跨平臺運行。
圖9為HMI組態(tài)軟件功能架構。界面開發(fā)環(huán)境運行在Windows操作系統(tǒng)中,用戶通過工程項目管理組件、系統(tǒng)參數配置組件、監(jiān)控界面繪制組件、通信管理組件以及界面程序生成組件開發(fā)和設計符合實際控制需求的HMI界面。其中,工程項目管理組件可對HMI界面開發(fā)過程進行管理和優(yōu)化;系統(tǒng)參數配置組件對所設計的HMI界面運行設備、界面的屏幕分辨率、界面的圖像刷新率等參數進行配置;監(jiān)控界面繪制組件提供了HMI界面圖形和動畫的開發(fā)工具以及標準化的按鈕、開關等插件;通信管理組件定義了工業(yè)控制常用的通信協(xié)議如Modbus-TCP,Modbus-RTU等。在完成HMI界面開發(fā)后,在界面程序生成組件中整合所有相關的界面設計的結果文件,打包生成HMI運行程序,并通過以太網或USB將HMI運行程序數據下載到Linux/國產操作系統(tǒng)的程序運行平臺中。HMI運行程序在平臺中通過實時通信組件建立與主站的實時通信,對實時數據庫組件中的數據進行操作。同時,界面圖控組件會根據用戶的操作,實時地向數據庫中更新界面狀態(tài)。由此形成了基于實時數據庫的界面操作協(xié)議,實現(xiàn)了HMI組態(tài)軟件與主站的數據交換。
圖9 HMI組態(tài)軟件框架原理Fig.9 Schematic diagram of HMI software framework
PLCopen規(guī)范是一種不依賴硬件框架的標準化、規(guī)范化的工業(yè)控制軟件編程方法,包括邏輯編程規(guī)范、運動控制規(guī)范、XML規(guī)范、安全規(guī)范及OPC-UA規(guī)范,如圖10所示?;诮M件化的軟件復用思想,可將通用的功能塊進行組合設計并封裝成可實現(xiàn)被控對象復雜程序功能的模塊化程序單元[28]。用戶在編程時通過調用功能塊并定義邏輯連接、輸入輸出接口變量即可使用,大大提高了系統(tǒng)編程效率和資源利用率。在具有標準化硬件、總線、程序開發(fā)方法的FCS系統(tǒng)中,完善的、符合被控對象特性的PLCopen功能庫是高端可編程控制系統(tǒng)數字資產和軟實力的重要體現(xiàn)。
圖10 PLCopen規(guī)范構成Fig.10 PLCopen specification composition
在PLCopen規(guī)范中,運動控制功能的實現(xiàn)取決于三個基本要素:運動控制功能塊算法邏輯實現(xiàn)、軸狀態(tài)機以及軸信息結構體[29]。其中,運動控制功能塊主要實現(xiàn)運動控制相關的算法(如加減速規(guī)劃、電子凸輪、插補等)[30];軸狀態(tài)機則是描述軸當前的運動狀態(tài)以及可能存在的狀態(tài)跳轉關系;軸信息結構體則描述了被控軸的所有參數。圖11詳細描述了PLCopen功能塊的工作原理。在主站中根據運動控制基本模型建立軸狀態(tài)機,定義了電機軸的所有運動狀態(tài)以及各狀態(tài)之間的轉移關系。在IDE中利用IEC61131-3標準功能塊,開發(fā)軸狀態(tài)機中每個運動狀態(tài)對應的運控控制功能塊,從而形成完整的運動控制功能庫。由于運動控制從站中集成了基本的三環(huán)控制算法,所以PLCopen功能塊算法的原理是在時間軸下對從站三環(huán)控制的基本指令、模式等參數的邏輯和時序控制。因此,建立一個與從站軸控制相同并且反映軸運行所有信息的結構體,是網絡通信架構下PLCopen運動控制功能塊實現(xiàn)的核心。軸信息結構體的本質是從站對象字典中反映軸在運行過程中所有對象的集合,通過實時以太網總線對軸信息結構體與從站對象字典的實時更新,實現(xiàn)了運動控制功能庫的功能。
圖11 PLCopen運動控制功能庫實現(xiàn)原理Fig.11 Working principle of PLCopen motion control functions
本文針對工業(yè)控制和裝備制造領域的可編程控制系統(tǒng)自主可控問題,在工業(yè)控制系統(tǒng)發(fā)展歷程的基礎上,對當前流行的FCS組成架構、工作原理及相關技術進行了深入分析,提出了自主可控可編程控制系統(tǒng)架構。通過剖析構成可編程控制系統(tǒng)的關鍵組件的功能原理,結合當前國內技術水平與自主可控要求,提出了可編程控制系統(tǒng)開發(fā)的技術途徑和關鍵技術解決思路。形成了標準化、模塊化的自主可控主從站硬件設計方法,自主可控實時以太網總線接口及協(xié)議開發(fā)方法,符合IEC61131-3標準的可視化編程、調試方法,跨平臺HMI組態(tài)編程方法,符合PLCopen規(guī)范的軟件定義功能塊的開發(fā)方法。該方法能夠為未來智能制造裝備國產化控制系統(tǒng)提供完整可靠的解決方案。
在自主可控工業(yè)控制技術被列入國家戰(zhàn)略的新時期,整合國內在制造業(yè)、電子信息、計算機等領域的技術,堅持智能制造裝備的國產化發(fā)展理念,努力突破基礎和關鍵技術瓶頸,形成國產可編程控制技術研發(fā)及產品生態(tài)鏈,從而打破歐美發(fā)達國家的技術壟斷,促進我國高端制造裝備的長遠發(fā)展。