Modbus Reference Number の例
Modbus デバイスから In-Sight スプレッドシート内のセルを参照するには、次のようにしてセルを 2 バイトの Modbus Reference Number に変換する必要があります。
上位 6 ビット (ビット 11 ~ 15) = 列 (A ~ Z)
下位 10 ビット (ビット 0 ~ 10) = 行 (0 ~ 399)
例 1: セル G273 を参照するため、Reference Number は次のように変換されます。
-
セルの列と行を 10 進数に変換します。
G = 06 {A = 0, B = 1, C = 2, ..., X = 23, Y = 24, Z = 25}
273 = 273
-
10 進数をバイナリに変換します (右から左に読み取り)。
注 : 列のバイナリ数が 6 ビットではない場合、または行のバイナリ数が 10 ビットではない場合、最終データ型での残りのビットは (バイトの上位端に向かって) すべて 0 にセットする必要があります。G = 06 = 000110 (6 ビット)
273 = 273 = 0100010001 (10 ビット)
ビット
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
-
これにより 16 ビットのワードが形成され、2 つの 8 ビット値に分離されます。
000110 01 00010001
-
これら 2 つの 8 ビット値をそれぞれの 10 進数値に変換します。
000110 01 = 25
00010001 = 17
-
これで、ハイバイト (10 進数で 25) とローバイト (10 進数で 17) の参照番号が得られます。
例 2: セル N23 を参照するため、Reference Number は次のように変換されます。
-
セルの列と行を 10 進数に変換します。
N = 13
23 = 23
-
10 進数をバイナリに変換します (右から左に読み取り)。
N = 13 = 001101
23 = 23 = 0000010111
ビット
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
-
これにより 16 ビットのワードが形成され、2 つの 8 ビット値に分離されます。
001101 00 00010111
-
これら 2 つの 8 ビット値をそれぞれの 10 進数値に変換します。
001101 00 = 52
00010111 = 23
- これで、ハイバイト (10 進数で 52) とローバイト (10 進数で 23) の参照番号が得られます。
例 3: セル Z399 を参照するため、Reference Number は次のように変換されます。
-
セルの列と行を 10 進数に変換します。
Z = 25
399 = 399
-
10 進数をバイナリに変換します (右から左に読み取り)。
N = 25 = 011001
399 = 399 = 0110001111
ビット
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
1
1
0
0
1
0
1
1
0
0
0
1
1
1
1
-
これにより 16 ビットのワードが形成され、2 つの 8 ビット値に分離されます。
011001 01 10001111
-
これら 2 つの 8 ビット値をそれぞれの 10 進数値に変換します。
011001 01 = 101
10001111 = 143
- これで、ハイバイト (10 進数で 101) とローバイト (10 進数で 143) の参照番号が得られます。