ขอบเขต
ข้อมูลในหน้านี้ใช้ได้กับเครื่องวัด AirGradient ONE รุ่น Modbus (8PSLM) และ AirGradient ONE รุ่นมีหน้าจอพร้อม Modbus (8PSLM-DE) โปรดทราบว่า Modbus ไม่รองรับในรุ่นมาตรฐาน (Standard model)
ใช้ได้กับเฟิร์มแวร์เวอร์ชัน 9.2.6 เป็นต้นไป.
ข้อมูลทั่วไป
Protocol:
Modbus RTU / RS-485Number of addresses: 1 .. 247
ค่าเริ่มต้นจากโรงงาน: 1Transmission format: 8 บิต, none / odd / even parity, 1 หรือ 2 stop bits
ค่าเริ่มต้นจากโรงงาน; 8-E-1Baudrate: 1200 .. 256000
ค่าเริ่มต้นจากโรงงาน: 19200
การกำหนดเวลา (Timings)
อัตราการสแกน (Scan Rate)
Dเครื่องวัดจะทำการวัดค่าต่าง ๆ เป็นรอบ ๆ ทุก ๆ สองถึงสามนาที (ขึ้นอยู่กับการตั้งค่า) และจะส่งค่าที่วัดได้ใหม่ผ่านทางอินเทอร์เฟซ Modbus เมื่อครบรอบการทำงานที่สมบูรณ์ ตัวอย่างเช่น หากตั้งค่าอัตราการสแกนไว้ที่ 10 วินาที ค่าความหน่วง (latency) สูงสุดที่อาจเกิดขึ้นคือ 10 วินาที.
เวลารอการตอบสนอง (Response Timeout)
โดยทั่วไปเครื่องวัดจะตอบสนองภายใน 50 .. 60 มิลลิวินาที (ms) ดังนั้นจึงแนะนำให้ตั้งค่าเวลารอการตอบสนองไว้ที่ 100 มิลลิวินาที (ms) สำหรับ baudrate ที่ต่ำกว่า 9600 การตั้งค่าให้สูงขึ้นอาจให้ผลลัพธ์ที่ดีกว่า
การหน่วงเวลาระหว่างการเรียกข้อมูล (Delay between Polls)
แนะนำให้ตั้งค่าการหน่วงเวลา > 50ms ระหว่างการเรียกข้อมูล (poll) จาก slave แต่ละครั้ง
การจัดเรียงขาพิน (Pinout)
การจัดเรียงขาของคอนเนคเตอร์เป็นดังนี้ (ดังแสดงในภาพ)
แรงดันไฟฟ้า (Voltage)
รองรับช่วงแรงดันไฟฟ้าตั้งแต่ 12V .. 32V
Function 04 Read Registers
นี่คือ register ที่ Master สามารถอ่านค่าได้
Register | ค่า (Parameter) | ประเภทข้อมูล (Data Type) | ช่วง (Range) | หน่วย (Unit) | ข้อสังเกต (Comment) |
---|---|---|---|---|---|
| current CO2 | signed 16 bit | -1 .. 10,000 | ppm | ค่าดิบ (raw value) |
| current PM2.5 | signed 16 bit | -1 .. 1,000 | ppm | ค่าดิบ (raw value) -1 บ่งชี้สภาวะมีข้อผิดพลาดหรือเซนเซอร์ยังไม่พร้อมใช้งาน |
| current PM10 | signed 16 bit | -1 .. 1,000 | ppm | ค่าดิบ (raw value) |
| current temperature | signed 16 bit | - | หนึ่งส่วนสิบของ °C เช่น 126 จะเท่ากับ 12.6°C | ค่าดิบ (raw value) |
| current relative humidity | signed 16 bit | -1 .. 100 | % | ค่าดิบ (raw value) |
| current TVOC | signed 16 bit | -1 .. 30,000 หรือ -1 .. 500 | ppb (SGP 30) หรือ | อุณหภูมิและความชื้นชดเชย |
|
|
|
|
|
|
|
|
|
|
|
|
| sensorId byte #1 | 16 bit | 0x00 .. 0xff |
| MSB |
| sensorId byte #2 | 16 bit | 0x00 .. 0xff |
|
|
| sensorId byte #3 | 16 bit | 0x00 .. 0xff |
|
|
| sensorId byte #4 | 16 bit | 0x00 .. 0xff |
|
|
| sensorId byte #5 | 16 bit | 0x00 .. 0xff |
|
|
| sensorId byte #6 | 16 bit | 0x00 .. 0xff |
| LSB |
| friendly name char #1 | 8 bit char | ASCII |
| a user friendly name, up to 24 chars |
.. |
|
|
|
|
|
| friendly name char #24 |
|
|
|
|
Function 05 Write Single Coil
นี่คือ single bit register ที่ Master สามารถเขียนค่าได้
Register | ค่า (Parameter) | ประเภทข้อมูล (Data Type) | ช่วง (Range) | หน่วย (Unit) | ข้อสังเกต (Comment) |
---|
Register | ค่า (Parameter) | ประเภทข้อมูล (Data Type) | ช่วง (Range) | หน่วย (Unit) | ข้อสังเกต (Comment) |
---|---|---|---|---|---|
| calibrate CO2 to 400ppm | bit 0 | 1 / 0 |
| การสอบเทียบจะดำเนินการในรอบการวัดครั้งถัดไป โดยปกติแล้วภายในไม่กี่นาที |
| led test mode | bit 1 | 1 / 0 |
| ยังไม่ได้นำมาใช้งาน (not implemented yet) |
|
|
|
|
|
|
Function 16 Write Multiple Registers
นี่คือ register ที่ Master สามารถเขียนค่าได้
Register | ค่า (Parameter) | ประเภทข้อมูล (Data Type) | ช่วง (Range) | หน่วย (Unit) | ข้อสังเกต (Comment) |
---|---|---|---|---|---|
| friendly name char #1 | 8 bit char | ASCII |
| ชื่อเล่น สูงสุด 24 อักขระ |
.. |
|
|
|
|
|
| friendly name char #24 |
|
|
|
|
|
|
|
|
|
|