S7200CPU,MODBUS通訊
劉玉蓉
發(fā)布于2014-12-10 17:31
7
0
標(biāo)簽:
有一個S7200CPU,做MODBUS從站,要求主站讀取從站VD100、VD104、VD108....十個實數(shù)值,請問在從站“INIT”指令中,MaxIQ=?,MaxAI=?,MaxHold=?,HoldStart=?應(yīng)該怎么設(shè)置。這十個值對應(yīng)的MODBUS地址又是什么例如:40xxx、40xxn?
次做MODBUS通訊,請說詳細(xì)點!
佳答案
S7-200系統(tǒng)手冊里講的很清楚
MaxIQ設(shè)置可訪問IO點數(shù),設(shè)為0禁止訪問所有IO點,設(shè)為128則可訪問所有IO點
MaxAI設(shè)置可訪問的模擬量輸入個數(shù),設(shè)為0禁止訪問
MaxHold設(shè)置V區(qū)字保持寄存器的個數(shù),對應(yīng)Modbus的4XXXX
HoldStart設(shè)置V區(qū)字保持寄存器的開始地址
這里你只需要讀V區(qū)10個實數(shù),只要設(shè)置V區(qū)保持寄存器,每個實數(shù)占4個字節(jié),所以總數(shù)為40字節(jié)=20字,MaxHold設(shè)置為20,開始地址HoldStart設(shè)置為&VB100
對應(yīng)的Modbus地址就是40001~40020
MaxIQ和MaxAI不用可設(shè)置為0
如果主站讀取這20個字也放在VB100開始的區(qū)域,那么這10實數(shù)對應(yīng)地址和從站一樣VD100、VD104、VD108......