閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

S7-200與MCS51單片機(jī)的通訊簡介

星之球激光 來源:工控網(wǎng)2012-07-20 我要評論(0 )   

1 引言 PLC 因為穩(wěn)定可靠、結(jié)構(gòu)緊湊、簡單易學(xué)、功能強(qiáng)大和使用方便已經(jīng)成為應(yīng)用面最廣、最廣泛的通用 工業(yè)控制 裝置,成為現(xiàn)代工業(yè) 自動化 控制的主要支柱之一。而單片...

1 引言
  PLC因為穩(wěn)定可靠、結(jié)構(gòu)緊湊、簡單易學(xué)、功能強(qiáng)大和使用方便已經(jīng)成為應(yīng)用面最廣、最廣泛的通用工業(yè)控制裝置,成為現(xiàn)代工業(yè)自動化控制的主要支柱之一。而單片機(jī)因為成本低廉,使用靈活,功能多樣,在自動化領(lǐng)域應(yīng)用及其廣泛,往往在一個控制系統(tǒng)中可能會出現(xiàn)單片機(jī)和PLC共存的情況,如果使二者互相聯(lián)系,互相通信,具有非常重要的現(xiàn)實意義。

2 硬件以及通訊原理分析 
  西門子S7-200系列PLC擁有RS-485串行口,所以要使MCS51單片機(jī)與S7-PLC進(jìn)行通訊,可以采用幾種通訊方式。其中之一就是可以通過MCS-51的串行口與MAX485芯片相接,然后與S7-200 PLC的RS-485口進(jìn)行通訊,其硬件連接如圖1所示。
  S7-200 PLC是串行通訊方式最為豐富的小型PLC,支持多種通信協(xié)議,如點(diǎn)對點(diǎn)接口協(xié)議(PPI協(xié)議)、多點(diǎn)接口協(xié)議(MPI協(xié)議)和PROFIBUS協(xié)議以及自由通信協(xié)議等。其中自由通信協(xié)議又叫用戶定義協(xié)議,利用自由端口模式,可以實現(xiàn)用戶定義的通信協(xié)議,連接多種智能設(shè)備,使用起來非?!》奖悖诘谌焦こ探尤胫腥〉昧司薮蟮某晒?。
  在自由端口模式下,PLC的串行通信接口由用戶來控制,通過梯形圖程序以及和單片機(jī)的匯編語言進(jìn)行配合,來使用完成中斷、字符接收中斷、發(fā)送完成中斷等,通信協(xié)議由用戶完全控制。這時單片機(jī)處于主機(jī)狀態(tài),由單片機(jī)主動發(fā)送握手信號,PLC接到信號后被動反饋信息即可。

圖1 MCS-51單片機(jī)與S7-200的硬件接線圖

3 通信系統(tǒng)設(shè)計
  3.1 通信協(xié)議設(shè)計
  定義根據(jù)經(jīng)驗和有關(guān)參考資料,定義協(xié)議結(jié)構(gòu)和參數(shù)。
 ?。?)通信波特率為9.6kbps,無校驗,8個數(shù)據(jù)位,1個可編程位,1位起始位,1位停止位。
 ?。?)定義通信協(xié)議的數(shù)據(jù)流結(jié)構(gòu)的格式為起始碼、命令碼、元件首址、字節(jié)數(shù)、數(shù)據(jù)塊、BCC校驗碼和結(jié)束碼。
  ● 起始碼:表示單片機(jī)與PLC開始發(fā)送數(shù)據(jù),是數(shù)據(jù)流第一個字符,告訴PLC開始進(jìn)行通信了,可以用00H表示
  ● 命令碼:表示單片機(jī)對PLC的各種操作:
  40H:讀取目標(biāo)元件 I、Q、V、M、SM、L、T、C等的數(shù)據(jù)或狀態(tài);
  41H:修改目標(biāo)元件 I、Q、V、M、SM、L、T、C等的數(shù)據(jù)或狀態(tài);
  42H:強(qiáng)制目標(biāo)單元為ON;
  43H:強(qiáng)制目標(biāo)單元為OFF;
  ● 元件首址:表示PLC內(nèi)部的元件類型以及寄存器的地址(但不能表示一個位地址)。前兩個字節(jié)表示寄存器類型,后兩個字節(jié)表示寄存器號。00 00(H):I寄存器區(qū) 01 00(H):Q寄存器區(qū)。02 00(H):M寄存器區(qū) 08 00(H):V寄存器區(qū);
  ● 字節(jié)數(shù):從元件首地址起,讀取或?qū)懭隤LC元件的數(shù)據(jù)個數(shù)數(shù)據(jù)塊:準(zhǔn)備讀取或者寫入PLC的數(shù)據(jù)或狀態(tài);
  ● BCC校驗碼:在傳輸過程中,指令有可能受到任何的干擾而使原來的數(shù)據(jù)信號發(fā)生扭曲,此時的指令當(dāng)然是錯誤的,為了偵測指令在傳輸過程中發(fā)生的錯誤,接收方必須對指令作進(jìn)一步的確認(rèn)工作,以防止錯誤的指令被執(zhí)行,最簡單的方法就是使用校驗碼。BCC校驗碼的方法就是將要傳送的字符串的ASCII碼以字節(jié)為單位作異或和,并將此異或和作為指令的一部分傳送出去;同樣地,接收方在接到指令后,以相同的方式對接收到的字符串作異或和,并與傳送方所送過來的值作對比,若其值相等,則代表接收到的指令是正確的,反之則是錯誤的
  ● 結(jié)束碼:結(jié)束字符標(biāo)志著指令的結(jié)束,在本例中被定義為FFH,不同的PLC從站可以定義不同的結(jié)束字符以接收針對該P(yáng)LC的指令。
  3.2 通信程序的實現(xiàn)
 ?。?)單片機(jī)端程序的實現(xiàn)。單片機(jī)在主程序中初始化,采用串行口工作方式,波特率為9.6kbps,采用單片機(jī)作為主機(jī),向PLC進(jìn)行呼叫,定期讀取數(shù)據(jù)或者寫入數(shù)據(jù),其程序流程圖參見圖2。

#p#分頁標(biāo)題#e#

圖2 單片機(jī)端通訊程序流程圖

  (2)PLC端程序流程圖的實現(xiàn)。PLC端作為從機(jī),采用梯形圖或者STL編程,主要是先設(shè)置通訊協(xié)議,然后按照協(xié)議把采集到的數(shù)據(jù)進(jìn)行處理,再發(fā)送給主機(jī)單片機(jī),其具體的程序流程圖如圖3所示。

圖3 PLC端通訊程序流程圖

4 結(jié)束語
  本文利用單片機(jī)與PLC的串行通信方法,成功的應(yīng)用于多個項目中,實際表明該方法簡單可靠,成本低,而且易于擴(kuò)充經(jīng)濟(jì)實用的其它功能,如A/D、D/A等功能,取得了較好的社會效益和經(jīng)濟(jì)效益。

 

轉(zhuǎn)載請注明出處。

暫無關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對其真實性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們刪除。
③ 任何單位或個人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請及時向本網(wǎng)提出書面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評
0相關(guān)評論
精彩導(dǎo)讀