Module 16 IN 16 OUT RS485 Modbus RTU – Hướng Dẫn Kết Nối & Điều Khiển Chi Tiết

Module 16 IN 16 OUT RS485 Modbus RTU – Hướng Dẫn Kết Nối & Điều Khiển Chi Tiết

Module 16 Input 16 Output RS485 Modbus RTU là giải pháp I/O mở rộng phổ biến trong tự động hóa công nghiệp, cho phép điều khiển và giám sát thiết bị từ xa thông qua chuẩn truyền thông Modbus RTU trên RS485. Thiết bị tương thích tốt với PLC Siemens, Mitsubishi, PC, Raspberry Pi, Arduino, SCADA, HMI.

Bài viết này sẽ hướng dẫn chi tiết từ cấu hình, bản đồ thanh ghi, lệnh điều khiển, ví dụ Python (PyModbus) đến các lưu ý thực tế khi triển khai.


1. Giới thiệu Module 16 IN 16 OUT RS485 Modbus RTU

Module 16IN/16OUT RS485 sử dụng chuẩn Modbus RTU, giúp mở rộng số lượng ngõ vào số (Digital Input)ngõ ra relay (Digital Output) trong hệ thống điều khiển công nghiệp.

Ứng dụng thực tế:

  • Tủ điện điều khiển

  • Hệ thống SCADA – BMS

  • Nhà máy thông minh

  • Điều khiển thiết bị từ xa

  • Dự án IoT công nghiệp


2. Thông số kỹ thuật module 16IN 16OUT

Thông số Giá trị
Điện áp hoạt động DC 6.5 – 30V
Input 16 kênh (NPN – Active Low)
Output 16 Relay
Giao tiếp RS485 – Modbus RTU
Địa chỉ Slave 1 – 64
Baudrate 2400 / 4800 / 9600 / 19200

3. Cấu hình truyền thông RS485 Modbus

Cấu hình khuyến nghị khi kết nối:

  • Baudrate: 9600

  • Data bits: 8

  • Parity: None (N)

  • Stop bit: 1

  • Timeout: 0.2 giây

Cấu hình này đảm bảo giao tiếp ổn định với đa số PLC và phần mềm Modbus Master.


4. Các Function Code Modbus được hỗ trợ

Module hỗ trợ đầy đủ các function code phổ biến:

  • FC 02 – Read Discrete Inputs

  • FC 03 – Read Holding Registers

  • FC 06 – Write Single Register

  • FC 16 – Write Multiple Registers

👉 Khuyến nghị: dùng FC16 để điều khiển nhiều output nhanh và ổn định hơn.


5. Bản đồ thanh ghi (Register Map)

5.1 Thanh ghi đọc (Read)

Địa chỉ Chức năng
0x0000 Trạng thái 16 Input
0x0001 Trạng thái 16 Output

Giải thích bit:

  • Bit 0 → Channel 1

  • Bit 1 → Channel 2

  • Bit 15 → Channel 16


5.2 Thanh ghi ghi (Write)

Địa chỉ Output
0x0001 Output 1
0x0002 Output 2
0x0010 Output 16

6. Lệnh điều khiển Output Modbus

Các chế độ điều khiển

Lệnh Giá trị Chức năng
OPEN 0x0100 Bật output
CLOSE 0x0200 Tắt output
MOMENTARY 0x03XX Xung XX giây
DELAY 0x06XX Bật trễ XX giây
SELF LOCK 0x0400 Tự giữ
INTERLOCK 0x0500 Liên động

Ví dụ điều khiển

  • Bật Output 1 → 0x0100

  • Tắt Output 5 → 0x0200

  • Xung 3s Output 2 → 0x0303

  • Bật trễ 5s Output 3 → 0x0605


7. Ví dụ giao tiếp Modbus RTU

Đọc Output Status (FC03)

01 03 00 01 00 01 D5 CA

Bật Output 1 (FC06)

01 06 00 01 01 00 D8 0A

8. Hướng dẫn dùng Python (PyModbus)

Cài đặt thư viện

pip install pymodbus==2.5.3

Kết nối RS485

from pymodbus.client.sync import ModbusSerialClient

client = ModbusSerialClient(
method=‘rtu’,
port=‘COM12’,
baudrate=9600,
bytesize=8,
parity=‘N’,
stopbits=1,
timeout=0.2
)
client.connect()


Đọc Input

result = client.read_discrete_inputs(0, 16, unit=1)

Điều khiển Output

client.write_register(0x0001, 0x0100, unit=1)

9. Sơ đồ kết nối phần cứng

  • PC / PLC

  • USB to RS485 Converter

  • A+ → A+

  • B- → B-

  • GND → GND

  • Cấp nguồn DC 6.5–30V cho module

Link Tài LiệuTài Liệu Ở Đây ___ Google Drive


10. Lưu ý khi sử dụng module RS485

  • Input dạng NPN – Active Low

  • Nối GND → Input = 1

  • Dùng dây xoắn đôi RS485

  • Gắn điện trở 120Ω nếu đường truyền dài

  • Tránh chạy song song với dây nguồn AC


11. Xử lý lỗi thường gặp

  • ❌ Không kết nối → kiểm tra COM, Slave ID

  • ❌ Timeout → sai baudrate

  • ❌ CRC Error → nhiễu RS485

  • ❌ Không điều khiển được → sai register


12. Kết luận

Module 16 IN 16 OUT RS485 Modbus RTU là lựa chọn ổn định – dễ triển khai – chi phí thấp cho các hệ thống tự động hóa công nghiệp và IoT. Khi cấu hình đúng register và function code, việc tích hợp với PLC hoặc PC trở nên cực kỳ đơn giản.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *