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

        ?

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

        2016-12-26 09:39:14王善紅
        中國新技術新產品 2016年23期
        關鍵詞:梯形圖單片機

        王善紅

        摘 要:本文設計了一種基于單片機開發(fā)控制器的新方案以實現內核驅動與邏輯運算、控制分離。

        關鍵詞:單片機;梯形圖;結構化數據;自編程

        中圖分類號:TP334 文獻標識碼:A

        一、概述

        通常基于單片機開發(fā)的智能控制器,因內部程序已固化,開發(fā)完成后,其功能基本定型,只能應用于設計時的特定目標,現場如需變更控制方案也非常困難。針對這一短板,我們設計一種基于單片機開發(fā)控制器的一種新方案,實現內核驅動與邏輯運算、控制分開,并以簡明梯形圖語言實現運行邏輯編程,不僅擴展了控制器的應用范圍,而且減輕現場調試難度,控制方案的變動,只需修改梯形圖邏輯即可解決。

        二、原理

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

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

        三、具體實現

        單片機如何實現硬件驅動及通信不在本議題討論范圍內,重點論述如何實現梯形圖編譯工具軟件與單片機執(zhí)行梯形圖控制邏輯。

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

        梯形圖的編輯元器件主要包括常開接點、常閉接點、繼電器等簡單元件和定時、比較等功能元器件。為了靈活應用和擴展編輯元器件,方便編程,將梯形圖元件數據結構定義如下:

        type

        Tmdevice=record

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

        mclass: byte; //元件類型

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

        end;

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

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

        Type

        Tprodata=record

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

        notop: byte; //操作碼

        Address: byte; //操作數內存地址

        Chadd: word; //比較數

        end;

        依據上述約定實現繪制的梯形圖,如圖1所示。

        2.梯形圖邏輯掃描算法

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

        我們將上面元件掃描順序及元件操作類型記錄在一個順序數據組中,這個順序數組結構應是這樣:

        Type

        Tprodata=record

        Oprate: byte; //數據運算類型

        selfop: byte; //自身附加運算

        Address: byte;//元件內存映射地址

        Chadd: word;//比較運算值

        end;

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

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

        3.下載用戶程序到單片機用戶程序寄存器

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

        4.單片機執(zhí)行梯形圖邏輯實現

        5.梯形圖元件在單片機內存映射

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

        為處理梯形圖用戶邏輯,在單片機內核程序中建立幾個接口函數,如圖2所示。

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

        結論

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

        參考文獻

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

        猜你喜歡
        梯形圖單片機
        基于單片機的SPWM控制逆變器的設計與實現
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機之間的串行通信及應用
        電子制作(2018年12期)2018-08-01 00:48:04
        基于VC的梯形圖編程軟件開發(fā)技術
        基于單片機的平衡控制系統(tǒng)設計
        電子制作(2017年19期)2017-02-02 07:08:27
        繼電器電路轉為梯形圖教學經驗淺談
        電子制作(2016年15期)2017-01-15 13:39:28
        PLC編譯功能的實現
        一種可編程邏輯控制程序的競態(tài)檢測方法
        PLC梯形圖程序設計技巧及應用
        国产精品无码午夜福利| 亚洲精品国产福利一二区| 欧美日韩综合网在线观看| caoporon国产超碰公开| 中文字幕有码在线人妻| 亚洲av无码一区东京热| 国产综合无码一区二区辣椒 | 国产剧情av麻豆香蕉精品| 美腿丝袜诱惑一区二区| 国产女主播精品大秀系列| 伊人精品在线观看| 日韩成人精品日本亚洲| 中文字幕日本一区二区在线观看| 蜜桃视频在线免费视频| 精品无码国产一区二区三区麻豆| 欧美粗大猛烈老熟妇| 国产精品久久久久久久久免费观看 | 亚洲av综合色区无码一二三区| 岛国AV一区二区三区在线观看| 国产一区二区三区高清视频| 久久久麻豆精亚洲av麻花| 妺妺窝人体色www聚色窝| 六月丁香久久| 色婷婷av一区二区三区不卡| 国产亚洲av综合人人澡精品| 熟女体下毛荫荫黑森林| 无码人妻黑人中文字幕| 久久久亚洲精品蜜桃臀| 91盗摄偷拍一区二区三区| 男女性杂交内射女bbwxz| 免费人成视频x8x8| 欧美成人网视频| 国语对白自拍视频在线播放| 久久无码人妻丰满熟妇区毛片| 色爱区综合五月激情| 国产激情一区二区三区在线蜜臀| 亚洲第一女优在线观看| 亚洲av成人片色在线观看高潮| 巨大欧美黑人xxxxbbbb| 黑人一区二区三区高清视频| 久久天天躁夜夜躁狠狠85麻豆 |