通訊協議一(九純健科技JCJ100N通訊協議): 通訊協議如下: 通訊格式為:1個起始位,8個數據位,無奇偶校驗,1個停止位。 所有字節為HEX格式,其命令格式如下: 從傳感器讀數據指令格式: 地址:一個字節。如:00H表示地址設為00的傳感器 讀取數據指令:一個字節。00H表示PC要向MCU讀取內容。 異或校驗:一個字節。前兩個字節相異或後的數值。 傳感器返回數據格式: 本機地址 | 溫度采樣值低八位 | 溫度采樣值高八位 | 濕度采樣值低八位 | 濕度采樣值高八位 | 前五個字節異或校驗 |
本機地址:傳感器返回的本機地址,一個字節。 溫度采樣值低八位:一個字節,00-FF的十六進制數值。 溫度采樣值高八位:一個字節,00-03的實際十六進制數值。 濕度采樣值低八位:一個字節,00-FF的實際十六進制數值。 濕度采樣值高八位:一個字節,00-03的實際十六進制數值。 前五個字節異或校驗值:前五個字節異或後的十六進制值。 PC機從下位機讀采樣值過程: 每次PC機要讀數據時要發送一讀取數據指令到傳感器,如果,傳感器正確接收則返回數據給PC機。若傳感器接收不正確,則不應答。PC應重發讀取數據指令至傳感器. 註意:所有數據均為十六進制數,任何時候,如果,PC發出讀取數據指令後沒有收到傳感器的應答都要重發讀取數據指令到傳感器. 上位機量程轉換方法: 設:A起始溫度值, B滿程溫度值,D為上位機的采樣值(轉化為十進制後的數值)則,當前溫度值=D×(B-A)/1024+B 如:溫度范圍為-40~80度,則實際溫度值=采樣值×(80-(-40))/1024+(-40)=采樣值×120/1024—40 濕度實際值=采樣值×100/1024即可。 通訊協議二(標準MODBUS-RTU通訊協議): 采用標準MODBUS通訊協議,在使用組態軟件時,須選用的設備為MODICON(莫迪康)的PLC,MODBUS-RTU地址型。數據為整型16位。支持MODBUS協議03H、04H、06H指令(03H、06H讀寫參數,04H讀測量值), 參數寄存器地址: 參數 | 設定范圍 | 出廠默認值 | 通訊指令 | 地址 | 溫度測量值 | / | / | 04H | 00H | 濕度測量值 | / | / | 04H | 01H | 本機地址 | 0~255 | 1 | 03H,06H | 00H | 通訊波特率 | 300~19200 | 9600 | 03H,06H | 01H | 溫度平移修正 | -99.9~99.9 | 0.0 | 03H,06H | 02H | 濕度平移修正 | 0~99.9 | 0.0 | 03H,06H | 03H | 溫度變送下限 | -99.9~99.9 | -40.0 | 03H,06H | 64H | 溫度變送上限 | -99.9~99.9 | 80.0 | 03H,06H | 65H |
例1:讀取溫度測量值(測量值=1000) 發送數據為:01 04 00 00 00 01 31 CA 其中,01時本機地址,04是通訊指令,00 00是寄存器起始地址,00 01表示讀一個數,31 CA 是校驗碼。 返回數據為:01 04 02 03 E8 B9 8E(其中03 E8對應測量值) 其中,01是本機地址,04是通訊指令,02為返回數據即測量值字節數,B9 83是檢驗碼。 例2:讀參數本機地址值(本機地址=1) 發送數據為:01 03 00 00 00 01 84 0A 其中,01時本機地址,03是通訊指令,00 00是寄存器起始地址,00 01表示讀一個數,84 0A 是校驗碼。 返回數據為:01 03 02 00 01 79 84 其中,01是本機地址,03是通訊指令,02為返回數據即本機地址值字節數,79 84是檢驗碼。 例3:寫參數本機地址值(本機地址=1,寫入值為2) 發送數據為:01 06 00 00 00 02 08 0B 其中,01時本機地址,06是通訊指令,00 00是寄存器地址,00 02表示參數值,08 0B 是校驗碼。 返回數據與發送數據一致。 註:對於工業組態軟件 溫、濕度測量值的寄存器分別為3x001和3x002; 設備地址使用的寄存器為4x001; 通訊波特率使用的寄存器為:4x002; 溫度偏差修正使用的寄存器為:4x003; 濕度偏差修正使用的寄存器為:4x004; 溫度變送下限使用的寄存器為:4x101; 溫度變送下限使用的寄存器為:4x102; RS485通訊說明: JCJ系列RS-485通訊線采用屏蔽雙絞線,其一端通過RS-232/485轉換模塊接到計算機的串行通信口,另一端接到RS-485模塊通訊端子,其連接方式如圖所示: 雙芯屏蔽線的屏蔽層最好單端與設備保護地連接。當一臺計算機掛多臺機表時,網絡拓撲結構為總線型,每臺設備必須直接並接在乾線上。以減少信號反射乾擾。通訊距離長時可選擇中繼模塊。 |