999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

工控行業自主可控編程編譯工具關鍵技術研究*

2018-10-13 02:21:06郭肖旺趙德政
網絡安全與數據管理 2018年9期
關鍵詞:調試語言模型

郭肖旺,陳 海,趙德政

(中國電子信息產業集團有限公司第六研究所,北京 100083)

0 引言

在工業自動化領域,使用通用編程軟件分為兩類情況:一是為各廠商提供編程軟件工具,如德國3S公司的CodeSys、德國菲尼克斯公司的Phoenix Contact Software(原為KW-Software)、一方梯隊(Infoteam)的OpenPCS[1];二是自身為自動化產品廠商,編程軟件只針對自身的PLC產品開發,如德國西門子的博途(TIA)和Step7[2]、法國施耐德的Unity Pro、美國羅克韋爾的RSLogix5000、日本三菱的GX-Developer[3]、日本歐姆龍的CX-Programmer等。目前國內有很多廠商已經在進行工控行業編程編譯工具的研究,國內 PLC 編程軟件一般可以分為三類:一類是仿制兼容類,即仿照國外著名PLC廠商產品制作的編程軟件,能夠兼容所仿制的國外的編程軟件,但缺乏核心技術的自主性,在市場上很難有較好的競爭力;二類是貼牌生產(Original Equipment/Entrusted Manufacture,OEM),這類編程軟件采用國外公司的IEC61131-3 標準,雖然符合 PLC 軟件的國際標準,但是其核心技術仍然掌握在別人手里,市場競爭力難以與國外編程工具相匹敵;第三類是自主開發的編程軟件,在編譯器等核心關鍵技術方面需要投入大量的人力物力,目前國內自主開發軟件的廠商較少,僅有屈指可數的幾家企業進行了這方面的研究。

另外,在工控安全方面,國外編程軟件的大量使用令行業在根基上受制于人,對軟件內部邏輯、軟件代碼缺乏控制,軟件存在邏輯炸彈、軟件后門等安全問題成為我國工控安全的重大潛在威脅。綜上所述,盡快開發出擁有自主知識產權、有核心技術競爭力的工控行業編程軟件勢在必行。

本文在分析編譯器、架構設計、領域驅動等技術的基礎上,研究工控行業中所使用的編程編譯工具在國產化自主可控方面的關鍵應用,從架構設計、核心技術、安全護航和國產適配四個角度出發(如圖1所示),提出了基于領域驅動的工控行業編程編譯軟件架構、工業語言編程編譯工具鏈、異構平臺調試技術、國產化基礎軟硬件平臺適配、可信編譯五個關鍵技術研究方向,為工控行業編程編譯工具的自主可控研究奠定基礎。

圖1 自主可控工控行業編程編譯工具關鍵技術

1 基于領域驅動的工控行業編程編譯軟件架構

IEC61131國際標準是第一個為工業自動化控制系統軟件設計提供標準化的國際標準[4],其中IEC 61131-3規定用于可編程控制器編程語言的語法和語義,規定編程語言有文本語言和圖形語言,已獲得國際工控界的廣泛承認和支持。GB/T 15969.3是對應IEC61131-3標準的中國國家標準。IEC 61131-3正在加速推廣應用,不但成為PLC的編程標準,而且成為DCS、PC控制、SCADA、運動控制等事實上的編程標準。為適應現場總線和工業以太網的高速發展,IEC 61131-3和IEC 61499相結合,真正為PLC的分布式發展提供了實現的路徑。

本文通過對GB/T 15969.3標準進行深入分析和研究,結合領域驅動設計的概念,提出了基于領域驅動的工控行業編程編譯軟件架構。

(1)領域驅動建模——明確組織架構

領域驅動設計(DDD)的概念是由著名建模專家EVANS E[5]提出的。領域驅動設計重視軟件系統并側重業務模型,實際是針對面向對象的一個擴展和延伸。領域驅動設計,在處理復雜業務邏輯方面有著先天的優勢,它保證了系統的可維護性、擴展性和復用性[6]。

GB/T 15969.3定義了程序組織單元、配置、資源、任務、全局變量等組態元素,并規定了軟件模型和編程模型,從理論上描述了一個復雜程序分解成若干個小模塊的過程,并在各分解部分之間有清晰和規范的接口方法,可以實現對程序執行的完全控制。在標準定義的模型的基礎上引入領域驅動的思想,進行領域建模,建立領域對象與實現業務的映射關系,可以提高開發過程的靈活性,提高自主可控編程編譯工具研發的核心競爭力。

(2)限界上下文——明確系統邊界

GB/T 15969.3標準中規定了任務、變量、配置等多個部分,每個部分都有詳細的設計約束和嚴格的定義。標準中還定義了三種程序組織單元(Programming Organisation Unit, POU):Program、Function、Function Block。用戶編程時可以根據需要對程序功能進行模塊化拆分及封裝。因此,從用戶角度來說,可以采用不同的領域模型進行控制系統編程;從開發者角度來說,需要提供建立不同領域模型的軟件功能。限界上下文定義了每個模型的應用范圍,在每個限界上下文中確保領域模型的一致性,引入限界上下文的概念和思想,在進行自主可控編程編譯工具研發的過程中,采用表示各個領域模型之間關系的總體視圖,通過持續集成確保多個限界上下文的模型統一,明確系統邊界,提高軟件的可伸縮性和可擴展性。

2 工業語言編程編譯工具鏈

目前國內的自主研發編程編譯軟件的公司大都經歷過第三方軟件平臺期。新成立的企業采用成熟的第三方軟件平臺,可以快速地推出產品占領市場積累資本,積攢使用經驗,發掘新需求,然后在研發投入可支撐的情況下開展自主研發的工作。

研究自主可控工控行業編程編譯工具需重點在攻克編譯工具鏈,本文提出了適用于國產軟硬件平臺的編譯工具鏈的關鍵技術研究方向。

(1)多種編程語言深度融合編程機制

GB/T 15969.3定義了五種 PLC 標準編程語言,包括三種圖形化語言和兩種文本化語言。在同一個控制應用中,用戶可以根據需求自由選擇不同的語言進行不同部分的邏輯編寫。要求編程環境必須提供靈活的開發方式,并且同一種功能需求可以用不同的語言實現。

(2)高可擴展的中間代碼架構

國產CPU芯片如龍芯[7]、飛騰[8]等架構不同,指令平臺不同,編程編譯軟件需考慮支持龍芯MIPS架構X86平臺、飛騰1500A芯片、國產SPARC V8處理器、等,因此在編譯時要考慮各個平臺的編譯,設計一種與平臺無關的中間代碼架構,該結構可支持PLC各種編程語言的前端編譯,使得后端編譯只需支持該中間代碼結構即可,提高了編譯效率,減少了編譯帶來錯誤的可能性,為以后增加其他平臺的支持提供了良好接口,大大縮短增加新平臺支持所需的開發周期。

(3)抽象異構寄存器分配模型

由于不用的目標平臺寄存器分配方式不同,針對每種平臺進行設計開發需要投入大量的時間和人力,因此可根據編譯目標平臺的不同特征,設計一種針對異構平臺的抽象寄存器分配模型,對不同的目標平臺采用統一的寄存器配置機制,進行內存和寄存器的分配,在引入新平臺支持時,可以方便地按照模型擴展,大大縮短開發周期。

(4)高兼容性的工業語言編譯器、鏈接器

對不同的工業語言,應提供高兼容性的前端編譯接口和統一的使用方法;對不同的目標平臺,應提供高兼容性的編譯后端接口,采用統一的編譯接口生成不同的目標平臺二進制指令。在進行語言擴展時不需要考慮目標平臺兼容性,在進行目標平臺擴展時也不需要考慮編程語言的不同。降低了工業語言和目標程序的耦合性,提高開發效率和擴展能力。

除了支持編譯器編譯后目標文件的鏈接,鏈接器應可支持符合標準的C語言代碼鏈接,解決現有積累的算法庫的重用,也照顧了部分原有熟悉通用計算機編程技術的開發人員。

(5)工業語言正確性自動化驗證插件

利用編程編譯工具提供的接口,自動化驗證插件可以提供腳本自動打開、編譯、執行測試用例的功能,并實時記錄和跟蹤每一步的運行結果,統計并生成測試報表,方便用戶測試自己的程序,為用戶調試和編程提供了更加高效的接口和更加準確的依據。

3 異構平臺調試技術

開發過程不可能一蹴而就,需要借助調試工具進行不斷的測試、檢查和修改才能寫出高可靠性的程序,所以調試器是軟件開發過程中的必備工具[9-10]。因此,自主可控編程編譯工具對于調試技術的研究必不可少。工業語言的調試涉及圖形語言和文本語言,同時在自主可控方面還要兼顧不同的目標平臺。通過充分研究現有成熟的計算機語言的開發環境和調試手段,深入分析現有計算機語言調試策略的優點,結合工業語言的特點,提出用于工業語言的調試策略研究,調試器應可提供不同目標平臺的調試,簡化用戶邏輯程序調試過程。

(1)異構多目標平臺調試策略

考慮適用于不同平臺的調試方法需要提供一套用于異構多目標平臺調試的策略和模型,程序的可執行文件的結構,全局變量、局部變量以及各種信息的存儲方式,可執行文件中包含的調試信息結構,調試信息的整體組織結構和存儲方式等[11],都將是異構多目標平臺調試研究的重點。

(2)多種調試命令結合

對于圖形化語言和文本語言有不同的調試手段和調試命令。對文本語言應能支持設置斷點、檢查寄存器的值、支持逐行單步調試[11]、步入和步過、查看/改變變量、查看內存等調試手段。對于圖形化語言,需根據圖形語言的特點,提供實用的調試方法,如對LD語言,可支持對網絡設置斷點、執行單個網絡等命令。

(3)多任務/多線程調試技術

工業控制系統在調試時應該支持多任務/多線程調試[12],在進行非嵌入式平臺調試時,如仿真器上可以仿真多任務、多線程,在各個線程之間進行切換,向指定線程發送命令等。

4 國產化基礎軟硬件平臺適配

編程工具作為大型軟件,要想兼容X86系列、飛騰系列、龍芯系列等平臺,需研究可跨Windows、國產操作系統、國產硬件平臺的工業編程軟件實現技術,從可移植性、可兼容性等方面進行分析,應該著重研究如下兩個關鍵技術。

(1)異構多目標平臺自適應編譯架構

第一,采用源到源編譯[13],實現編程編譯工具在不同處理器架構平臺的移植。

第二,編程工具作為IDE提供給用戶使用時,應提供異構多目標平臺自適應編譯功能,用戶不需關心工程文件運行的目標平臺,編程工具在進行編譯、下載、調試、仿真時根據目標平臺自適應處理和加載。

(2)工業語言異構平臺可移植

在不同平臺上使用編程工具保存的用戶工程,不需做額外處理,應能支持在不同平臺間無縫拷貝使用。因此應設計一種與平臺無關的用戶工程文件,實現圖形化語言、文本語言、網絡組態、硬件組態等內容的統一化保存,該項設計能夠大大簡化用戶工程的移植工作,提高目標工程一致性。

5 可信編譯

編程編譯工具的可信性對于整個工控系統而言具有非常關鍵的意義,如果編譯器不可信,則很難保證系統所運行邏輯的可信性。可信編譯是指編譯器在保證編譯正確的同時,提供相應的機制保證編譯對象的可信性[14],因此可信編譯理論和技術的研究也將是工控行業自主可控編程編譯工具研究的關鍵技術之一。

6 結論

編程編譯工具作用于控制工程的設計、調試、運行、維護等全生命周期,對于控制對象的安全穩定運行具有重要的意義。本文對自主可控工控行業編程編譯工具的幾項關鍵技術進行了分析,提出了一些設計原則和策略,希望能給在工控行業中進行自主可控編程編譯工具研究的相關人員提供有益的幫助。

猜你喜歡
調試語言模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
讓語言描寫搖曳多姿
FOCAS功能在機床調試中的開發與應用
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
累積動態分析下的同聲傳譯語言壓縮
3D打印中的模型分割與打包
主站蜘蛛池模板: 狠狠干欧美| 在线播放真实国产乱子伦| 亚洲 欧美 中文 AⅤ在线视频| 波多野结衣无码中文字幕在线观看一区二区| 久青草网站| 国产美女无遮挡免费视频| 国产精鲁鲁网在线视频| 青草视频网站在线观看| 欧美成人综合视频| 精品99在线观看| 丁香六月激情综合| 91久久夜色精品国产网站| 午夜福利无码一区二区| 久久久精品久久久久三级| 欧美午夜在线观看| 麻豆国产在线不卡一区二区| 国产福利在线免费观看| 99re在线免费视频| 波多野吉衣一区二区三区av| 精品视频一区在线观看| 国产性爱网站| 国产精品欧美在线观看| 国产一二三区在线| 在线播放真实国产乱子伦| 人妻21p大胆| 91热爆在线| 国产微拍一区二区三区四区| 亚洲av片在线免费观看| 亚洲免费黄色网| 九九久久精品国产av片囯产区| 91久久精品国产| 成人国产精品网站在线看| 青青操视频在线| 成人无码区免费视频网站蜜臀| 美女扒开下面流白浆在线试听| 欧美精品v欧洲精品| 99精品视频九九精品| 啪啪免费视频一区二区| 伊人大杳蕉中文无码| 亚洲天堂免费| 欧美一级高清片久久99| 五月丁香在线视频| 国产无遮挡猛进猛出免费软件| 亚洲国产系列| 在线中文字幕网| 一级一级特黄女人精品毛片| 国产激情无码一区二区免费| 国产精品一区在线麻豆| 国产精品部在线观看| 欧美成人综合在线| 国产18页| 日韩毛片基地| 伊人91在线| 国产欧美日韩综合一区在线播放| 色综合天天娱乐综合网| 国产老女人精品免费视频| 久久大香香蕉国产免费网站| 青青青视频91在线 | 日韩毛片免费观看| 欧美日韩国产精品综合| 欧美亚洲一区二区三区在线| 国产精品无码一区二区桃花视频| 毛片在线看网站| 亚洲黄色成人| 国产网站免费| 日本黄网在线观看| 精品国产香蕉伊思人在线| 中文字幕中文字字幕码一二区| 一本久道热中字伊人| 中日无码在线观看| 国产凹凸视频在线观看| 伊人久久大香线蕉综合影视| 啪啪国产视频| 人妻出轨无码中文一区二区| 国产网站免费看| 欧美区国产区| 国产高清自拍视频| 91成人在线免费视频| 国产成人精品午夜视频'| h视频在线播放| 99久久国产综合精品女同| 国产丝袜第一页|