(乾貨)Modbus如何自動分配從機地址
阿新 • • 發佈:2018-12-11
根據幾篇的論文思路,有兩種做法:1是從機產生隨機數作為自己的臨時地址並以此作為時間間隔傳送自己的地址,2是利用從機互不相同的ID來實現。本文采用的是第二種方式,以下描述具體細節。 首先要求各臺機器設有唯一的機器識別碼。 Modbus協議是應用層協議,只要不跟本公司外的產品通訊,開發人員可以不拘泥於標準要求,自由決定協議細節。當然最好還是採用標準規範,使用分配給廠家內部的功能碼。 主機發送特殊廣播報文1,要求所有從機收到後回覆自己的識別碼(也可以加上從機地址)。從機收到廣播報文後,經固定延時,按照自己識別碼的後兩位100ms,作為傳送時刻。 波特率是9600時,1ms可傳送9.6個bits,100ms可傳送960bits=60word,只要報文總長度不超過50個字,就不擔心衝突。 主機收到識別碼後,按照先後順序,對應分配新的從機地址,當固定延時(99