亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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)域,使用通用編程軟件分為兩類(lèi)情況:一是為各廠商提供編程軟件工具,如德國(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ó)西門(mén)子的博途(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 編程軟件一般可以分為三類(lèi):一類(lèi)是仿制兼容類(lèi),即仿照國(guó)外著名PLC廠商產(chǎn)品制作的編程軟件,能夠兼容所仿制的國(guó)外的編程軟件,但缺乏核心技術(shù)的自主性,在市場(chǎng)上很難有較好的競(jìng)爭(zhēng)力;二類(lèi)是貼牌生產(chǎn)(Original Equipment/Entrusted Manufacture,OEM),這類(lèi)編程軟件采用國(guó)外公司的IEC61131-3 標(biāo)準(zhǔn),雖然符合 PLC 軟件的國(guó)際標(biāo)準(zhǔn),但是其核心技術(shù)仍然掌握在別人手里,市場(chǎng)競(jìng)爭(zhēng)力難以與國(guó)外編程工具相匹敵;第三類(lèi)是自主開(kāi)發(fā)的編程軟件,在編譯器等核心關(guān)鍵技術(shù)方面需要投入大量的人力物力,目前國(guó)內(nèi)自主開(kāi)發(fā)軟件的廠商較少,僅有屈指可數(shù)的幾家企業(yè)進(jìn)行了這方面的研究。

        另外,在工控安全方面,國(guó)外編程軟件的大量使用令行業(yè)在根基上受制于人,對(duì)軟件內(nèi)部邏輯、軟件代碼缺乏控制,軟件存在邏輯炸彈、軟件后門(mén)等安全問(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)的概念是由著名建模專(zhuān)家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)行邏輯的可信性??尚啪幾g是指編譯器在保證編譯正確的同時(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打印中的模型分割與打包
        亚洲精品乱码久久久久久蜜桃图片| 日本在线一区二区三区视频| av中文字幕一区人妻| 久久精品国产99国产精偷| 亚洲av日韩专区在线观看| 欧美日韩性视频| 精品人妻中文字幕一区二区三区| av免费一区二区久久| 麻花传媒68xxx在线观看| 欲色天天网综合久久| 2021av在线| 97超碰国产一区二区三区| 91久久精品色伊人6882| 少妇人妻大乳在线视频不卡 | 国产精品一级av一区二区| 日韩一级黄色片一区二区三区| 女的扒开尿口让男人桶30分钟| 亚洲AV永久无码制服河南实里 | 亚洲福利视频一区 | 日本高清www午色夜高清视频| 国产亚洲精品综合99久久| 国产成人精品人人做人人爽97| 中文字幕久久久人妻无码| 亚洲欧美中文在线观看4| 亚洲女同av一区二区在线观看| 亚洲国产精品无码一线岛国| 亚洲欧美激情精品一区二区| 在线观看亚洲你懂得| 色婷婷在线一区二区三区| 成人无码av一区二区| 國产一二三内射在线看片| 日本人妻av在线观看| 综合色免费在线精品视频| 色八区人妻在线视频免费| 免青青草免费观看视频在线| 你懂的视频网站亚洲视频| 亚洲av日韩aⅴ无码色老头| 日韩区在线| 亚洲无人区乱码中文字幕| 摸丰满大乳奶水www免费| 人人妻人人玩人人澡人人爽|