1 引言
在自動控制領域,PLC 和單片機都受到廣泛應用。PLC 具有穩定可靠,抗干擾能力強, 功能強大且使用方便等特點[1],單片機具有成本低廉,使用靈活,功能多樣等特點。PLC 與 單片機結合,互相聯系,互相通訊,將擴展控制功能,更好的控制復雜的系統。
在研究混合動力電動汽車驅動系統[2]時, 采用PLC 作為主控制器,控制電機變頻器和發 動機節氣門控制器,實現對電機和發動機功率的 綜合控制。因為PLC 和變頻器均是艾默生公司 的產品,均支持RS485 接口和MODBUS 協議, 所以控制系統統一采用RS485 接口和MODBUS 協議。而發動機節氣門控制器采用89C51 單片 機,所以要通過建立PLC 與單片機的通訊,實 現控制。
圖1 通信系統結構框圖
2 硬件設計
通訊系統的結構框圖如圖1 所示。
2.1 信號轉換電路
單片機支持 TTL 電平,可以采用MAX485 芯片來實現RS485 與TTL 之間的信號轉換 (如圖2)。MAX485 芯片采用單一電源+5 V 工作,額定電流為300 μA,采用半雙工通訊方式,內部含有一個驅動器和接 收器。RO 和DI 端分別為接收 器的輸出和驅動器的輸入端, 分別與單片機的RXD 和TXD 相連;RE 和DE 端分別為接收 和發送的使能端,當RE 為邏 輯0 時,器件處于接收狀態; 當DE 為邏輯1 時,器件處于 發送狀態,因為MAX485 工作 在半雙工狀態,所以只需用單 片機的一個管腳控制這兩個 引腳即可;PLC 里RS485 總線的A 端和B 端分別為接收和發送的差分信號端,當A 引腳的 電平高于B 時,代表發送的數據為1;當A 的電平低于B 端時,代表發送的數據為0。在A 和B 端之間加匹配電阻,一般可選100Ω 左右的電阻。
3 軟件設計
控制系統采用單主機/多從機的組網方式,PLC 為主機,電機變頻器和單片機為從機。 艾默生公司的PLC 和電機變頻器之間已經建立了采用RS485 總線,MODBUS 協議的通訊 [3][4],為了實現PLC 與單片機的通訊,須先了解PLC 與電機變頻器的通訊特點,然后建立 連接通訊。
3.1 PLC 與電機變頻器的通訊特點
采用RTU 方式的Modbus 協議,幀格式如圖3 所示。 波特率為9600bps,數據格式為1-8-N-2,字符間間隔少于 1.5 個字符時間(1.72ms),RTU 幀的最大幀長度是256 個 字節。幀之間的空閑時間取命令碼設定和Modbus 內部約 定值中的較大值。Modbus 內部約定的最小幀間空閑如下: 幀頭和幀尾通過總線空閑時間不小于3.5 個字符時間 (4ms)來界定幀。幀之間的總線空閑不需要累加起始和 結束空閑。數據采用CRC16 校驗,整個信息參與校驗, 校驗和的高低字節需要交換后發送。
圖3 RTU 方式
RS485 是異步半雙工的通訊總線。主機處于主導和支 配地位,定時發出監控命令,等待從機的應答。從機處于 偵聽狀態,不能主動往總線發送數據,在接收到主機發送 的一幀信息后,首先判斷地址碼是否本機地址,如果此幀 信息的地址碼和本機地址相同,則繼續處理命令碼和數 據,如果此幀信息的地址碼和本機地址不同,則忽略。接收完一個主機監控命令后,先進行校驗,如果校驗正確則執行接收的監控命令,并根據命令回送相應的應答幀。任何時刻只能有一個從機處于發送狀態,但主機發送時所有從機都必須 處于接收狀態。
上位機PLC 的通訊流程圖如圖4 所示。
圖4 上位機PLC 的通訊流程圖
3.2 PLC 與單片機通訊的實現
表 1 PLC 與單片機通訊的幀字節數
單片機進行通信時工作在“方式一”的狀態下[5]。 因為PLC 發出的數據幀第一個字符為地址數據,所 以單片機在接收數據時要區分接收到的數據是否是 幀的第一個字符。根據單片機每接收完一個字節數 據RI 就置1,而且幀間間隔4ms 以上,字符間隔少 于1.72ms, 可以通過計時的方式來判斷幀的第一個 字符。當RI 置1,開始計時,到下一次RI 置1,計 時結束,當時間間隔大于4ms,則后一次RI 置1 時 接收的字符是幀的第一個字符,當時間少于1.72ms, 則不是。
為了簡化程序,可以協議好PLC 與單片機通訊 的幀字節數為6 個字節,如表1。單片機根據地址字 符數據判斷是否是本機地址,如果是,則接收處理 后面的5 個字節數據,計算前四個字節的CRC 校驗 碼,并與接收到的兩個字節CRC 校驗,進行核對, 如果不相同,則不反饋數據給PLC,也不執行數據 包含的指令,如果相同,則反饋數據給PLC,執行 數據包含的指令。下位機單片機程序的流程圖如圖5 所示。
4 結束語
本文作者創新點:在艾默生 PLC 與其變頻器的 通訊基礎上加入了基于RS485 接口Modbus 協議的 PLC 與單片機的多機通訊,該通訊方案硬件接口簡 單,軟件和通信協議有很好的通用性,可以拓展為PLC 與多個變頻器和單片機的同時通訊, 也可應用于其他工程的多機通訊系統中。該通訊方案已經成功應用于混合動力電動汽車的驅 動電機及發動機節氣門的綜合控制。