有些測量儀器輸出的數據就是32位浮點數,你那個儀器,我不清楚數據排列是怎樣的。我以某一款測量三相電量儀表為例說明一下,希望你可以從中得到啟發。情況是這樣的:
1、測量輸出值是32位浮點數,其中低16位存放在第1個保持寄存器,高16位存放在第2個保持寄存器。
2、讀取的每個保持寄存器數據是高8位在前,低8位在后。
3、三菱PLC的32位浮點數是由2個地址連續的寄存器存儲,存儲格式是低16位存入第1個,高16位存入第2個。例如,D1-D2存儲浮點數,那么D1存儲低16位,D2存儲高16位。
4、根據三述上點描述,轉換方法是,先把讀取的儀表每個保持寄存器的高8位和低8位數據,組成一個16位數據,再把2個保持寄存器數據,按照低16位、高16位的順序存入PLC的2個地址連續的D寄存器,這樣就得到了浮點數。 我也是得到奇怪的數據后,經過思考才發現問題所在。
[ 此帖被zhangqi_1234在2018-11-02 12:16重新編輯 ]