輸入文字後請按 "enter"

2015-12-02 22:40

如何在僅支持32位數據的Modbus通信設備上處理64位

最新動態

 
大多數AKD伺服驅動器的參數為32位數據,有些則為64位。 AKD驅動器上的Modbus通信使用的是16位的緩存器。因此對于64位參數而言,需要4個緩存器來實現通過Modbus發送數據。

 
科爾摩根伺服驅動器
許多設備,包括PLC、HMI,以及計算機程序均不能處理64位數據。那么,當使用Modbus和僅支持32位值的設備時,如何讀寫64位的值呢?
 
有兩種方法可以將64位值限制為32位。其中一種方法就是不使用上面兩個緩存器。另一種方法就是使用專為64位參數設置的32位版本的Modbus地址。
 
在許多情況下,位置縮放比例可以設置成例如PL.FB等方式的位置值,如此將不超過32位。例如,如果將位置比例設置為10000計/電機每轉一圈,那么需要429,496圈來達到32位的位置值。如果電機不超過該轉數,則不會用到64位值上的兩個緩存器。
 
對于可能存在負值的參數,符號位包含在最上面的16位緩存器中。因此,如果選擇通過不使用上面兩個緩存器的方式來將64位數據限制為32位值,則將會消除符號位,因此將不允許存在負值。正如僅使用下面兩個緩存器來將64位數據限制為32位值一樣,也可以僅使用最下面的16位緩存器,其適用于任何參數,無論是64位還是32位。有些AKD數據的值從不超過16位并且總是正值。
 
Modbus緩存器的順序也很重要。對于AKD驅動器而言,Modbus地址碼即為最上面一個緩存器的地址。而對于PL.FB而言,地址則為588,這是該數據最重要的緩存器的地址。緩存器591則是最下面的緩存器,或者說重要性最低的緩存器。因此,當使用參數的一部分數據量時,請謹記需要讀寫的緩存器是哪些。緩存器590和591是PL.FB的下面兩個緩存器(32位)。
 
 
另一種方法就是使用從64位到32位重新映射的Modbus地址。例如,Modbus地址588用于PL.FB數據,為4個Modbus緩存器(588,589,590和591)。Modbus地址2072用于32為數據量的PL.FB數據,包括符號位,為2個Modbus緩存器。
大炕上妇乱子伦视频