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

工控行業(yè)自主可控編程編譯工具關(guān)鍵技術(shù)研究*

2018-10-13 02:21:06郭肖旺趙德政
關(guān)鍵詞:調(diào)試語(yǔ)言模型

郭肖旺,陳 海,趙德政

(中國(guó)電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 100083)

0 引言

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

另外,在工控安全方面,國(guó)外編程軟件的大量使用令行業(yè)在根基上受制于人,對(duì)軟件內(nèi)部邏輯、軟件代碼缺乏控制,軟件存在邏輯炸彈、軟件后門等安全問(wèn)題成為我國(guó)工控安全的重大潛在威脅。綜上所述,盡快開(kāi)發(fā)出擁有自主知識(shí)產(chǎn)權(quán)、有核心技術(shù)競(jìng)爭(zhēng)力的工控行業(yè)編程軟件勢(shì)在必行。

本文在分析編譯器、架構(gòu)設(shè)計(jì)、領(lǐng)域驅(qū)動(dòng)等技術(shù)的基礎(chǔ)上,研究工控行業(yè)中所使用的編程編譯工具在國(guó)產(chǎn)化自主可控方面的關(guān)鍵應(yīng)用,從架構(gòu)設(shè)計(jì)、核心技術(shù)、安全護(hù)航和國(guó)產(chǎn)適配四個(gè)角度出發(fā)(如圖1所示),提出了基于領(lǐng)域驅(qū)動(dòng)的工控行業(yè)編程編譯軟件架構(gòu)、工業(yè)語(yǔ)言編程編譯工具鏈、異構(gòu)平臺(tái)調(diào)試技術(shù)、國(guó)產(chǎn)化基礎(chǔ)軟硬件平臺(tái)適配、可信編譯五個(gè)關(guān)鍵技術(shù)研究方向,為工控行業(yè)編程編譯工具的自主可控研究奠定基礎(chǔ)。

圖1 自主可控工控行業(yè)編程編譯工具關(guān)鍵技術(shù)

1 基于領(lǐng)域驅(qū)動(dòng)的工控行業(yè)編程編譯軟件架構(gòu)

IEC61131國(guó)際標(biāo)準(zhǔn)是第一個(gè)為工業(yè)自動(dòng)化控制系統(tǒng)軟件設(shè)計(jì)提供標(biāo)準(zhǔn)化的國(guó)際標(biāo)準(zhǔn)[4],其中IEC 61131-3規(guī)定用于可編程控制器編程語(yǔ)言的語(yǔ)法和語(yǔ)義,規(guī)定編程語(yǔ)言有文本語(yǔ)言和圖形語(yǔ)言,已獲得國(guó)際工控界的廣泛承認(rèn)和支持。GB/T 15969.3是對(duì)應(yīng)IEC61131-3標(biāo)準(zhǔn)的中國(guó)國(guó)家標(biāo)準(zhǔn)。IEC 61131-3正在加速推廣應(yīng)用,不但成為PLC的編程標(biāo)準(zhǔn),而且成為DCS、PC控制、SCADA、運(yùn)動(dòng)控制等事實(shí)上的編程標(biāo)準(zhǔn)。為適應(yīng)現(xiàn)場(chǎng)總線和工業(yè)以太網(wǎng)的高速發(fā)展,IEC 61131-3和IEC 61499相結(jié)合,真正為PLC的分布式發(fā)展提供了實(shí)現(xiàn)的路徑。

本文通過(guò)對(duì)GB/T 15969.3標(biāo)準(zhǔn)進(jìn)行深入分析和研究,結(jié)合領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的概念,提出了基于領(lǐng)域驅(qū)動(dòng)的工控行業(yè)編程編譯軟件架構(gòu)。

(1)領(lǐng)域驅(qū)動(dòng)建模——明確組織架構(gòu)

領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)的概念是由著名建模專家EVANS E[5]提出的。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)重視軟件系統(tǒng)并側(cè)重業(yè)務(wù)模型,實(shí)際是針對(duì)面向?qū)ο蟮囊粋€(gè)擴(kuò)展和延伸。領(lǐng)域驅(qū)動(dòng)設(shè)計(jì),在處理復(fù)雜業(yè)務(wù)邏輯方面有著先天的優(yōu)勢(shì),它保證了系統(tǒng)的可維護(hù)性、擴(kuò)展性和復(fù)用性[6]。

GB/T 15969.3定義了程序組織單元、配置、資源、任務(wù)、全局變量等組態(tài)元素,并規(guī)定了軟件模型和編程模型,從理論上描述了一個(gè)復(fù)雜程序分解成若干個(gè)小模塊的過(guò)程,并在各分解部分之間有清晰和規(guī)范的接口方法,可以實(shí)現(xiàn)對(duì)程序執(zhí)行的完全控制。在標(biāo)準(zhǔn)定義的模型的基礎(chǔ)上引入領(lǐng)域驅(qū)動(dòng)的思想,進(jìn)行領(lǐng)域建模,建立領(lǐng)域?qū)ο笈c實(shí)現(xiàn)業(yè)務(wù)的映射關(guān)系,可以提高開(kāi)發(fā)過(guò)程的靈活性,提高自主可控編程編譯工具研發(fā)的核心競(jìng)爭(zhēng)力。

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

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

2 工業(yè)語(yǔ)言編程編譯工具鏈

目前國(guó)內(nèi)的自主研發(fā)編程編譯軟件的公司大都經(jīng)歷過(guò)第三方軟件平臺(tái)期。新成立的企業(yè)采用成熟的第三方軟件平臺(tái),可以快速地推出產(chǎn)品占領(lǐng)市場(chǎng)積累資本,積攢使用經(jīng)驗(yàn),發(fā)掘新需求,然后在研發(fā)投入可支撐的情況下開(kāi)展自主研發(fā)的工作。

研究自主可控工控行業(yè)編程編譯工具需重點(diǎn)在攻克編譯工具鏈,本文提出了適用于國(guó)產(chǎn)軟硬件平臺(tái)的編譯工具鏈的關(guān)鍵技術(shù)研究方向。

(1)多種編程語(yǔ)言深度融合編程機(jī)制

GB/T 15969.3定義了五種 PLC 標(biāo)準(zhǔn)編程語(yǔ)言,包括三種圖形化語(yǔ)言和兩種文本化語(yǔ)言。在同一個(gè)控制應(yīng)用中,用戶可以根據(jù)需求自由選擇不同的語(yǔ)言進(jìn)行不同部分的邏輯編寫(xiě)。要求編程環(huán)境必須提供靈活的開(kāi)發(fā)方式,并且同一種功能需求可以用不同的語(yǔ)言實(shí)現(xiàn)。

(2)高可擴(kuò)展的中間代碼架構(gòu)

國(guó)產(chǎn)CPU芯片如龍芯[7]、飛騰[8]等架構(gòu)不同,指令平臺(tái)不同,編程編譯軟件需考慮支持龍芯MIPS架構(gòu)X86平臺(tái)、飛騰1500A芯片、國(guó)產(chǎn)SPARC V8處理器、等,因此在編譯時(shí)要考慮各個(gè)平臺(tái)的編譯,設(shè)計(jì)一種與平臺(tái)無(wú)關(guān)的中間代碼架構(gòu),該結(jié)構(gòu)可支持PLC各種編程語(yǔ)言的前端編譯,使得后端編譯只需支持該中間代碼結(jié)構(gòu)即可,提高了編譯效率,減少了編譯帶來(lái)錯(cuò)誤的可能性,為以后增加其他平臺(tái)的支持提供了良好接口,大大縮短增加新平臺(tái)支持所需的開(kāi)發(fā)周期。

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

由于不用的目標(biāo)平臺(tái)寄存器分配方式不同,針對(duì)每種平臺(tái)進(jìn)行設(shè)計(jì)開(kāi)發(fā)需要投入大量的時(shí)間和人力,因此可根據(jù)編譯目標(biāo)平臺(tái)的不同特征,設(shè)計(jì)一種針對(duì)異構(gòu)平臺(tái)的抽象寄存器分配模型,對(duì)不同的目標(biāo)平臺(tái)采用統(tǒng)一的寄存器配置機(jī)制,進(jìn)行內(nèi)存和寄存器的分配,在引入新平臺(tái)支持時(shí),可以方便地按照模型擴(kuò)展,大大縮短開(kāi)發(fā)周期。

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

對(duì)不同的工業(yè)語(yǔ)言,應(yīng)提供高兼容性的前端編譯接口和統(tǒng)一的使用方法;對(duì)不同的目標(biāo)平臺(tái),應(yīng)提供高兼容性的編譯后端接口,采用統(tǒng)一的編譯接口生成不同的目標(biāo)平臺(tái)二進(jìn)制指令。在進(jìn)行語(yǔ)言擴(kuò)展時(shí)不需要考慮目標(biāo)平臺(tái)兼容性,在進(jìn)行目標(biāo)平臺(tái)擴(kuò)展時(shí)也不需要考慮編程語(yǔ)言的不同。降低了工業(yè)語(yǔ)言和目標(biāo)程序的耦合性,提高開(kāi)發(fā)效率和擴(kuò)展能力。

除了支持編譯器編譯后目標(biāo)文件的鏈接,鏈接器應(yīng)可支持符合標(biāo)準(zhǔn)的C語(yǔ)言代碼鏈接,解決現(xiàn)有積累的算法庫(kù)的重用,也照顧了部分原有熟悉通用計(jì)算機(jī)編程技術(shù)的開(kāi)發(fā)人員。

(5)工業(yè)語(yǔ)言正確性自動(dòng)化驗(yàn)證插件

利用編程編譯工具提供的接口,自動(dòng)化驗(yàn)證插件可以提供腳本自動(dòng)打開(kāi)、編譯、執(zhí)行測(cè)試用例的功能,并實(shí)時(shí)記錄和跟蹤每一步的運(yùn)行結(jié)果,統(tǒng)計(jì)并生成測(cè)試報(bào)表,方便用戶測(cè)試自己的程序,為用戶調(diào)試和編程提供了更加高效的接口和更加準(zhǔn)確的依據(jù)。

3 異構(gòu)平臺(tái)調(diào)試技術(shù)

開(kāi)發(fā)過(guò)程不可能一蹴而就,需要借助調(diào)試工具進(jìn)行不斷的測(cè)試、檢查和修改才能寫(xiě)出高可靠性的程序,所以調(diào)試器是軟件開(kāi)發(fā)過(guò)程中的必備工具[9-10]。因此,自主可控編程編譯工具對(duì)于調(diào)試技術(shù)的研究必不可少。工業(yè)語(yǔ)言的調(diào)試涉及圖形語(yǔ)言和文本語(yǔ)言,同時(shí)在自主可控方面還要兼顧不同的目標(biāo)平臺(tái)。通過(guò)充分研究現(xiàn)有成熟的計(jì)算機(jī)語(yǔ)言的開(kāi)發(fā)環(huán)境和調(diào)試手段,深入分析現(xiàn)有計(jì)算機(jī)語(yǔ)言調(diào)試策略的優(yōu)點(diǎn),結(jié)合工業(yè)語(yǔ)言的特點(diǎn),提出用于工業(yè)語(yǔ)言的調(diào)試策略研究,調(diào)試器應(yīng)可提供不同目標(biāo)平臺(tái)的調(diào)試,簡(jiǎn)化用戶邏輯程序調(diào)試過(guò)程。

(1)異構(gòu)多目標(biāo)平臺(tái)調(diào)試策略

考慮適用于不同平臺(tái)的調(diào)試方法需要提供一套用于異構(gòu)多目標(biāo)平臺(tái)調(diào)試的策略和模型,程序的可執(zhí)行文件的結(jié)構(gòu),全局變量、局部變量以及各種信息的存儲(chǔ)方式,可執(zhí)行文件中包含的調(diào)試信息結(jié)構(gòu),調(diào)試信息的整體組織結(jié)構(gòu)和存儲(chǔ)方式等[11],都將是異構(gòu)多目標(biāo)平臺(tái)調(diào)試研究的重點(diǎn)。

(2)多種調(diào)試命令結(jié)合

對(duì)于圖形化語(yǔ)言和文本語(yǔ)言有不同的調(diào)試手段和調(diào)試命令。對(duì)文本語(yǔ)言應(yīng)能支持設(shè)置斷點(diǎn)、檢查寄存器的值、支持逐行單步調(diào)試[11]、步入和步過(guò)、查看/改變變量、查看內(nèi)存等調(diào)試手段。對(duì)于圖形化語(yǔ)言,需根據(jù)圖形語(yǔ)言的特點(diǎn),提供實(shí)用的調(diào)試方法,如對(duì)LD語(yǔ)言,可支持對(duì)網(wǎng)絡(luò)設(shè)置斷點(diǎn)、執(zhí)行單個(gè)網(wǎng)絡(luò)等命令。

(3)多任務(wù)/多線程調(diào)試技術(shù)

工業(yè)控制系統(tǒng)在調(diào)試時(shí)應(yīng)該支持多任務(wù)/多線程調(diào)試[12],在進(jìn)行非嵌入式平臺(tái)調(diào)試時(shí),如仿真器上可以仿真多任務(wù)、多線程,在各個(gè)線程之間進(jìn)行切換,向指定線程發(fā)送命令等。

4 國(guó)產(chǎn)化基礎(chǔ)軟硬件平臺(tái)適配

編程工具作為大型軟件,要想兼容X86系列、飛騰系列、龍芯系列等平臺(tái),需研究可跨Windows、國(guó)產(chǎn)操作系統(tǒng)、國(guó)產(chǎn)硬件平臺(tái)的工業(yè)編程軟件實(shí)現(xiàn)技術(shù),從可移植性、可兼容性等方面進(jìn)行分析,應(yīng)該著重研究如下兩個(gè)關(guān)鍵技術(shù)。

(1)異構(gòu)多目標(biāo)平臺(tái)自適應(yīng)編譯架構(gòu)

第一,采用源到源編譯[13],實(shí)現(xiàn)編程編譯工具在不同處理器架構(gòu)平臺(tái)的移植。

第二,編程工具作為IDE提供給用戶使用時(shí),應(yīng)提供異構(gòu)多目標(biāo)平臺(tái)自適應(yīng)編譯功能,用戶不需關(guān)心工程文件運(yùn)行的目標(biāo)平臺(tái),編程工具在進(jìn)行編譯、下載、調(diào)試、仿真時(shí)根據(jù)目標(biāo)平臺(tái)自適應(yīng)處理和加載。

(2)工業(yè)語(yǔ)言異構(gòu)平臺(tái)可移植

在不同平臺(tái)上使用編程工具保存的用戶工程,不需做額外處理,應(yīng)能支持在不同平臺(tái)間無(wú)縫拷貝使用。因此應(yīng)設(shè)計(jì)一種與平臺(tái)無(wú)關(guān)的用戶工程文件,實(shí)現(xiàn)圖形化語(yǔ)言、文本語(yǔ)言、網(wǎng)絡(luò)組態(tài)、硬件組態(tài)等內(nèi)容的統(tǒng)一化保存,該項(xiàng)設(shè)計(jì)能夠大大簡(jiǎn)化用戶工程的移植工作,提高目標(biāo)工程一致性。

5 可信編譯

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

6 結(jié)論

編程編譯工具作用于控制工程的設(shè)計(jì)、調(diào)試、運(yùn)行、維護(hù)等全生命周期,對(duì)于控制對(duì)象的安全穩(wěn)定運(yùn)行具有重要的意義。本文對(duì)自主可控工控行業(yè)編程編譯工具的幾項(xiàng)關(guān)鍵技術(shù)進(jìn)行了分析,提出了一些設(shè)計(jì)原則和策略,希望能給在工控行業(yè)中進(jìn)行自主可控編程編譯工具研究的相關(guān)人員提供有益的幫助。

猜你喜歡
調(diào)試語(yǔ)言模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
語(yǔ)言是刀
文苑(2020年4期)2020-05-30 12:35:30
基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
電子制作(2018年12期)2018-08-01 00:47:44
讓語(yǔ)言描寫(xiě)搖曳多姿
FOCAS功能在機(jī)床調(diào)試中的開(kāi)發(fā)與應(yīng)用
無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
電子制作(2017年19期)2017-02-02 07:08:38
累積動(dòng)態(tài)分析下的同聲傳譯語(yǔ)言壓縮
3D打印中的模型分割與打包
主站蜘蛛池模板: 久久综合色88| 欧美色99| 亚洲美女一级毛片| 永久免费av网站可以直接看的| 欧美精品在线看| 在线观看欧美精品二区| 一本久道久久综合多人| 欧美日韩一区二区在线播放 | 天堂中文在线资源| 乱系列中文字幕在线视频| 香蕉网久久| 97se综合| 毛片网站观看| 亚洲无码91视频| 在线日韩一区二区| 超清人妻系列无码专区| 日韩a级毛片| 无码粉嫩虎白一线天在线观看| 亚洲欧美色中文字幕| 亚洲男人在线| 熟妇人妻无乱码中文字幕真矢织江| 久久精品66| 91精品国产自产91精品资源| 国产女人在线| 日本高清有码人妻| 精品国产成人高清在线| WWW丫丫国产成人精品| 在线观看亚洲天堂| 国产一区成人| 国产免费羞羞视频| 亚洲福利一区二区三区| 久久精品国产国语对白| a天堂视频| 国产成年无码AⅤ片在线| 成·人免费午夜无码视频在线观看 | 久久精品一卡日本电影| 免费人欧美成又黄又爽的视频| 91精品福利自产拍在线观看| 成人在线第一页| 免费av一区二区三区在线| 亚洲综合色婷婷| 91丝袜乱伦| 999精品在线视频| 日韩欧美成人高清在线观看| 日韩精品亚洲精品第一页| 色国产视频| 成人午夜福利视频| 亚洲不卡网| 黄色福利在线| 亚洲香蕉伊综合在人在线| 精品黑人一区二区三区| 成年av福利永久免费观看| 欧美伦理一区| 久久动漫精品| 国产成人精品一区二区免费看京| 四虎永久免费地址在线网站 | 国产爽爽视频| 四虎影视无码永久免费观看| 亚洲无码精品在线播放| 国产一区亚洲一区| 日韩成人高清无码| 亚洲婷婷在线视频| 特黄日韩免费一区二区三区| 精品国产91爱| 26uuu国产精品视频| 伊人久久久久久久| 亚洲国产欧洲精品路线久久| 2021亚洲精品不卡a| 亚洲国产中文在线二区三区免| 久久国语对白| 成人噜噜噜视频在线观看| 日韩欧美综合在线制服| 久久精品无码一区二区国产区| 好吊妞欧美视频免费| 91视频区| 在线精品视频成人网| 一本大道香蕉久中文在线播放| 国产午夜精品鲁丝片| 中文国产成人精品久久| 五月综合色婷婷| 99re在线观看视频| m男亚洲一区中文字幕|