<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于RS485接口Modbus協(xié)議的PLC與多機通訊

基于RS485接口Modbus協(xié)議的PLC與多機通訊

作者: 時(shí)間:2013-02-17 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 引言

  在自動(dòng)控制領(lǐng)域,PLC 和單片機都受到廣泛應用。PLC 具有穩定可靠,抗干擾能力強, 功能強大且使用方便等特點(diǎn)[1],單片機具有成本低廉,使用靈活,功能多樣等特點(diǎn)。PLC 與 單片機結合,互相聯(lián)系,互相通訊,將擴展控制功能,更好的控制復雜的系統。

  在研究混合動(dòng)力電動(dòng)汽車(chē)驅動(dòng)系統[2]時(shí), 采用PLC 作為主控制器,控制電機變頻器和發(fā) 動(dòng)機節氣門(mén)控制器,實(shí)現對電機和發(fā)動(dòng)機功率的 綜合控制。因為PLC 和變頻器均是艾默生公司 的產(chǎn)品,均支持RS485 接口和MODBUS 協(xié)議, 所以控制系統統一采用RS485 接口和MODBUS 協(xié)議。而發(fā)動(dòng)機節氣門(mén)控制器采用89C51 單片 機,所以要通過(guò)建立PLC 與單片機的通訊,實(shí) 現控制。


  圖1 通信系統結構框圖

  2 硬件設計

  通訊系統的結構框圖如圖1 所示。

  2.1 信號轉換電路

  單片機支持 TTL 電平,可以采用MAX485 芯片來(lái)實(shí)現RS485 與TTL 之間的信號轉換 (如圖2)。MAX485 芯片采用單一電源+5 V 工作,額定電流為300 μA,采用半雙工通訊方式,內部含有一個(gè)驅動(dòng)器和接 收器。RO 和DI 端分別為接收 器的輸出和驅動(dòng)器的輸入端, 分別與單片機的RXD 和TXD 相連;RE 和DE 端分別為接收 和發(fā)送的使能端,當RE 為邏 輯0 時(shí),器件處于接收狀態(tài); 當DE 為邏輯1 時(shí),器件處于 發(fā)送狀態(tài),因為MAX485 工作 在半雙工狀態(tài),所以只需用單 片機的一個(gè)管腳控制這兩個(gè) 引腳即可;PLC 里RS485 總線(xiàn)的A 端和B 端分別為接收和發(fā)送的差分信號端,當A 引腳的 電平高于B 時(shí),代表發(fā)送的數據為1;當A 的電平低于B 端時(shí),代表發(fā)送的數據為0。在A(yíng) 和B 端之間加匹配電阻,一般可選100Ω 左右的電阻。



  3 軟件設計

  控制系統采用單主機/多從機的組網(wǎng)方式,PLC 為主機,電機變頻器和單片機為從機。 艾默生公司的PLC 和電機變頻器之間已經(jīng)建立了采用RS485 總線(xiàn),MODBUS 協(xié)議的通訊 [3][4],為了實(shí)現PLC 與單片機的通訊,須先了解PLC 與電機變頻器的通訊特點(diǎn),然后建立 連接通訊。

  3.1 PLC 與電機變頻器的通訊特點(diǎn)

  采用RTU 方式的Modbus 協(xié)議,幀格式如圖3 所示。 波特率為9600bps,數據格式為1-8-N-2,字符間間隔少于 1.5 個(gè)字符時(shí)間(1.72ms),RTU 幀的最大幀長(cháng)度是256 個(gè) 字節。幀之間的空閑時(shí)間取命令碼設定和Modbus 內部約 定值中的較大值。Modbus 內部約定的最小幀間空閑如下: 幀頭和幀尾通過(guò)總線(xiàn)空閑時(shí)間不小于3.5 個(gè)字符時(shí)間 (4ms)來(lái)界定幀。幀之間的總線(xiàn)空閑不需要累加起始和 結束空閑。數據采用CRC16 校驗,整個(gè)信息參與校驗, 校驗和的高低字節需要交換后發(fā)送。



  圖3 RTU 方式

  RS485 是異步半雙工的通訊總線(xiàn)。主機處于主導和支 配地位,定時(shí)發(fā)出監控命令,等待從機的應答。從機處于 偵聽(tīng)狀態(tài),不能主動(dòng)往總線(xiàn)發(fā)送數據,在接收到主機發(fā)送 的一幀信息后,首先判斷地址碼是否本機地址,如果此幀 信息的地址碼和本機地址相同,則繼續處理命令碼和數 據,如果此幀信息的地址碼和本機地址不同,則忽略。接收完一個(gè)主機監控命令后,先進(jìn)行校驗,如果校驗正確則執行接收的監控命令,并根據命令 回送相應的應答幀。任何時(shí)刻只能有一個(gè)從機處于發(fā)送狀態(tài),但主機發(fā)送時(shí)所有從機都必須 處于接收狀態(tài)。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>