Đã 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
- Mở project → cây bên trái: Parameter → PLC Parameter
- Chuyển sang tab “PLC System(2)”
- 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)
- Nhấn OK → Write to PLC (ghi Parameter xuống PLC, không cần ghi cả program)
- 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.

//
{
“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.

