java 用java做MODBUS RTU通訊?
用java做MODBUS RTU通訊?Modbus RTU與Java通信?學(xué)習(xí)Java,是的,Java是一種跨平臺語言,不要擔(dān)心沒有Java的使用。當(dāng)然,net不能只做Windows桌面應(yīng)用,網(wǎng)站也沒
用java做MODBUS RTU通訊?
Modbus RTU與Java通信?學(xué)習(xí)Java,是的,Java是一種跨平臺語言,不要擔(dān)心沒有Java的使用。當(dāng)然,net不能只做Windows桌面應(yīng)用,網(wǎng)站也沒有問題,。Net比Java簡單得多
根據(jù)您的Modbus通信協(xié)議規(guī)范進(jìn)行分析,其中有些是以字節(jié)排列的,有些是4321,有些是1234。此設(shè)置通常在手冊中描述。
相應(yīng)的寄存器位置為1-16個(gè)寄存器。
modbus協(xié)議返回的數(shù)據(jù)如何解析?
根據(jù)Modbus協(xié)議規(guī)范進(jìn)行數(shù)據(jù)分析是好的,Modbus返回一般格式的數(shù)據(jù),一個(gè)字節(jié)的設(shè)備ID,一個(gè)字節(jié)的指令碼,一個(gè)字節(jié)的數(shù)據(jù)長度,然后是數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)的字節(jié)數(shù)根據(jù)寄存器的個(gè)數(shù)讀取,長度不同,最后兩個(gè)字節(jié)是CRC16校驗(yàn)碼。例如,如果使用代碼03讀取五個(gè)連續(xù)寄存器,則返回的數(shù)據(jù)指令代碼是03,數(shù)據(jù)區(qū)的長度是寄存器數(shù)乘以2,即總共10個(gè)字節(jié)。對于數(shù)據(jù)分析,需要明確前端設(shè)備寄存器的變量類型、浮點(diǎn)數(shù)、長整數(shù)或整數(shù)等,浮點(diǎn)數(shù)和長整數(shù)需要4個(gè)字節(jié),占用兩個(gè)寄存器,需要將兩個(gè)寄存器的值轉(zhuǎn)換成一個(gè)浮點(diǎn)數(shù)或長整數(shù)。