當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC基礎(chǔ) >> 現(xiàn)場(chǎng)總線 >> modbus通信總結(jié)
modbus通信總結(jié)

西門(mén)子s7-200在與英威騰modbus通訊時(shí),采用自己編制主站通訊程序,參照西門(mén)子uss程序格式做成庫(kù)程序,在多個(gè)項(xiàng)目上應(yīng)用,效果還是不錯(cuò)。

西門(mén)子s7-200自由口通訊確實(shí)很自由,可以編制任何通訊。

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

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

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

發(fā)送vb1600vb1601vb1602vb1603vb1604vb1605vb1606vb1607vb1608
8個(gè)字節(jié)發(fā)送長(zhǎng)度8從站地址功能碼數(shù)據(jù)地址高字節(jié)數(shù)據(jù)地址低字節(jié)數(shù)據(jù)字長(zhǎng)高字節(jié)數(shù)據(jù)字長(zhǎng)低字節(jié)crc校驗(yàn)低字節(jié)crc校驗(yàn)高字節(jié)

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

變頻器寫(xiě)返回:

接受vb1609vb1610vb1611vb1612vb1613vb1614vb1615vb1616vb1617
8個(gè)字節(jié)接受長(zhǎng)度8從站地址功能碼數(shù)據(jù)地址高字節(jié)數(shù)據(jù)地址低字節(jié)數(shù)據(jù)值高字節(jié)數(shù)據(jù)值低字節(jié)crc校驗(yàn)低字節(jié)crc校驗(yàn)高字節(jié)

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

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

接受vb1609vb1610vb1611vb1612vw1613……vw1621vb1623vb1624
n個(gè)字節(jié)接受長(zhǎng)度n從站地址功能碼數(shù)據(jù)字節(jié)字節(jié)數(shù)數(shù)據(jù)1數(shù)值。。。。。數(shù)據(jù)5數(shù)值crc校驗(yàn)低字節(jié)crc校驗(yàn)高字節(jié)

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

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

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

1.初始化子程序:對(duì)自由口通訊配置波特率、偶校驗(yàn)等

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

3.crc校驗(yàn)子程序:運(yùn)算發(fā)送的crc碼。

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

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

作者:未知 點(diǎn)擊:346次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:modbus通信總結(jié)
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《modbus通信總結(jié)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

吳小姐 【求購(gòu)】  粉碎機(jī)  2025-12-5
 【求購(gòu)】  冶煉用的重...  2025-12-5
柳女士 【求購(gòu)】  斷路器  2025-12-5
林志揚(yáng) 【求購(gòu)】  無(wú)石棉墊片  2025-12-4
張一帆 【求購(gòu)】  首件測(cè)試儀  2025-12-4
王飛 【求購(gòu)】  gf流量計(jì)  2025-12-4
 【求購(gòu)】  全自動(dòng)印刷...  2025-12-4
 【求購(gòu)】  LED屏  2025-12-3
VIP公司推薦