lilinlin
級(jí)別: 探索解密
|
小弟用臺(tái)達(dá)SA系列PLC通過(guò)COM2口通過(guò)485通訊采集儀表數(shù)據(jù),儀表支持MODBUS協(xié)議,RTU模式,儀表地址為40054 和40056為兩個(gè)數(shù)據(jù),是浮點(diǎn)數(shù),每個(gè)數(shù)據(jù)占用兩個(gè)寄存器,如今通訊都連接OK,也查看到D1070到D1085里有讀取的數(shù)據(jù),但為什么我寫讀取的是4筆數(shù)據(jù),看到D1072里顯示有8筆數(shù)據(jù),怎樣將數(shù)據(jù)轉(zhuǎn)換成我需要的數(shù)據(jù),望哪位高人知道怎樣解決。 |
---|---|
|
qaz222
專業(yè)自動(dòng)化
級(jí)別: 探索解密
|
儀表是什么東東啊。發(fā)個(gè)說(shuō)明書上來(lái),我?guī)湍憧纯础J欠窭斫忮e(cuò)誤了? |
|
---|---|---|
|
lilinlin
級(jí)別: 探索解密
|
普通的儀表 說(shuō)支持MODBUS 協(xié)議 RTU 給了通訊設(shè)置的參數(shù)9600 8 EVEN 1, 然后就給了兩個(gè)MODBUS地址 40054 40056 對(duì)應(yīng)溶氧絕對(duì)值 和溫度,這兩個(gè)數(shù)值都是浮點(diǎn)數(shù),32位,就是這樣。 |
---|---|
|
chen_0106
深圳市雷姆自動(dòng)化設(shè)備有限公司
級(jí)別: 家園常客
|
確認(rèn)你的儀表數(shù)據(jù)是二進(jìn)制浮點(diǎn)或十進(jìn)浮點(diǎn)數(shù),然后再轉(zhuǎn)為二進(jìn)制整數(shù)就OK, 118 DEBCD 二進(jìn)制浮點(diǎn)數(shù)→十進(jìn)制浮點(diǎn)數(shù) 119 DEBIN 十進(jìn)制浮點(diǎn)數(shù)→二進(jìn)制浮點(diǎn)數(shù) 129 INT 二進(jìn)制浮點(diǎn)數(shù)→BIN 整數(shù)變換 樓主留言:我也是這樣轉(zhuǎn)換的,是要講數(shù)據(jù)先存放到其他數(shù)據(jù)寄存器中嗎,我直接轉(zhuǎn)換D1073 D1074沒(méi)效果,還有顯示出的數(shù)據(jù)和我儀表上數(shù)據(jù)不一致啊 ,是要講高地位數(shù)據(jù)合并嗎 |
|
---|---|---|
|
楊柳溝黃楊村
級(jí)別: 探索解密
|
請(qǐng)問(wèn)你是用那一種通訊指令讀取和寫入數(shù)據(jù)的,能不能讓我參考一下 樓主留言:modrd |
---|---|
|
chen_0106
深圳市雷姆自動(dòng)化設(shè)備有限公司
級(jí)別: 家園常客
|
請(qǐng)問(wèn)儀表中32位浮點(diǎn)的數(shù)據(jù)高、低位是放于40054和40055地址的方式,高位在40054?還是40055?并且讀出的數(shù)據(jù)應(yīng)放于D1050-D1055并已自動(dòng)轉(zhuǎn)為16進(jìn)制的數(shù)據(jù),你應(yīng)用MODRD指令同時(shí)讀出40054和40055的值,這兩個(gè)數(shù)值是放于D1050和D1051中,在讀出指令同條件下用上升沿(如M1123或M1127)把這兩個(gè)數(shù)據(jù)傳到另外的寄存器中,如果原儀表中數(shù)據(jù)是高低位互換的要高低位合并后再進(jìn)行對(duì)應(yīng)的浮點(diǎn)數(shù)---整數(shù)變換,結(jié)果就是你要的數(shù)據(jù)。 樓主留言:我用的是RTU模式,D1050 ,D1051 無(wú)效的。恩再試試,謝謝您了 |
|
---|---|---|
|
chen_0106
深圳市雷姆自動(dòng)化設(shè)備有限公司
級(jí)別: 家園常客
|
"我用的是RTU模式,D1050 ,D1051 無(wú)效的。" 你在哪看到有說(shuō)D1050在MODBUS RTU中無(wú)效? 所有的MODBUS 通信中讀參數(shù)都用到這組寄存器的!說(shuō)明書你仔細(xì)看過(guò)了嗎? 樓主留言:我看的MODRD指令說(shuō)明書說(shuō)使用RTU模式,D1050到D1055無(wú)效。方便留個(gè)QQ號(hào),聯(lián)系您 |
|
---|---|---|
|