西門子S7-200系列PLC的MODBUS通信功能(一)
盧思敏
發(fā)布于2017-05-26 14:15
18
0
標(biāo)簽:MODBUS
馬上注冊(cè),免費(fèi)學(xué)習(xí)超過100課時(shí)視頻教程,免費(fèi)下載海量學(xué)習(xí)資料
這段時(shí)間經(jīng)常有學(xué)員問有關(guān)于S7-200系列PLC的MODBUS通信的問題,所以今天就寫一遍文章,來跟大家聊聊S7-200系列PLC的MODBUS的通信功能如何使用。
MODBUS通信協(xié)議概述:
MODBUS協(xié)議是一個(gè)通用的協(xié)議,在很多智能設(shè)備上都支持這個(gè)通信協(xié)議,如變頻器,智能溫控儀表等都支持MODBUS通信協(xié)議。
MODBUS通信協(xié)議有具有串行鏈路上的MODBUS ASCAII通信和MODBUS RTU通信,也有基于TCP/IP上的 MODBUS TCP通信。這里我們主要介紹基于串行鏈路上的MODBUS RTU的通信。
MODBUS RTU的信息幀格式:

Start:起始碼,表示的是一個(gè)信息幀的開頭,MODBUS RTU通信,使用時(shí)間來作為信息幀的開頭,主要是檢測(cè)傳輸線上的空閑的時(shí)間,長度為3.5個(gè)字符時(shí)長,一個(gè)字符的長度跟數(shù)據(jù)位, 停止位、起始位、奇偶校驗(yàn)位,波特率有關(guān)。
Address:地址碼(一個(gè)字節(jié)),表示的是從站的站號(hào),從站站號(hào)有從站設(shè)備給定或是設(shè)置,如變頻器,可以在變頻器參數(shù)中設(shè)置變頻器的站號(hào)。
Function:功能碼(一個(gè)字節(jié)),描述對(duì)從站的讀寫操作,是對(duì)從站讀取數(shù)據(jù),還是寫入數(shù)據(jù)到從站,常見功能碼如下圖所示:
Data:數(shù)據(jù)區(qū)(N個(gè)字節(jié)),數(shù)據(jù)區(qū)主要有兩部分構(gòu)成,一部分稱為數(shù)據(jù)區(qū)的地址,一部分稱為數(shù)據(jù)區(qū)的內(nèi)容,如需要控制變頻器的運(yùn)行,則變頻器的運(yùn)行代碼稱為數(shù)據(jù)區(qū)內(nèi)容,運(yùn)行代碼需要寫入的地方稱為數(shù)據(jù)區(qū)地址。
CRC:校驗(yàn)碼(2字節(jié)),對(duì)從站號(hào)到數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行CRC校驗(yàn),可以參考前面一篇對(duì)于CRC校驗(yàn)程序設(shè)計(jì)的內(nèi)容介紹。
End:結(jié)束碼,與起始碼一樣,也是通過時(shí)間進(jìn)行判斷。
接下來,我們以西門子S7-200SMART系列的PLC與深圳的海普蒙特的變頻器為例,來說明使用MODBUS的通信方式來控制變頻器的運(yùn)行,頻率的修改,及讀取一些參數(shù)的程序
首先,我們需要熟悉變頻器說明書上所描述的通信的內(nèi)容,從說明書上顯示支持的功能碼為03,06,和16這三種功能碼(注意0X10表示的是16進(jìn)制數(shù)10):
提供的信息幀格式為:
例如:運(yùn)行命令控制,地址位十六進(jìn)制數(shù)的3200,往地址3200中寫入不同的代碼表示不同的控制命令,如下圖所示
根據(jù)以上內(nèi)容,我們可以寫出控制變頻器運(yùn)行的信息幀的格式,假設(shè)變頻器的站號(hào)設(shè)置為1,則可以得出如下圖所示的信息幀的格式。

其他的命令的信息幀格式,參考變頻器說明書,以相同的方式可以寫出。
信息幀的格式出來后,PLC那邊可以按照信息幀的格式準(zhǔn)備數(shù)據(jù)發(fā)送給變頻器,下一篇文章中,我主要講講PLC那邊的用于發(fā)送這些數(shù)據(jù)的指令。
作者:技成培訓(xùn)網(wǎng)(曾鑫)
本文版權(quán)為技成所有,未經(jīng)同意,盜取必究!
推薦學(xué)習(xí)相關(guān)課程:
西門子S7-300使用指南
西門子S7-300PLC 初級(jí)
西門子S7-200PLC 從入門到精通
西門子S7-200SMART PLC 編程應(yīng)用入門