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

        ?

        基于單片機(jī)開發(fā)可編程控制器的研究

        2016-12-26 09:39:14王善紅
        中國新技術(shù)新產(chǎn)品 2016年23期
        關(guān)鍵詞:梯形圖單片機(jī)

        王善紅

        摘 要:本文設(shè)計(jì)了一種基于單片機(jī)開發(fā)控制器的新方案以實(shí)現(xiàn)內(nèi)核驅(qū)動(dòng)與邏輯運(yùn)算、控制分離。

        關(guān)鍵詞:單片機(jī);梯形圖;結(jié)構(gòu)化數(shù)據(jù);自編程

        中圖分類號:TP334 文獻(xiàn)標(biāo)識碼:A

        一、概述

        通?;趩纹瑱C(jī)開發(fā)的智能控制器,因內(nèi)部程序已固化,開發(fā)完成后,其功能基本定型,只能應(yīng)用于設(shè)計(jì)時(shí)的特定目標(biāo),現(xiàn)場如需變更控制方案也非常困難。針對這一短板,我們設(shè)計(jì)一種基于單片機(jī)開發(fā)控制器的一種新方案,實(shí)現(xiàn)內(nèi)核驅(qū)動(dòng)與邏輯運(yùn)算、控制分開,并以簡明梯形圖語言實(shí)現(xiàn)運(yùn)行邏輯編程,不僅擴(kuò)展了控制器的應(yīng)用范圍,而且減輕現(xiàn)場調(diào)試難度,控制方案的變動(dòng),只需修改梯形圖邏輯即可解決。

        二、原理

        單片機(jī)應(yīng)具備的特性:足夠容量的可擦寫flash程序存儲(chǔ)器,支持IAP功能,現(xiàn)在大多單片機(jī)芯片都支持用戶自編程IAP功能,如Atmega128、STM32F3、STM32F4系列皆能滿足要求。首先將單片機(jī)flash存儲(chǔ)器劃分為3塊,一部分存儲(chǔ)實(shí)現(xiàn)IAP功能的Boot Loader程序,一部分存儲(chǔ)單片機(jī)內(nèi)核程序,余下的部分用于存儲(chǔ)用戶程序。內(nèi)核程序主要是硬件驅(qū)動(dòng)及用戶程序間代碼接口與算法。用戶程序即為用梯形圖編輯工具形成順序控制邏輯,比較規(guī)則及數(shù)據(jù)輸出去向等。

        內(nèi)核程序周期性地掃描內(nèi)外部設(shè)備內(nèi)存映射地址,并調(diào)用用戶區(qū)邏輯運(yùn)算,將結(jié)果以數(shù)據(jù)量及消息量的方式輸出到設(shè)備,如此周而復(fù)始,完成用戶邏輯的控制方案。

        三、具體實(shí)現(xiàn)

        單片機(jī)如何實(shí)現(xiàn)硬件驅(qū)動(dòng)及通信不在本議題討論范圍內(nèi),重點(diǎn)論述如何實(shí)現(xiàn)梯形圖編譯工具軟件與單片機(jī)執(zhí)行梯形圖控制邏輯。

        1.用戶程序編輯與編譯(梯形圖編譯工具):

        梯形圖的編輯元器件主要包括常開接點(diǎn)、常閉接點(diǎn)、繼電器等簡單元件和定時(shí)、比較等功能元器件。為了靈活應(yīng)用和擴(kuò)展編輯元器件,方便編程,將梯形圖元件數(shù)據(jù)結(jié)構(gòu)定義如下:

        type

        Tmdevice=record

        name: string[4]; //元件名稱

        mclass: byte; //元件類型

        memo: string; //元件備注,消息變量為消息變量實(shí)體

        end;

        其中Mclass的取值0:開關(guān)量輸入(DI),1:開關(guān)量輸出(DO),2:定時(shí)器(T),3:計(jì)數(shù)器(C),4:內(nèi)部繼電器(M),5:數(shù)據(jù)寄存器(D),6:消息輸入(MI),7:消息輸出(MO)。

        梯形圖用戶程序我們可以看成是有限個(gè)邏輯節(jié)點(diǎn)構(gòu)成固定列寬,可擴(kuò)展行數(shù)的表,每個(gè)節(jié)點(diǎn)代表元件加邏輯操作構(gòu)成的數(shù)據(jù)結(jié)構(gòu)體,因此首先定義節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu):

        Type

        Tprodata=record

        Opclass: byte; //節(jié)點(diǎn)類型(元件類型+連接類連)

        notop: byte; //操作碼

        Address: byte; //操作數(shù)內(nèi)存地址

        Chadd: word; //比較數(shù)

        end;

        依據(jù)上述約定實(shí)現(xiàn)繪制的梯形圖,如圖1所示。

        2.梯形圖邏輯掃描算法

        梯形圖語言描述一個(gè)邏輯網(wǎng)絡(luò)自左向右的能量潮,元件的邏輯運(yùn)算總是與左側(cè)的運(yùn)算“與”運(yùn)算,分支總是與左側(cè)結(jié)果“或”運(yùn)算,逐行掃描遇分支節(jié)點(diǎn)先將運(yùn)算結(jié)果壓入棧,掃描暫時(shí)放棄分支節(jié)點(diǎn)右側(cè)元件,進(jìn)行下一行掃描,如遇分支,繼續(xù)執(zhí)行壓棧,一直掃描到?jīng)]有分支時(shí),將結(jié)果與棧頂“或”運(yùn)算,執(zhí)行出棧(先進(jìn)先出原則),同時(shí)判斷棧頂節(jié)點(diǎn)連接類型,決定下一步是出棧還是掃描,如遇出棧節(jié)點(diǎn)有右側(cè)分支,則掃描右側(cè)元件,并作邏輯運(yùn)算,直至掃描至行結(jié)束標(biāo)志節(jié)點(diǎn),并將運(yùn)算結(jié)果賦值與最后節(jié)點(diǎn)元件,因此位于結(jié)束標(biāo)志點(diǎn)的元件一定是輸出型元件。如果在掃描過程中,能量潮在開始標(biāo)志與結(jié)束標(biāo)志中有中斷或能量潮開始與結(jié)束標(biāo)志不完整,都視為梯形圖編譯未能通過。

        我們將上面元件掃描順序及元件操作類型記錄在一個(gè)順序數(shù)據(jù)組中,這個(gè)順序數(shù)組結(jié)構(gòu)應(yīng)是這樣:

        Type

        Tprodata=record

        Oprate: byte; //數(shù)據(jù)運(yùn)算類型

        selfop: byte; //自身附加運(yùn)算

        Address: byte;//元件內(nèi)存映射地址

        Chadd: word;//比較運(yùn)算值

        end;

        其中Oprate對應(yīng)的邏輯運(yùn)算,1表示與,2表示異或,4表示賦值,5表示壓棧,6表示出棧,7表示棧更新,8表示定時(shí)器操作,9:定時(shí)器溢出處理,10:計(jì)數(shù)器操作,11:計(jì)算器溢出處理,12:表示位操作,13:寄存器數(shù)值比較。

        然后定義一個(gè)Tprodata類型變長數(shù)組,將上面梯形圖掃描編譯順序結(jié)果存放在這個(gè)變長數(shù)組中,最后將這個(gè)數(shù)據(jù)數(shù)據(jù)按Intel Hex格式格式化輸出文件,并保存在磁硬盤中。

        3.下載用戶程序到單片機(jī)用戶程序寄存器

        單片機(jī)具有自編程(IAP)功能,將梯形圖編譯結(jié)果文件(Intel Hex格式)下載到單片機(jī)用戶程序寄存器分區(qū),因用戶程序寄存器分區(qū)是可單獨(dú)通過IAP擦寫,這樣修改控制器運(yùn)行邏輯,只需修改梯形圖,編譯下載就可實(shí)現(xiàn)控制邏輯與內(nèi)核程序分離。

        4.單片機(jī)執(zhí)行梯形圖邏輯實(shí)現(xiàn)

        5.梯形圖元件在單片機(jī)內(nèi)存映射

        單片機(jī)內(nèi)核程序中首先定義一組元件內(nèi)存映射,數(shù)組的大小與梯形圖中元件數(shù)組大小一致,并保持與梯形圖編輯工具中元件類型對應(yīng),這里定義為u16 opdate[255]。

        為處理梯形圖用戶邏輯,在單片機(jī)內(nèi)核程序中建立幾個(gè)接口函數(shù),如圖2所示。

        接口函數(shù)實(shí)現(xiàn)方式中已明確了數(shù)據(jù)處理細(xì)節(jié),單片機(jī)內(nèi)核循環(huán)執(zhí)行ReadDI()、checkprodata()、OutDO()函數(shù)。ReadDI()將輸入端口的邏輯狀態(tài)讀入映射區(qū)。通信控制字、消息輸入通過中斷接口調(diào)用中斷處理函數(shù)將數(shù)據(jù)存入相應(yīng)的內(nèi)存映射地址,checkprodata()順序讀取、處理用戶邏輯,并將邏輯運(yùn)算、比較結(jié)果傳遞相應(yīng)的輸出映射內(nèi)存地址,OutDO()函數(shù)將輸出映射地址中的結(jié)果輸出控制器的輸出端。通過圖3更清晰彼此間的作用機(jī)制。

        結(jié)論

        本文設(shè)計(jì)基于單片機(jī)開發(fā)智能控制器,實(shí)現(xiàn)內(nèi)核程序與用戶控制邏輯分離,控制邏輯通過梯形圖編輯工具編譯與下載,控制目標(biāo)的變更,只需修改梯形圖邏輯即可實(shí)現(xiàn)。此設(shè)計(jì)方案成功應(yīng)用在江蘇鹽城供電公司東郊變、安泰變環(huán)境監(jiān)測與報(bào)警,智能排水不同控制目標(biāo)。

        參考文獻(xiàn)

        [1]杜開初.基于AT89C51單片機(jī)的微型可編程控制器[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002(1):17-18.

        猜你喜歡
        梯形圖單片機(jī)
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        基于VC的梯形圖編程軟件開發(fā)技術(shù)
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        繼電器電路轉(zhuǎn)為梯形圖教學(xué)經(jīng)驗(yàn)淺談
        電子制作(2016年15期)2017-01-15 13:39:28
        PLC編譯功能的實(shí)現(xiàn)
        一種可編程邏輯控制程序的競態(tài)檢測方法
        PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
        久久超碰97人人做人人爱 | 久久99久久99精品观看| 中文字幕亚洲高清精品一区在线| 久久777国产线看观看精品| 欧美裸体xxxx极品少妇| 日韩精品无码一区二区| 中文字幕日韩一区二区三区不卡| 日韩AV无码一区二区三不卡| 国产成人亚洲综合二区| 狠狠色狠狠色综合网| 先锋影音最新色资源站 | 午夜人妻中文字幕福利| 国产精品亚洲av高清二区| 一本色综合网久久| 午夜性色一区二区三区不卡视频 | 久久av一区二区三区下| 噜噜中文字幕一区二区| 久久精品国产亚洲av无码偷窥| 啪啪无码人妻丰满熟妇| 久久道精品一区二区三区| 亚洲日本中文字幕乱码| 精品国产a一区二区三区v| 消息称老熟妇乱视频一区二区 | 爱v天堂在线观看| 久久久国产精品黄毛片| 国产又色又爽又黄刺激在线视频| 国产国产人精品视频69| 亚洲国产精品午夜一区| 色中文字幕在线观看视频| 亚洲欧美成人一区二区在线电影| 国产妇女乱一性一交| 成人国产av精品麻豆网址| 亚洲av色香蕉一区二区三区老师| 成人无码视频| 精品视频一区二区杨幂| 国产内射爽爽大片| 女同性黄网aaaaa片| 久久亚洲精彩无码天堂| 99国产精品久久一区二区三区| 人人爽人人澡人人人妻| 2021国产最新无码视频|