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

        ?

        基于VC的梯形圖編程軟件開發(fā)技術(shù)

        2017-06-28 14:23:15史先桂
        關(guān)鍵詞:梯形圖表達式繼電器

        史先桂

        (安徽新華學(xué)院 信息工程學(xué)院,合肥 230088)

        史先桂

        (安徽新華學(xué)院 信息工程學(xué)院,合肥 230088)

        介紹一種采用VC++2010開發(fā)梯形圖編程工具軟件的設(shè)計與實現(xiàn)方法。利用面向?qū)ο蟮姆椒?,進行系統(tǒng)類層次結(jié)構(gòu)的設(shè)計,使系統(tǒng)具有更強的執(zhí)行效率、開放性和可擴展性;采用鏈表結(jié)構(gòu)存儲梯形圖,能夠方便、靈活地進行動態(tài)編輯操作;運行程序?qū)⑻菪螆D圖形語言轉(zhuǎn)換為鏈表指令程序,通過高效邏輯和運算管理鏈表指令快速執(zhí)行。

        VC++;梯形圖;可編程邏輯控制器控制;組態(tài)軟件

        在自動控制領(lǐng)域,梯形圖因其直觀易學(xué)的優(yōu)勢,成為PLC(Programmable Logic Controller,可編程邏輯控制器)中應(yīng)用廣泛的編程語言[1]?;诠た貦C的PCI(Peripheral Component Interconnect,外設(shè)部件互連標準)插槽、運動控制卡多軸控制系統(tǒng)以及基于以太網(wǎng)、串口等智能終端的控制編程都要通過組態(tài)軟件或上位機自編開發(fā)軟件。針對擁有大量輸入輸出的復(fù)雜邏輯控制系統(tǒng),采用上位機自編開發(fā)軟件,需要定義大量的變量,靠編寫代碼等控制工藝動作。因此,項目開發(fā)時間長、可控性差、風險大,一旦出現(xiàn)故障和漏洞,需要開發(fā)人員才能解決。同時,復(fù)雜的邏輯控制通過在組態(tài)軟件上編寫腳本語言實現(xiàn)也非常困難,沒有梯形圖編程方便、直觀。這種情況下,在組態(tài)軟件基礎(chǔ)上開發(fā)類似PLC的梯形圖編程工具軟件,那么只要是有梯形圖編程經(jīng)驗的人員,就可以在上位機上開發(fā)復(fù)雜的控制項目,使復(fù)雜的上位機軟件開發(fā)大大簡化,不需要編寫代碼,而且調(diào)試方便、直觀、快捷,項目風險降低。本文利用VC++2010開發(fā)梯形圖編程工具軟件,并重點介紹梯形圖指令圖形化編輯系統(tǒng)、梯形圖編程系統(tǒng)、梯形圖運行系統(tǒng)[2],等功能模塊的實現(xiàn)方法。

        1 梯形圖指令圖形化編輯系統(tǒng)

        完成梯形圖指令圖形化編輯系統(tǒng),首先要確定梯形圖的指令系統(tǒng),然后將梯形圖指令符號用不同圖形表示出來。

        1.1 指令系統(tǒng)

        首先規(guī)劃系統(tǒng)需要支持哪些指令,并且要容易擴展。本系統(tǒng)支持的梯形圖命令有:

        常規(guī)指令:常開、常閉、>、 >=、 <、 <=、 ==、M繼電器輸出、M繼電器上升沿微分、M繼電器下降沿微分、DI輸入、DO輸出、AI輸入 、AO輸出、時間計時器計時、計時器計數(shù)、置位、復(fù)位、位設(shè)置;

        運算指令:數(shù)據(jù)+、-、*、/、絕對值運算;

        數(shù)據(jù)傳送指令:字節(jié)傳送、字傳送、數(shù)字快傳送;

        伺服步進指令:設(shè)置常速、設(shè)置高速、設(shè)置恒速、加速,設(shè)置運行脈沖數(shù),制動,清零,查詢當前脈沖數(shù)、原位、方向、運行狀態(tài);

        特殊指令:子程序、功能塊、報警信息提示。

        1.2 指令符號繪制

        圖1 類層次結(jié)構(gòu)

        圖1是畫指令圖元的相關(guān)繼承關(guān)系,每個畫圖對象由以下數(shù)據(jù)結(jié)構(gòu)實現(xiàn):

        typedef struct _TBObjInfo

        所有對象在虛函數(shù) virtual void Draw(CDC* pDC)里實現(xiàn)畫圖,這種設(shè)計方案簡單且指令可擴展性強。

        2 梯形圖編程系統(tǒng)

        一個完善的梯形圖編程系統(tǒng),首先要將梯形圖指令與相關(guān)的繼電器關(guān)聯(lián),其次要完成梯形圖編程的編輯系統(tǒng)

        2.1 繼電器定義

        梯形圖在編輯時,指令要與相關(guān)繼電器關(guān)聯(lián)。繼電器一般有2種:外部I/O繼電器和內(nèi)部輔助繼電器。

        本系統(tǒng)規(guī)劃的外部I/O繼電器最多可提供0~255個設(shè)備的虛擬地址,供工控機插卡輸入輸出編址用,數(shù)字量和模擬量輸入輸出變量地址支持0.00~0.31到255.00~255.32,具體地址分配根據(jù)配置的虛擬地址編號用對話框設(shè)置如圖2所示。

        圖2 輸入、輸出地址配置

        如一塊16位DI插卡,地址編號=1,編址為1.00~1.15,沒有編址的不能在梯形圖里使用。地址編號為0,1,...,255,不能重復(fù);另外數(shù)字量輸入/輸出、模擬量輸入/輸出的數(shù)量要和實際插卡設(shè)備一致,以便梯形圖正確編址。

        系統(tǒng)規(guī)劃的內(nèi)部繼電器有:M輔助繼電器,地址支持M0~M10000,共具有10 000個M輔助繼電器。其中:特殊繼電器M0,程序第一次循環(huán)是ON,以后為OFF;M1,0.5 s脈沖;M2,1 s脈沖;M3,M4備用,編程選擇從M5開始;DW數(shù)據(jù)寄存器,共有DW0~DW5000可用;時間繼電器T,共有T0~T500可用;計數(shù)器C,共有C0~C500可用。

        2.2 梯形圖編程的編輯系統(tǒng)

        完成梯形圖編程的編輯系統(tǒng)開發(fā)有2個要點:智能編輯和存儲。梯形圖的智能編輯系統(tǒng)對繪制的梯形圖是否正確具有智能判斷功能,可根據(jù)梯形圖符號、指令類型,左、右連接的對象,上、下連接的對象、位置等檢測繪制是否正確。

        2.2.1 梯形圖智能編輯

        程序完成相關(guān)功能后,可根據(jù)工藝要求進行梯形圖編程。圖3是本系統(tǒng)編輯的一段梯形圖。

        圖3 梯形圖編程實例

        程序的每個段編輯完成,系統(tǒng)將自動檢測判斷是否符合邏輯要求,如果不合要求則梯形圖開始端會變紅色,同時提示錯誤。同樣,梯形圖指令繪制位置不正確時也會有錯誤提示[4]。

        2.2.2 梯形圖存儲

        每行梯形圖編輯順序為從左到右、從上到下,下面以圖4所示的一段梯形圖來說明存儲方法。

        圖4 一段梯形圖

        梯形圖的每個段由兩部分組成:圖4中虛線左邊是邏輯關(guān)系組合,右邊是輸出結(jié)果。梯形圖程序編輯完成后,存儲梯形圖要將邏輯關(guān)系轉(zhuǎn)換成關(guān)系表達式存儲,以鏈表形式存儲,其結(jié)構(gòu)如下。

        typedef struct _TBControLadInfo

        結(jié)構(gòu)_TBControLadInfo存儲梯形圖的ID、子程序號、梯形圖段牽引、梯形圖所屬頁面ID、梯形圖邏輯關(guān)系組合關(guān)系表達式、最后一列輸出結(jié)果表達式。其中成員變量ladder存儲梯形圖每個段中虛線左邊的邏輯關(guān)系組合表達式。圖4所示的一段梯形圖存儲表達式如下:(((M50&M101|T22)|T28)|M217)&!M226&M215&!M224,表達式通過+、-、*、、^、=、&、|、!=、<=、<、>=、>、==等邏輯關(guān)系,在梯形圖運行時經(jīng)過運算得出一個邏輯狀態(tài)0或1,然后確定最右邊一列的輸出結(jié)果。

        成員變量ControlOut存儲梯形圖的每個段最右邊一列,輸出結(jié)果為組合表達式,圖4中存儲結(jié)果是(M,217),表示輔助繼電器M217線圈輸出為0或1。

        在存儲時要求系統(tǒng)能自動將梯形圖符號轉(zhuǎn)換成對應(yīng)的運算關(guān)系和邏輯符號,存儲在TBControLadInfo結(jié)構(gòu)鏈表里,并最終存儲到數(shù)據(jù)庫。

        3 梯形圖運行系統(tǒng)

        運行系統(tǒng)首先從數(shù)據(jù)庫讀取梯形圖存儲的相關(guān)信息,然后不停循環(huán)掃描主程序,根據(jù)梯形圖程序掃描順序和相關(guān)繼電器狀態(tài),逐行分析和計算每個程序段的邏輯關(guān)系組合表達式值。若邏輯狀態(tài)為1,在最后一列輸出相關(guān)動作,若邏輯狀態(tài)為0則不輸出相關(guān)動作,從而實現(xiàn)梯形圖的實時執(zhí)行[5]。梯形圖運行系統(tǒng)開發(fā)有2個難點:

        1)高效分析和計算程序段前面的邏輯關(guān)系表達式值

        針對邏輯表達式專門開發(fā)一個運算管理類CLadParser,能滿足常用的=、&、|、!=、<=、<、>=、>、==、+、-、*、、^等所有邏輯運算,判斷邏輯和運行優(yōu)先級別。運行速度要快,否則會影響整個系統(tǒng)實時性。其實現(xiàn)分析和計算程序段前面的邏輯關(guān)系的方法如下:

        CLadParser m_Parser; //聲明一個對象

        Cstring sLad=(((M50&M101|T22)|T28)|M217)&!M226&M215&!M224;//梯形圖邏輯關(guān)系組合表達式

        bool bV = m_Parser.JudgeEaluate(sLad);//計算梯形圖邏輯關(guān)系組合表達式值

        if(bV){ //執(zhí)行最后一列輸出相關(guān)動作,M227置1 }

        系統(tǒng)實時獲得相關(guān)繼電器的值,再通過CladParser進行分析判斷,計算出邏輯狀態(tài)值(0或1),這樣就能確定如何執(zhí)行后序動作[6]。

        2)梯形圖實時調(diào)試

        梯形圖一大優(yōu)點就是調(diào)試時直觀、方便,所以梯形圖在運行時,要實時觀察到相關(guān)繼電器數(shù)值和狀態(tài),某段梯形圖導(dǎo)通要用不同顏色來顯示。如果梯形圖前面邏輯關(guān)系表達式值為1,則這段梯形圖全部用灰色線條聯(lián)通,如圖5所示。

        圖5 梯形圖編程調(diào)試

        另外實時調(diào)試要有強迫和取消繼電器值改變功能,這樣可為調(diào)試帶來很多方便,在此不一一贅述。

        4 結(jié)語

        梯形圖編程系統(tǒng)的開發(fā),將使上位機軟件開發(fā)大大簡單化,不同項目不需要編寫代碼只需要根據(jù)梯形圖來編程實現(xiàn)相關(guān)控制,調(diào)試方便、直觀、快捷,本文介紹的開發(fā)梯形圖編輯工具的方法,也適用于開發(fā)其他任何控制器的梯形圖編程工具。

        [1]韓偉,宋明偉,魏志強,等.基于Windows的華中世紀星數(shù)控系統(tǒng)PLC編程系統(tǒng)設(shè)計[J].機床與液壓,2011,39(14):97-99.

        [2]陳雪,劉蔭忠,徐恩松.基于Qt的軟PLC梯形圖編輯軟件的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2011,20(12):64-69.

        [3]吳盼盼,嚴義.基于構(gòu)件的梯形圖算法模塊封裝方法[J].機電工程,2013,30(6):764-768.

        [4]石銳,周雷,楊正益.軟PLC梯形圖到語句表轉(zhuǎn)換新策略的研究[J].計算機工程與應(yīng)用,2010,46(18):244-248.

        [5]郭書杰,馬躍,王品,等.軟件PLC梯形圖開發(fā)系統(tǒng)的研究與實現(xiàn)[J].組合機床與自動化加工技術(shù),2010(5):47-51.

        [6]張漢兵,葉伯生,楊道善.數(shù)控系統(tǒng)中內(nèi)嵌式PLC梯形圖編程的軟件實現(xiàn)[J].組合機床與自動化加工技術(shù),2002(1):26-28.

        Design and Implementation of Ladder Diagram Programming Tool Software based on VC++

        SHIXiangui

        (School of Information Science and Technology,Xinhua University,Hefei 230088,China)

        This paper introduces the design and implementation of ladder diagram programming tool software based on VC++2010.Using object-oriented method,the author designs the system hierarchical structure,makes the system more efficient,open and expansible;the storage list structure of ladder diagram,can be easily and flexibly dynamically edited;ladder graphics language can be converted into the list instruction program by running the program,and be implemented through the efficient and rapid logic and operation management instruction list.

        VC++;ladder diagram;PLC control;configuration software

        10.13542/j.cnki.51-1747/tn.2017.02.003

        2017-03-15

        安徽省教育廳重點自然科研項目(KJ2015A306)

        史先桂(1975—),女,講師,碩士,研究方向:建模仿真、單片機開發(fā)、嵌入式系統(tǒng),電子郵箱:sndy999@163.com。

        TP273

        A

        2095-5383(2017)02-0013-04

        猜你喜歡
        梯形圖表達式繼電器
        一個混合核Hilbert型積分不等式及其算子范數(shù)表達式
        表達式轉(zhuǎn)換及求值探析
        便攜式繼電器測試臺的研制和應(yīng)用
        淺析C語言運算符及表達式的教學(xué)誤區(qū)
        電氣工程及其自動化控制系統(tǒng)中繼電器的應(yīng)用
        電子測試(2018年22期)2018-12-19 05:12:42
        繼電器電路轉(zhuǎn)為梯形圖教學(xué)經(jīng)驗淺談
        電子制作(2016年15期)2017-01-15 13:39:28
        繼電器在電氣工程及其自動化低壓電器中的作用
        電子制作(2016年23期)2016-05-17 03:53:43
        一種可編程邏輯控制程序的競態(tài)檢測方法
        PLC梯形圖程序設(shè)計技巧及應(yīng)用
        泓格科技繼電器輸出模塊-87061PW
        国产一区三区二区视频在线观看| 亚洲国产成人久久综合一区77| 亚洲AV成人无码久久精品四虎| 亚洲一区二区女优视频| 免费视频无打码一区二区三区| 大胸少妇午夜三级| 国产呦精品系列在线播放| 久久久久亚洲AV无码去区首| 日本乱熟人妻中文字幕乱码69| 欧美不卡一区二区三区| 成人免费毛片内射美女-百度| 69sex久久精品国产麻豆| 国产一级农村无码| 看全色黄大色大片免费久久久| 久久精品不卡一区二区三区| 中文无码精品a∨在线观看不卡| 亚洲av无码一区二区二三区下载| 日本一区二区视频免费观看| 亚洲国产精品久久又爽av| 亚洲av不卡一区二区三区| 日韩中文无线码在线视频观看| 国产女主播在线免费观看| 色呦呦九九七七国产精品| 中国农村熟妇性视频| 亚洲AV无码未成人网站久久精品 | 亚洲中文字幕日产无码| 国产精品免费大片| 免费无遮挡毛片中文字幕| 免费在线国产不卡视频| 亚洲国产成人av在线观看 | 亚洲中文久久久久无码| 永久免费观看的黄网站在线| 天天摸夜夜摸夜夜狠狠摸| 久久香蕉国产精品一区二区三| 免费观看在线视频一区| 日本道色综合久久影院| 麻豆亚洲av永久无码精品久久| 久久午夜无码鲁丝片直播午夜精品 | 青青草免费视频一区二区| 亚洲av无码乱码在线观看性色| 人妻无码αv中文字幕久久琪琪布 美女视频黄的全免费视频网站 |