Modbus地址實際上分為兩種情況。下面以西門子S7-200/S7-200SMART/和S7-1200為例來說明:
*種情況:PLC作Modbus主站,Modbus地址和PLC手冊里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus從站發(fā)送請求消息,和處理從站返回的響應消息。要讀取從站(另一臺S7-200)的I0.0開始的地址區(qū)時,它的輸入?yún)?shù)Addr(Modbus地址)為10001。S7-200從站保持寄存器的V區(qū)起始地址為VB200時,要讀取從站VW200開始的V存儲區(qū)時,保持寄存器的地址是40001。
第二種情況:PLC作從站,PLC不用管什么Modbus地址,等著主站來讀寫它的地址區(qū)就是了。
主站的計算機軟件(例如DCS或組態(tài)軟件)的編程人員需要編寫實現(xiàn)Modbus通信的程序,首先需要確定ModbusRTU的報文結(jié)構(gòu)。他們一般不熟悉PLC,因此PLC的編程人員往往需要和上位機軟件的編程人員一起來討論Modbus的報文結(jié)構(gòu)。
zui容易出問題的就是報文里Modbus地址與PLC存儲區(qū)地址的對應關(guān)系。曾經(jīng)有工作人員做過的一個系統(tǒng)的上位機是的組態(tài)軟件,通過分析GEPLC手冊給出的CRC的循環(huán)異或計算實例每一步的中間數(shù)據(jù),編寫出了CRC計算的C語言程序。通過實驗驗證了Modbus報文結(jié)構(gòu)和CRC的計算的可行性。
S7PLC手冊給出的Modbus地址與Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同類元件的首地址為1。而西門子PLC采用的是基于0的地址,即同類元件的首地址為0。Modbus報文中西門子PLC的Modbus地址也采用基于0的地址。
PLC系統(tǒng)手冊中的Modbus地址的zui高位用來表示地址區(qū)的類型,例如I0.0的Modbus地址為10001。因為地址區(qū)類型的信息已經(jīng)包含在報文的功能碼中了,報文中S7-200的I0.0的Modbus地址不是10001,而是0。報文中其他地址區(qū)的Modbus地址也應按相同的原則處理。例如當S7-200從站保持寄存器的V區(qū)起始地址為VB200時,VW200對應的保持寄存器在報文中的Modbus地址為0,而不是40001。
免責聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第十一屆中國國際機電產(chǎn)品交易會 暨先進制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20