PLC Samkoon อ่านค่าเซนเซอร์อุณหภูมิความชื้นผ่าน Modbus RS485/RTU
ต่อเซนเซอร์อุณหภูมิความชื้น XY-MD02 สองตัวแบบ Multi-drop เข้าพอร์ต 485 ของ PLC Samkoon FAs ตั้ง COM1(485) เป็น Modbus Master สร้าง Modbus Table อ่าน Input Register (0x04) แล้วสั่ง MBUS ให้อ่านค่ามาเก็บที่ D0–D3
ต่อสาย 485A และ 485B ของ PLC ไปที่ A และ B ของเซนเซอร์ทุกตัวแบบ Multi-drop ตั้ง COM1(485) เป็น Modbus Master สร้าง Modbus Table ที่อ่าน 0x04 Read Input Register จาก Slave ID 1 และ 2 มาเก็บที่ D0–D3 แบบ Loop แล้วเรียกด้วย MBUS K1 data D100 D101
อัพเดทล่าสุด: 26 ตุลาคม 2569
ภาพรวม
ใช้ PLC Samkoon (ในคลิปเป็นรุ่น FAs) เป็น Modbus Master อ่านค่าอุณหภูมิและความชื้นจากเซนเซอร์ XY-MD02 สองตัว (Slave ID 1 และ 2) ผ่าน Modbus RS485/RTU โดยมี Power Supply 24V (AMLPULS AMGR02024N) จ่ายไฟให้เซนเซอร์
ขั้นที่ 1: เดินสาย RS485 แบบ Multi-drop
พอร์ต 485 ของ PLC Samkoon คือขั้ว 485A และ 485B
- 485A ของ PLC → A ของเซนเซอร์ Slave ID 1 → A ของเซนเซอร์ Slave ID 2
- 485B ของ PLC → B ของเซนเซอร์ Slave ID 1 → B ของเซนเซอร์ Slave ID 2
- ที่เหลือเป็นการจ่ายไฟ 24V ให้เซนเซอร์ตามปกติ
ขั้นที่ 2: ตั้งค่าพอร์ตใน SamSoar2022
- ไปที่ Config > Project Setting
- เลือกแท็บ COM 1(485) (ถ้าใช้ขั้ว 485 ตรงนี้)
- Protocol เลือก Modbus master แล้วตั้งพารามิเตอร์ตามที่เห็นในคลิป แล้วกด OK
Baudrate: 9600
Databits: 8
Stopbits: 1
Checkcode: NONE
Station number: 1
Timeout: 20 (x10 ms)
Frame interval: 20 ms
Retransmission: 3
ขั้นที่ 3: สร้าง Modbus Table
- คลิกขวาที่ Modbus Table แล้วกด Add สร้าง Table ใหม่ ในคลิปตั้งชื่อว่า
data - ระบุ Slave ID และคำสั่งที่จะส่ง อ้างอิงจากคู่มือของเซนเซอร์: อุณหภูมิและความชื้นต้องใช้คำสั่ง Read Input Register ที่ตำแหน่ง 1 และ 2 ตำแหน่งละ 16 บิต
- ตั้งให้ส่งต่อเนื่องแบบ Loop (TriggerMode =
ModbusMode_Loop)
| Port (Slave ID) | Handle code | Slave register | Slave count | Master register |
|---|---|---|---|---|
| K1 | 0x04 (Read input register) | K1 | K1 | D0 (อุณหภูมิ ตัวที่ 1) |
| K1 | 0x04 (Read input register) | K2 | K1 | D1 (ความชื้น ตัวที่ 1) |
| K2 | 0x04 (Read input register) | K1 | K1 | D2 (อุณหภูมิ ตัวที่ 2) |
| K2 | 0x04 (Read input register) | K2 | K1 | D3 (ความชื้น ตัวที่ 2) |
สองแถวหลังใช้รูปแบบเดียวกัน แค่ Copy มาเปลี่ยน Slave ID 1 เป็น 2 และเก็บที่ D2 กับ D3
ขั้นที่ 4: เขียน Ladder สั่ง MBUS
เมื่อ M0 ติด ให้สั่ง MBUS โดยระบุ
K1คือ COM ที่ใช้สื่อสาร (ขั้ว 485 ที่ตั้งไว้ใน COM 1)dataคือชื่อ Modbus TableD100เก็บ Error Code ของการสื่อสารD101เก็บ Index บอกว่าตอนนี้แถวไหนของ Table กำลังทำงานอยู่
ขั้นที่ 5: Download และตรวจค่า
Download ลง PLC เปิด Monitor แล้วสั่งให้ M0 ติดเพื่อให้ MBUS ทำงาน
- ถ้าการสื่อสารปกติ ค่า Index (D101) จะวิ่งวนเป็น Loop
- ค่าจากเซนเซอร์จะมาแสดงใน Monitor List ในคลิปอ่านได้ D0 = 379, D1 = 505, D2 = 360, D3 = 528
หมายเหตุเรื่องการนับ Address
ส่วนนี้ไม่ได้อยู่ในคลิป แต่ช่วยให้ใส่ตำแหน่งได้ถูก
Address นับจาก 0 — Slave register ใน Modbus Table ของ SamSoar2022 นับจาก 0 ใส่เลข Register จากคู่มือเซนเซอร์ที่เป็นเลขฐานสิบหกหรือ Protocol Address ได้ตรงๆ (ในคลิปใส่ K1 และ K2) ถ้าคู่มือของอุปกรณ์เขียนแบบ
3xxxx(นับจาก 1) ให้ลบ 30001 เช่น 30002 = Address 1
มีคำถาม? ติดต่อทีมงาน
