1.使用modbus庫指令,一定要分配庫內(nèi)存;
2.分配的庫內(nèi)存范圍一定不要和可讀取的內(nèi)存范圍有重復(fù)的地方,否則初始化不成功。
幫助:maxhold參數(shù)設(shè)定供modbus地址04xxx使用的v內(nèi)存中的字保持寄存器數(shù)目。例如,為了允許主設(shè)備存取2000個字節(jié)的v內(nèi)存,將maxhold設(shè)為1000個字的數(shù)值(保持寄存器)。
holdstart參數(shù)是v內(nèi)存中保持寄存器的起始地址。該數(shù)值一般被設(shè)為vb0,因此holdstart參數(shù)被設(shè)為&vb0(vb0地址)。其他v內(nèi)存地址可指定為保持寄存器的起始地址,以便在項目的其他地方使用vb0。modbus主設(shè)備可存取v內(nèi)存maxhold個字?jǐn)?shù),從holdstart開始。
如果holdstart設(shè)為&vb0,maxhold設(shè)為1000,即modbus主設(shè)備可存取v內(nèi)存從vb0開始,可存取1000個字,2000個字節(jié)。則庫內(nèi)存的開始地址一定要從2000以上開始,否則初始化不成功,返回錯誤代碼為5,即“保持寄存器與modbus從屬符號重疊”。