999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單片機的可編程序控制器設計

2016-05-14 13:09:02王清珍邵杰
現代電子技術 2016年6期

王清珍 邵杰

摘 要: 針對現有PLC的設計、制造的過程十分復雜,價格昂貴,不適合小批量生產、制造的缺點,現設計一種低成本簡易PLC,對這種PLC進行硬件結構設計和系統軟件設計與調試。經過實踐可用于對具有一定工作工程的機械設備控制,來代替接觸器、繼電器控制系統提高控制可靠性。該可編程程序控制器構成的系統共可處理1 024 B,8 192個點的現場信號,應用前景很靈活,很廣泛。

關鍵詞: 可編程控制器; 設計過程; 硬件結構; 機械設備控制

中圖分類號: TN710?34; TP368.2 文獻標識碼: A 文章編號: 1004?373X(2016)06?0161?05

Design of programmable controller based on microcomputer

WANG Qingzhen, SHAO Jie

(Zhengzhou University of Science &Technology, Zhengzhou 450064, China)

Abstract: The design and manufacture process of the existing PLC are complex, and its cost is expensive, which is unsuitable for small?lot production and manufacture, so a simple PLC with low cost was designed. The hardware structure design, system software design and debugging for this PLC were conducted. The practice proves that the PLC can be applied to mechanical equipment control of a certain working engineering to replace contactor and relay control system, and improve the control reliability. The system composed of programmable controller can process the field signal with 1024 bytes and 8192 points, and has flexible and extensive application prospect.

Keywords: programmable controller; design process; hardware structure; mechanical equipment control

0 引 言

可編程序控制器(PLC)在工業現場控制中有著廣泛的應用。目前市場上的PLC大都為技術實力雄厚的大型企業生產,如日本的三菱、歐姆龍,德國的西門子等廠家[1]。這些廠家具有豐富的電子產品生產經驗和完善的技術鏈條,可以完成對PLC的硬件、軟件、上位機開發軟件和配套設備的設計、制造、銷售和培訓等的一系列過程,甚至包括PLC內部的處理器芯片,都是由這些廠家中負責生產集成電路的部門制造的。這些主流可編程序控制器功能完善、可靠性很高,而設計、制造的過程十分復雜,從硬件電路的設計到上位機軟件的開發是一個復雜的系統工程,必須是大型企業才具備這樣的條件,而中小型企業很難進入PLC設計制造領域。

在當前PLC應用場所之中,并不是所有的地方都需要功能復雜、完善的PLC。

目前通行的PLC,除了具有基本指令之外,還具有復雜的功能指令、具有現場總線功能和聯機通信、具有多種功能模塊擴展功能,還包括與一些相關工控設備,如觸摸屏等連接功能。這使得PLC的價格十分昂貴。而在很多應用場所,這里面的大多數功能都是用不上的,如控制單獨工作,工作過程不太復雜的機械設備,簡單的過程控制設備等,這些設備使用目前功能完善PLC會使制造成本上升,采用接觸器、繼電器控制又會造成產品可靠性的下降,直接采用單片機控制,進行單片機開發過程復雜,會增加開發成本,延長產品開發周期。所以,設計一種低成本,只有基本邏輯指令和簡單聯機擴展功能的PLC是有一定市場價值的。

這種低成本簡易PLC可以用于具有一定工作工程的機械設備控制,可以代替接觸器、繼電器控制系統提高控制可靠性,又比直接使用單片機控制更加方便。而這種PLC設計制造過程相對簡單,可在中小型企業中研發生產。

1 硬件設計

這種新型可編程序控制器采用模塊化設計。從結構上看,該可編程序控制器具有核心模塊、接口模塊和現場信號模塊三種。其中現場信號模塊又有模擬信號模塊和開關量信號模塊兩種。三種模塊之間通過總線相連,實現結構擴展;從功能上看,該可編程序控制器有主機、從機和開關信號擴展機三種功能模塊,其中從機又有模擬信號機和開關量信號機兩種。三種功能模塊之間通過電纜連接,根據實際用途和現場信號數量選配。

1.1 核心模塊

核心模塊是該可編程序控制器的運算核心和通信核心,起用戶程序運算和模塊信號通信作用。核心模塊上的通信口分為上位通信口和下位通信口。上位通信口有雙RS 422通信、雙RS 232通信[2]和RS 485通信三種通信方式。通過上位通信口可以與其他核心模塊實現多部該型可編程序控制器聯機工作。由于總線驅動能力和信號鏡像寄存器容量的限制,設計其最多可實現8臺主機的聯機工作。上位通信口也可以用于與上位機的連接,用于程序下載和通信。下位通信口為TTL電平的SPI總線通信口,用于連接接口模塊。一個核心模塊最多可連接8臺接口模塊,采用SPI環形數據通信,可使一臺主機可以連接8臺分機。由于TTL電平的傳輸距離和傳輸可靠性都是有限的,故主機與分機、分機與分機之間須靠近安裝。該型PLC的核心模塊采用STC12C5A32S2型單片機作為控制器,該型單片機為常見的51內核[3],開發較為方便,運算速度較快,每時鐘周期即機器周期。該單片機存儲空間較大,有32 KB FLASH程序存儲器和32 KB E2PROM存儲器,分別可以用以存儲大量的系統程序和用戶程序。該單片機有兩個串行通信口,可以用來與上位機通信和進行端口擴展。

核心模塊的硬件電路如圖1所示。設計有兩組輸入端子,第一組有8個輸入端,第二組有4個輸入端,每組輸入端有一個共陽極的公共端。輸入端子通過光電隔離器和外部分壓濾波元件,將端子和公共端之間的開關信號轉換為單片機引腳的電平信號。輸出端子也有兩組,分別有8個輸出端和2個輸出端,采用繼電器輸出,每個繼電器通過單片機的引腳經集成三極管驅動。

單片機的兩個串行通信口分別轉換為RS 232信號和RS 485信號,RS 232口用于與上位機或編程器通信,輸入用戶程序;RS 485口用于與其他PLC模塊相連,進行端口擴展。單片機還要連接一個三位撥碼開關,用于設置該機的物理地址,并連接一個I2C總線E2PROM存儲器,用于PLC的數據存儲器[4]。

1.2 接口模塊

接口模塊用于現場信號轉換和傳輸,以及部分人機接口功能。接口模塊具雙向SPI通信口[5]和現場模塊接口。雙向SPI通信口可以與核心模塊或其他接口模塊連接,將其數據傳輸給主機;現場模塊接口可以與模擬信號模塊或開關量信號模塊連接。1臺接口模塊最多可以與4臺開關量信號模塊或1臺模擬信號模塊連接,接口模塊可以從現場信號模塊讀取數據傳送至核心模塊。若有多臺接口模塊相連,接口模塊之間還具有一路輔助通信鏈路,為一主多從模式的UART通信,用于接口模塊之間的自檢測、數據校驗和備用數據通信。另外接口模塊帶有LED點陣,用于現場信號指示。

1.3 現場信號模塊

現場信號模塊有模擬量模塊和開關量信號模塊兩種,用于現場信號的轉換?,F場信號模塊由采集電路、光電隔離電路、放大器、信號寄存器等構成,可以將現場開關量或模擬量信號轉換為數據,由接口模塊讀取。其中模擬量模塊只能單獨與接口模塊連接,而開關量信號模塊可擴展,與接口模塊連接的開關量信號模塊還可在與最多3臺開關量信號模塊相連?,F場信號模塊的設計相當靈活,在信號標準的前提下,不同的現場信號模塊可以設計出不同數量的I/O口或模擬通道。本項目所設計的開關量信號模塊具有32個I/O點,包括 16個輸入點和16個輸出點,而模擬量模塊設計有3個模擬量輸入通道和3個模擬量輸出通道。

如上所述,該新型可編程序控制器的擴展方式是:1臺主機可以與7臺分機連接,分機可以是模擬分機和開關量分機兩種,1臺開關量分機又可與另外3臺擴展機相連。主機和主機之間也可相連,最多可以有8臺主機連接在一起構成系統。系統內主機為運算核心,每臺主機都具有信號處理能力,而分機和擴展機僅有信號轉換和傳輸功能。故該可編程序控制器構成的系統最多具有1 024 B、8 192個點的現場信號處理能力。擴展連接方式如圖2所示。

2 軟件設計

軟件設計的內容是設計單片機的底層系統程序,底層系統程序能夠接收編程器發來的用戶程序,并能夠識別用戶程序,根據用戶程序的內容控制PLC的輸入/輸出端口的狀態,做出相應的控制動作。

圖2 擴展結構

2.1 用戶程序格式

用戶程序是PLC用戶根據自身的控制過程編寫的,該簡化型的PLC用戶程序相對簡單,只有END結束、LD放置起始觸點、LDI放置起始常閉觸點、OR并聯、ORI并聯常閉觸點、AND串聯、ANI串聯常閉觸點、ORB多觸點并聯、ANB多觸點串聯、PUSH入棧、POP出棧、SET置位、RST復位、OUT輸出、CJ跳轉等16條基本指令和輸入繼電器X、輸出繼電器Y、輔助繼電器M、定時器T、計數器C、數據寄存器D等6種編程元素,編程元素定義如表1所示。這16條基本指令主要是針對開關量的邏輯控制指令,已經可以替代接觸器繼電器系統,滿足大部分應用場合的要求。

表1 編程元素對照表

用戶程序的數據有4種:指令、編程元素、編程元素編號和常數[6]。如表2所示,每一種數據都是以1 B的形式存在,字節的高2位是數據識別位,以11,10,01,00分別表示指令、編程元素、編程元素編號和常數,指令和編程元素的低6位分別表示其序號,如語句LD X0對應的程序代碼為11 000001 10 000000 01 000000,故最多可支持64條指令或編程元素;編程元素編號和常數的低6位分為中3位和低3位,每3位二進制數可以表示1位八進制數,每1 B的編程元素編號或常數可以表示2位八進制數。

表2 用戶程序格式

用戶程序在單片機存儲器中的形式是:指令、編程元素、編程元素編號、常數。其中有些指令后面沒有編程元素,如入棧指令PUSH等,大部分程序語句后面都沒有常數,只有當編程元素數定時器T、計數器C時,或跳轉指令CJ后才有常數。如果有編程元素,編程元素后要緊跟一個字節的編程元素編號,用元素編號中的兩位八進制數來給編程元素編址。而定時器T、計數器C或跳轉指令CJ后面要跟2 B的常數,即4位八進制數,數值的范圍為4 096,固定時器、計數器的最大工作范圍為4 095,而用戶程序也不能超過4 096條。圖3和表3列出了一段用戶程序的代碼對照。

2.2 編程元素及其編址

在該型PLC的6種編程元素中,輸入繼電器X和輸出繼電器Y的數值與端口的狀態相對應;輔助繼電器M和數據寄存器D可以保存運算過程中的數據,M的物理存儲區是單片機的RAM位尋址區,數據寄存器D的物理存儲區是E2PROM,數據寄存器D斷電之后可以保存數據。定時器T和計數器C的物理存儲區是單片機的RAM和定時/計數器,每一個T或C都要占用2個RAM字節,用以存儲2個常數(4位八進制數),定時/計數器T的最大定時范圍為4 095個時間單位,而C的最大計數值也是4 095。單片機內的一個定時/計數器用作T的時基定時器,時間單位為10 ms,定時/計數器T的定時范圍是10 ms~40.95 s。

編程元素通常用2位八進制數,即用1 B的編程元素編號來編址,如圖4所示,低位八進制數為位地址,高位八進制數為組地址,在一臺PLC內部,一種編程元素不能超過8組,每組有8個,最多支持64個。考慮到硬件條件和單片機的運算能力,該型PLC的編程元素數量為6個。

由于單臺PLC輸入輸出端口數量有限,只有2組共12個輸入端口和10個輸出端口,有時候不能滿足要求。所以該型PLC需要具備一定的擴展能力,通過設備上自帶的RS 232總線或RS 485總線可以將多臺PLC連接起來,總線上的PLC的每一個端口都有惟一的地址,這個地址是該PLC的端口組地址和位地址的基礎上再加上該PLC設備地址,設備地址是通過該PLC上的3位撥碼開關所設置的一個3位二進制數,即1個八進制數,構成端口地址的第3位。總線上的每一個PLC都要通過撥碼開關設置惟一一個地址,最多可以通過總線連接8個同一型號的PLC。

圖3 梯形圖程序

表3 用戶程序、代碼對照示例對照表

圖4 編程元素的地址

2.3 用戶程序執行的軟件設計

用于分析用戶程序的軟件是該PLC系統程序的核心部分[7?8]。程序執行軟件分為用戶程序段讀入、編程元素尋址和運算執行三個過程:

(1) 將用戶程序段中的當前指令到下一條指令之間的內容分讀入指定的緩存,這里面包含一條指令、一個編程元素和編程元素的地址(即元素編號),有的還包括常數,這幾部分內容將被區分并存入相應的區域。

(2) 編程元素尋址,將編程元素地址指向的開關量讀入為單片機的累加器C,準備進行邏輯運算或輸出。各種編程元素對應的開關量存儲在不同的區域:輸入輸出繼電器X,Y對應單片機的端口,輔助繼電器M對應單片機RAM位尋址區的64個位數據,數據存儲器D對應外部E2PROM中的64個位數據,定時器和繼電器的開關量也存儲在RAM位尋址區,用64個位數據分別代表32個定時器和32個計數器的開關狀態。這一階段首先要分析指令,根據指令不同分為兩種情況:一種是變量輸入指令,包括:LD,LDI,OR,ORI,AND,ANI,ORB,ANB,PUSH,PRD,POP11條;另一種是變量輸出指令,包括:SET,RST,OUT,CJ4條。對于變量輸入指令,首先要進行尋址,將編程元素對應的開關量讀入累加器C,等待進行運算,運算結果存入為累加器C;對于變量輸出指令,是將為累加器C中的開關量先進行運算,然后再對編程元素進行尋址,將運算結果送入編程元素編號指定的地址。

(3) 運算執行階段,這個階段相關的寄存器是位累加器C和位數據堆棧區。其中僅與位累加器有關的指令有AND,ANI,OR,ORI,OUT等,它們的功能是: AND,ANI,OR,ORI等指令是將位累加器中的開關量與編程元素指向的開關量進行邏輯運算,結果存入位累加器;OUT指令將位累加器中的數據輸出到編程元素指向的地址,如果編程元素指向的地址為計數器,則判斷該次輸出是否產生下降沿,有的話則對計數器對應的寄存器進行減1操作,若減為零則對該計數器對應的開關量置位;SET和RST指令判斷位累加器是否為1,若為1則將編程元素指向的開關量置1或清零,若不為1則編程元素指向的開關量不變。與位累加器和位數據堆棧區都有關的指令有:LD,LDI,ANB,ORB,PUSH,PRD,POP等,它們的功能是:LD和LDI指令是將變量讀入位累加器,若是之前已有LD,LDI指令而未見OUT指令,則將原位累加器中的數據入棧,再將變量讀入位累加器;ANB,ORB是將當前位累加器中的開關量與棧內最近的數據進行邏輯運算,結果存入位累加器,棧中數據刪除;PUSH,PRD,POP等指令是分別將位累加器中數據入棧、讀棧和出棧。

這三個階段循環進行,每執行1條指令循環1次,這個過程需要由程序計數器參與。程序計數器是在單片機RAM中指定的單元,每循環一次便將程序計數器中的數值加1,所以程序計數器中的數值便是已執行的指令數。CJ和END這兩條指令與程序計數器有關,CJ的操作數是一組常數,常數值即跳轉地址。CJ對應的開關量一旦被置1,該常數便賦給程序計數器,程序發生相應跳轉。END可將程序計數器清零,使用戶程序得以循環執行。用戶程序執行程序除了以這三個過程進行處理外,還有中斷處理程序。如果用戶程序使用了定時器T,則單片機的定時器被打開,以10 ms為時間單位進行定時,每10 ms對定時器對應的寄存器的數值減一定時,若減為零則對該定時器對應的開關量置位。

3 試驗結果

經過多次硬件系統功能的分析與測試和軟件系統的實驗與調試,最終系統達到以下試驗結果,可以作為選擇PLC的依據。

根據現場總線的不同,通信距離和通信速率如表4所示。

表4 PLC通信參數表

觸點不同,導通、閉合與斷開時間延遲也不同,如表5所示。

表5 觸點特征表

4 結 論

本文完成了對PLC的各種總線的通信距離、各種信號量的輸入/輸出類型和傳輸速率的測試。該研究以總線構架為思路,通過嵌入式技術的方式實現可編程設備的設計,形成一種基于單片機的、可以通過總線擴展、運行統一程序實現集中管理分散控制的工業現場可編程控制器,靈活大,可擴展性好等優點,使得這種PLC的應用前景很好?,F已成功研究了系統的硬件組成和底層控制軟件的設計,還需要進一步對此系統進行上位機軟件[9]設計的完善。

參考文獻

[1] 李少遠.工業過程系統的預測控制[J].控制工程,2010,17(4):407?415.

[2] 潘方.RS 232串口通信在PC機與單片機通信中的應用[J].現代電子技術,2012,35(13):69?71.

[3] 王清珍.單片機原理及接口技術[M].大連:大連理工大學出版社,2009.

[4] 殷蘇民,張建明,李正陽,等.基于單片機的PLC數據存儲系統[J].電子技術應用,2014,40(8):31?33.

[5] 趙淑玉,孟寶全.單片機和PLC的應用與串行通信[J].科技信息:科學教研,2008(21):52.

[6] 朱林,宋寧,李琦.解釋型控制器的研究與實現[J].化工自動化與儀表,2012,39(12):1644?1647.

[7] GELEN G, UZAM M. The synthesis and PLC implementation of hybrid modular supervisors for real time control of an experimental manufacturing system [J]. Journal of manufacturing systems, 2014, 33(4): 535?550.

[8] WANG Wan, SUN Dayu. The design and application of automatic control system for inorganic membrane filter [J]. Procedia engineering, 2011, 15: 5503?5507.

[9] 朱晶川,孫力.基于PLC的自動切筋分離系統設計[J].現代電子技術,2015,38(10):111?114.

主站蜘蛛池模板: 免费无遮挡AV| 999精品免费视频| 97在线视频免费观看| 蜜芽国产尤物av尤物在线看| 色吊丝av中文字幕| 综合久久五月天| 国产精品30p| 啊嗯不日本网站| 欧美精品伊人久久| 欧美区国产区| 日韩a级片视频| a色毛片免费视频| 国产老女人精品免费视频| 精品国产成人三级在线观看| 亚洲免费成人网| 欧美a在线| 极品国产在线| 亚洲综合经典在线一区二区| 国产本道久久一区二区三区| 成人在线不卡| 97超碰精品成人国产| 人妻无码AⅤ中文字| A级全黄试看30分钟小视频| 日本人妻丰满熟妇区| 国产成人毛片| 国产精品xxx| 国产99精品视频| 欧美特级AAAAAA视频免费观看| 欧美午夜久久| 午夜日本永久乱码免费播放片| 欧美性精品| 四虎影视无码永久免费观看| 成人免费一区二区三区| 丰满人妻久久中文字幕| 69综合网| 国产麻豆精品在线观看| 免费一极毛片| 91色国产在线| 精品欧美一区二区三区久久久| 一级毛片a女人刺激视频免费 | 午夜不卡视频| 丰满少妇αⅴ无码区| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲日本一本dvd高清| 久久久久久高潮白浆| 一级黄色网站在线免费看| 免费国产不卡午夜福在线观看| 欧美中文字幕第一页线路一| 91久久夜色精品| 99国产精品国产| 国产精品v欧美| 国内黄色精品| 国产欧美中文字幕| 国产91特黄特色A级毛片| 国产午夜精品鲁丝片| 成年人国产网站| 久久久久中文字幕精品视频| 在线看国产精品| 亚洲中文久久精品无玛| 欧美一级色视频| 国产精品免费入口视频| 亚洲国产第一区二区香蕉| 成人午夜亚洲影视在线观看| 成人在线亚洲| 国产在线精品99一区不卡| 亚洲免费三区| 国产永久在线观看| 精品国产成人a在线观看| 国产黄色免费看| 国产精品成人久久| 狠狠五月天中文字幕| 人人澡人人爽欧美一区| 国产三级毛片| a级毛片视频免费观看| 伦伦影院精品一区| 男女男精品视频| 亚洲人在线| 无码中字出轨中文人妻中文中| 天堂亚洲网| 免费一级毛片| 91精品最新国内在线播放| 久久综合国产乱子免费|