wjm111
級別: 略有小成
|
謝謝! 按照您的方法 我下載程序后 485模塊發送指示燈還是一點反應都沒有。 是不是我的485模塊有問題?(電源指示燈正常) 是不是PLC主機不支持485?(FX3u-32MRES) 假如就PLC主機帶485模塊無外部接線,程序正確,PLC運行時485模塊SD:有發送動作,指示燈閃爍? 附件為我的測試程序各位幫我看看是否正確? 謝謝大家! |
---|---|
|
tkggtdkjpl
工欲善其事,必先利其器!
級別: 網絡英雄
|
modbus對主機版本有要求,讀取的數據數量改為H0005試試,數據地址沒看白已確認! |
|
---|---|---|
|
wjm111
級別: 略有小成
|
現在SD會閃(紅色的),可能是我通道錯了,改成通道2,SD會閃了,RD沒反應!下午繼續試! 謝謝大家! |
---|---|
|
wjm111
級別: 略有小成
|
圖片:
通信已正常謝謝大家!可現在讀出的數據和儀器顯示的數據完全不同。 儀器廠商說讀出來的是2進制浮點數數據,需轉換。轉換了還是不行。 |
---|---|
|
藍葉風雪驕陽
級別: 探索解密
|
你把 0100000111001000 轉換一下就知道 是不是了 |
---|---|
|
zhangqi_1234
級別: 略有小成
|
有些測量儀器輸出的數據就是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重新編輯 ] |
---|---|
本帖最近評分記錄: |