美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器 > 大型PLC可編程控制器

類型分類:
科普知識
數據分類:
大型PLC可編程控制器

嵌入式系統硬件平臺軟件的PLC實現方法

發布日期:2022-04-22 點擊率:102

 1 嵌入式軟PLC的總體結構

  嵌入式軟PLC與嵌入式系統共享一個CPU,PLC和嵌入式系統之間沒有多余的導線連接,增加了系統的可靠性,易于實現許多高級功能。PLC中的信息也能通過嵌入式系統的顯示屏顯示,通過嵌入式系統的編輯鍵可方便地對PLC進行編輯操作。

  1.1 嵌入式軟PLC的硬件結構

  外部輸入的開關量經過光電隔離后連接到FPGA的I/O口,通過FPGA地址譯碼,FPGA通過數據地址總線與CPU相連。這樣CPU就可以通過數據地址總線獲得和設置輸入量的工作狀態。

1.2 嵌入式軟PLC的軟件結構

  嵌入式軟PLC程序包括兩類:一類是編輯狀態,實現PLC程序的輸入和編譯功能;另一類是面向生產過程的應用程序。系統軟件結構由4部分組成,分別是編輯模塊、編譯模塊、執行模塊和監控模塊。

2 系統關鍵組成部分的設計與實現

  2.1 梯形圖編輯器

  Qt/Embedded是著名的Qt庫開發商Trolltech推出的面向嵌入式系統的Qt版本。Qt/Embedded具有可移植性強和支持跨平臺開發等優點。本系統采用Qt編寫界面。

 2.1.1 梯形圖的數據結構設計

  梯形圖編輯具有方便、邏輯直觀的特點,梯形圖編輯器借助于梯形圖的內部數據結構來實現顯示、插入、刪除、代碼轉化等功能。

  PLC語言中,各種元素包括單個節點(如常開觸點、常閉觸點等)和邏輯塊(如與邏輯塊、或邏輯塊),它們都含有相同的操作,如插入、刪除、繪圖等??梢园呀M成梯級的各個邏輯塊看成組成梯級的各個部分,把組成邏輯塊的子邏輯塊和單個節點看成是組成邏輯塊的各個部分,符合“部分一整體”的層次結構。可以采用面向對象的設計思想,使用composite模式遞歸地創建樹狀結構。使用組合結構,能夠把相同的操作應用在組合和個別的對象上。大多數情況下,可以忽略對象組合和個別對象之間的差別,簡化程序代碼,增強了軟件的可維護性。

LadderElement是一個抽象類,為組合對象的接口。代表梯形圖語言的任何一個圖形元素,它既可以代表元件又可以代表邏輯塊,在適當的情況下可以實現所有類共同的缺省行為,如繪圖和代碼轉換等;LadderCell為所有元件類(如常開觸點、常閉觸點、輸出、置位、復位)的基類;LadderBlock為所有邏輯塊(如與邏輯塊類、或邏輯塊類等)的基類。

一個梯級和它對應的數據結構,OrBlock為或邏輯塊類的對象,AndBloek為與邏輯塊類的對象,Rung為梯級類的對象。

  此外,為了能夠方便地進行繪圖和編輯,引入了一個空元件類。它的作用是梯形圖中的水平連接線,實現方法是繼承LadderCell類,重新實現成員函數Draw()來畫一條水平的線段。

 2.1.2 編輯功能的設計與實現

 將屏幕分割成一定數目的小的區域,并創建含有相同數目的二維數組。當繪制元件時,將元件、元件所在的邏輯塊和元件所在的梯級指針保存到數組中,通過光標在屏幕上的坐標可以獲得二維數組的下標,從而可以獲得光標所在的元件、邏輯塊和梯級在內存中與之相對應的對象。

  梯形圖的編輯通過改變其在內存中的數據結構來實現,在數據結構被改變后,重新繪圖。對梯形圖的編輯包括:插入元件、插入分支、插入梯級、刪除元件和刪除梯級等。篇幅所限只作簡要介紹。

  刪除元件:刪除LadderBlock中的一個元件Ladder一Cell(A)后,如果LadderBlock中只剩下一個LadderCell(B)時,LadderCell(B)取代LadderBlock的位置,插入到LadderBlock的父LadderBlock中;如果LadderBlock中只剩下一個LadderBlock(B),則將LadderBlock(B)的所有LadderElement插入到LadderBlock的父LadderBlock中。

 插入分支:通過光標在屏幕上兩次選擇分支的起始和結束位置,這兩個位置必須屬于同一個AndBlock(A)。起始和結束位置選擇后,將兩個位置間的LadderElement作為分支構成一個AndBlock(B)并計算出AndBlock(B)所占的列數n,然后新建一個表示插入分支的AndBlock(C),AndBlock(C)中插入n個空元件。建一個OrBlock并將AndBlock(B)和AndBlock(C)插入到0rBlock中。OrBlock即表示插入分支后的或邏輯塊。OrBlock取代兩次選中之間的元素在它們的父邏輯塊中的位置,然后根據修改后的數據結構畫圖得到插入分支后的梯形圖。

 2.2 指令表編譯器的設計與實現

  實現對PLC編程語言的高效、可靠的編譯,是研制開發嵌入式PLC系統的一項關鍵性任務。傳統的開發方法是用高級語言自行開發專用的PLC指令編譯器,需要對每個程序字和程序規則編寫識別和相應的處理程序,工作量大、開發周期長,容易產生疏漏,可維護性很差。為了提高軟件的開發效率,保證軟件質量,增強軟件的可維護性,采用通用編譯工具Lex8LYacc開發PLC指令編譯器。

  2.2.1 Lex&Yacc簡介

  Lex 8L Yacc是美國貝爾實驗室用C語言研制的詞法分析程序和語法分析程序的自動生成工具,是目前使用最廣泛的編譯軟件之一。Lex是詞法分析程序生成器,Yacc是語法分析程序生成器。它們可以根據用戶提供的詞法、語法規范文件,自動轉化為多種高級語言源代碼,如C或C++等。

  2.2.2 編譯器總體結構

  所謂“遍”,是對源程序或其等價的中間語言程序從頭到尾掃描并完成規定任務的過程。本系統的編譯過程包含三遍,分別進行詞法分析、語法分析和代碼轉換。

  2.2.3 詞法分析器設計

  指令表源程序可以簡單地被看成一個多行的字符串。詞法分析器從上到下、從左到右逐個字符地對源程序進行掃描,產生一個個單詞符號,把字符串的源程序改造成為單詞符號串的中間程序,用于隨后的語法分析。

  本系統的詞法分析器有兩種工作狀態:一是從頭到尾對源程序進行掃描,檢查出所有的詞法錯誤;二是當沒有詞法錯誤時,從頭到尾對源程序進行掃描,將識別出的單詞符號輸入給語法器。

  2.2.4 語法分析器設計

 ?。?)PLC指令表語言的語法描述

  分析PLC指令程序結構,提取隱藏在指令代碼中的結構信息,這種信息中往往會有操作指令被隱含地表達出來。例如:指令OR/0RB與梯形圖中的并聯結構對應,而AND/ANB則與梯形圖中的串聯結構對應。

 按照yacc的語法規則,對應于巴科斯范式描述寫出yacc源程序后,用“yacc-dv plcil.y”指令轉換成語法分析器的C語言源程序yyparse。

  (2)將PLC指令表轉換為二進制代碼

  PLC指令表源程序的二進制文件格式為:每條指令的二進制編碼占32位,操作符的編碼與元件編碼相加作為目標代碼的高16位,低16位為元件的編號。例如,操作符LD的編碼為0xFF00,元件X的編碼為Ox01,指令LD X1的編碼為0xFF010001。

  指令表編譯器的代碼轉換功能由yacc源程序規則的動作部分來實現。當語法分析器識別出一條完整的指令時,就將其對應的二進制代碼保存到文件中。

  (3)將PLC指令表轉換為樹形結構

  Yacc語法分析程序通過尋找可以匹配目前為止所看到的標記的規則來工作。Yacc處理語法分析程序時創建了一組狀態,每個狀態都反映一個或多個部分地被分析的規則中的一個可能的位置。當語法分析程序讀取標記時,每次它讀取一個沒完成規則的標記,就把它壓入內部堆棧中并切換到一種反映它剛剛讀取的標記的新狀態。這個動作稱為移進(shift)。當它發現組成某條規則右側的全部符號時,它就把右側符號彈出堆棧,而將左側符號壓入堆棧中,并且切換到反映堆棧上新符號的新狀態。這個動作成為規約(reduction)。當yacc規約規則時,它都執行與這條規則有關的用戶代碼。

  利用堆棧的思想實現指令表語言向梯形圖樹形結構的轉換。自定義一個棧Stack,可以壓入和彈出指向Lad—derElement類型的對象的指針。在進行代碼轉換時,棧Stack動作與語法分析棧的動作不同。當yacc解析到如LD/LD1、AND/ANI等含有元件的指令語句時,將這些指令中的元件入棧(如上述代碼中的B、C行),邏輯塊的構造在其對應的語法規則的動作部分實現。

  2.3 執行模塊的設計與實現

  2.3.1 邏輯運算算法推導

  下面列一段簡單的PLC程序來介紹邏輯運算算法的推導過程:

 ?、貺D X1

 ?、?R X6

  ③ORI M1

 ?、躉UT Y5

 ?、軱DI Y5

  ⑥AND X7

 ?、逴R M2

  ⑧ANI X10

 ?、?RI M3

 ?、釵UT M4

 ?、釫ND

  定義0R、ORI、ORB的或操作為加法“+”,AND、ANI、ANB的與操作為乘法“*”,取反操作為“[]”。

上式的所有運算符只會連接兩個變量或者一個變量和一個表達式。由于掃描過程是順序執行的,因此可以為上述計算過程建立計算堆棧。建立遞增的堆棧。

2.3.2 執行模塊的實現

  本系統的執行模塊是由RTLinux的實時線程模塊來實現的,它運行于內核態。系統開機立即加載執行模塊,并將PLC的二進制代碼從文件中復制到共享內存中,執行模塊解釋共享內存中的PLC指令表的二進制代碼,按照用戶輸入的邏輯,完成開關量的控制。

3 小 結

  嵌入式軟PLC最突出的特點是,借助于嵌入式系統的硬件平臺用軟件的方法實現標準PLC的功能,代替專用控制器,結構開放,開發周期短、成本低,具有良好的應用前景。雖然文中PLC指令采用的是日本三菱公司FX2N可編程控制器系列指令,但是只需稍作修改即可用于其他廠商的產品。目前該嵌入式軟PLC已成功應用于數控銑床中,完全滿足控制要求。

 

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        精品国精品自拍自在线| 国产精品乱码| 亚洲精品免费播放| 久久久久久久久久美女| 日韩欧美亚洲国产另类| 国精产品一区二区| 欧美亚洲一级二级| 精品视频免费观看| 96成人在线视频| 99久久久国产精品| 国产成人av电影在线| 日本成人中文字幕| 爽爽淫人综合网网站| 一区二区三区高清不卡| 一区二区中文视频| 国产精品欧美久久久久无广告 | 青青草国产精品亚洲专区无| 一区二区欧美国产| 亚洲在线成人精品| 日韩毛片一二三区| 亚洲美女区一区| 亚洲精选在线视频| 亚洲一二三区在线观看| 亚洲成人av中文| 婷婷久久综合九色综合绿巨人| 亚洲国产sm捆绑调教视频| 亚洲免费观看高清完整版在线| 中文字幕在线一区免费| 中文字幕一区日韩精品欧美| 综合久久综合久久| 伊人一区二区三区| 日本中文字幕一区二区视频| 激情文学综合丁香| 成人免费看黄yyy456| 成人v精品蜜桃久久一区| 成人中文字幕在线| 99r精品视频| 免费成人深夜夜行视频| 亚洲国产成人不卡| 欧美亚洲综合一区| 日韩一级黄色片| 国产精品无遮挡| 一区二区三区蜜桃网| 日韩国产精品久久| 国产一区视频网站| 91视频在线看| 精品欧美一区二区在线观看视频| 色涩成人影视在线播放| 欧美亚洲高清一区二区三区不卡| 欧美亚洲一区二区在线| 精品久久久久久综合日本欧美 | 亚洲123区在线观看| 裸体在线国模精品偷拍| 成人国产一区二区三区精品| 国产精品v欧美精品v日韩| 欧美视频小说| 欧美日本在线播放| 欧美激情一区二区三区不卡| 亚洲一级电影视频| 国产成人精品一区二区三区四区 | 日本伊人色综合网| 成人国产精品视频| 久久综合九色99| 欧美日韩亚洲综合一区二区三区| 日韩一级二级三级| 亚洲综合男人的天堂| 国产精品亚洲专一区二区三区| 春色成人在线视频| 色婷婷亚洲婷婷| 国产欧美精品在线观看| 视频一区中文字幕国产| 94色蜜桃网一区二区三区| 亚洲国产精品久久久久久女王| 日韩精品一区二区在线观看| 一区二区三区影院| 成人永久看片免费视频天堂| 欧美日韩精品免费在线观看视频| 555www色欧美视频| 亚洲一区二区四区蜜桃| 粉嫩欧美一区二区三区高清影视| 欧美一二三四五区| 26uuu久久天堂性欧美| 午夜av区久久| 国产精品伊人日日| 7878成人国产在线观看| 一区二区理论电影在线观看| 成人精品小蝌蚪| 在线观看国产一区| 亚洲国产精品v| 国产成人a级片| 亚洲一区精彩视频| 国产精品网站在线播放| 日日摸夜夜添夜夜添国产精品| 国产ts人妖一区二区| 亚洲午夜精品一区二区三区| 中文字幕欧美国产| 国产91精品久久久久久久网曝门| 色综合久久久久久久久五月| 国产午夜三级一区二区三| 久久99精品久久久久| 五月天色一区| 亚洲精品日韩一| 99久久精品免费看国产四区| 欧美一级欧美一级在线播放| 日产精品久久久久久久性色| 欧美精品尤物在线| 国产精品久99| av毛片久久久久**hd| 91精品国产综合久久精品| 日本午夜一本久久久综合| 欧美日韩精品免费看| 国产精品久99| 99久精品国产| 日韩视频一区二区| 国产精品正在播放| 欧美丰满美乳xxx高潮www| 免费成人在线网站| 一本色道久久加勒比精品| 亚洲综合色在线| 鲁丝一区二区三区免费| 亚洲视频一区在线| 久久一区二区三区欧美亚洲| 久久蜜桃av一区二区天堂| 91天堂素人约啪| 欧美成人三级电影在线| 国产一区二区三区综合 | 午夜精品美女久久久久av福利| 日韩精品一区二区在线| 美女视频黄a大片欧美| 久久国产精品一区二区三区四区 | 日韩视频在线你懂得| 美国毛片一区二区| 欧美在线观看视频一区二区三区| 日韩电影在线观看网站| 欧美自拍偷拍午夜视频| 久久精品国产澳门| 欧美乱妇一区二区三区不卡视频| 精品一区二区三区香蕉蜜桃 | 国产精品久久久久久久久久久久午夜片 | 欧美精品乱人伦久久久久久| 国精品**一区二区三区在线蜜桃| 欧美日韩五月天| 国产成人免费av在线| 欧美成人欧美edvon| 99www免费人成精品| 国产女人18水真多18精品一级做 | 91视频你懂的| 国产精品嫩草影院com| 久久久福利视频| 一区二区免费在线| 色综合久久久久久久| 激情图区综合网| 精品久久人人做人人爽| 豆国产97在线| 一区二区三区影院| 色噜噜狠狠色综合中国| 狠狠色狠狠色综合日日91app| 91精品国产91久久综合桃花| 成人国产电影网| 国产日韩亚洲欧美综合| 99在线高清视频在线播放| 欧美国产视频在线| 欧美日韩一区二区视频在线| 亚洲精品高清在线观看| 日韩精品一线二线三线| 国产乱码一区二区三区| 久久品道一品道久久精品| 欧美国产二区| 狠狠色综合日日| 国产丝袜美腿一区二区三区| 日韩精品无码一区二区三区| 国产精品系列在线观看| 亚洲国产精品成人综合| 色婷婷综合激情| 91免费观看在线| 亚洲一区二区美女| 在线成人午夜影院| 成人av资源在线观看| 亚洲精品中文字幕在线观看| 欧美午夜精品久久久久久超碰 | 一本大道av一区二区在线播放| 国产精品一区二区在线观看不卡| 中文字幕一区二区三区视频| 欧洲精品一区二区三区在线观看| 91在线国产福利| 夜夜嗨av一区二区三区网页| 日韩视频免费观看高清完整版 | 亚洲成av人影院| 欧美精品一区二区三区视频| 欧美色图亚洲自拍| 国产成人在线电影| 亚洲综合激情小说| 精品国产乱子伦一区| 一道本成人在线| 国产一区精品在线| 国产呦萝稀缺另类资源| 亚洲韩国一区二区三区| 久久久久亚洲蜜桃| 欧美日韩久久一区| 亚州欧美一区三区三区在线|