プロトコル説明書

Modbus on Senseair S8

1. General
Modbus is a simple, open protocol for both PLC and sensors. Details on Modbus can be foundon www.modbus.org.
This specification is based on the specification of Modbus implementation on aSense, eSense
and Sensor Core and aims to support backwards compatibility with them. The differences
between the Modbus specification [1] and the default implementation in the sensor are listed inthis document.

1.概要
Ｍｏｄｂｕｓは取り扱いが簡単な、ＰＬＣおよびセンサ用のオープンプロトコルです。Ｍｏｄｂｕｓに関する詳細は以下のサイトをご参照下さい。
www.modbus.org.
この説明書はａＳｅｎｓｅ、ｅＳｅｎｓｅおよびＳｅｎｓｅａｉｒＣｏｒｅ（センサモジュール）へのＭｏｄｂｕｓ実装の仕様に基づいており、これらセンサの後方互換性をサポートすることを目的としています。Ｍｏｄｂｕｓ仕様[１]とセンサのデフォルト実装の違いは当説明書中に列挙されています。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
1 (36)

SCesas20200421

Table of contents:
1. General .......................................................................................................... 1
2. Byte transmission. ........................................................................................... 4
3. Modbus registers on sensor. ............................................................................. 6
4. Serial line frame and addressing. .....................................................................14
5. Bus timing. ....................................................................................................14
6. Function codes descriptions (PUBLIC). ............................................................ 176
7. References .................................................................................................. 232
Appendix A: Application examples .............................................................................. 254
Appendix B: Compatibility with Senseair Core and aSENSE Modbus definitions. ........................32

General overview of protocol and implementation in the sensor
Master – slave:
Only master can initiate a transaction. The sensor is a slave and will never initiate communication.
The host system initiates transactions to read CO2 value from the corresponding register. The
host system shall also check status of the sensor periodically (e.g. every two (2) seconds) inorder to determine if it is running without faults detected.
Packet identification:
Any message (packet) starts with a silent interval of 3.5 characters. Another silent interval of 3.5
characters marks message end. Silence interval between characters in the message needs to be
kept less than 1.5 characters.
Both intervals are from the end of Stop-bit of previous byte to the beginning of the Start-bit of thenext byte.
Packet length:
According to the Modbus specification [1], the packet length shall be maximum 255 bytes
including address and CRC. We cannot support so large packets. Maximum length of packet(serial line PDU including address byte and 2 bytes CRC) supported by the sensor is 39 bytes(differs from CO2 Engine models with their 28 bytes). Packets of larger size are rejectedwithout any answer from sensor
Modbus data model:
There are four (4) primary data tables (addressable registers), which may overlay:••••

Discrete Input (read only bit).
Coil (read / write bit).
Input register (read only 16 bit word, interpretation is up to application).
Holding register (read / write 16 bit word).

Note: The sensor does not support bitwise access of registers.
Exception responses:
Slave will send answer to the master only in the case of valid message structure. Nevertheless,it can send exception response because of detection of:••••Invalid function code.
Invalid data address (requested register doesn’t exist in given device).
Invalid data.
Error in execution of requested function.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
2 (36)

SCesas20200421

目次 :1. 概要 ............................................................................................................... 1
2. バイト送信 ....................................................................................................... 5
3. センサの Modbus レジスタ. .................................................................................. 7
4. シリアルラインフレームおよびアドレス. ......................................................................... 145
5. バスタイミング ............................................................................................... 145
6. ファンクションコードの説明（PUBLIC） ............................................................................17
7. 参考事項 ..........................................................................................................23
付録 A: アプリケーション例 ..........................................................................................25
付録 B: ＳｅｎｓｅａｉｒＣｏｒｅ（センサモジュール）およびａＳｅｎｓｅのＭｏｄｂｕｓ定義との互換性. ........................... 323
プロトコルの一般的概要とセンサへの実装

マスタ– スレーブ：
マスタのみが処理を開始することができます。センサはスレーブで通信を開始することはできません。ホストシステムが対応するレジスタからＣＯ２値を読み出す処理を開始します。ホストシステムはまた、センサがエラー検出なしで動作しているかを判定するために、センサの状態を定期的にチェックします（例：２秒毎）。
パケットの識別：
全てのメッセージ（パケット）は３.５文字のサイレントインターバルで始まります。もう一つの３.５文字のサ
イレントインターバルはメッセージの終りを示します。メッセージ中の文字間のサイレントインターバルは１.５文字未満でなければなりません。何れのインターバルも、前のバイトのストップビットの終りから、次のバイトのスタートビットの始めまでです。
パケットの長さ：
Ｍｏｄｂｕｓ仕様[１]に従い、パケットの長さはアドレスおよびＣＲＣを含んで２５５バイトでなければなりません。大きなパケットはサポートされません。センサがサポートするパケットの最大長さ（アドレスバイトおよび２バイトを含むシリアルラインＰＤＵ）は３９バイトです（２８バイトのＣＯ２Ｅｎｇｉｎｅのモデルとは異なります）。サイズが大きすぎるパケットはセンサからの何の応答もなく拒否されます。
Ｍｏｄｂｕｓデータモデル：
オーバーレイできる四つのプライマリデータテーブルがあります：••••

ディスクリード入力（読出しのみのビット）
コイル（読出し/書込みビット）
入力レジスタ（読出しのみ１６ビットワード、解釈はアプリケーションによる）保持レジスタ（読出し/書込み１６ビットワード）

注： センサはレジスタのビット単位アクセスをサポートしません。
例外レスポンス:
スレーブは、メッセージ構成が有効な場合にのみマスタに答を送ります。しかしながら、以下の項目を検出した場合には、スレーブは例外レスポンスを送ることができます:•
無効なファンクションコード
•無効なデータアドレス（要求されるレジスタが当該のデバイスに存在しない）•
無効なデータ•
要求された機能の実行中のエラー

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
3 (36)

SCesas20200421

2. Byte transmission.
RTU transmission mode is the only mode supported by the sensor.

2.1. Byte format:

The format for each byte in RTU mode differs between the sensor default configuration and thedescription on page 12 of Modbus over serial line specification [2].

Coding system

Modbus over serial line specification
Sensor default configuration[2]
8-bit binary
8-bit binary

Bits per byte:

1 start bit

1 start bit

Data bits

8 data bits,
least significant bit first
1 bit for even parity No parity bit

8 data bits,
least significant bit firstNO parity bit

1 stop bit

1 stop bit for receiving
2 stop bits at transmission

2 stop bits

Table 1: Byte format differences

Implementation of 1 stop bit on receive and 2 stop bits at transmit provides compatibility withmasters using both 1 and 2 stop bits.

2.2. Baud rate (data signalling rate)
9600 bps and 19200 bps are required baud rates and required default baud rate according to
MODBUS over serial line specification [2], page 20, is 19200 bps.
Senseair S8 supports 9600 baud rate only.

2.3. Physical layer:
The sensor provides CMOS logical levels RxD and TxD lines for serial transmission. It’s up to thesystem integrator to use them for direct communication with master processor or for connection
to RS-232 or RS-485 drivers. In the latter case R/T control line may be added on request.
Communication lines are fed directly to the micro-controller of the sensor. Please refer totechnical description for electrical specifications of particular model.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
4 (36)

SCesas20200421

2.バイト送信
センサがサポートする唯一のモードはＲＴＵ送信モードです。

2.1 バイトのフォーマット:
ＲＴＵモードの各バイトに対するフォーマットは、センサのデフォルト設定と、Ｐ１２のシリアル通信Ｍｏｄｂｕｓ仕様[２]の説明との間で異なります。

シリアル通信Ｍｏｄｂｕｓ仕様[２]センサデフォルト設定

コーディングシステム

８ビットバイナリ

８ビットバイナリ

バイト当たりのビット数

１スタートビット

１スタートビット

データビット

８データビット
最下位バイトが最初
偶数パリティに対し パリティビットなして１ビット
１ストップビット
２ストップビット

８データビット
最下位バイトが最初

パリティビットなし
受信に１ストップビット
送信時に２ストップビット

表１： バイトフォーマットの違い
受信に１ストップビット、送信時に２ストップビットを付与することにより、１ストップビットおよび２ストップ
ビットを使っているマスタとの互換性が与えられます。

2.2 ボーレート要求されるボーレートは９６００ｂｐｓおよび１９２００ｂｐｓで、シリアル通信Ｍｏｄｂｕｓ仕様[２]（Ｐ20)に従って要求されるデフォルトのボーレートは１９２００ｂｐｓです。
センスエアＳ８はボーレート９６００ｂｐｓのみをサポートしています。

2.3 物理層:
センサはシリアル通信用に、ＣＭＯＳロジックレベルＲｘＤおよびＴｘＤラインを備えています。それらをマスタプロセッサーとの直接通信に使用するか、あるいは、ＲＳ２３２またはＲＳ４８５ドライバーとの接続用に使用するかはシステムインテグレーターによります。後者の場合、必要であれば、Ｒ/Ｔ制御ラインを追加できます。
通信ラインは直接センサのマイコンに送られます。センサの個別の電気的仕様についての説明を参照
して下さい。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
5 (36)

SCesas20200421

3. Modbus registers on sensor.
The Modbus registers are mapped in memory, both RAM and EEPROM of the sensor. Mapping isinterpreted by sensor firmware at command reception.
Presently, the following restrictive decisions are made:1. Read only and read / write registers are not allowed to overlay.
2. Bit addressable items (i.e. Coils and Discrete inputs) will not be implemented.
3. Only write single register functional codes are implemented. Multiple write
functional codes are not planned for implementation.
4. The total number of registers should be limited. Present decision is to limit
number of input registers to 32 and number of holding registers to 32.
Note: the limited buffer space of the sensor puts a limit on how many registers that can be readin one command, currently 6 registers.
5. Larger amount of data should be transferred as file. It is not implemented at thecurrent stage of development.
Maps of registers (All registers are 16 bit word) are summarized in Table 3 and Table 4.
Associated number is Modbus register number: Register address is calculated as (register
number -1

IR#

#

Name

IR1

0

MeterStatus

DI
16

DI
15

DI 1
DI 2
DI 3
DI 4
DI 5
DI 6
DI 7
DI 8
DI 9
DI 10
DI 11
DI 12
DI 13
DI 14
DI 15
DI 16
IR2

1

AlarmStatus

DI
16

DI
15

DI 17
DI 18
DI 19
DI 20
DI 21
DI 22
DI 23
DI 24
DI 25
DI 26
DI 27
DI 28
DI 29
DI 30
DI 31
DI 32

DI
14

-

DI
13

DI
12

DI
11

DI
10

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
2

DI
1

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
2

DI
1

Fatal error
Offset regulation error
Algorithm Error
Output Error
Self diagnostics error
Out Of Range
Memory error
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
DI
14

DI
13

DI
12

Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1

DI
11

DI
10

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
6 (36)

SCesas20200421

3. センサのＭｏｄｂｕｓレジスタ
Ｍｏｄｂｕｓのレジスタはセンサの、ＲＡＭおよびＥＥＰＲＯＭ両方のメモリ内にマッピングされています。このマッ
ピングはセンサのコマンド受信に対するファームウェアによって解釈されます。
現在、以下の制限が設けられています：
１. 読出しのみレジスタと読出し/書込みレジスタはオーバーレイできません。
２. ビットアドレス化できる項目（即ちコイルおよびＤＩ（ｄｉｓｃｒｅｔｅ ｉｎｐｕｔ））は実装されません。
３. 書込み単レジスタのファンクションコードのみが実装されています。複数の書込みファンクションコードは実装される予定はありません。
４. レジスタの総数は制限が必要です。現在決められている制限は、入力レジスタが３２、保持レジスタが３２です。
注： センサの制限されているバッファスペースは、ひとつのコマンドで幾つのレジスタの読出しが可能かについての制限を作ります。現在、この制限は六つのレジスタです。
５. 容量の大きいデータはファイルとして送信されなければなりません。この機能は、現在の開発段階では実装されていません。
レジスタのマップ（全てのレジスタは１６ビットワード）は表２および表３にまとめられています。関連付けられている数字はＭｏｄｂｕｓレジスタの数字です：レジスタのアドレスは（レジスタ番号‐１）として計算されます。

IR#

#

Name

IR1

0

MeterStatus

DI
16

DI
15

DI 1
DI 2
DI 3
DI 4
DI 5
DI 6
DI 7
DI 8
DI 9
DI 10
DI 11
DI 12
DI 13
DI 14
DI 15
DI 16
IR2

1

AlarmStatus

DI
16

DI
15

DI 17
DI 18
DI 19
DI 20
DI 21
DI 22
DI 23
DI 24
DI 25
DI 26
DI 27
DI 28
DI 29
DI 30
DI 31
DI 32

DI
14

-

DI
13

DI
12

DI
11

DI
10

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
2

DI
1

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
2

DI
1

Fatal error
Offset regulation error
Algorithm Error
Output Error
Self diagnostics error
Out Of Range
Memory error
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
DI
14

DI
13

DI
12

Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1

DI
11

DI
10

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
7 (36)

SCesas20200421

IR3

2

OutputStatus

DI
16

DI
15

DI 33
DI 34
DI 35
DI 36
DI 37
DI 38
DI 39
DI 40
DI 41
DI 42
DI 43
DI 44
DI 45
DI 46
DI 47
DI 48

DI
14

-

DI
13

DI
12

DI
11

DI
10

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
1

Alarm Output status (inverted due to Open Collector)
PWM Output status (1 means full output)
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1

IR4

3

Space CO2

IR5

4

Reserved for Space Temp, returns "illegal data address" exception

IR6

5

Reserved, returns "illegal data address" exception

IR7

6

Reserved, returns "illegal data address" exception

IR8

7

Reserved, returns "illegal data address" exception

IR9

8Reserved, returns "illegal data address" exception

IR10

9

Reserved, returns "illegal data address" exception

IR11

10

Reserved, returns "illegal data address" exception

IR12

11

Reserved, returns "illegal data address" exception

IR13

12

Reserved, returns "illegal data address" exception

IR14

13

Reserved, returns "illegal data address" exception

IR15

14

Reserved, returns "illegal data address" exception

IR16

15

Reserved, returns "illegal data address" exception

IR17

16

Reserved, returns "illegal data address" exception

IR18

17

Reserved, returns "illegal data address" exception

IR19

18

Reserved, returns "illegal data address" exception

IR20

19

Reserved, returns "illegal data address" exception

IR21

20

Reserved, returns "illegal data address" exception

IR22

21

IR23

22

Reserved, returns "illegal data address" exception

IR24

23

Reserved, returns "illegal data address" exception

IR25

24

Reserved, returns "illegal data address" exception

PWM
Output2DI
2Space CO2PWM Output2

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
8 (36)

SCesas20200421

IR3

2

OutputStatus

DI
16

DI
15

DI 33
DI 34
DI 35
DI 36
DI 37
DI 38
DI 39
DI 40
DI 41
DI 42
DI 43
DI 44
DI 45
DI 46
DI 47
DI 48

DI
14

-

DI
13

DI
12

DI
11

DI
10

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
1

Alarm Output status (inverted due to Open Collector)
PWM Output status (1 means full output)
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1
Reserved 1

IR4

3

Space CO2

IR5

4

Reserved for Space Temp, returns "illegal data address" exception

IR6

5

Reserved, returns "illegal data address" exception

IR7

6

Reserved, returns "illegal data address" exception

IR8

7

Reserved, returns "illegal data address" exception

IR9

8Reserved, returns "illegal data address" exception

IR10

9

Reserved, returns "illegal data address" exception

IR11

10

Reserved, returns "illegal data address" exception

IR12

11

Reserved, returns "illegal data address" exception

IR13

12

Reserved, returns "illegal data address" exception

IR14

13

Reserved, returns "illegal data address" exception

IR15

14

Reserved, returns "illegal data address" exception

IR16

15

Reserved, returns "illegal data address" exception

IR17

16

Reserved, returns "illegal data address" exception

IR18

17

Reserved, returns "illegal data address" exception

IR19

18

Reserved, returns "illegal data address" exception

IR20

19

Reserved, returns "illegal data address" exception

IR21

20

Reserved, returns "illegal data address" exception

IR22

21

IR23

22

Reserved, returns "illegal data address" exception

IR24

23

Reserved, returns "illegal data address" exception

IR25

24

Reserved, returns "illegal data address" exception

PWM
Output2DI
2Space CO2PWM Output2

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
9 (36)

SCesas20200421

IR26

25

Sensor Type ID High3

IR27

26

Sensor Type ID Low3

IR28

27

Memory Map version

IR29

28

FW version Main.Sub4

IR30

29

Sensor ID High5

IR31

30

Sensor ID Low5

IR32

31

Reserved, returns "illegal data address" exception

Table 2 : Input Registers
1 – Reserved DIs return 0.

2 – 0x3FFF represents 100% output. Refer to sensor model’s specificationfor voltage at 100% output.

3 – IR26 low byte + IR27 contains Sensor Type ID 3-bytes value.

4 – IR29 high byte is FW Main revision, low byte – FW Sub revision.
5 – IR30 + IR31 – 4-bytes Sensor’s Serial Number.

HR#

#

Name

HR1

0

Acknowled
gementregister

DI
16

DI
15

CI 1
CI 2
CI 3
CI 4
CI 5
CI 6
CI 7
CI 8
CI 9
CI 10
CI 11
CI 12
CI 13
CI 14
CI 15
CI 16
HR2

1

SpecialCommand
Register7

DI
14

-

DI
13

DI
12

DI
11

DI
10

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
2

DI
1

Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
CO2 background calibration has been performed
CO2 nitrogen calibration has been performed
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6

CommandParameter

0x7C

0x6 - CO2 background calibration
0x7 - CO2 zero calibration

HR3

2

Reserved, returns "illegal data address" exception

HR4

3

Reserved, returns "illegal data address" exception

HR5

4

Reserved, returns "illegal data address" exception

HR6

5

Reserved, returns "illegal data address" exception

HR7

6

Reserved, returns "illegal data address" exception

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
10 (36)SCesas20200421

IR26

25

Sensor Type ID High3

IR27

26

Sensor Type ID Low3

IR28

27

Memory Map version

IR29

28

FW version Main.Sub4

IR30

29

Sensor ID High5

IR31

30

Sensor ID Low5

IR32

31

Reserved, returns "illegal data address" exception

表２： 入力レジスタ（注）１‐予約されているＤｉｓは０を返します。
（注）２‐０ｘ３ＦＦＦは出力１００％を表します。出力１００％での電圧については、各センサの仕様を参照して下さい。
（注）３‐ＩＲ２６ローバイト＋ＩＲ２７は３‐バイト値のセンサタイプＩＤを含みます。
（注）４‐ＩＲ２９ハイバイトはＦＷのメインリビジョン、ローバイトはＦＷのサブリビジョン。
（注）５‐ＩＲ３０＋ＩＲ３１は４バイトのセンサシリアル番号。

HR#

#

Name

HR1

0

Acknowled
gementregister

DI
16

DI
15

CI 1
CI 2
CI 3
CI 4
CI 5
CI 6
CI 7
CI 8
CI 9
CI 10
CI 11
CI 12
CI 13
CI 14
CI 15
CI 16
HR2

1

SpecialCommand
Register7

DI
14

-

DI
13

DI
12

DI
11

DI
10

DI
9

DI
8

DI
7

DI
6

DI
5

DI
4

DI
3

DI
2

DI
1

Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
CO2 background calibration has been performed
CO2 nitrogen calibration has been performed
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6
Reserved 6

CommandParameter

0x7C

0x6 - CO2 background calibration
0x7 - CO2 zero calibration

HR3

2

Reserved, returns "illegal data address" exception

HR4

3

Reserved, returns "illegal data address" exception

HR5

4

Reserved, returns "illegal data address" exception

HR6

5

Reserved, returns "illegal data address" exception

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
11 (36)SCesas20200421

HR7

6

Reserved, returns "illegal data address" exception

HR8

7

Reserved, returns "illegal data address" exception

HR9

8

Reserved, returns "illegal data address" exception

HR10

9

Reserved, returns "illegal data address" exception

HR11

10

Reserved, returns "illegal data address" exception

HR12

11

Reserved, returns "illegal data address" exception

HR13

12

Reserved, returns "illegal data address" exception

HR14

13

Reserved, returns "illegal data address" exception

HR15

14

Reserved, returns "illegal data address" exception

HR16

15

Reserved, returns "illegal data address" exception

HR17

16

Reserved, returns "illegal data address" exception

HR18

17

Reserved, returns "illegal data address" exception

HR19

18

Reserved, returns "illegal data address" exception

HR20

19

Reserved, returns "illegal data address" exception

HR21

20

Reserved, returns "illegal data address" exception

HR22

21

Reserved, returns "illegal data address" exception

HR23

22

Reserved, returns "illegal data address" exception

HR24

23

Reserved, returns "illegal data address" exception

HR25

24

Reserved, returns "illegal data address" exception

HR26

25

Reserved, returns "illegal data address" exception

HR27

26

Reserved, returns "illegal data address" exception

HR28

27

Reserved, returns "illegal data address" exception

HR29

28

Reserved, returns "illegal data address" exception

HR30

29

Reserved, returns "illegal data address" exception

HR31

30

Reserved, returns "illegal data address" exception

HR32

31

ABC Period

ABC Period in hours8

Table 3: Holding Registers
6 – Reserved CIs return 0.

7 – Special Command Register is write-only.

8 – Writing to ABC_Period zero value suspends ABC function. ABC

ABC time counting will not be reset. To resume ABC function
with prior ABC samples and ABC time write to ABC_Period non-zero value.

samples and

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
12 (36)SCesas20200421

HR7

6

Reserved, returns "illegal data address" exception

HR8

7

Reserved, returns "illegal data address" exception

HR9

8

Reserved, returns "illegal data address" exception

HR10

9

Reserved, returns "illegal data address" exception

HR11

10

Reserved, returns "illegal data address" exception

HR12

11

Reserved, returns "illegal data address" exception

HR13

12

Reserved, returns "illegal data address" exception

HR14

13

Reserved, returns "illegal data address" exception

HR15

14

Reserved, returns "illegal data address" exception

HR16

15

Reserved, returns "illegal data address" exception

HR17

16

Reserved, returns "illegal data address" exception

HR18

17

Reserved, returns "illegal data address" exception

HR19

18

Reserved, returns "illegal data address" exception

HR20

19

Reserved, returns "illegal data address" exception

HR21

20

Reserved, returns "illegal data address" exception

HR22

21

Reserved, returns "illegal data address" exception

HR23

22

Reserved, returns "illegal data address" exception

HR24

23

Reserved, returns "illegal data address" exception

HR25

24

Reserved, returns "illegal data address" exception

HR26

25

Reserved, returns "illegal data address" exception

HR27

26

Reserved, returns "illegal data address" exception

HR28

27

Reserved, returns "illegal data address" exception

HR29

28

Reserved, returns "illegal data address" exception

HR30

29

Reserved, returns "illegal data address" exception

HR31

30

Reserved, returns "illegal data address" exception

HR32

31

ABC Period

ABC Period in hours8

表３： 保持レジスタ（注）６‐予約されているＣｌｓは０を返します。
（注）７‐特別コマンドレジスタは書込みのみです。
（注）８‐ＡＢＣ＿Ｐｅｒｉｏｄへの０値の書込みはＡＢＣ機能を中止させます。ＡＢＣのサンプルおよびＡＢＣの時間カウントはリセットされません。ＡＢＣ機能を先のＡＢＣサンプルとＡＢＣ時間で復帰させるためには、ＡＢＣ＿Ｐｅｒｉｏｄへゼロ以外の値を書込みます。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
13 (36)SCesas20200421

4. Serial line frame and addressing.
4.1. Serial line frame
Modbus over serial line specification [2] distinguishes Modbus Protocol PDU and Modbus serialline PDU in the following way (RTU mode only is under consideration):
Address field (1 byte)

Modbus serial line PDU

Function CodeModbus PDU

Data

CRC (Hi and Low)

4.2. Addressing rules
Addressing rules are summarised in the table:
Modbus over serial line V1.0
Address0
Broadcast address
From 1 to 247
Slave individual address
From 248 toReserved
253
254
Reserved
255
Reserved
Table 4: Summarized addressing rules

SenseAir ® S8 Sensor
No broadcast commands currently implemented
Slave individual address
Nothing1)“Any sensor”
Nothing1)

Notes:
6. “Nothing” means that sensor doesn’t recognise Modbus serial line PDUs with this address asaddressed to the sensor. Sensor does not respond.
7. “Any sensor” means that any sensor with any slave individual address will recognise serial line
PDUs with address 254 as addressed to them. They will respond. So that this address is for
production / test purposes only. It must not be used in the installed network.
This is a violation against the Modbus specification [1].

4.3. Broadcast address
Modbus specification [1] requires execution of all write commands in the broadcast address mode.
Current status for the sensor:
Only one broadcast command, reset sensor, is planned but not implemented yet.

5. Bus timing.
Parameter
Response time-out

Min

Type

Max
180

Units
msec

Table 5: Bus timing“Response time-out” is defined to prevent master (host system) from staying in “Waiting for reply”
state indefinitely. Refer to page 9 of MODBUS over serial line specification [2].
For slave device “Response time-out” represents maximum time allowed to take by “processingof required action”, “formatting normal reply” and “normal reply sent” alternatively by “formatting
error reply” and “error reply sent”, refer to the slave state diagram on page 10 of the document
mentioned above.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
14 (36)SCesas20200421

4.シリアルラインのフレームおよびアドレス指定
4.1 シリアルラインフレーム
シリアル通信Ｍｏｄｂｕｓ仕様[２]は、ＭｏｄｂｕｓプロトコルＰＤＵとＭｏｄｂｕｓシリアルラインＰＤＵを以下の方法で区別しています（ＲＴＵモードのみが考慮中）:

ＭｏｄｂｕｓシリアルラインＰＤＵ
アドレスフィールド（１バイト）

ファンクションコード
Modbus PDU

データ

ＣＲＣ（ハイおよびロー）

4.2 アドレス指定のルール
アドレス指定のルールは下表のまとめの通りです：
アドレス
シリアルラインＭｏｄｂｕｓ Ｖ１.０
センスエアＳ８センサ
０ブロードキャストアドレス
現在ブロードキャストアドレスの設定なし
１～２４７
スレーブ個別アドレス
スレーブ個別アドレス
２４８～２５３
保留
なし
２５４
保留
“何らかのセンサ”
２５５
保留なし
表４： アドレス指定ルールのまとめ（注）１‐“なし”は、センサがこのアドレスでは、センサがアドレス指定されるようには、Ｍｏｄｂｕｓシリアルライン
ＰＤＵを認識しないことを意味します。従って、センサは応答しません。
（注）２‐“何らかのセンサ”は、何らかのスレーブ個別アドレスをもつ何らかのセンサが、通常アドレス指定されるように、アドレス２５４のシリアルラインＰＤＵを認識することを意味します。応答が得られます。この
アドレスは工場での生産/テストの目的でのみ使用されます。現用のネットワーク中では使用してはいけません。これはＭｏｄｂｕｓ仕様[１]に対しては違反です。

4.3 ブロードキャストアドレス
Ｍｏｄｂｕｓ仕様[１]は、全ての書き込みコマンドの実行がブロードキャストアドレスのモードで行われることを要求しています。
現在のセンサの状態は：唯一のブロードキャストコマンド、センサリセットが予定されていますが、現在は実装されていません。

5 バスタイミング
パラメータ
応答タイムアウト

Min

タイプ

Max
180

単位
msec

表５： バスタイミング“応答タイムアウト”は、マスタ（ホストシステム）が無期限に“応答待ち”状態に留まることを避けるために定義されます。Ｐ９のシリアル通信Ｍｏｄｂｕｓ仕様[２]を参照して下さい。
スレーブのデバイスでは、“応答タイムアウト”は、“要求されるアクションの処理”、“正常な返答のフォーマット化”および“送信された正常な返答”、あるいは“フォーマット化エラー返答”、“送信された返答のエラー”に費やすことが許される最大の時間を意味します。Ｐ１０の上述の文書のスレーブの状態ダ
イアグラムを参照して下さい。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
15 (36)SCesas20200421

6 Function codes descriptions (PUBLIC).
Description of exception responses
If the PDU of the received command has wrong format:
No Response PDU, (sensor doesn’t respond)
If Function Code isn’t equal to any implemented function code:
Exception Response PDU,
Function code
Exception code = Illegal Function

1 byte1 byteFunction Code + 0x80
0x01

If one or more of addressed Registers is not assigned (register is reserved or Quantity ofregisters is larger than maximum number of supported registers):
Exception Response PDU,
Function code
Exception code = Illegal Data
Address

1 byte1 byteFunction Code + 0x80
0x02

6.1.01 (0x01) Read Coils (one bit read / write registers).
Not implemented.

6.2.02 (0x02) Read Discrete Inputs (one bit read only registers).
Not implemented.

6.3.03 (0x03) Read Holding Registers (16 bits read / write registers).
Refer to Modbus specification [1].
Quantity of Registers is limited to 32.

Address of Modbus Holding Registers for 1-command reading is limited in range
0x0000..0x001F.
Request PDU

Function code
Starting Address Hi
Starting Address Lo
Quantity of Registers Hi
Quantity of Registers Lo

Response PDU
Function code
Byte Count
Register Value* N = Quantity of Registers

1 byte1 byte1 byte1 byte1 byte0x03
Address Hi
Address Lo
Quantity Hi
Quantity Lo

1 byte1 byteN* x 2bytes

0x03
2 x N*SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
16 (36)SCesas20200421

6 ファンクションコードの説明（ＰＵＢＬＩＣ）
例外レスポンスの説明受信したコマンドのＰＤＵが間違ったフォーマットである場合：
Ｎｏ Ｒｅｓｐｏｎｓｅ ＰＤＵ、（センサは応答しません）
ファンクションコードが実装された何れかのファンクションコードと同じではない場合：
例外レスポンス PDU
Function code
Exception code = Illegal Function

1 byte1 byteFunction Code + 0x80
0x01

ひとつまたはそれ以上のアドレス指定されたレジスタが割り当てられていない場合（レジスタが保留されている、
あるいはレジスタの数がサポートされているレジスタの最大数よりも大きい場合）：

例外レスポンス PDU
Function code
Exception code = Illegal Data
Address

1 byte1 byteFunction Code + 0x80
0x02

6.1.01 (0x01) 読出しコイル（１ビット読出し/書込みレジスタ）
未実装

6.2.02 (0x02) ＤＩ（ｄｉｓｃｒｅｔｅｉｎｐｕｔ）読出し（１ビット読出しのみレジスタ）
未実装

6.3.03 (0x03) 保持レジスタ読出し（１６ビット読出し/書込みレジスタ）
Ｍｏｄｂｕｓ仕様[１]を参照。
レジスタの数は３２に制限。

１に対するＭｏｄｂｕｓ保持レジスタのアドレス－コマンド読出しは０ｘ００００～０ｘ００１Ｆに制限されています。
リクエストＰＤＵ
Function code
Starting Address Hi
Starting Address Lo
Quantity of Registers Hi
Quantity of Registers Lo
レスポンスＰＤＵ
Function code
Byte Count
Register Value* N = レジスタの数

1 byte1 byte1 byte1 byte1 byte0x03
Address Hi
Address Lo
Quantity Hi
Quantity Lo

1 byte1 byteN* x 2bytes

0x03
2 x N*SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
17 (36)SCesas20200421

If Address>0x001F or (Address + Quantity)>0x0020:
Exception Response PDU,
Function code
Exception code = Illegal Data Address

1 byte1 byte0x83
0x02

If Quantity=0 or Quantity>8:
Exception Response PDU,
Function code
Exception code = Illegal Data Value

1 byte1 byte0x83
0x03

6.4.04 (0x04) Read Input Registers (16 bits read only registers).
Refer to Modbus specification [1].
Quantity of Registers is limited to 32.

Address of Modbus Input Registers for 1-command reading is limited in range
0x0000..0x001F.
Request PDU

Function code
Starting Address Hi
Starting Address Lo
Quantity of Registers Hi
Quantity of Registers Lo

Response PDU
Function code
Byte Count
Register Value* N = Quantity of Registers

1 byte1 byte1 byte1 byte1 byte0x04
Address Hi
Address Lo
Quantity Hi
Quantity Lo

1 byte1 byteN* x 2 bytes

0x04
2 x N*

If Address>0x001F or (Address + Quantity)>0x0020:
Exception Response PDU,
Function code
Exception code = Illegal Data Address

1 byte1 byte0x84
0x02

If Quantity=0 or Quantity>8:
Exception Response PDU,
Function code
Exception code = Illegal Data Value

1 byte1 byte0x84
0x03

6.5.05 (0x05) Write Single Coil (one bit read / write register).
Not implemented.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
18 (36)SCesas20200421

アドレス＞０ｘ００１Ｆまたは（アドレス＋数）＞０ｘ００２０の場合：
例外レスポンス PDU

Function code
Exception code = Illegal Data Address

1 byte1 byte0x83
0x02

1 byte1 byte0x83
0x03

数＝０または数＞８の場合：
例外レスポンス PDU

Function code
Exception code = Illegal Data Value

6.4.04 (0x04) 入力レジスタ読出し（１６ビット読出しのみレジスタ）
Ｍｏｄｂｕｓ仕様[１]を参照。
レジスタの数は３２に制限。

１に対するＭｏｄｂｕｓ入力レジスタのアドレス－コマンド読出しは０ｘ００００～０ｘ００１Ｆに制限されています。
リクエストＰＤＵ
Function code
Starting Address Hi
Starting Address Lo
Quantity of Registers Hi
Quantity of Registers Lo
レスポンスＰＤＵ
Function code
Byte Count
Register Value* N = レジスタの数

1 byte1 byte1 byte1 byte1 byte0x04
Address Hi
Address Lo
Quantity Hi
Quantity Lo

1 byte1 byteN* x 2 bytes

0x04
2 x N*

アドレス＞０ｘ００１Ｆまたは（アドレス＋数）＞０ｘ００２０の場合：
例外レスポンス PDU

Function code
Exception code = Illegal Data Address

1 byte1 byte0x84
0x02

1 byte1 byte0x84
0x03

数＝０または数＞８の場合：
例外レスポンス PDU

Function code
Exception code = Illegal Data Value

6.5.05 (0x05) 単コイルの書込み（１ビット読出し/書込みレジスタ）未実装

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
19 (36)SCesas20200421

6.6.06 (0x06) Write Single Register (16 bits read / write register).
Refer to Modbus specification [1].

Address of Modbus Holding Registers for 1-command reading/writing is limited inrange 0x0000..0x001F.
Request PDU

Function code
Starting Address Hi
Starting Address Lo
Register Value Hi
Register Value Lo

1 byte1 byte1 byte1 byte1 byte0x06
Address Hi
Address Lo
Value Hi
Value Lo

1 byte1 byte1 byte1 byte1 byte0x06
Address Hi
Address Lo
Value Hi
Value Lo

Response PDU (is an echo of the Request)
Function code
Starting Address Hi
Starting Address Lo
Register Value Hi
Register Value Lo

If Address>0x001F:
Exception Response PDU,
Function code
Exception code = Illegal Data Address

1 byte1 byte0x86
0x02

6.7.15 (0x0F) Write Multiple Coils (one bit read / write registers).
Not implemented.

6.8.16 (0x10) Write Multiple Registers (16 bits read / write register).
Not implemented.

6.9.20 (0x14) Read File record.
Not implemented.

6.10.21 (0x15) Write File record.
Not implemented.

6.11. 22 (0x16) Mask Write Register (16 bits read / write register).
Not implemented.

6.12. 23 (0x17) Read / Write Multiple Registers (16 bits read / write register).
Not implemented.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
20 (36)SCesas20200421

6.6.06 (0x06) 単コイルの書込み（１ビット読出し/書込みレジスタ）
Ｍｏｄｂｕｓ仕様[１]を参照。

１に対するＭｏｄｂｕｓ保持レジスタ－コマンド読出し/書込みは０ｘ００００～０ｘ００１Ｆに制限されています。
リクエストＰＤＵ

Function code
Starting Address Hi
Starting Address Lo
Register Value Hi
Register Value Lo

1 byte1 byte1 byte1 byte1 byte0x06
Address Hi
Address Lo
Value Hi
Value Lo

1 byte1 byte1 byte1 byte1 byte0x06
Address Hi
Address Lo
Value Hi
Value Lo

レスポンスＰＤＵ（ルクエストのエコー）
Function code
Starting Address Hi
Starting Address Lo
Register Value Hi
Register Value Lo

アドレスが＞０ｘ００１Ｆの場合：
例外レスポンス PDU
Function code
Exception code = Illegal Data Address

1 byte1 byte0x86
0x02

6.7.15 (0x0F) 複数コイルの書込み（１ビット読出し/書込みレジスタ）
未実装

6.8.16 (0x10) 複数コイルの書込み（１６ビット読出し/書込みレジスタ）
未実装

6.9.20 (0x14) ファイル記録の読出し
未実装

6.10.21 (0x15) ファイル記録の書込み
未実装

6.11. 22 (0x16) マスク書込みレジスタ（１６ビット読出し/書込みレジスタ）
未実装

6.12. 23 (0x17) 複数レジスタの読出し/書込み（１６ビット読出し/書込みレジスタ）未実装

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
21 (36)SCesas20200421

43 / 14 (0x2B / 0x0E) Read Device Identification.
Not implemented.
Sensor Type ID, sensor Serial Number can be read through Input Registers.
(see Table 4 “Input Registers compatibility” for details).

7 References• [1] MODBUS Application Protocol Specification V1.1b•[2] MODBUS over serial line specification and implementation guide V1.02

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
22 (36)SCesas20200421

43 / 14 (0x2B / 0x0E) デバイス識別の読出し
未実装
センサタイプＩＤ、センサシリアル番号は入力レジスタで読出し可能。
（詳細は表４“入力レジスタの互換性”を参照）

7 参照事項• [1] Ｍｏｄｂｕｓアプリケーションプロトコル仕様書Ｖ１.１ｂ•[2] シリアル通信Ｍｏｄｂｕｓ仕様書および実装ガイドＶ１.０２

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
23 (36)SCesas20200421

Appendix A: Application examples
Prerequisites for the application examples:
1. A single slave (sensor) is assumed (address “any sensor” is used).
2. Values in <..> are hexadecimal.

CO2 read sequence:
The sensor is addressed as “Any address” (0xFE).
We read CO2 value from IR4 using “Read input registers” (function code 04). Hence, Starting
address will be 0x0003 (register number-1) and Quantity of registers 0x0001. CRC calculated to
0xC5D5 is sent with low byte first.
We assume in this example that by sensor measured CO2 value is 400ppm*.
Sensor replies with CO2 reading 400ppm (400 ppm = 0x190 hexadecimal).
Master Transmit:<FE> <04> <00> <03> <00> <01> <D5> <C5>
Slave Reply:<FE> <04> <02> <01> <90> <AC> <D8>
* Note that some future models in the Senseair S8 family of sensors may have a different scale
factor on the ppm reading. The reading on these models is divided by 10 (i.e. when ambient
CO2 level is 400ppm the sensor will transmit the number 40). In this example the reply from oneof these models would be 40 (= 0x28 hexadecimal).

Sensor status read sequence:
The sensor is addressed as “Any address” (0xFE).
We read status from IR1 using “Read input registers” (function code 04). Hence, Starting
address will be 0x0000 (register number-1) and Quantity of registers 0x0001. CRC calculated to
0xC525 is sent with low byte first.
Sensor replies with status 0.
Master Transmit:<FE> <04> <00> <00> <00> <01> <25> <C5>
Slave Reply:<FE> <04> <02> <00> <00> <AD> <24>

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
24 (36)SCesas20200421

付録 A: アプリケーション例
アプリケーション例に対する前提条件:
１. 単体のスレーブ（センサ）を想定（“何らかのセンサ”アドレスを使用）。
２. ＜＞内の値は１６進数。

ＣＯ２読出しのシーケンス：
センサは“何らかのアドレス”（０ｘＦＥ）にアドレス指定されています。
ＣＯ２値は、“入力レジスタ読出し”（ファンクションコード０４）を使って、ＩＲ４から読出します。従って、開始アドレスは０ｘ０００３（レジスタ番号-１）、レジスタ数は０ｘ０００１になります。０ｘＣ５Ｄ５に計算されるＣ
ＲＣは最初にローバイトで送信されます。
この例ではセンサが測定したＣＯ２値が４００ｐｐｍ*と想定します。
センサはＣＯ２読み値４００ｐｐｍで返答します（４００ｐｐｍ≂０ｘ１９０、１６進数）。
マスタは以下を送信します：<FE> <04> <00> <03> <00> <01> <D5> <C5>
スレーブは以下で返答します:<FE> <04> <02> <01> <90> <AC> <D8>
*注 将来、Ｓ８シリーズの新しいモデルのセンサはｐｐｍの読取りに対して異なるスケール要素が採用される可能性があります。それらのモデルでは読み値が１０で割られます（即ち、雰囲気ＣＯ２レベルが４００ｐｐｍのとき、センサは４０の数字を送信します）。この例では、それらのモデルのセンサの返答は４０（０ｘ２８、１６進数）になります。

センサステータス読出しのシーケンス：
センサは“何らかのアドレス”（０ｘＦＥ）としてアドレス指定されています。
“入力レジスタの読出し”（ファンクションコード０４）を使って、ＩＲ１から読出します。。従って、開始アドレ
スは０ｘ００００（レジスタ番号-１）、レジスタ数は０ｘ０００１になります。０ｘＣ５Ｄ５に計算されるＣＲＣは最初にローバイトで送信されます。
センサはステータス 0 で返答します。
マスタは以下を送信します：<FE> <04> <00> <00> <00> <01> <25> <C5>
スレーブは以下で返答します：<FE> <04> <02> <00> <00> <AD> <24>

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
25 (36)SCesas20200421

Sensor status and CO2 read sequence:
The sensor is addressed as “Any address” (0xFE).
Here we read both status and CO2 in one command by reading IR 1 to 4 using “Read input
registers” (function code 04). Hence, Starting address will be 0x0000 (register number-1) and
Quantity of registers 0x0004. CRC calculated to 0xC6E5 is sent with low byte first.
We assume in this example that by sensor measured CO2 value is 400ppm*.
Sensor replies with status=0 and CO2 value 400ppm (0x190 hexadecimal).
Master Transmit:<FE> <04> <00> <00> <00> <04> <E5> <C6>
Slave Reply:<FE> <04> <08> <00> <00> <00> <00> <00> <00> <01> <90> <16> <E6>
| Status || CO2 |* Note that some future models in the Senseair S8 family of sensors may have a different scale

factor on the ppm reading. The reading on these models is divided by 10 (i.e. when ambient
CO2 level is 400ppm the sensor will transmit the number 40). In this example the reply from oneof these models would be 40 (= 0x2816).

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
26 (36)SCesas20200421

センサステータスおよびＣＯ２読出しのシーケンス：
センサは“何らかのアドレス”（０ｘＦＥ）としてアドレス指定されています。
“入力レジスタの読出し”（ファンクションコード０４）を使って、ＩＲ１～４を読出すことによって、センサステータスとＣＯ２値の両方をひとつのコマンドで読出します。従って、開始アドレスは０ｘ００００（レジスタ番号-１）、レジスタの数は０ｘ０００４です。０ｘＣ６Ｅ５に計算されるＣＲＣは最初にローバイトで送信されます。この例ではセンサが測定したＣＯ２値が４００ｐｐｍ*と想定します。

センサはステータス≂0、ＣＯ２読み値４００ｐｐｍ（０ｘ１９０、１６進数）で返答します。
マスタは以下を送信します：<FE> <04> <00> <00> <00> <04> <E5> <C6>
スレーブは以下で返答します：<FE> <04> <08> <00> <00> <00> <00> <00> <00> <01> <90> <16> <E6>
| Status || CO2 |

*注 将来、Ｓ８シリーズの新しいモデルのセンサはｐｐｍの読取りに対して異なるスケール要素が採用される可能性があります。それらのモデルでは読み値が１０で割られます（即ち、雰囲気ＣＯ２レベルが４００ｐｐｍのとき、センサは４０の数字を送信します）。この例では、それらのモデルのセンサの返答は４０（０ｘ２８、１６進数）になります。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
27 (36)SCesas20200421

Background calibration sequence:
The sensor is addressed as “Any address” (0xFE).
3. Clear acknowledgement register by writing 0 to HR1. Starting address is 0x0000 and Registervalue 0x0000. CRC calculated as 0xC59D is sent with low byte first.
Master Transmit:<FE> <06> <00> <00> <00> <00> <9D> <C5>
Slave Reply:<FE> <06> <00> <00> <00> <00> <9D> <C5>
4. Write command to start background calibration. Parameter for background calibration is 6 and fornitrogen calibration is 7. We write command 0x7C with parameter 0x06 to HR2. Starting address
is 0x0001 and Register value 0x7C06. CRC calculated as 0xC76C is sent with low byte first.
Master Transmit:<FE> <06> <00> <01> <7C> <06> <6C> <C7>
Slave Reply:<FE> <06> <00> <01> <7C> <06> <6C> <C7>
5. Wait at least 2 seconds for standard sensor with 2 sec lamp cycle.

6. Read acknowledgement register. We use function 3 “Read Holding register” to read HR1. Starting
address is 0x0000 and Quantity of registers is 0x0001. CRC calculated as 0x0590 is sent with low
byte first.
Master Transmit:<FE> <03> <00> <00> <00> <01> <90> <05>
Slave Reply:<FE> <03> <02> <00> <20> <AD> <88>
Check that bit 5 (CI6) is 1. It is an acknowledgement of that the sensor has performed thecalibration operation. The sensor may skip calibration; an example of a reason for this could beunstable signal due to changing CO2 concentration at the moment of the calibration request.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
28 (36)SCesas20200421

バックグラウンド校正のシーケンス：
センサは“何らかのアドレス”（０ｘＦＥ）にアドレス指定されています。
３. ＨＲ１に０を書込んで承認（ＡＣＫ）をクリアします。開始アドレスは０ｘ００００、レジスタ値は０ｘ００００です。
０ｘＣ５９Ｄと計算されたＣＲＣが最初にローバイトで送信されます。
マスタは以下を送信します：<FE> <06> <00> <00> <00> <00> <9D> <C5>
スレーブは以下で返答します：<FE> <06> <00> <00> <00> <00> <9D> <C5>
４. バックグラウンド校正をスタートするコマンドを書込みます。バックグラウンド校正のパラメータは６、窒素による校正は７です。コマンド０ｘ７Ｃをパラメータ０ｘ０６でＨＲ１に書込みます。開始アドレスは０ｘ０００１、
レジスタ値は０ｘ７Ｃ０６です。０ｘ７Ｃ７６Ｃと計算されたＣＲＣが最初にローバイトで送信されます。
マスタは以下を送信します：<FE> <06> <00> <01> <7C> <06> <6C> <C7>
スレーブは以下で返答します：<FE> <06> <00> <01> <7C> <06> <6C> <C7>
５. ランプ点灯サイクル２秒の標準センサについては、少なくとも２秒待ちます。

６. 承認（ＡＣＫ）レジスタを読出します。ＨＲ１を読出すためにはファンクション３“保持レジスタの読出し”を使います。開始アドレスは０ｘ００００、レジスタの数は０ｘ０００１です。０ｘ０５９０と計算されたＣＲＣが最初に
ローバイトで送信されます。
マスタは以下を送信します：<FE> <03> <00> <00> <00> <01> <90> <05>
スレーブは以下で返答します：<FE> <03> <02> <00> <20> <AD> <88>
ビット５（ＣＩ６）が１であることを確認して下さい。これはセンサが校正作業を行ったことの承認（ＡＣＫ）です。センサが校正をスキップする場合があります。その理由の一例としては、校正要求があった時点のＣＯ２濃度が変動しており、信号が不安定な場合などです。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
29 (36)SCesas20200421

Read ABC parameter, ABC PERIOD:
One of the ABC parameters, ABC PERIOD, is available for modification as it is mapped as aholding register. This example shows how to read ABC PERIOD by accessing HR32.
The sensor is addressed as “Any address” (0xFE).
Read current setting of ABC PERIOD by reading HR32. We use function code 03 “Read Holding
registers”. Starting address is 0x001f and Quantity of Registers 0x0001. CRC calculated as
0xC3A1 is sent with low byte first.
Master Transmit:<FE> <03> <00> <1F> <00> <01> <A1> <C3>
Slave Reply:<FE< <03> <02> <00> <B4> <AC> <27>
In the slave reply we can see:
Address = 0xFE
Function code = 0x03
Byte count = 0x02
Register value = 0x00B4
CRC = 0x27AC- We read 2 bytes (1 register of 16 bits)- 0xB4 hexadecimal = 180 decimal;
180 hours / 24 equals 7.5 days.
- CRC sent with low byte first

Disable ABC function:
Disable the ABC function by setting ABC PERIOD to 0.
The sensor is addressed as “Any address” (0xFE).
Function code 06 “Write Single Register” is used to write to HR32. Register address
is 0x001f, register value 0x0000. CRC calculated as 0x03AC is sent with low byte first.
Master transmit:<FE> <06> <00> <1F> <00> <00> <AC> <03>
Slave reply:<FE> <06> <00> <1F> <00> <00> <AC> <03>
The reply can be seen as an echo of the transmitted sequence.

Enable ABC function:
Enable the ABC function by setting ABC PERIOD to any value except 0. Set to 7.5 days in thisexample.
The sensor is addressed as “Any address” (0xFE).
Function code 06 “Write Single Registers” is used to write to HR32. Register address
is 0x001f, register value 0x00B4 (7.5 days x 24 hours = 18010; 18010 = 0xB416).
CRC calculated as 0x74AC is sent with low byte first.
Master transmit:<FE> <06> <00> <1F> <00> <B4> <AC> <74>
Slave reply:<FE> <06> <00> <1F> <00> <B4¤> <AC> <74>
The reply can be seen as an echo of the transmitted sequence.

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
30 (36)SCesas20200421

ＡＢＣパラメータ、ＡＢＣピリオドの読出し：
ＡＢＣパラメータのひとつ、ＡＢＣピリオドは保持レジスタとしてマップされており、変更が可能です。この
例は、ＨＲ3２にアクセスしてＡＢＣピリオドを読出す方法を示しています。
センサは“何らかのアドレス”（０ｘＦＥ）にアドレス指定されています。
ＨＲ３２を読込んで現在のＡＢＣピリオドの設定を読出します。ファンクションコード０３“保持レジスタの読出し”を使います。開始アドレスは０ｘ００１ｆ、レジスタの数は０ｘ０００１です。０ｘＣ３Ａ１と計算されたＣ
ＲＣが最初にローバイトで送信されます。
マスタは以下を送信します：<FE> <03> <00> <1F> <00> <01> <A1> <C3>
スレーブは以下で返答します：<FE< <03> <02> <00> <B4> <AC> <27>
スレーブの返答に以下の内容があります：
アドレス≂０ｘＦＥ
ファンクションコード≂０ｘ０３
バイトカウント≂０ｘ０２-２バイト（１６ビットの１レジスタ）が必要です。
レジスタ値≂０ｘ００Ｂ４-０ｘＢ４、１６進数 ≂ １８０、１０進数）
１８０時間/２４≂７.５日
ＣＲＣ≂０ｘ２７ＡＣ-ＣＲＣが最初にローバイトで送信されます。

ＡＢＣ機能の無効化：
ＡＢＣピリオドを０に設定することにより、ＡＢＣ機能を無効化します。
センサは“何らかのアドレス”（０ｘＦＥ）にアドレス指定されています。
ファンクションコード０６“単レジスタの書込み”を使って、ＨＲ３２を書込みます。レジスタアドレスは０ｘ０
０１ｆ、レジスタの値は０ｘ００００です。０ｘ０３ＡＣと計算されたＣＲＣが最初にローバイトで送信されます。
マスタは以下を送信します：<FE> <06> <00> <1F> <00> <00> <AC> <03>
スレーブは以下で返答します：<FE> <06> <00> <1F> <00> <00> <AC> <03>
返答は送信されたシーケンスのエコーとして現れます。

ＡＢＣ機能の有効化：
ＡＢＣピリオドを０以外の値に設定することにより、ＡＢＣ機能を有効化します。この例では７.５日に設定します。
センサは“何らかのアドレス”（０ｘＦＥ）にアドレス指定されています。
ファンクションコード０６“単レジスタの書込み”を使って、ＨＲ３２を書込みます。レジスタアドレスは０ｘ０
０１ｆ、レジスタの値は０ｘ００Ｂ４（７.５日ｘ２４時間≂１８０１０、１８０１０≂０ｘＢ４１６）です。０ｘ７４ＡＣと計算されたＣＲＣが最初にローバイトで送信されます。
マスタは以下を送信します：<FE> <06> <00> <1F> <00> <B4> <AC> <74>
スレーブは以下で返答します：<FE> <06> <00> <1F> <00> <B4¤> <AC> <74>
返答は送信されたシーケンスのエコーとして現れます。

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
31 (36)SCesas20200421

Appendix B: Compatibility with Senseair Core and aSENSE
Modbus definitions.
aSENSE

IR1
MeterStatus
IR2
Alarm Status
IR3
Output Status
IR4Space CO2IR5Space Temp
IR6
Channel 6
IR7
Channel 7
IR8
Channel 8IR9Channel 9IR10Channel 10
IR11
Channel 11
IR12
Channel 12
IR13
Meas status
IR14
Meas status
IR15
Meas status
IR16
Case
IR17
Case
IR18
Case
IR19
Case
IR20
Case
IR21
Case
IR22
Output 1
IR23
Output 2
IR24
Output 3
IR25
Output 4
IR26
Reserved
IR27
Reserved
IR28
Reserved
IR29
Reserved
IR30
Reserved
IR31
Reserved
IR32
Reserved
Table 6: Input Registers compatibility

K30

Senseair S8MeterStatus
Alarm Status
Output Status
Space CO2
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Output 1
Output 2
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved

MeterStatus
Alarm Status
Output Status
Space CO2
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Output PWMReserved
Reserved
Reserved
Type ID HighType ID Low
Map version
FW version
Sensor ID High
Sensor ID Low
Reserved

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
32 (36)SCesas20200421

付録 B:センスエアコア（センサモジュール）とａＳＥＮＳＥのＭｏｄｂｕｓ定義の互換性
aSENSE

IR1
MeterStatus
IR2
Alarm Status
IR3
Output Status
IR4Space CO2IR5Space Temp
IR6
Channel 6
IR7
Channel 7
IR8
Channel 8IR9Channel 9IR10Channel 10
IR11
Channel 11
IR12
Channel 12
IR13
Meas status
IR14
Meas status
IR15
Meas status
IR16
Case
IR17
Case
IR18
Case
IR19
Case
IR20
Case
IR21
Case
IR22
Output 1
IR23
Output 2
IR24
Output 3
IR25
Output 4
IR26
Reserved
IR27
Reserved
IR28
Reserved
IR29
Reserved
IR30
Reserved
IR31
Reserved
IR32
Reserved
表６：入力レジスタの互換性

K30

Senseair S8MeterStatus
Alarm Status
Output Status
Space CO2
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Output 1
Output 2
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved

MeterStatus
Alarm Status
Output Status
Space CO2
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Output PWMReserved
Reserved
Reserved
Type ID HighType ID Low
Map version
FW version
Sensor ID High
Sensor ID Low
Reserved

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
33 (36)SCesas20200421

aSENSE

Acknowledgement
HR1
registerHR2
Command Register
HR3
Reserved
HR4
Reserved
HR5
Reserved
HR6
Reserved
HR7
Reserved
HR8
Reserved
HR9
Reserved
HR10
Set Point Adjustment
HR11
Set Point Adjustment
HR12
Set Point Adjustment
HR13
Set Point Adjustment
HR14
OUT1 MinLimit
HR15
OUT1 MaxLimit
HR16
OUT2 MinLimit
HR17
OUT2 MaxLimit
HR18
OUT4 MinLimit
HR19
OUT4 MaxLimit
HR20
OUT5 MinLimit
HR21
OUT5 MaxLimit
HR22
Override OUT1
HR23
Override OUT2
HR24
Override OUT3
HR25
Override OUT4
HR26
Reserved
HR27
Reserved
HR28
Reserved
HR29
Reserved
HR30
Reserved
HR31
Reserved
HR32
ABC period
Table 7: Holding Registers compatibility

K30

Senseair S8

Acknowledgement
registerCommand Register
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
ABC period

Acknowledgement
registerCommand Register
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
ABC period

Green cells pick out compatible registers.
Pink cells are introduced for Senseair S8 registers.

The product and product specification are subject to change without notice. Contact Senseair toconfirm that the information in this product description is up to date.

www.senseair.com

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
34 (36)SCesas20200421

aSENSE

Acknowledgement
HR1
registerHR2
Command Register
HR3
Reserved
HR4
Reserved
HR5
Reserved
HR6
Reserved
HR7
Reserved
HR8
Reserved
HR9
Reserved
HR10
Set Point Adjustment
HR11
Set Point Adjustment
HR12
Set Point Adjustment
HR13
Set Point Adjustment
HR14
OUT1 MinLimit
HR15
OUT1 MaxLimit
HR16
OUT2 MinLimit
HR17
OUT2 MaxLimit
HR18
OUT4 MinLimit
HR19
OUT4 MaxLimit
HR20
OUT5 MinLimit
HR21
OUT5 MaxLimit
HR22
Override OUT1
HR23
Override OUT2
HR24
Override OUT3
HR25
Override OUT4
HR26
Reserved
HR27
Reserved
HR28
Reserved
HR29
Reserved
HR30
Reserved
HR31
Reserved
HR32
ABC period
表７： 保持レジスタの互換性

K30

Senseair S8

Acknowledgement
registerCommand Register
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
ABC period

Acknowledgement
registerCommand Register
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
ABC period

グリーンの欄は互換レジスタを表示
ピンクの欄はセンスエアＳ８レジスタに導入製品および製品仕様は予告なく変更される場合があります。当製品説明書に記載された情報が最新のものであるか否かについてはセンスエア社またはその正規代理店にご照会下さい。

www.senseair.com

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
35 (36)SCesas20200421

SAKAKI CORPORATION
part of AsahiKASEIDocument
TDE2067

Rev
4

Page
36 (36)SCesas20200421