日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC手冊(cè) >> PLC編程手冊(cè) >> IEC61131.3標(biāo)準(zhǔn)的PLC編程環(huán)境分析
IEC61131.3標(biāo)準(zhǔn)的PLC編程環(huán)境分析

摘要:針對(duì)目前PLC編程環(huán)境存在的問(wèn)題,設(shè)計(jì)一種基于IEC6113l-3標(biāo)準(zhǔn)的新型PLC編程開(kāi)發(fā)環(huán)境,給出開(kāi)發(fā)環(huán)境的模塊構(gòu)成,介紹各個(gè)模塊實(shí)現(xiàn)時(shí)甩到的數(shù)據(jù)結(jié)構(gòu)和算法,分析其中較難實(shí)現(xiàn)的梯形網(wǎng)語(yǔ)言向指令表語(yǔ)言翻譯的算法思想和實(shí)現(xiàn)步驟。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)用戶界面友好、操作簡(jiǎn)單、功能全面,可支持多種PLC語(yǔ)言開(kāi)發(fā),方便用戶對(duì)PLC的開(kāi)發(fā)和使用,具有廣闊的應(yīng)用前景。

  關(guān)健詞:可編程邏輯控制器;梯形圖;指令表;IEC61 131—3標(biāo)準(zhǔn)

  1概述

  可編程邏輯控制器(Programmable Logic Control,PLC)是以微型計(jì)算機(jī)為核心的工控裝置。目前,PLC功能要求不斷增長(zhǎng),傳統(tǒng)PLC編程方式的開(kāi)發(fā)時(shí)聞和錯(cuò)誤率都相對(duì)增加,對(duì)大型程序的糾錯(cuò)和維護(hù)也非常困難。與此同時(shí),多數(shù)公司的編程軟件只針對(duì)自己的產(chǎn)品,產(chǎn)生了不同PLC程序可移植性、可復(fù)用性差,缺乏封裝能力等一系列問(wèn)題。

  1993年國(guó)際電工委員會(huì)頒布IEC6113I標(biāo)準(zhǔn),其中,第3部分對(duì)PLC編程進(jìn)行規(guī)范,這一標(biāo)準(zhǔn)為工控軟件的發(fā)展起到了舉足輕蘑的推動(dòng)作用”J。但是,多種軟件開(kāi)發(fā)平臺(tái)并存且沒(méi)有針對(duì)組態(tài)軟件設(shè)計(jì)約規(guī)范,使組態(tài)軟件在設(shè)計(jì)上大相徑庭,即使同一種組態(tài)功能實(shí)現(xiàn)時(shí)也各有側(cè)重點(diǎn)?,F(xiàn)階段PLC編程軟件普遍存在提供的編程語(yǔ)言較少、人機(jī)交互界面設(shè)計(jì)簡(jiǎn)單粗糙、功能少、缺乏整體的視覺(jué)效果容易使用戶對(duì)組態(tài)工作產(chǎn)生混亂等問(wèn)題。

  本文通過(guò)對(duì)IEC61131-3標(biāo)準(zhǔn)的研究,設(shè)計(jì)一個(gè)基于PC的PLC統(tǒng)一編程環(huán)境。為編程人員提供一個(gè)將自己的要求轉(zhuǎn)化成程序的友好平臺(tái),編程環(huán)境要求具有良好的可視化人機(jī)界面,程序開(kāi)發(fā)簡(jiǎn)單、維護(hù)方便、系統(tǒng)運(yùn)行穩(wěn)定,具有智能的圖形及文本編輯系統(tǒng),提供使用符合標(biāo)準(zhǔn)的5種語(yǔ)言,并能實(shí)現(xiàn)圖形語(yǔ)言至文本語(yǔ)言轉(zhuǎn)換。

  2 IEC61131—3的軟件模型

  IEC61 13l·3軟件模型在最上層把軟件概括為。配置”,專指一個(gè)特定類型的控制系統(tǒng),包括硬件裝置、處理資源、I/0通道的存儲(chǔ)地址和系統(tǒng)能力。在一個(gè)“配置”中可定義一個(gè)或多個(gè)“贄源”,反映控制器的物理結(jié)構(gòu),在程序和控制器的物理I/O通道之間提供一個(gè)接口,只有在裝入“資源”后才能執(zhí)行程序。在一個(gè)“資源”內(nèi)可以定義一個(gè)或多個(gè)“任務(wù)”,配置后控制一組程序組織單元(Program OrganizationUnits,POU)周期執(zhí)行或事件驅(qū)動(dòng)執(zhí)行。標(biāo)準(zhǔn)定義了5種編程語(yǔ)言,其中,圖形語(yǔ)言有梯形圖(Ladder Diagram,LD)、順序功能圖(Sequential Function Chart,SFC)和功能塊圖(Function Block Diagram,F(xiàn)BD),文本語(yǔ)言有指令表(Instruction List,IL)和結(jié)構(gòu)化文本(Structured Text,ST)。

  3編程環(huán)境體系結(jié)構(gòu)設(shè)計(jì)

  為滿足EC61131-3各項(xiàng)要求,系統(tǒng)可劃分為編輯模塊、檢查模塊、翻譯模塊、監(jiān)視模塊、通信模塊5個(gè)部分。

  (1)編輯模塊

  包括圖形及文本編輯環(huán)境,圖形語(yǔ)言支持使用鼠標(biāo)拖拽編輯,文本語(yǔ)言需要對(duì)用戶的輸入進(jìn)行提示。

  (2)檢查模塊

  對(duì)文本語(yǔ)言程序進(jìn)行基本的詞法和語(yǔ)法錯(cuò)誤檢查,對(duì)圖形語(yǔ)言程序進(jìn)行圖元組合錯(cuò)誤檢查,同時(shí)提示錯(cuò)誤。

  (3)翻譯模塊

  圖形語(yǔ)言不能被PLC識(shí)別,要轉(zhuǎn)換成文本語(yǔ)言,以便調(diào)用編譯器進(jìn)行編譯。

  (4)監(jiān)視模塊

  當(dāng)程序在PLC中運(yùn)行時(shí)反映其執(zhí)行和參數(shù)變化情況,以便及時(shí)調(diào)整和維護(hù)。

  (5)通信模塊

  負(fù)責(zé)PC與PLC硬件之間的數(shù)據(jù)通信,包括用戶程序下載、操作命令和硬件配置參數(shù)、內(nèi)存等的記取。除了這些主要功能模塊外的其他基本功能可以內(nèi)嵌到以上模塊中。系統(tǒng)工作流程如圖l所示。

  4軟件模塊具體實(shí)現(xiàn)

  4.1編輯模塊

  軟件設(shè)計(jì)的第1階段選用LD和IL作為編輯語(yǔ)言。

  4.1.1 LD編輯模塊

  (1)LD對(duì)象類定義

  LD采用邏輯元件和邏輯關(guān)系圖表示程序。標(biāo)準(zhǔn)規(guī)定可采用的元件圖符有電源軌線、連接元素、觸點(diǎn)、線圈、功能和功能塊等,可設(shè)計(jì)如圖2所示的類圖對(duì)LD對(duì)象進(jìn)行封裝。

  (2)LD程序的存儲(chǔ)

  LD程序常用的存儲(chǔ)結(jié)構(gòu)有雙向鏈表、鄰接鏈表和十字鏈表等。為了對(duì)LD程序進(jìn)行正確存儲(chǔ)、顯示并方便后續(xù)處理,除了需要存儲(chǔ)圖符的全部信息,還要正確表示圖符間的拓?fù)潢P(guān)系。一個(gè)LD程序可看成是一個(gè)有向圖,其中,圖符可看作圖的頂點(diǎn),連接符可看成圖的弧。在后續(xù)處理中,還經(jīng)常需要使用各個(gè)頂點(diǎn)的入度和出度。雙向鏈表無(wú)法清晰的表示出圖的結(jié)構(gòu),鄰接表在求出度、入度時(shí)較為復(fù)雜,因此,采用十字鏈表存儲(chǔ)LD程序。

  4.1.2 IL編輯模塊

  IL類似于匯編語(yǔ)言,由一系列指令組成,指令包括操作符和操作數(shù)。為了支持IL編輯,可使用CEditView派生出CTextView類。CEditView已經(jīng)具有文字編輯功能,支持多窗口操作并有文件預(yù)覽功能,由此派生的ETextView能支持IL程序在編輯視窗中進(jìn)行編輯。

  4.2檢查模塊

  4.2.1 LD檢查模塊

  本模塊主要是規(guī)范使用者的編程,給出出錯(cuò)信息引導(dǎo)用戶做出修改。從軟件的易用性考慮,不只在程序設(shè)計(jì)結(jié)束后進(jìn)行檢查,而是將檢查模塊分為實(shí)時(shí)和非實(shí)時(shí)2部分設(shè)計(jì)。

  (1)實(shí)時(shí)檢查

  對(duì)編程過(guò)程中出現(xiàn)的明顯錯(cuò)誤彈出對(duì)話框提示,引導(dǎo)編程人員規(guī)范的編寫(xiě)程序,提高編程效率。

  (2)tie實(shí)時(shí)檢查

  程序編輯完成后全面槍查,保證通過(guò)檢查的LD程序是正確的,主要是檢查元件參數(shù)錯(cuò)誤、短路和斷路錯(cuò)誤、混合連接錯(cuò)誤,下面給出檢查的思路。

  1)元件參數(shù)錯(cuò)誤:在遍歷元件鏈表時(shí)獲取每個(gè)元件的參數(shù),判斷是否合法。

  2)短路錯(cuò)誤:如果網(wǎng)絡(luò)(回路)中某個(gè)部分并聯(lián)了幾條支路,其中一條支路全由直線或者直線和空元件組成的,那么該部分其他支路被短路。

  3)開(kāi)路錯(cuò)誤:按一定原則把行劃分為若干小行,然后檢查小行的開(kāi)始、中間和結(jié)束元件是否合法。小行劃分標(biāo)準(zhǔn)是:如果發(fā)現(xiàn)空元件則其前面所有元件為一小行;如果某元件的列號(hào)比上一個(gè)元件的列號(hào)大2及以上,則該元素前所有元素為一小行;元件鏈表的結(jié)束也是劃分小行的標(biāo)志。

  4)檢查混合連接錯(cuò)誤:若網(wǎng)絡(luò)中存在任何一部分(行數(shù)和列數(shù)都至少為3,并且行與行之間相互聯(lián)系),這部分的行不能在任何一列處交匯到一個(gè)點(diǎn),否則就發(fā)生了混合連接錯(cuò)誤。

  4.2.2 IL檢查模塊

  指令表錯(cuò)誤處理主要是對(duì)指令表文本進(jìn)行詞法和語(yǔ)法分析,對(duì)操作碼和操作數(shù)有效性進(jìn)行校驗(yàn)。

  4.3翻譯模塊

目前國(guó)內(nèi)多數(shù)PLC開(kāi)發(fā)系統(tǒng)中采用的LD至IL翻譯算法是將LD映射成AOV(Activity On Vertex)圖,再采用拓?fù)渑判驅(qū)D進(jìn)行遍歷,從而實(shí)現(xiàn)轉(zhuǎn)換。該方法通過(guò)相應(yīng)的圖符含義來(lái)獲得LD中的邏輯關(guān)系,并不通用,且不適用于串、并聯(lián)關(guān)系較復(fù)雜的程序。所以,本文采用將LD映射成AOV圖,再由AOV圖建立二叉樹(shù),并對(duì)其進(jìn)行后序遍歷的方法,步驟如下:

  (I)LD程序映射成AOV圖AOV圖用頂點(diǎn)表示活動(dòng),用弧動(dòng),開(kāi)始之前完成??梢詫D中的圖符抽象成頂點(diǎn),圖符之間的連接關(guān)系抽象成弧。映射時(shí)首先對(duì)LD程序進(jìn)行一次從左到右,從上到下的掃描,統(tǒng)計(jì)其中圖符和弧的數(shù)目,得到各圖符的前驅(qū)節(jié)點(diǎn)、后繼節(jié)點(diǎn)、入度和出度等信息,并把LD并連線抽象成虛節(jié)點(diǎn)。然后進(jìn)行第2次掃描,建立AOV圖的結(jié)構(gòu)。

  (2)AOV圖轉(zhuǎn)換成相應(yīng)的二叉樹(shù)基本思路是:入度為零的頂點(diǎn)設(shè)置為根節(jié)點(diǎn),每個(gè)圖符對(duì)應(yīng)二叉樹(shù)的一個(gè)葉子節(jié)點(diǎn)。如果圖符的出度為l,則建立一個(gè)“與”節(jié)點(diǎn);若圖符的出度大干等于2,則建立一個(gè)“或”節(jié)點(diǎn)。

  AOV圖轉(zhuǎn)換成二叉樹(shù)算法流程如圖3所示,其中,P1表示圖符頂點(diǎn)指針;F1表示Pl當(dāng)前指向圖符的訪問(wèn)標(biāo)志;Ⅳl表示尸l指向圖符的入度;N2表示JDl指向圖符的出度。

  對(duì)圖3的說(shuō)明如下:

  StepI創(chuàng)建與堆棧s1或堆棧舵。初始化P1、二叉樹(shù)節(jié)點(diǎn)指針P2,將Fl清0。P1指向入度為0的節(jié)點(diǎn)。

  Step2從S1中彈出“與”節(jié)點(diǎn)指針,并賦給Jp2。

  Step3創(chuàng)建“與”節(jié)點(diǎn),并賦給尸3。

  Step4如果JD2左子樹(shù)為空,則P3作為尸2的左子樹(shù),否則P3作為P2的右子樹(shù)。

  Step5 PI作為Jp3的左子樹(shù),挖指向P3對(duì)應(yīng)的節(jié)點(diǎn),Pl指向Jpl的第1個(gè)直接后繼。

  Step6創(chuàng)建2個(gè)“與”節(jié)點(diǎn)P3,P4,創(chuàng)建N2·1個(gè)“或” Step7如果P2左子樹(shù)為空,則P3作為P2的左子樹(shù),否則P3作為P2的右子樹(shù)。

  Step7如果P2左子樹(shù)為空,則P3作為P2的左子樹(shù),否則P3作為P2的右子樹(shù)。

  Step8 P4作為P3左子樹(shù),PI作為P4左子樹(shù),P6作為P左子樹(shù),P7作為P6左子樹(shù),?,PN作為肌1左子樹(shù)。P5~JP~壓入舵,PI的直接后繼壓入眈。PI指向其第1個(gè)直接后繼,P2指向PN對(duì)應(yīng)的節(jié)點(diǎn)。

  tep9從觀中彈出2個(gè)對(duì)象指針,分別賦給P1,P2。

  (3)對(duì)生成的二叉樹(shù)進(jìn)行后序遍歷,訪問(wèn)每個(gè)節(jié)點(diǎn)時(shí)進(jìn)行相應(yīng)的處理,生成對(duì)應(yīng)的指令表。

  4.4在線監(jiān)視模塊

  監(jiān)視畫(huà)面可以根據(jù)PLC程序的控制流程和中間變量,用直觀的編程方式完成,并提供出錯(cuò)報(bào)警,以達(dá)到隨時(shí)了解程序執(zhí)行和參數(shù)變化情況的目的。模塊由圖形界面和實(shí)時(shí)數(shù)據(jù)庫(kù)組成。

  圖形界面可以依照操作系統(tǒng)的圖形標(biāo)準(zhǔn),采用面向?qū)ο蠹夹g(shù)通過(guò)圖形來(lái)反應(yīng)參數(shù)變化情況,生成圖形的數(shù)據(jù)驅(qū)動(dòng)來(lái)源于數(shù)據(jù)采集過(guò)程中自動(dòng)生成的數(shù)據(jù)表。在連接過(guò)程中,從數(shù)據(jù)表選擇驅(qū)動(dòng)數(shù)據(jù)源,最終生成圖形目標(biāo)應(yīng)用系統(tǒng)供圖形行環(huán)境運(yùn)行時(shí)使用。實(shí)時(shí)數(shù)據(jù)庫(kù)中應(yīng)定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)、數(shù)據(jù)連接、數(shù)據(jù)類型及相關(guān)的各種參數(shù),其數(shù)據(jù)的主要來(lái)源為數(shù)據(jù)采集時(shí)生成的數(shù)據(jù)表。

  4.5通信模塊

  PLC和Pc的通信通常通過(guò)Pc的串I:i以“命令.響應(yīng)”的交互方式進(jìn)行。設(shè)計(jì)時(shí)建一個(gè)能夠?qū)崿F(xiàn)串口通信的類,類中設(shè)計(jì)2個(gè)函數(shù):ReadData,SendData,按照PLC通信格式建立起上位機(jī)和PLC的通信以后,即可完成所需功能。

  4.6工程管理器

  工程管理器對(duì)配置層進(jìn)行管理。配置層是IEC61 131-3軟件模型中的最上層。對(duì)應(yīng)于整個(gè)控制系統(tǒng)。工程管理器負(fù)責(zé)配置中各個(gè)部分的組織和聯(lián)絡(luò),并要求能對(duì)系統(tǒng)中所有資源進(jìn)行統(tǒng)一的管理。

  工程管理器按照樹(shù)形結(jié)構(gòu)進(jìn)行組織,并應(yīng)具備如下功能:

  (1)登記新創(chuàng)建的文件;

  (2)從其他項(xiàng)目導(dǎo)入文件;

  (3)顯示所有已經(jīng)存在的POU;

  (4)更名或刪除POU;

  (5)顯示整個(gè)項(xiàng)目的信息結(jié)構(gòu)。

  5軟件測(cè)試

  VS2005擁有完善的集成開(kāi)發(fā)環(huán)境,包括可視化設(shè)計(jì)器、代碼編輯器以及程序設(shè)計(jì)語(yǔ)言,為提高開(kāi)發(fā)速度和程序執(zhí)行效率,選用VS2005作為開(kāi)發(fā)工具。系統(tǒng)主界面及翻譯模塊運(yùn)行結(jié)果如圖4所示。

  通過(guò)實(shí)驗(yàn)表明:

  (1)系統(tǒng)軟件開(kāi)發(fā)遵循IEC61131-3標(biāo)準(zhǔn),用戶界面友好、操作簡(jiǎn)單、功能全面。

  (2)工程管理器反映了IEC61131-3軟件模型的結(jié)構(gòu),使用戶清晰地了解所進(jìn)行組態(tài)工作的全貌。管理器能夠以不同的樹(shù)型視圖來(lái)顯示不同的工程部分,操作基于bbbbbbs標(biāo)準(zhǔn)。通過(guò)界面良好的工程管理器,用戶能夠?qū)こ讨械母鞣N資源進(jìn)行管理。

  (3)用戶可通過(guò)對(duì)編輯工具欄中LD組件的拖拽輕松完成LD程序編輯工作??墒褂貌煌Z(yǔ)言進(jìn)行交叉編程,編程方式靈活。對(duì)程序編輯過(guò)程中出現(xiàn)的一般錯(cuò)誤,軟件正確進(jìn)行了提示,避免不必要的錯(cuò)誤,極大提高了程序開(kāi)發(fā)的效率。

  (4)系統(tǒng)正確高效地完成了LD向IL的轉(zhuǎn)換,編譯生成的可執(zhí)行程序在PLC中正確運(yùn)行。運(yùn)行過(guò)程中各個(gè)參數(shù)的變化在監(jiān)視界面中以圖形方式正確顯示,方便進(jìn)行程序的修改和維護(hù)。

  (5)軟件正確進(jìn)行了異常處理,運(yùn)行穩(wěn)定。

  6 結(jié)束語(yǔ)

  本文對(duì)IEC6113l-3標(biāo)準(zhǔn)進(jìn)行介紹,給出基于IEC61131—3的PLC編程環(huán)境框架結(jié)構(gòu),對(duì)其中各個(gè)模塊進(jìn)行說(shuō)明,給出主要的算法和數(shù)據(jù)結(jié)構(gòu)。并針對(duì)較難實(shí)現(xiàn)的LD向IL轉(zhuǎn)換的算法思想和實(shí)現(xiàn)步驟進(jìn)行說(shuō)明。實(shí)驗(yàn)證明該軟件界面友好、編程方式方便靈活、易于維護(hù),在一定程度上可以解決目前各種品牌PLC編程方法無(wú)法統(tǒng)一的問(wèn)題,提高編程效率,減少培訓(xùn)、維護(hù)費(fèi)用,具有廣闊的應(yīng)用前景。

  該軟件框架的設(shè)計(jì)思想為以后的開(kāi)發(fā)打下較為堅(jiān)實(shí)的基礎(chǔ),但是第l階段只進(jìn)行了初步的開(kāi)發(fā),要進(jìn)一步提供全部5種語(yǔ)言,全面兼容IEC6113l標(biāo)準(zhǔn),還需要進(jìn)行大量的工作。

作者:未知 點(diǎn)擊:3633次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:IEC61131.3標(biāo)準(zhǔn)的PLC編程環(huán)境分析
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《IEC61131.3標(biāo)準(zhǔn)的PLC編程環(huán)境分析》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

張俊杰 【求購(gòu)】  縫紉線自動(dòng)...  2025-12-25
易賽群 【求購(gòu)】  NANOC...  2025-12-25
張經(jīng)理 【求購(gòu)】  浪涌保護(hù)器  2025-12-25
陳蓮 【求購(gòu)】  日本住友閥  2025-12-24
簡(jiǎn) 【求購(gòu)】  氣動(dòng)扳手  2025-12-24
倪高純 【求購(gòu)】  超聲波液位...  2025-12-24
戴先生 【求購(gòu)】  美孚s-2...  2025-12-23
李先生 【求購(gòu)】  一體化消防...  2025-12-22
VIP公司推薦