Nội Dung Bài Viết
Chúng ta đã thấy số lượng lớn các thử nghiệm Arduino trong đó các giao thức công nghiệp đã được thực hiện trong giao thức modbus RTU (nhị phân),trong thử nghiệm này thực hiện các kiểm tra cấu hình Arduino là Slave Modbus RTU.
Kiểm tra
Vì nó được dự định tích hợp công nghiệp, Arduino sẽ giao tiếp với một modbus giả lập thông qua RS232, trong trường hợp này chúng tôi sử dụng Arduino Mega 2560 có nhiều cổng Serial, chúng tôi đã thực hiện một số sửa đổi cho thư viện slave modbus. vì vậy Arduino có thể được lập trình bởi cổng Serial và Serial1 chỉ là modbus tạo điều kiện cho lập trình có thể sửa đổi và / hoặc sửa chữa.
Chúng tôi sẽ sử dụng bổ sung chip Max232 để chuyển đổi giao thức modbus của điện áp ttl thành 5v cho RS232, mặc dù bộ chuyển đổi này được bán bình thường, chúng tôi đã quyết làm nó ( MAX232 DIY ).
Ban đầu, Arduino MEGA 2560 R3 của chúng tôi sẽ được kết nối với một Modbus Simulator sẽ hoạt động như một Master thông qua RS232.
Arduino Mega 2560 Slave Modbus RTU (RS232)
Arduino MAX232 Connection
Arduino Mega 2560 R3
Converter MAX232 Datasheet
Kết luận
Thư viện modbus hoạt động rất tốt với các tốc độ bauds, nên sử dụng ở tốc độ 9600 bauds, không có nghĩa là 115200 không hoạt động mà chúng tôi muốn có sự bảo toàn hơn trong quá trình chuyển đổi.
Thư viện đã được sửa đổi để làm việc với Serial1, trong trường hợp này với Arduino Mega, yêu cầu nó làm việc với cổng mặc định của thư viện arduino chỉnh sửa và thay thế trong mọi trường hợp Serial1 bằng Serial1 và hoạt động bình thường.
Chúng tôi khuyên bạn nên sử dụng thư viện Arduino như một Modbus slave trong các trường hợp ứng dụng tự động cơ bản, chẳng hạn như đọc các thiết bị ngoại vi I / O và sau đó gửi dữ liệu đến master, hoặc PLC, PAC HMI, SCADA opc hoặc IoT. Trong các thử nghiệm đã tiến hành, chúng tôi đã nhận ra sự tích hợp với PLC, HMI, SCADA và IoT.
Tài liệu tham khảo
Download
Bài viết các bạn có thể tham khảo:
- Arduino Master Modbus RTU (RS232)
- ESP8266 Slave Modbus RTU & ESP8266 Master Modbus RTU (RS232)
- Arduino Master & ESP8266 Slave Modbus RTU (TTL)
Bài viết được dịch từ trang web: en.trialcommand.com