亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        具有安全屬性圖編程組件的設(shè)計研究*

        2017-02-22 09:02:49張建豐
        關(guān)鍵詞:功能塊編程語言編程

        李 強(qiáng),張建豐

        (杭州電子科技大學(xué) 計算機(jī)學(xué)院,浙江 杭州 310018)

        具有安全屬性圖編程組件的設(shè)計研究*

        李 強(qiáng),張建豐

        (杭州電子科技大學(xué) 計算機(jī)學(xué)院,浙江 杭州 310018)

        研究和實現(xiàn)了具有安全屬性的可編程邏輯控制器(Programmable Logic Controller,PLC)編程組件。組件采用IEC61131-3標(biāo)準(zhǔn)功能塊模型,既滿足了IEC61131-3標(biāo)準(zhǔn)編程語言規(guī)范,也實現(xiàn)了組件在標(biāo)準(zhǔn)PLC編程軟件的復(fù)用。組件在PLC編程中可按需求改變接口,其封裝接口滿足TC6 XML schema屬性定義,增加的安全屬性實現(xiàn)了組件的安全復(fù)用。最后,在Microsoft Visual Studio(VS)2012中運(yùn)用.NET組件技術(shù)和C#編程語言實現(xiàn)了組件,并對組件進(jìn)行了相關(guān)驗證。

        IEC61131-3;TC6 XML schema;組件安全性

        0 引言

        IEC61131-3標(biāo)準(zhǔn)不僅對工控編程語言產(chǎn)生了指導(dǎo)規(guī)范作用,而且對PLC技術(shù)的發(fā)展也發(fā)揮了重要的指導(dǎo)作用[1]。由于PLC編程使用相應(yīng)編程語言組件開發(fā),且目前軟件開發(fā)主流是面向?qū)ο蠹敖M件技術(shù)[2],因此有必要為符合IEC61131-3標(biāo)準(zhǔn)的編程軟件設(shè)計更為優(yōu)越的組件。

        在PLC圖編程組件研究中,有的利用組件技術(shù)對模塊進(jìn)行封裝提高了組件的復(fù)用性[3-5],有的基于IEC61131-3設(shè)計標(biāo)準(zhǔn)組件,利于提高組件的規(guī)范性[6-8]。

        結(jié)合組件復(fù)用性和規(guī)范性研究,本文通過研究IEC61131-3標(biāo)準(zhǔn)圖編程功能塊模型、TC6 XML schema以及組件安全性,利用.NET組件技術(shù)設(shè)計了一種安全組件并進(jìn)行了驗證,使得組件可以安全使用。

        1 IEC61131-3標(biāo)準(zhǔn)

        1.1 IEC61131-3標(biāo)準(zhǔn)軟件模型

        IEC61131-3是當(dāng)今世界第一個為工業(yè)自動化控制系統(tǒng)的軟件設(shè)計提供標(biāo)準(zhǔn)化編程語言的國際標(biāo)準(zhǔn)[1],標(biāo)準(zhǔn)分為兩個部分[9-10]:公共元素和編程語言。公共元素部分規(guī)范了變量的定義、數(shù)據(jù)類型,給出了系統(tǒng)軟件模型如圖1所示,并引入配置、資源、任務(wù)和程序組織單元(Program Organizition Unit,POU)的概念。編程語言規(guī)定了指令表、結(jié)構(gòu)化文本、梯形圖、功能塊圖、順序功能圖。

        圖1 IEC61131-3標(biāo)準(zhǔn)的軟件模型

        從IEC61131-3標(biāo)準(zhǔn)的軟件模型可知一個設(shè)備對應(yīng)一個配置,每個配置包含若干個資源,每個資源內(nèi)可以定義若干個任務(wù),任務(wù)配置后周期地或事件驅(qū)動地控制一組POU執(zhí)行。

        圖3 功能塊屬性定義

        1.2 IEC61131-3標(biāo)準(zhǔn)功能塊模型

        POU由3種類型的基本單元組成:程序、功能塊(Function Block,F(xiàn)B)、函數(shù),其中功能塊是IEC61131-3標(biāo)準(zhǔn)的核心元素,所以本文設(shè)計的組件本質(zhì)上是基于功能塊的。功能塊面向?qū)ο筇匦缘幕締卧?,由輸入變量、輸出變量、?nèi)部算法組成,且由一個類型名標(biāo)識,如圖2所示。功能塊的輸入輸出變量來自于全局?jǐn)?shù)據(jù)區(qū)且可存取,由用戶編程時設(shè)定。功能塊具有封裝性,能把特定的算法封裝起來,把具體的操作和操作數(shù)據(jù)分離開。

        圖2 IEC61131-3功能塊模型

        IEC61131-3功能塊的輸入輸出通過全局?jǐn)?shù)據(jù)區(qū)、變量存取路徑等方法交換信息,這樣簡單的結(jié)構(gòu)方式適合描述復(fù)雜控制回路,能滿足工程的功能需求。功能塊的封裝性把系統(tǒng)的總體算法組態(tài)和單個算法組態(tài)的研制開發(fā)過程分開,增加了程序的可重用性和移植性[11]。

        2 TC6 XML schema

        雖然IEC61131-3標(biāo)準(zhǔn)促使PLC的編程軟件達(dá)到了統(tǒng)一化,但是不同編程軟件采用不同的數(shù)據(jù)描述格式,這樣不利于數(shù)據(jù)的交互。為了解決這一問題,PLCopen 技術(shù)委員會的TC6組織定義了一種被不同編程軟件跨平臺地傳輸屏幕信息的完整的開放標(biāo)準(zhǔn)接口[12],使得符合標(biāo)準(zhǔn)的數(shù)據(jù)描述文件能相互轉(zhuǎn)換,實現(xiàn)數(shù)據(jù)共享。其中IEC61131-3標(biāo)準(zhǔn)的核心部件POU的屬性在TC6 XML schema中定義如下:

        different POUs

        標(biāo)準(zhǔn)編程軟件根據(jù)用戶設(shè)定的pouType屬性選擇對應(yīng)的PROG、FB或者FUN。而支持本文組件設(shè)計的FB屬性以5種編程語言為基礎(chǔ),定義如圖3所示。FB對應(yīng)屬性在TC6 XML schema中有詳細(xì)的描述,定義了元素命名規(guī)范、XML描述文檔的結(jié)構(gòu)以及元素的使用原則。本文定義的基于IEC61131-3標(biāo)準(zhǔn)圖形編程語言的安全組件包含的屬性就是基于TC6 XML schema所定義的。

        3 組件安全性

        PLC編程是基于可視化組件進(jìn)行的,所以組件的安全性是整個工程的關(guān)鍵。組件安全性是與防止惡意侵入對程序數(shù)據(jù)非授權(quán)訪問或改變的能力有關(guān)的軟件屬性。針對非法代碼侵入所引發(fā)的組件安全性問題,本文為組件進(jìn)行了兩個方面的安全性設(shè)計:(1)從組件設(shè)計層面,在組件生成時為組件庫添加屬性標(biāo)簽,對組件代碼內(nèi)存管理進(jìn)行驗證,這樣保證組件庫被裝入到標(biāo)準(zhǔn)軟件時根據(jù)其內(nèi)存大小就可以檢測到是否與設(shè)計的安全組件庫一致,從而判斷其安全性;(2)在組件TC6 XML描述層面,當(dāng)PLC工程保存為標(biāo)準(zhǔn)的XML后,根據(jù)TC6 XML schema 接口組件描述對工程中組件描述部分驗證是否符合規(guī)范,從而判斷組件的安全性。

        4 組件設(shè)計與實現(xiàn)

        通過以上對IEC61131-3標(biāo)準(zhǔn)圖形編程語言定義的功能塊模型、TC6 XML schema以及組件安全性,本文對功能塊組件先進(jìn)行組件屬性的設(shè)計,并在VS2012開發(fā)軟件中利用.NET組件技術(shù)和C#編程語言實現(xiàn)組件的設(shè)計。

        本文設(shè)計了BaseInOut、BaseIn、BaseOut、FUN、Label 5種組件分別表示基本輸入輸出模塊、基本輸入模塊、基本輸出模塊、函數(shù)模塊、標(biāo)簽?zāi)K,下面以BaseInOut為例對組件屬性設(shè)計進(jìn)行闡述。

        4.1 組件屬性與元素節(jié)點設(shè)計

        圖4 元素節(jié)點定義

        因為FB包含在POU中,所以必須從TC6 XML schema定義元素節(jié)點開始分析。有若干元素節(jié)點,的定義如圖4所示。主要由包含返回類型、類型列表聲明信息的元素節(jié)點和包含5種編程語言相應(yīng)聲明工作列表的元素節(jié)點組成,如圖5所示,在中工作列表按照XML文件順序執(zhí)行。中FBD定義的對象元素的集合可以應(yīng)用在所有的圖形結(jié)構(gòu)體中,所以本文組件的屬性設(shè)計基本參照FBD元素的屬性。

        圖5 元素節(jié)點定義

        FBD元素定義規(guī)定元素節(jié)點表示在功能或功能塊上操作的圖形表示,包含的localId、width、height、typeName屬性可以用來表示組件的局部序號、寬度、高度和類型名;包含的元素節(jié)點、元素節(jié)點、元素節(jié)點、元素節(jié)點分別組件在PLC圖形編程軟件的位置、輸入變量、輸入輸出變量、輸出變量。用組件坐標(biāo)的x、y值標(biāo)定組件在編程軟件的具體位置信息;包含的元素節(jié)點包含的屬性formalParameter表示變量名,包含的元素節(jié)點、元素節(jié)點表示組件連接輸入端和連接輸出端的位置信息。

        針對組件安全性屬性,本文對組件庫設(shè)計了元素節(jié)點,通過對設(shè)計的組件庫文件進(jìn)行消息摘要算法第五版(Message Digest Algorithm 5,MD5)計算得到其MD5值作為“數(shù)字指紋”,當(dāng)組件庫裝載到編程軟件時,由軟件計算組件庫MD5值與組件庫“數(shù)字指紋”并進(jìn)行比對。比對結(jié)果如果一致則認(rèn)為組件庫是安全的,否則認(rèn)為已受到了病毒侵入變得不安全。

        4.2 組件實現(xiàn)

        在VS2012中,在Windows Form中繼承.NET Framework的UserControl類構(gòu)造BaseInOut組件的類,并在類中對4.1節(jié)中的組件屬性與元素節(jié)點用C#語言編程實現(xiàn)。定義如下:

        private string block= "基本控件";

        [Category("基本屬性")] [Browsable(false)]

        public string Block

        {get{return this.block;} set{this.block= value;}}

        [Category("基本屬性")] [DisplayName("模塊類別")]

        public string ShowBlock {get{return this.block;} set{;}}

        依次對其余屬性進(jìn)行設(shè)計。此外根據(jù)TC6 XML schema對常規(guī)對象的定義,本文對組件進(jìn)行設(shè)計并實現(xiàn)了節(jié)點元素、節(jié)點元素表示組件是否出錯和連接信息。而且設(shè)計實現(xiàn)了鼠標(biāo)對組件操作的屬性,判斷用戶雙擊對組件引腳的影響并讀取組件引腳端點的信息。為了自動生成組件時展現(xiàn)組件對應(yīng)的圖形界面,在組件類中編程實現(xiàn)了ChangeControlSize()方法、DrawModuleImage()方法、Modules_Resize()方法。最后重寫了組件的雙擊事件BaseInOutDoubleClick()方法,雙擊組件后彈出組件自動生成操作界面,在此界面不僅可以設(shè)置組件類型名、輸入變量個數(shù)、輸出變量個數(shù)、是否使能輸入輸出,而且可以預(yù)覽想要的效果。組件自動生成操作界面如圖6所示。

        圖6 組件自動生成操作初始界面

        安全屬性元素節(jié)點定義與相似。

        組件安全性在PLC編程工程的XML描述文件的安全驗證是通過XML結(jié)構(gòu)定義(XML Schema Definition,XSD)對工程中組件XML描述進(jìn)行驗證。定義一個ValidateXMLBySchemaUtils工具類,在工程中對組件安全性需要驗證時,調(diào)其ValidateByTC6()方法進(jìn)行驗證。ValidateXMLBySchemaUtils工具類的設(shè)計如下:

        class ValidateXMLBySchemaUtils{

        public void ValidateByTC6(string XMLName){

        XmlDocument xd= new XmlDocument();

        xd.Load(Application.StartupPath + XMLName);

        xd.Schemas.Add(null,Application.StartupPath+"TC6_XML_V10.xsd");

        ValidationEventHandler eventHandler = new ValidationEventHandler(ValidationEventHandler);

        xd.Validate(eventHandler);}

        Void ValidationEventHandler(object sender, ValidationEventArgs e){

        switch (e.Severity){

        case XmlSeverityType.Error:

        MessageBox.Show("Error: {0}" + e.Message);

        break;

        case XmlSeverityType.Warning:

        MessageBox.Show("Warning {0}" + e.Message);

        break;}}}

        5 組件驗證

        5.1 組件自動生成驗證

        進(jìn)行PLC可視化編程時,在組件自動生成界面雙擊組件對組件類型名、輸入變量個數(shù)、輸出變量個數(shù)以及執(zhí)行控制的改變可以實現(xiàn)組件的自動生成,驗證結(jié)果如圖7所示。

        圖7 組件自動生成操作驗證

        5.2 組件安全性驗證

        錯誤注入作為一種有效的安全性測試技術(shù),在評估硬件和軟件領(lǐng)域的可靠性和安全性方面都獲得了充分的肯定[13],因此在組件安全性驗證方面采用錯誤注入的方式:(1)組件設(shè)計層面的驗證,注入錯誤對比MD5值,組件實現(xiàn)后以動態(tài)鏈接庫(Dynamic Link Library,DLL)文件存在,利用MD5計算工具,測得組件庫DLL文件MD5值為69932c20816d42298dfe58cd54d1b7e1,將其作為“數(shù)字指紋”。為驗證其安全性,對組件庫進(jìn)行錯誤注入后測得其MD5值為e56fcd99c8e972ac5bb6ee6814c2dddc,對比MD5值可以驗證組件庫文件是否被侵入。(2)注入錯誤后,用TC6_XML_V10.xsd文件對編譯后的PLC工程中組件部分的XML描述文件進(jìn)行XSD驗證,編程軟件會彈出錯誤提示框,如圖8所示。

        圖8 XSD驗證錯誤示例

        6 結(jié)論

        本文在研究了基于IEC61131-3標(biāo)準(zhǔn)平臺的相關(guān)工作后,通過研究IEC61131-3標(biāo)準(zhǔn)圖形編程語言定義的功能塊模型,對組件的可視化形式進(jìn)行了設(shè)計和實現(xiàn);通過研究TC6 XML schema,對組件的屬性設(shè)計達(dá)到了可跨標(biāo)準(zhǔn)平臺的目的;并對組件和組件庫安全性相應(yīng)地進(jìn)行了元素節(jié)點、元素節(jié)點的設(shè)計實現(xiàn);在VS2012中利用.NET組件技術(shù)實現(xiàn)了安全組件的自動生成。最后利用錯誤注入技術(shù),對組件庫的MD5值與“數(shù)字指紋”比對,判斷組件是否安全有效,至此實現(xiàn)了組件在IEC61131-3標(biāo)準(zhǔn)編程軟件的復(fù)用和安全驗證。

        [1] 彭瑜. 工控編程語言國際標(biāo)準(zhǔn)IEC 61131-3及其影響[J]. 國內(nèi)外機(jī)電一體化技術(shù),2006(4):53-61.

        [2] 鄧紹芳. 組件技術(shù)在軟件開發(fā)中的應(yīng)用研究[D].成都:西南交通大學(xué),2003.

        [3] 唐莉萍. 用組件技術(shù)實現(xiàn)計算機(jī)與PLC通信的研究[J]. 東華大學(xué)學(xué)報(自然科學(xué)版),2002,28(6):66-69.

        [4] LI X, LI D, YIN X, et al. Protocol conversion of plant control system consisted of different type PLCs[C].International Conference on Power System Technology, 2002:1509-1512.

        [5] 林立春,林瓊麒,張功鍍. 面向?qū)ο蟮腜LC上位機(jī)軟件平臺設(shè)計[J]. 自動化儀表,2007,28(12):15-18.

        [6] 秦華. 基于IEC61131-3標(biāo)準(zhǔn)的PLC編輯模塊設(shè)計與實現(xiàn)[J]. 計算機(jī)與數(shù)字工程,2012,40(3):136-139.

        [7] 張海偉. 和利時IEC 61131-3編程軟件平臺[J]. 自動化博覽,2016,33(6):42-44.

        [8] JAMRO M, TRYBUS B. IEC 61131-3 programmable human machine interfaces for control devices[C]. 2013 6th International Conference on Human System Interactions(HSI),2013:48-55.

        [9] JOHN K H,MICHAEL T.IEC61131-3:工業(yè)自動化系統(tǒng)的程序編制[M].中國機(jī)電一體化技術(shù)應(yīng)用協(xié)會秘書處,譯.2002.

        [10] NEMA.Programmable Controllers-Part3: Programming languages[S]. Virginia : National Electrical Maunfacturers Association,2003.

        [11] 周士貴,宋穎超. IEC61131-3工控編程語言國際標(biāo)準(zhǔn)及其應(yīng)用[J]. 計算機(jī)與信息技術(shù),2008(7):78-80.

        [12] PLCopen Technical Committee 6. XML Formats for IEC61131-3[S]. 2009.

        [13] CLARK J A, PRADHAN D K.Fault injection: a method for validating computer-system dependability[J]. Computer, 1995, 28(6):47-56.

        Design and research of graph programming component with safety attribute

        Li Qiang,Zhang Jianfeng

        (School of Computer Science and Technology,Hangzhou Dianzi University, Hangzhou 310018, China)

        This paper mainly studies and realizes the programmable logic controller (PLC) programming components with security attributes. Using IEC61131-3 standard function block model, components both meet the IEC61131-3 standard programming language specification, and achieve the components reuse in the standard PLC programming software. Components in the PLC programming, the interface can be changed according to demands. The interface meets the TC6 XML schema attributes delimited,and the added security attributes achieve the safety of component reuse. Finally, the components are implemented in Microsoft Visual Studio (VS) 2012 by using .NET component technology and C # programming language, and the components are verified.

        IEC61131-3;TC6 XML schema;component safety

        風(fēng)力發(fā)電系統(tǒng)國家重點實驗室開放課題(2013002)

        TP311

        A

        10.19358/j.issn.1674- 7720.2017.03.022

        李強(qiáng),張建豐.具有安全屬性圖編程組件的設(shè)計研究[J].微型機(jī)與應(yīng)用,2017,36(3):75-78,81.

        2016-09-30)

        李強(qiáng)(1966-),男,博士,副教授,主要研究方向:嵌入式開發(fā)平臺。

        張建豐(1991-),男,碩士研究生,主要研究方向:人工智能,智能算法,圖編程應(yīng)用。

        猜你喜歡
        功能塊編程語言編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        壓力-體積轉(zhuǎn)換在CFC編程語言中的實現(xiàn)解析
        Java編程語言的特點與應(yīng)用
        淺談不同編程語言對計算機(jī)軟件開發(fā)的影響
        電子制作(2018年1期)2018-04-04 01:48:36
        Ovation系統(tǒng)FIRSTOUT和FIFO跳閘首出比較
        面向?qū)ο骔eb開發(fā)編程語言的的評估方法
        自定義功能塊類型在電解槽聯(lián)鎖中的應(yīng)用
        中國氯堿(2015年9期)2015-11-02 01:03:41
        亚洲视频免费在线观看| 人妻无码AⅤ不卡中文字幕| 亚洲中文字幕av一区二区三区人| 中文字幕午夜精品一区二区三区| 国产成人精品久久亚洲高清不卡| 亚洲精品国产成人| 亚洲国产精品悠悠久久琪琪| 自拍av免费在线观看| 国产精品婷婷久久爽一下| 999久久久国产精品| 国产成人精品三级在线影院| 日本一区二区三区在线观看视频| 免费a级毛片高清在钱| 东京无码熟妇人妻av在线网址| Y111111国产精品久久久| 亚洲一级天堂作爱av| 欧美性猛交aaaa片黑人| 在教室伦流澡到高潮hgl视频| 亚洲中文欧美日韩在线| 亚洲精彩av大片在线观看| 免费又黄又爽又色的视频| 日本免费人成视频播放| 国产亚洲精选美女久久久久| 亚洲精品国产一区二区免费视频| 国产亚洲精品精品精品| 少妇三级欧美久久| 在线亚洲免费精品视频| 国产丝袜美腿精品91在线看| 久久夜色精品国产噜噜av| 粗大挺进尤物人妻一区二区| 毛片精品一区二区二区三区| 无码人妻一区二区三区免费视频| 精品久久久久久国产| 国产麻豆精品久久一二三| 亚洲字幕中文综合久久| 超薄丝袜足j好爽在线观看| 亚洲五月婷婷久久综合| 白白色发布在线观看视频| 影音先锋中文字幕无码资源站 | 小sao货水好多真紧h视频| 日韩AV无码乱伦丝袜一区|