Hotline:0946828411

Kết nối Modbus RTU giữa PLC Delta và Module relay qua cổng RS485

Người xem:866

Người viết:MachViet01

Ngày viết:2020-06-30 09:36:00


Nội dung

  1. Giới thiệu
  2. Cấu trúc bản tin Modbus RTU
  3. Cách đấu nối hệ thống Modbus RTU qua cổng RS485
    1. Sơ đồ đấu nối giữa PLC và Module relay
  4. Hướng dẫn cài đặt và truyền thông PLC Delta

Giới thiệu

       Giao thức Modbus được sử dụng rất nhiều trong công nghiệp, Trong bài này chúng ta cùng tìm hiểu Modbus là gì?. Modbus là một phương tiện truyền thông giữa nhiều thiết bị thông qua các dây kết nối. Về mặt hệ thống, modbus bao gồm 1 master và nhiều slave hay nói một cách đơn giản là 1 chủ kết nối với nhiều tớ. Chủ có thể là PC, PLC,RTU... , tớ là các thiết bị thông thường như biến tần, bộ điều khiển nhiệt độ, servo.. Tuy nhiên mạng kết nối ở đây vẫn là mạng ngang hàng (peer to peer).

Khi bộ điều khiển bắt đầu một thông điệp, nó sẽ bắt đầu từ thiết bị chủ (master) trước, và đợi phản hồi từ thiết bị tớ. Hay nói một cách khác, thiết bị tớ nhận thông điệp từ thiết bị chủ, lập tức hình thanh một thông điệp và gửi ngược lại

giao thức Modbus 

khung tryền Modbus

       Đoạn mã truy vấn (Query): Khung mã hàm (function code) trong đoạn truy vấn “nói” với thiết bị được đánh dấu địa chỉ id(Slave id) loại hành động cần thực hiện. Khung data chứa nọi dữ liệu cần thiết mà thiết bị “tớ” cần để thực hiện hành động. Một ví dụ, Mã chức năng 03 sẽ thực hiện một đoạn truy vấn đến thiết bị “tớ”(Slave) để đọc các thanh ghi chứa dữ liệu và phản hồi về nội dung của chúng. Khung data phải chứa các thông tin trong đó cung cấp thanh ghi bắt đầu và bao nhiêu thanh ghi cần đọc. Khung CRC là khung check lỗi, cung cấp giải pháp cho thiết bị “tớ” xác định tính bảo toàn thông điệp trong quá trình truyền đi.

        Đoạn mã phản hồi (Response): Nếu thiết bị “tớ” tạo một đoạn phản  hồi bình thường, Mã chức năng trong đó sẽ giống với mã chức năng trong đoạn truy vấn. Khung data chứa các dữ liệu thu thập được từ thiết bị “tớ”, như các giá trị các thanh ghi, trạng thái(status)..vv. Nếu có xuất hiện lỗi, Đoạn mã chức năng sẽ được thay đổi để xác định rằng đoạn phản hồi là một đoạn phản hồi lỗi, và khung data chứa mã mô tả lỗi đó. Khung CRC cho phép master xác nhận rằng thông điệp đó là hợp lệ

       Bộ điều khiển có thể được cài đặt để kết nối với mạng modbus thông thường với 2 mode truyền là ASCII hoặc RTU. Người dùng lưa chọn chế độ mong muốn với các tham số cổng truyền thông(baudrate, parity, stopbit.. ). Chế độ và các tham số cổng truyền thông phải giống nhau đối với mọi thiết bị trong mạng

Việc lựa chọn giữa chế độ ASCII hoặc RTU để kết nối với mạng Modbus. Nó đinh nghĩa nội dung bit của thông điệp được truyền đi trong mạng. Nó xác định cách mà dữ liệu được đóng gói và giải mã. Về chế độ ASCII chúng ta sẽ thảo luận trong bài viết khác. Ở đây ta sẽ tập trung vào chế độ RTU, sử dụng đường truyền vật lý RS-232 và RS-485

Cấu trúc bản tin Modbus RTU:
Một bản tin Modbus RTU bao gồm: 1byte địa chỉ -1 byte mã hàm-n byte dữ liệu-2byte CRC
Trong đó:

  • Byte địa chỉ: Xác định thiết bị mang địa chỉ được nhận dữ liệu (đối với Slave) hoặc dữ liệu nhận được từ địa chỉ nào (Master)
  • Byte mã hàm: Xác định yêu cầu từ master. Bảng mã phía bên dưới
  • Byte dữ liệu: Xác định dữ liệu trao đổi giữa Master và Slave
    • Đọc dữ liệu:
      • Master: 2byte địa chỉ dữ liệu, 2 byte độ dài dữ liệu
      • Slave: 2byte địa chỉ dữ liệu, 2 byte độ dài dữ liệu
    • Ghi dữ liệu:
      • Master: 2 byte địa chỉ dữ liệu, 2 byte độ dài dữ liệu, n byte dữ liệu cần ghi.
      • Slave: 2 byte địa chỉ dữ liệu, 2 byte độ dài dữ liệu
  • Byte CRC: 2byte kiểm tra lỗi của hàm truyền. Cách tính giá trị của byte CRC 16bit.

Cách đấu nối hệ thống Modbus RTU qua cổng cổng RS485


Đấu nối Modbus RTU RS485

Tiến hành làm thực tế
Chuẩn bị
 :
PLC Delta DVP32EH00R3 
PLC Delta DVP32EH00R3
Module Relay RS485
Module relay RS485

Đối với module trên trước hết ta cài đặt id là 1(có thể là địa chỉ khác tùy người dùng)
Đoạn mã (HEX) để bật relay như sau : 01 06 00 01 01 00 D9 9A
Trong đó

  • 01 là id
  • 06 là mã hàm
  • 00 01 là 2 byte địa chỉ (relay1). Với relay 2 sẽ là 00 02 
  • 01 00 là dữ liệu cần ghi
  • D9 9A là mã CRC

Tương tự để tắt relay ta có mã : 01 06 00 01 02 00 D9 6A

Sơ đồ đấu nối giữa PLC và module relay 

Sơ đồ kết nối
Hướng dẫn cài đặt và truyền thông trên PLC Delta:

  1. Cài đặt truyền thông trên PLC Delta bằng phần mềm WPL Soft:
    WPL Soft có tích hợp wizard hỗ trợ cho việc truyền thông RS485 chỉ bằng việc cài đặt trên phần mềm.
  • Bước 1: Chọn biểu tượng như  hình bên dưới

Cài đặt

  • Bước 2 : Bảng cài đặt trên PLC sẽ xuất hiện ta làm lần lượt theo các hình sau 

cài đặt 1

Click next , sau đó

cài đặt 2

Click next

cài đặt 3

Cuối cùng chọn Finish, ta được 
Code Modbus

Sau khi cài đặt xong ta đã có được cấu hình cho việc truyền nhận modbus RTU giờ ta cần cài đặt thanh ghi để truyền thông điệp đi theo ý muốn .Bảng thanh ghi như sau
Bảng thanh ghi

Dựa vào bảng trên ta cách đóng mở relay đã trình bày ở trên ta chọn các thông số gửi đi để điều khiển đóng mở relay như sau:
modbus RTU hướng dẫn

Cấu trúc lệnh RS được dùng để thực hiện truyền dữ liệu đi và nhận dữ liệu về.
Lệnh RS instruction

Ở đây nói một cách rõ ràng hơn là khi truyền đi ta truyền từ D100~D107, và khi nhận về ta ghi các giá trị vào D120~D121.
Giải thích :
Khi mới vào chương trình M1002 On trong vòng quét đầu tiên, cài đặt cho PLC vào chế độ Modbus RTU và các tham số truyền nhận. Sau đó On bit M228 để đặt giá trị cho các thanh ghi truyền đi. Cuối cùng khi X0 On PLC sẽ truyền đi dữ liệu từ thanh ghi D100~D107 và nhận về dữ liệu ghi vào thanh ghi từ D120~D127. Sau khi quá trình nhận dữ liệu kết thúc bit M1123 sẽ được reset

Download code mẫu tại đây 

 

 

 

Các bài viết liên quan
Điều khiển tần số biến tần bằng tín hiệu Analog-PLC Omron CP1E

Người xem:600

Người viết:MachViet01

Ngày viết:2020-06-30 08:42:18


Nội dung Tổng quan về các phương pháp điều khiển biến tần  Cách đầu nối thiết bị  Lập trình Sử dụng PLC để điều khiển biến tần 1.Tổng quan về các phương pháp điều khiển biến tần Trong các dự án tự động hóa đôi khi chúng ta gặp phải các bài toán phải sử dụng PLC để điều khiển ...Read More