Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
大數字 讀寫不同格式(float32/ int64)會有1/10k 以下的差異。請參考列表。
這個範例會改變A03 Pipe Geo Unit的數據選項
slave address: 01(本流量計地址)
function code: 06(單一Register寫入指令)
讀取數據的啟始地址: 00 01(要寫A03 Pipe Geo Unit的數據的啟始地址)
寫入資料: 00 01 (寫入A03 Pipe Geo Unit資料)
CRC: 19 CA (依 CRC 算法計算出的糾錯碼)
寫入指令符合格式,會將收到的控制端指令回傳給 Master
slave address: 01(本流量計地址)
function code: 06(單一Register寫入指令)
讀取數據的啟始地址: 00 01(要寫入A03 Pipe Geo Unit記憶體地址)
寫入資料: 00 01 (設定 Inch 格式)
CRC: 19 CA (依 CRC 算法計算出的糾錯碼)
bit order: lsb first
byte order: big endian
Data bits:8
Parity: None
Stop bits: 1
Floating point number follows IEEE754-1985. The float32 below stands for 32bits Single precision floating point number.
Register: 2 Byte 或 16bit 長,是 Modbus RTU 的記憶體通訊的單位長度。
Byte: 8 bit長
modbus 可操作的記憶體分為兩大類,唯讀型及讀寫型。
唯讀型主要是流量計狀態相關的記憶體,例如即時流量。這部分也是最常使用的記憶體。唯讀型的記憶體只能使用指 04 來讀取。相關頁面如下:
讀寫型主要是流量計設定參數記憶體,寫入操作一次只能改變一個參數,如果目標參數的記憶體長度是 1個 register,使用指令 06,如果目標參數的記憶體長度是 2 register,使用 30。讀寫型記憶體列表頁面如下:
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
06
00
01
00
01
19
CA
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
06
00
01
00
01
19
CA
大數字 讀寫不同格式(float32/ int64)會有1/10k 以下的差異。
限使用在 Register 長度為 4 的記憶體,請參考列表。
這個範例會改變 A18 Low Flow Cutoff 數值變成0(預設)
slave address: 01(本流量計地址)
function code: 30(雙Register寫入指令)
讀取數據的啟始地址: 00 15(要寫入A18 Low Flow Cutoff 記憶體地址)
寫入資料: 00 00 00 00(改變A18 Low Flow Cutoff 數值變成 0)
CRC: BC 07(依 CRC 算法計算出的糾錯碼)
寫入指令符合格式,會將收到的控制端指令回傳給 Master
slave address: 01(本流量計地址)
function code: 30(雙Register寫入指令)
讀取數據的啟始地址: 00 15(要讀入A18 Low Flow Cutoff 記憶體地址)
寫入資料: 00 00 00 00(改變 A18 Low Flow Cutoff 數值變成 0)
CRC: BC 07(依 CRC 算法計算出的糾錯碼)
大數字 讀寫不同格式(float32/ int64)會有1/10k 以下的差異。
一次最多40 個register 長度。超過該長度的指令會被忽略。
這個範例會讀取即時流量
slave address: 01(本流量計地址)
function code: 04(讀取指令)
讀取數據的啟始地址: 00 00(要讀取的數據的啟始地址)
讀取registers 總數: 00 02 (需要從 00 00 開始讀兩個 register 的記憶體)
CRC: 71 CB(依 CRC 算法計算出的糾錯碼)
slave address: 01(本流量計地址)
function code: 04(讀取指令)
回覆的Byte數: 04(2個register=4byte)
Data Byte: 00 00 00 00(假設目前即時流量為 0)
CRC: FB 84(依 CRC 算法計算出的糾錯碼)
大數字 讀寫不同格式(float32/ int64)會有1/10k 以下的差異。
這個範例會讀取A02 Preset Pipe Spec的管徑數據
slave address: 01(本流量計地址)
function code: 03(讀取指令)
讀取數據的啟始地址: 00 00(要讀取A02 Preset Pipe Spec的數據的啟始地址)
讀取registers 總數: 00 03(從 00 00 開始讀三個 register 的記憶體)
CRC: 05 CB (依 CRC 算法計算出的糾錯碼)
slave address: 01(本流量計地址)
function code: 03(讀取指令)
回覆的Byte數: 06(3個register=6byte)
Data Byte:
00 06(目前型態選項astm sch 80 pvc)
00 00 (讀取A02 RS485 init)
42 41 (讀取A02 RS485 init)
CRC: 59 E5 (依 CRC 算法計算出的糾錯碼)
讀取指令中register長度必需小於等於 20個 register。超過該長度的指令會被忽略,
Reg 位置 | Reg 長度 | 記憶體內容名稱 | 資料型式 | 讀取指令 | 寫入指令 | 分類選項列表連結 |
---|
不同參數大分類不能跨區讀取,一次最多40 個register 長度。超過該長度的指令會被忽略。
Byte#
1
2
3
4
5
6
7
8
9
10
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
30
00
15
00
00
00
00
BC
07
Byte#
1
2
3
4
5
6
7
8
9
10
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
30
00
15
00
00
00
00
BC
07
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
讀取數據的啟始地址
讀取數據的啟始地址
讀取registers 總數
讀取registers 總數
CRC
CRC
範例內容01~FF
01
04
00
00
00
02
71
CB
Byte#
1
2
3
4
5
6
7
8
9
Node ID
Slave Address
Function Code
回覆的Byte數
Data Byte #1
Data Byte
#2
Data Byte
#3
Data Byte
#4
CRC
CRC
範例內容01~FF
01
04
04
00
00
00
00
FB
84
欄位名稱
功能
Register位置
讀寫記憶體位置與唯讀記憶體不共用。
Register
長度
這個變數的數據長度。以 Register(2Byte)為單位
記憶體內容
用來說明功能。
資料型式
標明收發數據的格式。
Register 位置
Register 長度
記憶體內容
資料型式
註
0000
2
瞬時流量
float 32
0002
2
瞬時流速
float 32
0004
2
累積流量
float 32
0006
2
瞬時流量
int 32
數值是瞬時流量X100取整數
0008
2
瞬時流速
int 32
數值是瞬時流速X100取整數
000A
2
累積流量
int 32
數值是累積流量X100取整數
000C
2
Iout 電流值 uA
unsigned int 32
000E
1
unsigned int 16
第一個 byte 未定義補0
000F
1
unsigned int 16
第一個 byte 未定義補0
0010
1
unsigned int 16
第一個 byte 未定義補0
0011
1
unsigned int 16
第一個 byte 未定義補0
0012
1
unsigned int 16
第一個 byte 未定義補0
0013
4
累積流量
int 64
數值是累積流量X100,000取整數(P1203新增)
0017
2
計量 Dosing
float32
(P1203新增)
0019
2
計量 Dosing
int32
數值是累積流量X100取整數(P1203新增)
001B
4
計量 Dosing
int64
數值是累積流量X100,000取整數(P1203新增)
欄位名稱 | 功能 |
Reg 位置 | 讀寫記憶體位置與唯讀記憶體不共用。 |
Reg 長度 | Reg 變數的數據長度。 |
記憶體內容名稱 | 說明記憶體內容名稱。 |
資料型式 | 標明收發數據的格式。 |
讀取指令 | 表示可供讀取指令。 |
寫入指令 | 表示可供寫入指令。部分Reg位置寫入指令X表示不支援遠端寫入。 |
分類選項列表連結 | 連接至各分類選單細部項目。 |
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Node ID | Slave Address | Function Code | 讀取數據的啟始地址 | 讀取數據的啟始地址 | 讀取registers 總數 | 讀取registers 總數 | CRC | CRC |
範例內容01~FF | 01 | 03 | 00 | 00 | 00 | 03 | 05 | CB |
Byte# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Node ID | Slave Address | Function Code | 回覆的Byte數 | Data Byte #1 | Data Byte #2 | Data Byte #3 | Data Byte #4 | Data Byte #5 | Data Byte #6 | CRC | CRC |
範例內容01~FF | 01 | 03 | 06 | 00 | 06 | 00 | 00 | 42 | 41 | 59 | E5 |
A分類參數 |
00 00 | 1 | A02 Preset Pipe Spec | int16 | 03 | X |
00 01 | 1 | A03 Pipe Geo Unit | int16 | 03 | 06 |
00 02 | 2 | A04 Pipe Outer Diameter | float32 | 03 | X |
00 04 | 2 | A05 Pipe Perimeter | float32 | 03 | X |
00 06 | 2 | A06 Pipe Thickness | float32 | 03 | X |
00 08 | 2 | A07 Pipe Inner Diameter | float32 | 03 | X |
00 0A | 1 | A08 Pipe Material | int16 | 03 | X |
00 0B | 2 | A09 Pipe Soundspeed | float32 | 03 | X |
00 0D | 1 | A10 Liquid Type | int16 | 03 | X |
00 0E | 2 | A12 Liquid Soundspeed | float32 | 03 | X |
00 10 | 2 | A13 K Viscosity cst | float32 | 03 | X |
00 12 | 1 | A15 Damping | int16 | 03 | 06 |
00 13 | 1 | A16 Direction | int16 | 03 | 06 |
00 14 | 1 | A17 Neg Flow | int16 | 03 | 06 |
00 15 | 2 | A18 Low Flow Cutoff | float32 | 03 | 30 |
00 17 | 1 | A19 Fast Update | int16 | 03 | 06 |
00 18 | 1 | A20 Anti Noise | int16 | 03 | 06 |
00 19 | 2 | A23 Zero Offset | float32 | 03 | 30 |
00 1B | 1 | A24 Start up check | int16 | 03 | 06 |
00 1C | 1 | A25 Off-pipe zero | int16 | 03 | 06 |
00 1D | 1 | A26 Beta Mode | int16 | 03 | 06 |
B分類參數 |
01 00 | 1 | B01 Vol Unit | int16 | 03 | 06 |
01 01 | 1 | B02 Time Unit | int16 | 03 | 06 |
01 02 | 1 | B03 Total Unit | int16 | 03 | 06 |
01 03 | 1 | B04 VelocityUnit | int16 | 03 | 06 |
01 04 | 1 | B05 Dec Place | int16 | 03 | 06 |
01 05 | 1 | B06 Pipe Geo Unit | int16 | 03 | 06 |
K分類參數 |
0A 00 | 1 | K02 Calibra Mode | int16 | 03 | 06 |
0A 01 | 2 | K03 Scale Factor | float32 | 03 | 30 |
0A 03 | 2 | K04 Manual Offset | float32 | 03 | 30 |
0A 05 | 2 | K05 Totalizer Scale | float32 | 03 | 30 |
C分類參數 |
02 00 | 1 | C01 Total Method | int16 | 03 | 06 |
02 01 | 1 | C02 Del Total | int16 | 03 | 06 |
02 02 | 1 | C03 Dosing Mode | int16 | 03 | 06 |
02 03 | 2 | C04 Dosing Target | float32 | 03 | 30 |
02 05 | 1 | C05 Dosing Reset Time | int16 | 03 | 06 |
02 83 | 4 | C04 Dosing Target(64) | int64 | 03 | 31 |
D分類參數 |
03 00 | 1 | D01 BoardComm Ala | int16 | 03 | 06 |
03 01 | 1 | D02 Pipe Sensor Alarm | int16 | 03 | 06 |
03 02 | 1 | D03 Bad UltraS Signal | int16 | 03 | 06 |
03 03 | 1 | D04 Off Pipe Alarm | int16 | 03 | 06 |
03 04 | 1 | D05 FlowLIM Ala | int16 | 03 | 06 |
03 05 | 2 | D06 Up LIM | float32 | 03 | 30 |
03 07 | 2 | D07 Low LIM | float32 | 03 | 30 |
03 09 | 1 | D08 Hysteresis% | int16 | 03 | 06 |
03 0A | 1 | D09 Total Ala | int16 | 03 | 06 |
03 0B | 1 | D10 Total Trig | int16 | 03 | 06 |
03 0C | 2 | D11 Total Target | float32 | 03 | 30 |
03 0E | 1 | D12 Iout Alarm | int16 | 03 | 06 |
03 0F | 1 | D13 Speed Alarm | int16 | 03 | 06 |
03 10 | 1 | D14 PulseOverlap | int16 | 03 | 06 |
03 11 | 1 | D15 IoutStatAla | int16 | 03 | 06 |
03 12 | 1 | D16 Dosing Alarm | int16 | 03 | 06 |
03 8C | 4 | D11 Total Target(64) | int64 | 03 | 31 |
E分類參數 |
04 00 | 1 | E01 NC/NO | int16 | 03 | 06 |
04 01 | 1 | E02 OCT Info | int16 | 03 | 06 |
04 02 | 1 | E03 Pulse Width | int16 | 03 | 06 |
04 03 | 1 | E06 Iout Def | int16 | 03 | 06 |
04 04 | 2 | E07 4mA Value | float32 | 03 | 30 |
04 06 | 2 | E08 20mA Value | float32 | 03 | 30 |
04 08 | 1 | E09 Iout Error | int16 | 03 | 06 |
04 09 | 2 | E11 4mA Adj uA | float32 | 03 | 30 |
04 0B | 2 | E12 20mA Adj uA | float32 | 03 | 30 |
04 0D | 1 | E13 Iout Range | int16 | 03 | 06 |
04 0E | 1 | E14 PulseV2 Unit | int16 | 03 | 06 |
04 0F | 1 | E17 Endianness | int16 | 03 | 06 |
F分類參數 |
05 00 | 2 | F01 Sim Volume | float32 | 03 | 30 |
05 02 | 1 | F02 Sim Mode | int16 | 03 | 06 |
H分類參數 |
07 00 | 1 | H01 LED Bri | int16 | 03 | 06 |
07 01 | 1 | H02 LCD Bri | int16 | 03 | 06 |
07 02 | 1 | H03 Green Light | int16 | 03 | 06 |
07 03 | 1 | H04 Language | int16 | 03 | 06 |
07 04 | 1 | H06 Reset | int16 | 03 | 06 |
07 05 | 1 | H07 Lock Device | int16 | 03 | 06 |
07 06 | 1 | H08 Password | int16 | 03 | 06 |
07 07 | 1 | H09 Home Page | int16 | 03 | 06 |
07 08 | 1 | H10 Debug Page | int16 | 03 | 06 |
這個範例會改變 C04 Dosing Target(64) 數值變成0
slave address: 01(本流量計地址)
function code: 31(四個Register寫入指令)
讀取數據的啟始地址: 02 83(要寫入C04 Dosing Target(64) 記憶體地址)
寫入資料: 00 00 00 00(改變 C04 Dosing Target(64) 數值變成0)
CRC: E5 38(依 CRC 算法計算出的糾錯碼)
寫入指令符合格式,會將收到的控制端指令回傳給 Master
slave address: 01(本流量計地址)
function code: 31(四個Register寫入指令)
讀取數據的啟始地址: 02 38(要寫入C04 Dosing Target(64) 記憶體地址)
寫入資料: 00 00 00 00(改變 C04 Dosing Target(64) 數值變成 0)
CRC: E5 38(依 CRC 算法計算出的糾錯碼)
這個範例不會重置C02.Del. Total清除累計數據選項,只提供讀取single bit 功能。
Slave address: 01(本流量計地址)
Function code: 01(單一Register寫入指令)
讀取數據的啟始地址: 02 01(C02.Del. Total清除累計的啟始地址)
讀取資料: 00 01 (寫入C02.Del. Total資料)值為1~8回復01 00 機器本體不會做回覆以外行為
CRC: AD B2(依 CRC 算法計算出的糾錯碼)
指令符合格式,會將收到的控制端指令回傳給 Master
Slave address: 01(本流量計地址)
Function code: 01(單一Register寫入指令)
回覆讀取數據的啟始地址: 01 00(機器本體不會做讀取以外行為)
回覆讀取資料: 00 00 (機器本體不會做讀取以外行為)
CRC: 51 88(依 CRC 算法計算出的糾錯碼)
這個範例會重置C02.Del. Total清除累計數據選項
Slave address: 01(本流量計地址)
Function code: 05(單一Register寫入指令)
讀取數據的啟始地址: 02 01(C02.Del. Total清除累計的啟始地址)
寫入資料: FF 00 (寫入C02.Del. Total資料, FF 00相當於寫入清除累計(On), 00 00不清除累計代入 (OFF) )
CRC: DC 42(依 CRC 算法計算出的糾錯碼)
寫入指令符合格式,會將收到的控制端指令回傳給 Master
Slave address: 01(本流量計地址)
Function code: 05(單一Register寫入指令)
回覆讀取數據的啟始地址: 02 01(回覆讀取C02.Del. Total清除累計記憶體地址)
回覆資料: FF 00 (清除累計記憶體)
CRC: DC 42(依 CRC 算法計算出的糾錯碼)
Byte#
1
2
3
4
5
6
7
8
9
10
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
31
02
83
00
00
00
00
E5
38
Byte#
1
2
3
4
5
6
7
8
9
10
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
31
02
83
00
00
00
00
E5
38
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
01
02
01
00
01
ED
B3
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
01
01
00
00
00
51
88
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
05
02
01
FF
00
DC
42
Byte#
1
2
3
4
5
6
7
8
Node ID
Slave Address
Function Code
寫入的記憶體地址
寫入的記憶體地址
寫入資料
寫入資料
CRC
CRC
範例內容01~FF
01
05
02
01
FF
00
DC
42