Dùng board FX3S-485-BD cho truyền thông PLC FX3s Scada

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

Đã test truyền thông ok cho PLC fx3s.

Dùng board FX3S-485-BD (chuẩn, không MB) thì đi theo hướng Computer Link – Protocol Format 1.

Ưu điểm: không cần viết ladder cho phần giao tiếp, chỉ cấu hình tham số trong GX Works, PLC tự trả lời theo giao thức chuẩn.

Cấu hình trong GX Works2

  1. Mở project → cây bên trái: Parameter → PLC Parameter
  2. Chuyển sang tab “PLC System(2)”
  3. Trong khung “Communication Setting” (Cài đặt truyền thông):
    • Tick chọn “Operate communication setting” (Kích hoạt cài đặt truyền thông)
    • Communication Format: chọn “Dedicated protocol” (không chọn Modbus vì board không hỗ trợ) → chọn Protocol type = Format 1
    • Transmission speed: chọn baudrate (VD 9600 hoặc 19200 — phải khớp cấu hình phía gateway Python)
    • Data length: 7 bit
    • Parity: Even
    • Stop bit: 1 bit
    • Sum check: Yes (bật)
    • Station number: đặt số trạm, VD 0
    • Header/Terminator: để mặc định (STX/ETX chuẩn)
  4. Nhấn OKWrite to PLC (ghi Parameter xuống PLC, không cần ghi cả program)
  5. Tắt nguồn PLC, bật lại — bắt buộc để tham số Communication có hiệu lực.

Không cần thêm dòng ladder nào cho phần giao tiếp này — PLC tự trả lời frame BR/BW/BT ngay sau khi restart.

PLC System(2)

//
{
  “mqtt”: {
    “host”: “scada.tmnsoft.vn”,
    “port”: xxxx,
    “username”: “gateway_tmn_soft_barg”,
    “password”: “xxxxxx”,
    “use_tls”: false
  },
  “site_key”: “tmn_soft_barg”,
  “devices”: [
    {
      “device_key”: “plc_fx3s”,
      “protocol”: “mitsubishi_fx_cl”, //chuẩn riêng cho dòng plc fx dùng card FX3S-485-BD
      “connection”: {
        “port”: “COM5”,
        “parity”: “E”,
        “timeout”: 2,
        “baudrate”: 9600,
        “bytesize”: 8,
        “slave_id”: 1,
        “stopbits”: 1
      },
      “poll_interval”: 5,
      “tags”: [
        {
          “tag_key”: “m5”,
          “address”: “m5”,
          “data_type”: “bit”,
          “scale”: 1,
          “word_order”: “big”
        },
        {
          “tag_key”: “m4”,
          “address”: “m4”,
          “data_type”: “bit”,
          “scale”: 1,
          “word_order”: “big”
        },
        {
          “tag_key”: “m3”,
          “address”: “m3”,
          “data_type”: “bit”,
          “scale”: 1,
          “word_order”: “big”
        },
        {
          “tag_key”: “den_bao_M0”,
          “address”: “m0”,
          “data_type”: “bit”,
          “scale”: 1,
          “word_order”: “big”
        },
        {
          “tag_key”: “cam_bien_M1”,
          “address”: “m1”,
          “data_type”: “bit”,
          “scale”: 1,
          “word_order”: “big”
        },
                {
          “tag_key”: “cam_bien_M2”,
          “address”: “m2”,
          “data_type”: “bit”,
          “scale”: 1,
          “word_order”: “big”
        },
        {
          “tag_key”: “toc_do_D0”,
          “address”: “d0”,
          “data_type”: “int16”,
          “scale”: 1,
          “word_order”: “big”
        },
        {
          “tag_key”: “d10”,
          “address”: “d10”,
          “data_type”: “int16”,
          “scale”: 1,
          “word_order”: “big”
        }
      ]
    }
  ]
}
//
Dùng giao thức truyền thông Computer Link mitsubishi_fx_cl 
Các field không còn cần nữa trong connection: slave_id, word_order, bytesize, stopbits (protocol mới cố định 7-Even-1, không cấu hình được khác vì đó là chuẩn Computer Link Format 1).

Kết nối usb to rs485 với chân Board 485-BD

Board 485-BD thường (không có chữ MB) thì FX3S không tự làm Modbus RTU slave qua tham số được. Tính năng “khai báo Modbus qua PLC Parameter, không cần ladder” chỉ có ở board có chữ MB (FX3U-485ADP-MB / FX3U-232ADP-MB).

Đấu dây (giống nhau cho cả 2 hướng, vì chân board không đổi):

  • Jump SDA + RDA chung 1 điểm → nối vào A+ của USB-RS485
  • Jump SDB + RDB chung 1 điểm → nối vào B- của USB-RS485
  • SG → GND của USB-RS485 (nếu có chân GND)
  • Nếu dây dài / nhiễu: thêm điện trở đầu cuối 120Ω giữa A-B ở 2 đầu xa nhất bus.
Hỗ trợ 💬