閱讀 | 訂閱
閱讀 | 訂閱
控製係統

S7-200與MCS51單片機的通訊簡介

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

1 引言 PLC 因為(wei) 穩定可靠、結構緊湊、簡單易學、功能強大和使用方便已經成為(wei) 應用麵最廣、最廣泛的通用 工業(ye) 控製 裝置,成為(wei) 現代工業(ye) 自動化 控製的主要支柱之一。而單片...

1 引言
  PLC因為(wei) 穩定可靠、結構緊湊、簡單易學、功能強大和使用方便已經成為(wei) 應用麵最廣、最廣泛的通用工業(ye) 控製裝置,成為(wei) 現代工業(ye) 自動化控製的主要支柱之一。而單片機因為(wei) 成本低廉,使用靈活,功能多樣,在自動化領域應用及其廣泛,往往在一個(ge) 控製係統中可能會(hui) 出現單片機和PLC共存的情況,如果使二者互相聯係,互相通信,具有非常重要的現實意義(yi) 。

2 硬件以及通訊原理分析 
  西門子S7-200係列PLC擁有RS-485串行口,所以要使MCS51單片機與(yu) S7-PLC進行通訊,可以采用幾種通訊方式。其中之一就是可以通過MCS-51的串行口與(yu) MAX485芯片相接,然後與(yu) S7-200 PLC的RS-485口進行通訊,其硬件連接如圖1所示。
  S7-200 PLC是串行通訊方式最為(wei) 豐(feng) 富的小型PLC,支持多種通信協議,如點對點接口協議(PPI協議)、多點接口協議(MPI協議)和PROFIBUS協議以及自由通信協議等。其中自由通信協議又叫用戶定義(yi) 協議,利用自由端口模式,可以實現用戶定義(yi) 的通信協議,連接多種智能設備,使用起來非常 方便,在第三方工程接入中取得了巨大的成功。
  在自由端口模式下,PLC的串行通信接口由用戶來控製,通過梯形圖程序以及和單片機的匯編語言進行配合,來使用完成中斷、字符接收中斷、發送完成中斷等,通信協議由用戶完全控製。這時單片機處於(yu) 主機狀態,由單片機主動發送握手信號,PLC接到信號後被動反饋信息即可。

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

3 通信係統設計
  3.1 通信協議設計
  定義(yi) 根據經驗和有關(guan) 參考資料,定義(yi) 協議結構和參數。
  (1)通信波特率為(wei) 9.6kbps,無校驗,8個(ge) 數據位,1個(ge) 可編程位,1位起始位,1位停止位。
  (2)定義(yi) 通信協議的數據流結構的格式為(wei) 起始碼、命令碼、元件首址、字節數、數據塊、BCC校驗碼和結束碼。
  ● 起始碼:表示單片機與(yu) PLC開始發送數據,是數據流第一個(ge) 字符,告訴PLC開始進行通信了,可以用00H表示
  ● 命令碼:表示單片機對PLC的各種操作:
  40H:讀取目標元件 I、Q、V、M、SM、L、T、C等的數據或狀態;
  41H:修改目標元件 I、Q、V、M、SM、L、T、C等的數據或狀態;
  42H:強製目標單元為(wei) ON;
  43H:強製目標單元為(wei) OFF;
  ● 元件首址:表示PLC內(nei) 部的元件類型以及寄存器的地址(但不能表示一個(ge) 位地址)。前兩(liang) 個(ge) 字節表示寄存器類型,後兩(liang) 個(ge) 字節表示寄存器號。00 00(H):I寄存器區 01 00(H):Q寄存器區。02 00(H):M寄存器區 08 00(H):V寄存器區;
  ● 字節數:從(cong) 元件首地址起,讀取或寫(xie) 入PLC元件的數據個(ge) 數數據塊:準備讀取或者寫(xie) 入PLC的數據或狀態;
  ● BCC校驗碼:在傳(chuan) 輸過程中,指令有可能受到任何的幹擾而使原來的數據信號發生扭曲,此時的指令當然是錯誤的,為(wei) 了偵(zhen) 測指令在傳(chuan) 輸過程中發生的錯誤,接收方必須對指令作進一步的確認工作,以防止錯誤的指令被執行,最簡單的方法就是使用校驗碼。BCC校驗碼的方法就是將要傳(chuan) 送的字符串的ASCII碼以字節為(wei) 單位作異或和,並將此異或和作為(wei) 指令的一部分傳(chuan) 送出去;同樣地,接收方在接到指令後,以相同的方式對接收到的字符串作異或和,並與(yu) 傳(chuan) 送方所送過來的值作對比,若其值相等,則代表接收到的指令是正確的,反之則是錯誤的
  ● 結束碼:結束字符標誌著指令的結束,在本例中被定義(yi) 為(wei) FFH,不同的PLC從(cong) 站可以定義(yi) 不同的結束字符以接收針對該PLC的指令。
  3.2 通信程序的實現
  (1)單片機端程序的實現。單片機在主程序中初始化,采用串行口工作方式,波特率為(wei) 9.6kbps,采用單片機作為(wei) 主機,向PLC進行呼叫,定期讀取數據或者寫(xie) 入數據,其程序流程圖參見圖2。

#p#分頁標題#e#

圖2 單片機端通訊程序流程圖

  (2)PLC端程序流程圖的實現。PLC端作為(wei) 從(cong) 機,采用梯形圖或者STL編程,主要是先設置通訊協議,然後按照協議把采集到的數據進行處理,再發送給主機單片機,其具體(ti) 的程序流程圖如圖3所示。

圖3 PLC端通訊程序流程圖

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

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀