引起數據不正確的原因主要有如下幾點:
1)組態王中定義的寄存器地址跟實際設備不一致導致。比如某些使用Modbus協議通訊的設備的數據地址是從0開始的,而組態王Modbus協議驅動寄存器地址是從1開始的,所以遇到此種情況時在組態王中定義變量時,寄存器地址要進行加1處理;
2)數據詞典中最大原始值和最大值定義不不當;比如最大原始值和最大值不一樣會導致畫面看到的數據和實際設備不一致;
3)組態王讀取FLOAT和LONG類型的數據時,沒有使用提供的SwapF和SwapL寄存器來調整FLOAT型和LONG型數據的字節順序;
4)LONG或FLOAT型的雙字的數據,沒有按照間隔隔地址方式定義;因為Modbus協議所對應的參數地址一般按照字為基本單位進行分地址排序的。