PLC Panasonic FP-X C14R kết nối truyền thông qua RS485

Các bài viết khác

Để kết nối truyền thông RS485 cho PLC Panasonic FP-X C14R, bạn cần sử dụng module mở rộng cổng truyền thông (như FP0R-E14 hoặc module AFPX-COM1/COM2/COM3) vì dòng C14R cơ bản không có sẵn cổng RS485 tích hợp. Đang sử dụng AFPX-COM3.

Dưới đây là các bước hướng dẫn kỹ thuật để thiết lập hệ thống:

1. Phần cứng cần thiết

  • PLC: FP-X C14R.

  • Module RS485: Bạn cần gắn module AFPX-COM3 (chuyên dụng cho RS485).

  • Cáp: Sử dụng cáp xoắn đôi có chống nhiễu (Shielded Twisted Pair).

  • Bộ chuyển đổi (nếu cần): Nếu kết nối với máy tính để giám sát, cần bộ chuyển đổi USB-to-RS485 ra A+ B-.

  • AFPX-COM3 ra 4 chân nối lại như sau: (S+ , R+) nối vào chân A+, (S- , R-) nối vào chân B- cổng Rs232 từ máy tính ra.

plc panasonic

2. Thiết lập thông số (System Register) trong FPWin Pro

Để PLC hiểu được giao tiếp RS485, bạn phải cấu hình trong System Register của phần mềm FPWin Pro 7:

  1. Vào mục System Register.

  2. Tìm đến mục COM Port Settings (tương ứng với vị trí module bạn cắm vào). Ở đây đang kết nối nối khai báo COM1.

  3. Cấu hình các thông số sau cho đồng bộ với thiết bị ngoại vi:

    • Baud rate: Thường chọn 9600 hoặc 19200 bps. (9600)

    • Data bits: 8 bits.

    • Parity: None (hoặc Even/Odd tùy thiết bị slave). (Odd)

    • Stop bits: 1.

    • Station number: Đặt địa chỉ cho PLC (1).

    • Communication mode: Chọn MEWTOCOL-COM (giao thức truyền thông chuẩn của Panasonic) nếu bạn điều khiển các thiết bị Panasonic khác, hoặc chọn General Purpose nếu muốn dùng lệnh RS để gửi dữ liệu tùy chỉnh. (Chọn Modbus RTU master/slave)

3. Phương pháp lập trình (Lệnh cơ bản)

Cách A: Chế độ General Purpose (Truyền thông tự do)

Nếu bạn muốn gửi các chuỗi ký tự (string) hoặc mã Hex tùy chỉnh (ví dụ: điều khiển biến tần qua Modbus RTU), hãy sử dụng lệnh RS:

Delphi

(* Ví dụ cấu trúc lệnh RS *)
RS(Channel:= 2,            (* Cổng COM 2 *)
   Data_Buffer:= MyArray,  (* Mảng chứa dữ liệu gửi *)
   Number_Of_Bytes:= 10);  (* Số lượng byte cần gửi *)

Cách B: Chế độ Modbus RTU (Khuyên dùng)

Khai báo các thông số như hình phía dưới là ok

Nếu thiết bị bạn kết nối hỗ trợ Modbus RTU, bạn không cần tự viết mã Hex. Hãy sử dụng thư viện Modbus Master được tích hợp sẵn trong FPWin Pro:

  1. Import thư viện Modbus Library cho FP-X.

  2. Sử dụng các hàm có sẵn như:

    • READ_MODBUS_RTU: Đọc dữ liệu từ Slave.

    • WRITE_MODBUS_RTU: Ghi dữ liệu xuống Slave.

  3. Bạn chỉ cần khai báo: Địa chỉ Slave, Địa chỉ thanh ghi (Register Address), và Vùng nhớ đệm (Buffer).

4. Lưu ý quan trọng khi đấu nối

  • Điện trở cuối đường dây (Termination Resistor): Nếu khoảng cách truyền xa hoặc có nhiều thiết bị, hãy gắn điện trở 120 Ohm tại hai đầu cuối của mạng RS485 để chống phản xạ tín hiệu.

  • Tiếp địa (Grounding): Nên nối vỏ chống nhiễu của cáp vào tiếp địa ở một đầu duy nhất để tránh dòng điện vòng gây nhiễu tín hiệu.

  • Phân cực: Đảm bảo chân A (+) của PLC nối với A (+) của thiết bị và B (-) nối với B (-). Nếu ngược cực, tín hiệu sẽ không thông.

Các địa chỉ trong lập trình truyền thông modbus

Lập trình cơ bản cho PLC test

Điều khiển scada cho PLC

config không thể thiếu khi truyền thông

//

{
  “mqtt”: {
    “host”: “scada.tmnsoft.vn”,
    “port”: xxxx,
    “username”: “gateway_tmn_soft_xxxxbarg”,
    “password”: “xxxx”,
    “use_tls”: false
  },
  “site_key”: “tmn_soft_xxxxbarg”,
  “devices”: [
    {
      “device_key”: “plc_panasonic_c14r”,
      “protocol”: “modbus_rtu”,
      “connection”: {
        “port”: “COM5”,
        “parity”: “O”,
        “timeout”: 2,
        “baudrate”: 9600,
        “bytesize”: 8,
        “slave_id”: 1,
        “stopbits”: 1
      },
      “poll_interval”: 5,
      “tags”: [
        {
          “tag_key”: “DT110”,
          “address”: “110”,
          “data_type”: “int16”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: false
        },
        {
          “tag_key”: “DT100”,
          “address”: “100”,
          “data_type”: “int16”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        },
        {
          “tag_key”: “R0”,
          “address”: “2048”,
          “data_type”: “coil”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        },
        {
          “tag_key”: “R1”,
          “address”: “2049”,
          “data_type”: “coil”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        },
        {
          “tag_key”: “R2”,
          “address”: “2050”,
          “data_type”: “coil”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        },
        {
          “tag_key”: “R3”,
          “address”: “2051”,
          “data_type”: “coil”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        },
        {
          “tag_key”: “R4”,
          “address”: “2052”,
          “data_type”: “coil”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        },
        {
          “tag_key”: “R5”,
          “address”: “2053”,
          “data_type”: “coil”,
          “scale”: 1,
          “word_order”: “big”,
          “writable”: true
        }
      ]
    }
  ]
}
//

Đã xác nhận hoạt động

Cấu hình PLC: COM1 (cassette AFPX-COM3) → Modbus RTU slave, station 1, baudrate 9600, Odd, 8 bit, 1 stop bit.

Đấu dây: USB-RS485 (A+/B-) → chập chung S+/R+ và S-/R- trên PLC.

Bảng địa chỉ Modbus đã xác nhận thực nghiệm:

Vùng PLC Function Code Công thức offset
Y (ngõ ra) Coil 01/05/15 offset = Y_number
R (relay nội) Coil 01/05/15 offset = 2048 + 16×(R÷10) + (R mod 10)
X (ngõ vào) Discrete Input 02 offset = X_number (chưa test thực nghiệm)
DT (data register) Holding Register 03/06/16 offset = DT_number
Hỗ trợ 💬