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 現場信號模塊

現場信號模塊有模擬量模塊和開關量信號模塊兩種,用于現場信號的轉換。現場信號模塊由采集電路、光電隔離電路、放大器、信號寄存器等構成,可以將現場開關量或模擬量信號轉換為數據,由接口模塊讀取。其中模擬量模塊只能單獨與接口模塊連接,而開關量信號模塊可擴展,與接口模塊連接的開關量信號模塊還可在與最多3臺開關量信號模塊相連。現場信號模塊的設計相當靈活,在信號標準的前提下,不同的現場信號模塊可以設計出不同數量的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的應用前景很好。現已成功研究了系統的硬件組成和底層控制軟件的設計,還需要進一步對此系統進行上位機軟件[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.

主站蜘蛛池模板: 波多野结衣无码视频在线观看| 日韩成人在线一区二区| 园内精品自拍视频在线播放| 国产手机在线观看| 国产高清无码麻豆精品| 97视频在线观看免费视频| 中国精品自拍| aaa国产一级毛片| 国产一区免费在线观看| 日本午夜视频在线观看| 国产网友愉拍精品| 国内99精品激情视频精品| 日本成人精品视频| 国产杨幂丝袜av在线播放| 日韩在线中文| 5388国产亚洲欧美在线观看| 国产成人久视频免费| 亚洲三级成人| 国产成人久视频免费| 亚洲动漫h| 在线观看亚洲天堂| 亚洲中文字幕精品| 在线观看亚洲天堂| 91亚洲视频下载| 日韩欧美国产另类| 亚洲精品少妇熟女| 国产人人射| 精品久久久久久中文字幕女| 制服丝袜国产精品| 九色视频一区| 欧美日韩国产在线观看一区二区三区| 国产精品一区二区在线播放| 精品国产网| 国产一国产一有一级毛片视频| 狠狠色噜噜狠狠狠狠奇米777| 国国产a国产片免费麻豆| 久久久久亚洲精品无码网站| 国产视频一二三区| 亚洲天天更新| 成人韩免费网站| 91破解版在线亚洲| 亚洲va精品中文字幕| 欧美一级专区免费大片| a在线观看免费| 亚洲午夜综合网| 国产精品午夜电影| 国产成人精品无码一区二| 青青草原国产av福利网站| 伦精品一区二区三区视频| 一本综合久久| 97久久超碰极品视觉盛宴| 在线无码私拍| 国产精品丝袜在线| 日本成人不卡视频| 国产午夜福利在线小视频| 国产99在线观看| 免费高清a毛片| 国产午夜无码片在线观看网站 | 欧美不卡二区| 91精品福利自产拍在线观看| 91区国产福利在线观看午夜| 女人av社区男人的天堂| 欧美一级在线| 无码日韩精品91超碰| av在线手机播放| 久久久久亚洲精品成人网 | 久久精品免费国产大片| 亚洲日产2021三区在线| 国产成人精品18| 午夜福利网址| 亚洲人成网站色7777| 免费啪啪网址| 国模视频一区二区| 中文无码精品A∨在线观看不卡 | 国产视频自拍一区| 91av国产在线| 国产91视频观看| 国产无码精品在线| 在线免费a视频| 久久情精品国产品免费| 天天躁日日躁狠狠躁中文字幕| 国产丰满大乳无码免费播放|