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

        ?

        PLC梯形圖編程系統(tǒng)應(yīng)用分析

        2017-12-14 09:08:19陳瑞金大連融科儲能裝備有限公司
        大陸橋視野 2017年22期
        關(guān)鍵詞:二叉樹鏈表梯形圖

        陳瑞金/大連融科儲能裝備有限公司

        PLC梯形圖編程系統(tǒng)應(yīng)用分析

        陳瑞金/大連融科儲能裝備有限公司

        體系結(jié)構(gòu)開放化是數(shù)控系統(tǒng)發(fā)展的必然趨勢,軟PLC技術(shù)采用軟件實現(xiàn)傳統(tǒng)PLC的功能,是實現(xiàn)數(shù)控系統(tǒng)開放性的關(guān)鍵技術(shù)之一。軟PLC系統(tǒng)由編程開發(fā)系統(tǒng)及運行系統(tǒng)組成。其中,編程開發(fā)系統(tǒng)是實現(xiàn)具備PLC控制功能的控制系統(tǒng)必不可少的開發(fā)工具之一。本文通過深入分析梯形圖中各單元之間關(guān)系,各功能的配置與實現(xiàn),提出了一種新的梯形圖編程系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與實現(xiàn)方法。利用Windows平臺下的Visual C++作為開發(fā)語言以期能夠開發(fā)出更為簡單實用的梯形圖編程系統(tǒng)。

        PLC梯形圖編程系統(tǒng);應(yīng)用分析

        一、導(dǎo)言

        軟PLC系統(tǒng)由編程開發(fā)系統(tǒng)及運行系統(tǒng)組成。其中,編程開發(fā)系統(tǒng)是實現(xiàn)具備PLC控制功能的控制系統(tǒng)必不可少的開發(fā)工具之一。通過編寫PLC程序并轉(zhuǎn)換為可執(zhí)行目標代碼,下載到軟PLC運行系統(tǒng)中執(zhí)行,才能夠?qū)崿F(xiàn)系統(tǒng)的控制功能。然而,目前國內(nèi)的PLC編程開發(fā)系統(tǒng)種類繁多、編程語言差異大,與IEC61131-3 PLC編程語言標準相差甚遠、編譯效率低、缺乏程序調(diào)試功能等問題突出,導(dǎo)致控制程序開發(fā)過程繁瑣、調(diào)試困難、開發(fā)周期長、系統(tǒng)穩(wěn)定性差,成為快速開發(fā)穩(wěn)定可靠的控制程序的主要障礙。本文提出一種基于雙向循環(huán)鏈表和十字鏈表的梯形圖編輯和指令表生成算法,實現(xiàn)了一個軟PLC開發(fā)系統(tǒng),并分析了軟PLC運行系統(tǒng)實現(xiàn)思想。

        二、梯形圖與指令表簡介

        梯形圖(ladder diagram,LD)是一種圖形化編程語言,引入了電氣系統(tǒng)中電源軌線、繼電器、觸點、線圈等概念,以“能量流動”描述數(shù)據(jù)傳遞過程,直觀性強,易于學(xué)習。一個電動機啟保停控制邏輯梯形圖示例如圖1所示。

        按動START觸點對應(yīng)的按鈕,線圈MO-TOR對應(yīng)的電動機將持續(xù)運轉(zhuǎn),直到按動STOP觸點對應(yīng)的按鈕,電動機停止運轉(zhuǎn)。由圖1梯形圖生成的指令表如圖2所示。

        圖1 梯形圖

        圖2 指令表

        指令表(IL,instruction list)以一系列指令作為編程語言,由操作符、修正符和操作數(shù)等組成。

        LD指令讀取相應(yīng)觸點狀態(tài),st指令將運算后的結(jié)果輸出到線圈Motor對應(yīng)的輸出點,從而控制電動機啟停。

        三、雙向循環(huán)鏈表與十字鏈表

        雙向循環(huán)鏈表每個節(jié)點中有2個指針,*next指向后繼節(jié)點,*previous指向前驅(qū)節(jié)點,因此在查找前驅(qū)節(jié)點和后繼節(jié)點時非常高效,如圖3所示。

        圖3 雙向循環(huán)鏈表

        十字鏈表是表示正交關(guān)系的一種鏈式存儲結(jié)構(gòu),可用于存儲有向圖和稀疏矩陣等,如圖4所示。

        圖4 十字鏈表

        四、梯形圖的數(shù)據(jù)結(jié)構(gòu)

        (一)梯形圖基本元素定義

        梯形圖的基本元素包括電源軌線、連接線、觸點、線圈等,具體分類見表1所列。

        表1 梯形圖基本元素及圖例

        為便于擴展梯形圖基本元素,提高程序模塊化程度,降低不同基本元素處理復(fù)雜度,可將所有梯形圖基本元素的共同特征抽象為一個公共基類?;愔卸x了基本元素的類型、輸入輸出參數(shù)、對應(yīng)的變量名、在梯形圖中的坐標等信息。同時以虛函數(shù)的方式定義了賦值函數(shù)、繪圖函數(shù)和IL指令轉(zhuǎn)換函數(shù)。每個基本元素繼承自基類,并按照各自特點重新實現(xiàn)虛函數(shù)。如豎直連接線元素,不需要賦值,也不用輸出IL指令,只需重寫Draw()函數(shù),在指定行列坐標畫出該連接線即可。

        (二)梯形圖生成指令表實例

        梯形圖雙向循環(huán)十字鏈表各節(jié)點命名如下:v[i]表示電源軌線和連接線,x[i],YO表示觸點和線圈,如圖5所示。

        圖5 梯形圖生成指令表過程

        借助棧記錄遍歷過的電源軌線和連接線節(jié)點,編寫梯形圖outPutIL()遍歷算法,按圖5所示中箭頭及標號順序表示的路徑依次訪問節(jié)點。

        分別調(diào)用各基本元素節(jié)點的toIL()方法輸出該元素代表的具體IL指令,最終組成完整的指令表語言程序。

        五、相關(guān)算法對比

        梯形圖的編輯和指令表轉(zhuǎn)換,已有算法主要采用鏈表、二叉樹、AOV網(wǎng)相結(jié)合的方式實現(xiàn)。

        (一)鏈表與二叉樹結(jié)合算法

        以AOV網(wǎng)的節(jié)點表示梯形圖元素,AOV網(wǎng)的弧表示梯形圖元素間的連接關(guān)系,對梯形圖進行存儲;再將AOV網(wǎng)轉(zhuǎn)換為二叉樹,以二叉樹的非葉節(jié)點表示梯形圖串聯(lián)、并聯(lián)邏輯關(guān)系,對轉(zhuǎn)換后的二叉樹進行一定的裁剪,通過中序遍歷輸出指令表語句。以圖1所示梯形圖為例,該算法對應(yīng)的存儲結(jié)構(gòu)和轉(zhuǎn)換示意如圖6所示。

        圖6 AOV網(wǎng)及二叉樹示例

        此算法的AOV網(wǎng)將連接線元素統(tǒng)一作為虛節(jié)點,梯形圖元素間的串聯(lián)、并聯(lián)邏輯關(guān)系隱含在節(jié)點的出度、入度信息中,需要對AOV網(wǎng)進行一次遍歷,構(gòu)建出二叉樹,裁剪虛節(jié)點,才能進行指令表的轉(zhuǎn)換。AOV網(wǎng)發(fā)生變化后,二叉樹需要重建。

        (二)雙向鏈表與AOV網(wǎng)結(jié)合算法

        以行雙向鏈表作為梯形圖數(shù)據(jù)結(jié)構(gòu),用于存儲和顯示數(shù)據(jù);根據(jù)行雙向鏈表生成AOV網(wǎng),對梯形圖節(jié)點進行拓撲排序,再轉(zhuǎn)換為指令表語句。以圖1所示梯形圖為例,該算法對應(yīng)的存儲結(jié)構(gòu)和轉(zhuǎn)換示意如圖7所示。

        圖7 行雙向鏈表及AOV網(wǎng)示例

        此算法的行雙向鏈表僅保留了行內(nèi)元素之間和行與行之間的邏輯關(guān)系,卻丟失了處于不同行的元素之間的邏輯關(guān)系。因此在將梯形圖轉(zhuǎn)換為指令表前,需要對整個鏈表進行一次掃描,在適當位置添加虛節(jié)點(圖7中的vp1節(jié)點),構(gòu)建AOV網(wǎng),再進行拓撲排序和輸出。一旦對梯形圖進行編輯,建立AOV網(wǎng)的過程需要重新進行。

        (三)程序的傳輸

        當用戶編輯好梯形圖程序之后,將程序生成為指令表形式。然后再把指令表程序轉(zhuǎn)換為一系列的二進制指令,可以通過串口來實現(xiàn)程序指令從編程主機向硬件平臺的傳輸。VC提供了MSComm控件,利用該控件可以很方便的實現(xiàn)應(yīng)用程序的串行通信功能。另外要利用該控件必須使它寄生于某個對話框,所以首先要生成一個應(yīng)用于串口傳輸?shù)膶υ捒蝾悺H?/p>

        六、結(jié)束語

        本文提出一種基于雙向循環(huán)鏈表和十字鏈表的梯形圖數(shù)據(jù)結(jié)構(gòu),正確實現(xiàn)了梯形圖編輯和梯形圖生成指令表算法。該數(shù)據(jù)結(jié)構(gòu)能直觀地表現(xiàn)梯形圖各元素間邏輯關(guān)系,對實現(xiàn)完整的軟PLC控制系統(tǒng)具有一定意義。

        [1]周峰,王新華.軟PLC編輯系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用,2005,41(7):111-113.

        [2]杉布,王蔚庭.IEC61131-3國際標準簡介[J].國內(nèi)外機電一體化技術(shù),2001(1):54-57.

        猜你喜歡
        二叉樹鏈表梯形圖
        CSP真題——二叉樹
        電腦報(2022年37期)2022-09-28 05:31:07
        二叉樹創(chuàng)建方法
        基于二進制鏈表的粗糙集屬性約簡
        跟麥咭學(xué)編程
        基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
        基于VC的梯形圖編程軟件開發(fā)技術(shù)
        一種由層次遍歷和其它遍歷構(gòu)造二叉樹的新算法
        繼電器電路轉(zhuǎn)為梯形圖教學(xué)經(jīng)驗淺談
        電子制作(2016年15期)2017-01-15 13:39:28
        PLC梯形圖程序設(shè)計技巧及應(yīng)用
        鏈表方式集中器抄表的設(shè)計
        電測與儀表(2014年1期)2014-04-04 12:00:22
        亚洲婷婷丁香激情| 久久婷婷五月国产色综合| 午夜福利啪啪片| 在线播放a欧美专区一区| 米奇亚洲国产精品思久久| 丝袜美腿制服诱惑一区二区| 粗大的内捧猛烈进出少妇| 国产色a在线观看| 国产一区二区丰满熟女人妻| 日韩人妻大奶子生活片| 绝顶高潮合集videos| 内射无码专区久久亚洲| 精品视频专区| 国产精品一区二区在线观看99| 无码伊人久久大香线蕉| 国产91精品一区二区麻豆亚洲| 无码gogo大胆啪啪艺术| 激情偷乱人伦小说视频在线| 免费国产调教视频在线观看| 亚洲av一二三四又爽又色又色| 国产日产韩国av在线| 久久久g0g0午夜无码精品| 日本又黄又爽gif动态图| 亚洲成在人网av天堂| 一本色道88久久加勒比精品| 亚洲综合网国产精品一区| 蜜桃视频无码区在线观看| 久久人妻AV无码一区二区| 在线亚洲精品一区二区三区| 国产女优一区在线观看| 久久天天躁狠狠躁夜夜av| 久久精品一区二区三区av| 亚洲美女啪啪| 手机在线看片在线日韩av| 日本一区二区免费高清| 国内成+人 亚洲+欧美+综合在线 | 97久久精品人人做人人爽| 国产丝袜在线精品丝袜不卡| 日韩av综合色区人妻| 久久精品夜色噜噜亚洲a∨| 日本午夜免费福利视频|