หน้าแรกคู่มือPLCModbus Protocolใช้งาน Modbus RS485 และ TCP/IP พร้อมกันใน PLC ครบถ้วน

บทที่ 3 จาก 8 ใน Modbus Protocol

PLCเริ่มต้น · Beginner8 นาที

ใช้งาน Modbus RS485 และ TCP/IP พร้อมกันใน PLC ครบถ้วน

เรียนรู้การใช้งาน Modbus RS485 และ Modbus TCP/IP พร้อมกันใน PLC FAs-32MT การตั้งค่า Communication Settings การสร้าง Modbus Table และ Logic การทำงานแบบผสม

PLC FAs-32MT-AC-E ใช้ Modbus RS485 (ผ่าน COM1 ด้วยคำสั่ง MBUS) และ Modbus TCP/IP (ผ่าน Ethernet ด้วย DESTIP + MBUSTCP) พร้อมกันในโปรแกรมเดียวได้ โดยสร้าง Modbus Table แยกของแต่ละโปรโตคอล ใช้ Register คนละชุด แล้วเขียน Logic เชื่อมข้อมูลข้ามฝั่ง เช่น Input ที่อ่านจาก RS485 (M1100) ไปสั่ง Coil ฝั่ง TCP/IP และกลับกัน

อัพเดทล่าสุด: 7 มีนาคม 2569

ราคาชุดอุปกรณ์

฿3,690

การใช้งาน Modbus RS485 และ Modbus TCP/IP พร้อมกันใน PLC

การสื่อสารแบบผสมผสานระหว่าง Modbus RS485 และ Modbus TCP/IP ในตัว PLC เดียวกันสามารถช่วยเพิ่มความยืดหยุ่นในการออกแบบระบบได้อย่างมาก โดยเฉพาะเมื่อต้องเชื่อมต่อกับอุปกรณ์ที่รองรับเพียงโปรโตคอลเดียว

ประโยชน์ของการใช้งานแบบผสม

การใช้งานทั้งสองโปรโตคอลพร้อมกัน มีประโยชน์ดังนี้:

  • รองรับอุปกรณ์เซนเซอร์ที่รองรับเฉพาะ RS485
  • เชื่อมต่อกับระบบสมัยใหม่ที่ใช้ TCP/IP
  • เพิ่มทางเลือกในการออกแบบระบบ
  • สร้างความยืดหยุ่นใน use case หลากหลาย

อุปกรณ์ที่ใช้

PLC รุ่น: FAs-32MT-AC-E

  • มี RS485 Port ทั้งหมด 2 Port
  • Port 1: รูกลม
  • Port 2: Terminal Block

การตั้งค่า Communication Settings

1. การตั้งค่า RS485

ใน Project Settings > Communication:

COM Port: COM1 (ใช้ Terminal Block)
Mode: Modbus Master
Protocol: RS485

2. การตั้งค่า TCP/IP

Network Type: TCP/IP Master
IP Address: กำหนดตามระบบ
Port: 2000 (Default)

การสร้าง Modbus Table

Table สำหรับ RS485

Operation: Read Input (X0)
Storage: M1100
Write Single Coil: ควบคุมโดย M11

Table สำหรับ TCP/IP Server

Operation: Read Input
Storage: M2100
Write Single Coil: ควบคุมโดย M10

โครงสร้าง Code

1. Always On Section

Always On → M0
M8000 = Always-ON flag ขณะ RUN. Route ผ่าน M0 เพื่อให้เปิด/ปิดด้วย logic อื่นภายหลังได้ง่าย
N0
Always ON → M0
M8000M0
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

2. Modbus RS485 Command

MBUS RS485 — ใช้ COM1
M0 ON → เรียก RS485Table ผ่าน COM1 (K1)
N0
M0 ON → MBUS COM1 ใช้ Table RS485Table
M0MBUSK1, RS485Table, D500, D501
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

3. TCP/IP Communication Setup

ตั้งค่า IP และเปิด TCP Client
เก็บ IP 192.254.1.102:2000 ใน D100-D104 แล้ว DESTIP เปิด connection
N0
IP Octet 1 = 192
M1MOVK192, D100
IP Octet 2 = 254
M1MOVK254, D101
IP Octet 3 = 1
M1MOVK1, D102
IP Octet 4 = 102
M1MOVK102, D103
Port = 2000
M1MOVK2000, D104
เปิด TCP connection Client ID 0
M1DESTIPD100, K0, K3, D200
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

4. Modbus TCP Command

MBUSTCP — ส่งคำสั่ง TCP
N0
M1 ON → MBUSTCP ใช้ Table TCPTable
M1MBUSTCPK0, TCPTable, D300, D301
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

Logic การทำงาน

การเชื่อมโยงข้อมูล

  1. จาก RS485 ไป TCP/IP:

    M1100 (RS485 Input) → M10 → Write Single Coil (TCP/IP)
  2. จาก TCP/IP ไป RS485:

    M2100 (TCP/IP Input) → M11 → Write Single Coil (RS485)

การแสดงสถานะ

ladder
M1100 หรือ M2100 → Y0, Y1 (Output LEDs)

เคล็ดลับการใช้งาน

  • ตรวจสอบ IP Address: ให้แน่ใจว่า IP ที่ตั้งค่าไม่ซ้ำกับอุปกรณ์อื่น
  • เลือก Port ที่เหมาะสม: COM1 หรือ COM2 ตามการเชื่อมต่อจริง
  • จัดการ Register: ใช้ Register ที่แตกต่างกันเพื่อหลีกเลี่ยงความขัดแย้ง
  • ทดสอบการสื่อสาร: ทดสอบทีละโปรโตคอลก่อนรวมกัน

การแก้ปัญหาที่พบบ่อย

ปัญหาการสื่อสารไม่ได้:

  • ตรวจสอบการต่อสายและ Termination Resistor
  • ยืนยัน IP Address และ Port
  • ตรวจสอบ Modbus Table Configuration

ข้อมูลไม่อัพเดต:

  • ตรวจสอบ Scan Time
  • ยืนยันการตั้งค่า Register Address
  • ตรวจสอบ Logic การเชื่อมโยงข้อมูล

สรุป

การใช้งาน Modbus RS485 และ Modbus TCP/IP พร้อมกันใน PLC ช่วยเพิ่มความยืดหยุ่นในการออกแบบระบบอุตสาหกรรม โดยต้องให้ความสำคัญกับการตั้งค่า Communication, การสร้าง Modbus Table ที่ถูกต้อง และ Logic การเชื่อมโยงข้อมูลระหว่างสองโปรโตคอล เมื่อทำความเข้าใจหลักการแล้ว สามารถนำไปประยุกต์ใช้กับโปรเจ็คต์จริงได้อย่างมีประสิทธิภาพ

บทถัดไป

แก้ปัญหาข้อมูล Modbus แสดงผลแปลกๆ

2 นาทีขั้นสูง · Advanced

คำถามที่พบบ่อย

ทำไมต้องใช้ RS485 กับ TCP/IP พร้อมกันใน PLC ตัวเดียว?
เพราะอุปกรณ์ในระบบมักรองรับคนละโปรโตคอล เซ็นเซอร์หรือ Inverter ส่วนใหญ่มีเฉพาะ RS485 ขณะที่ HMI, SCADA หรือ PLC รุ่นใหม่ใช้ TCP/IP การใช้ทั้งสองแบบใน PLC ตัวเดียวทำให้ PLC เป็นตัวกลางเชื่อมสองฝั่งโดยไม่ต้องซื้อ Gateway เพิ่ม
ต้องตั้งค่า Communication Settings อย่างไร?
ใน Project Settings > Communication ตั้ง COM1 (Terminal Block) เป็น Modbus Master สำหรับ RS485 และตั้ง Net เป็น TCP/IP Master พร้อม IP Address ของ PLC และ Port 2000 จากนั้นสร้าง Modbus Table แยกกัน 1 ตารางสำหรับ RS485 และ 1 ตารางสำหรับ TCP/IP Server
โครงสร้างโปรแกรมมีกี่ส่วน?
4 ส่วน คือ (1) Always On ใช้ M8000 ขับ M0 (2) MBUS K1 เรียก Table ฝั่ง RS485 ผ่าน COM1 (3) MOV เก็บ IP ปลายทางลง D100–D104 แล้ว DESTIP เปิด TCP Connection (4) MBUSTCP เรียก Table ฝั่ง TCP/IP โดยแต่ละคำสั่งใช้ Register เก็บ Error Code และ Index คนละชุด
เชื่อมข้อมูลระหว่างสองโปรโตคอลอย่างไร?
ใช้ Memory Bit เป็นตัวกลาง เช่น Input ที่อ่านผ่าน RS485 มาเก็บที่ M1100 นำไปขับ M10 ซึ่งเป็นเงื่อนไข Write Single Coil ใน Table ฝั่ง TCP/IP และ Input ที่อ่านผ่าน TCP/IP มาที่ M2100 ขับ M11 ไป Write Coil ฝั่ง RS485 พร้อมนำ M1100 หรือ M2100 ไปแสดงสถานะที่ Y0, Y1
ควรทดสอบอย่างไรเมื่อสื่อสารไม่ได้?
ทดสอบทีละโปรโตคอลก่อนรวมกัน ฝั่ง RS485 ตรวจการต่อสายและ Termination Resistor ฝั่ง TCP/IP ตรวจ IP ไม่ซ้ำและ Port ถูกต้อง แล้วตรวจ Modbus Table และ Register ที่ใช้ว่าไม่ทับซ้อนกันระหว่างสองฝั่ง