<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MODBUS通信總結(jié)

          MODBUS通信總結(jié)

          作者: 時間:2016-12-19 來源:網(wǎng)絡 收藏

          西門子S7-200PLC在與英威騰變頻器Modbus通訊時,采用自己編制主站通訊程序,參照西門子USS程序格式做成庫程序,在多個項目上應用,效果還是不錯。

          本文引用地址:http://www.ex-cimer.com/article/201612/331471.htm

          西門子S7-200自由口通訊確實很自由,可以編制任何通訊。

          西門子自帶的Modbus主站程序,用在變頻器控制上,不方便。要求是能向USS庫程序一樣有多個控制的位信號輸入,在速度設定值變化是發(fā)送速度值,平時要讀變頻器的運行狀態(tài)(包括故障狀態(tài)),還想讀變頻器運行時的電流。于是,自己根據(jù)英威騰變頻器的通訊協(xié)議,編制了Modbus主站通訊程序。

          Modbus通訊協(xié)議要求:

          讀寫都是8個字節(jié),只是功能碼的不同和讀是讀得長度,寫是寫的數(shù)據(jù)值

          發(fā)送

          VB1600

          VB1601

          VB1602

          VB1603

          VB1604

          VB1605

          VB1606

          VB1607

          VB1608

          8個字節(jié)

          發(fā)送長度8

          從站地址

          功能碼

          數(shù)據(jù)地址高字節(jié)

          數(shù)據(jù)地址低字節(jié)

          數(shù)據(jù)字長高字節(jié)

          數(shù)據(jù)字長低字節(jié)

          CRC校驗低字節(jié)

          CRC校驗高字節(jié)

          從上面的通訊結(jié)構(gòu)可以看出:數(shù)據(jù)地址、字長和CRC都是一個字,其中地址和長度或數(shù)據(jù)高低字節(jié)與西門子定義一致,即低地址高字節(jié)。CRC不一樣,是低地址低字節(jié),與計算機上的定義一致。這點必需注意。

          變頻器寫返回:

          接受

          VB1609

          VB1610

          VB1611

          VB1612

          VB1613

          VB1614

          VB1615

          VB1616

          VB1617

          8個字節(jié)

          接受長度8

          從站地址

          功能碼

          數(shù)據(jù)地址高字節(jié)

          數(shù)據(jù)地址低字節(jié)

          數(shù)據(jù)值 高字節(jié)

          數(shù)據(jù)值 低字節(jié)

          CRC校驗低字節(jié)

          CRC校驗高字節(jié)

          返回與發(fā)送時一樣,表示通訊數(shù)據(jù)接受成功,并已執(zhí)行。

          我只需讀5個字的參數(shù)或1個字的狀態(tài),變頻器讀返回:

          接受

          VB1609

          VB1610

          VB1611

          VB1612

          VW1613

          ……

          VW1621

          VB1623

          VB1624

          N個字節(jié)

          接受長度n

          從站地址

          功能碼

          數(shù)據(jù)字節(jié)字節(jié)數(shù)

          數(shù)據(jù)1 數(shù)值

          。。。。。

          數(shù)據(jù)5 數(shù)值

          CRC校驗低字節(jié)

          CRC校驗高字節(jié)

          讀狀態(tài)返回7個字節(jié),讀5個字返回15個字節(jié)。

          程序要求:定義通訊優(yōu)先級別是先寫,后讀。寫命令(運行,停止,復位等)發(fā)送級別最高,其次是寫頻率設定。寫通訊發(fā)送后,判斷返回值,確定是否寫成功,若寫成功則不再寫,只要控制狀態(tài)或頻率改變時,再次寫。讀為一次讀變頻器狀態(tài),一次讀當前運行參數(shù),輪流讀取。

          根據(jù)上述要求,確定了以下幾個子程序和中斷程序:

          1. 初始化子程序:對自由口通訊配置波特率、偶校驗等

          2. 變頻器控制子程序:輸入運行、停止、復位、地址、頻率設定等入口。輸出變頻器狀態(tài)、通訊故障碼、當前運行頻率、電流等。程序中要根據(jù)上次通訊結(jié)果判斷當前應寫還是讀。并發(fā)出XMT通訊指令,開通發(fā)送完成中斷。

          3. CRC校驗子程序:運算發(fā)送的CRC碼。

          4. 發(fā)送完成中斷程序:根據(jù)發(fā)送的內(nèi)容,確定接受的長度,關(guān)閉接受中斷,開通接受完成中斷。

          5. 接受完成中斷程序:判斷接受信號是否正常,若不正常送出相應的故障碼。將接收到的正確信號,送入對應暫存區(qū)內(nèi),供控制子程序輸出,關(guān)閉接受中斷。


          關(guān)鍵詞: MODBUS通信總結(jié)變頻

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();