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

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

2017-02-22 09:02:49張建豐
網絡安全與數據管理 2017年3期
關鍵詞:安全性定義設計

李 強,張建豐

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

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

李 強,張建豐

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

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

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

0 引言

IEC61131-3標準不僅對工控編程語言產生了指導規范作用,而且對PLC技術的發展也發揮了重要的指導作用[1]。由于PLC編程使用相應編程語言組件開發,且目前軟件開發主流是面向對象及組件技術[2],因此有必要為符合IEC61131-3標準的編程軟件設計更為優越的組件。

在PLC圖編程組件研究中,有的利用組件技術對模塊進行封裝提高了組件的復用性[3-5],有的基于IEC61131-3設計標準組件,利于提高組件的規范性[6-8]。

結合組件復用性和規范性研究,本文通過研究IEC61131-3標準圖編程功能塊模型、TC6 XML schema以及組件安全性,利用.NET組件技術設計了一種安全組件并進行了驗證,使得組件可以安全使用。

1 IEC61131-3標準

1.1 IEC61131-3標準軟件模型

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

圖1 IEC61131-3標準的軟件模型

從IEC61131-3標準的軟件模型可知一個設備對應一個配置,每個配置包含若干個資源,每個資源內可以定義若干個任務,任務配置后周期地或事件驅動地控制一組POU執行。

圖3 功能塊屬性定義

1.2 IEC61131-3標準功能塊模型

POU由3種類型的基本單元組成:程序、功能塊(Function Block,FB)、函數,其中功能塊是IEC61131-3標準的核心元素,所以本文設計的組件本質上是基于功能塊的。功能塊面向對象特性的基本單元,由輸入變量、輸出變量、內部算法組成,且由一個類型名標識,如圖2所示。功能塊的輸入輸出變量來自于全局數據區且可存取,由用戶編程時設定。功能塊具有封裝性,能把特定的算法封裝起來,把具體的操作和操作數據分離開。

圖2 IEC61131-3功能塊模型

IEC61131-3功能塊的輸入輸出通過全局數據區、變量存取路徑等方法交換信息,這樣簡單的結構方式適合描述復雜控制回路,能滿足工程的功能需求。功能塊的封裝性把系統的總體算法組態和單個算法組態的研制開發過程分開,增加了程序的可重用性和移植性[11]。

2 TC6 XML schema

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

different POUs

標準編程軟件根據用戶設定的pouType屬性選擇對應的PROG、FB或者FUN。而支持本文組件設計的FB屬性以5種編程語言為基礎,定義如圖3所示。FB對應屬性在TC6 XML schema中有詳細的描述,定義了元素命名規范、XML描述文檔的結構以及元素的使用原則。本文定義的基于IEC61131-3標準圖形編程語言的安全組件包含的屬性就是基于TC6 XML schema所定義的。

3 組件安全性

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

4 組件設計與實現

通過以上對IEC61131-3標準圖形編程語言定義的功能塊模型、TC6 XML schema以及組件安全性,本文對功能塊組件先進行組件屬性的設計,并在VS2012開發軟件中利用.NET組件技術和C#編程語言實現組件的設計。

本文設計了BaseInOut、BaseIn、BaseOut、FUN、Label 5種組件分別表示基本輸入輸出模塊、基本輸入模塊、基本輸出模塊、函數模塊、標簽模塊,下面以BaseInOut為例對組件屬性設計進行闡述。

4.1 組件屬性與元素節點設計

圖4 元素節點定義

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

圖5 元素節點定義

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

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

4.2 組件實現

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

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{;}}

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

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

安全屬性元素節點定義與相似。

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

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 組件自動生成驗證

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

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

5.2 組件安全性驗證

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

圖8 XSD驗證錯誤示例

6 結論

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

[1] 彭瑜. 工控編程語言國際標準IEC 61131-3及其影響[J]. 國內外機電一體化技術,2006(4):53-61.

[2] 鄧紹芳. 組件技術在軟件開發中的應用研究[D].成都:西南交通大學,2003.

[3] 唐莉萍. 用組件技術實現計算機與PLC通信的研究[J]. 東華大學學報(自然科學版),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] 林立春,林瓊麒,張功鍍. 面向對象的PLC上位機軟件平臺設計[J]. 自動化儀表,2007,28(12):15-18.

[6] 秦華. 基于IEC61131-3標準的PLC編輯模塊設計與實現[J]. 計算機與數字工程,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:工業自動化系統的程序編制[M].中國機電一體化技術應用協會秘書處,譯.2002.

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

[11] 周士貴,宋穎超. IEC61131-3工控編程語言國際標準及其應用[J]. 計算機與信息技術,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

風力發電系統國家重點實驗室開放課題(2013002)

TP311

A

10.19358/j.issn.1674- 7720.2017.03.022

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

2016-09-30)

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

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

猜你喜歡
安全性定義設計
兩款輸液泵的輸血安全性評估
新染料可提高電動汽車安全性
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
Imagination發布可實現下一代SoC安全性的OmniShield技術
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
主站蜘蛛池模板: 亚洲一区二区三区中文字幕5566| 亚洲男人的天堂视频| 不卡无码h在线观看| 亚洲午夜国产精品无卡| 狠狠做深爱婷婷久久一区| 波多野结衣无码视频在线观看| 国产黄色免费看| 国产内射一区亚洲| 国产欧美日韩视频一区二区三区| 亚洲色婷婷一区二区| 国产永久在线视频| 内射人妻无套中出无码| 一级毛片在线免费看| 国产免费怡红院视频| 欧美中文字幕在线二区| 色噜噜久久| 色亚洲激情综合精品无码视频| 欧美在线精品一区二区三区| 国产成人综合亚洲欧洲色就色| 国产毛片高清一级国语| 国产一区自拍视频| 色窝窝免费一区二区三区| 日韩123欧美字幕| 噜噜噜久久| 免费99精品国产自在现线| 国产成人精品一区二区免费看京| www.国产福利| 日韩国产精品无码一区二区三区| 国产69囗曝护士吞精在线视频| 在线网站18禁| 波多野结衣无码视频在线观看| 五月丁香伊人啪啪手机免费观看| 亚洲最黄视频| 无码日韩视频| 欧美国产日产一区二区| 99久久国产自偷自偷免费一区| 国产chinese男男gay视频网| 国产人人乐人人爱| 国产美女精品一区二区| 欧美日韩导航| 91欧美亚洲国产五月天| 久久九九热视频| 国产精品人成在线播放| 91精品啪在线观看国产| 国产一级α片| 日韩精品中文字幕一区三区| 在线免费观看AV| 久久永久免费人妻精品| 91小视频在线观看| 国产91视频免费观看| 国产呦精品一区二区三区网站| 国产美女无遮挡免费视频| 欧美区国产区| 亚洲区第一页| 国产69精品久久久久孕妇大杂乱 | 五月天天天色| 午夜日b视频| 国产噜噜噜视频在线观看 | 99久久精品免费看国产免费软件| 91视频青青草| 国产欧美日本在线观看| 国产污视频在线观看| 亚洲日本在线免费观看| 人妻无码中文字幕一区二区三区| 欧美精品不卡| 国产全黄a一级毛片| 午夜视频在线观看区二区| 四虎综合网| 五月婷婷伊人网| 尤物精品视频一区二区三区| 99精品福利视频| 2022国产91精品久久久久久| 99re热精品视频中文字幕不卡| 日韩成人在线网站| 午夜丁香婷婷| 欧美一区日韩一区中文字幕页| 无码一区二区三区视频在线播放| 亚洲欧洲日本在线| 狠狠亚洲五月天| 伊人激情综合| 亚欧成人无码AV在线播放| a级毛片免费播放|