modbus初始化程序沒有問題,要理解西門子200modbus通訊的難點就是要理解mbus_msg各管腳的具體含義。
其中:
en:通訊使能端用SM0.0
first:激活指令端,需要用沿觸發(fā)
slave:連接的從站地址,必須與變頻器設(shè)置的從站地址對應(yīng)一致
rw:讀、寫,=0是讀;=1是寫
addr:從站數(shù)據(jù)區(qū)地址,這個是難點,需要和從站的modbus數(shù)據(jù)格式,類型等考慮
count:讀取或?qū)懭霐?shù)據(jù)的個數(shù)
datapt:參與通訊的本方數(shù)據(jù)暫存區(qū),就是讀取或?qū)懭氲綇恼咀冾l器上的數(shù)據(jù)都存放在這個地址區(qū),這個區(qū)是你用戶自定義的,需要與count管腳配合。通訊個數(shù)是以bit或word的方式進行的。當(dāng)通訊是以bit單位時,必須是以8的整數(shù)倍形式。
done:讀取、寫入完成標(biāo)志位,完成后置位一個周期
error:故障代碼,當(dāng)通訊出現(xiàn)故障時,方便用戶根據(jù)故障字節(jié)值判斷問題的所在