บทที่ M04 · GX Works3

การจำลองด้วย GX Simulator

ก่อนยิงโปรแกรมเข้า PLC จริง เราต้องทดสอบใน GX Simulator ก่อน — เพื่อจับ Logic ผิดและเซฟทั้ง PLC, ทั้งคน, ทั้งเครื่องจักร บทนี้พาทำตามตั้งแต่สร้าง Project, เขียน Ladder ตัวอย่าง Star–Delta, ไปจนถึง Monitor ค่าจริง ๆ

เปิด GX Works3 ครั้งแรก

  1. สร้าง Project ใหม่ เมนู Project → New
    • Series: FX5CPU
    • Type: FX5U
    • Program Language: Ladder
    กด OK → GX Works3 จะสร้าง Project พร้อม Program block ชื่อ MAIN ให้
  2. ตั้งค่า PLC Parameter เปิด Parameter → FX5UCPU → CPU Parameter — สำหรับการจำลอง ค่า default ใช้ได้ทันที แต่จำว่า Project นี้ตั้งเป็น FX5U ไว้แล้ว (สำคัญตอนจะโหลดเข้า PLC จริง)
  3. เปิดหน้า Ladder Editor ดับเบิลคลิกที่ Program → MAIN → ProgPou → ProgramBody ใน Navigation pane ซ้ายมือ — จะเห็นกระดาษเปล่าให้วาด Ladder
  4. เขียน Rung แรก กดปุ่ม F5 = วาง Contact NO · F6 = NC · F7 = Coil · F8 = Coil/Function
    หรือใช้ Toolbar รูปสัญลักษณ์ Ladder ด้านบน
  5. ใส่ Device Name คลิกที่ Contact → พิมพ์ X0 → Enter — ทำซ้ำสำหรับทุก Contact และ Coil
  6. Convert (F4) ทุกครั้งที่แก้ Ladder ต้องกด F4 (หรือ Convert → Convert) เพื่อ Compile — ถ้าผิด syntax จะ Error สีเทา ๆ ที่ Rung
Shortcut ที่ใช้บ่อยที่สุด F4 = Convert · F5 = Contact NO · F6 = Contact NC · F7 = Coil · F8 = Application Instruction (MOV, BMOV, ZRST ฯลฯ) · Shift+F5 = แทรก Rung · Ctrl+S = Save Project
GX Simulator3 running with ladder
GX Simulator3 (มุมขวาล่าง) เลียนแบบเป็น FX5UCPU สถานะ RUN — Ladder ฝั่งซ้ายแสดง MOV/DMOV/EMOV ที่ทำงานอยู่จริง, Watch Window แสดงค่าสด

เริ่ม Simulator

  1. กด Simulation Start เมนู Debug → Start/Stop Simulation หรือกดปุ่มรูปจอ Simulator ที่ Toolbar — หน้าต่าง "GX Simulator3" จะเด้งขึ้นมา ตั้งให้อยู่ข้างหน้าจอ Ladder
  2. โปรแกรมจะถูก Download อัตโนมัติ Simulator จะเลียนแบบ FX5U ตัวจริงและรับโปรแกรมที่เพิ่ง Convert — สถานะของ PLC ใน Simulator จะเป็น RUN โดยอัตโนมัติ
  3. เปิด Device Monitor เมนู Online → Watch → Register Watch Window 1 — พิมพ์ X0, X1, Y0, T0, D10 ฯลฯ ลงไป เพื่อดูค่าทั้งหมดในที่เดียว
  4. Force ค่า Input ใน Ladder Editor (ตอน Simulation รันอยู่) ดับเบิลคลิกที่ X0 → จะมี Dialog ให้กด ON/OFF — หรือใช้เมนู Debug → Modify Value
  5. ดู Animation บน Ladder Contact ที่ ON จะ เขียวสว่าง ส่วน Coil ที่ ON จะ ส้มสว่าง — เหมาะกับการ debug Logic แบบ visual

ตัวอย่างจริง — Star–Delta Motor Starter ใน Simulator

เอาโปรแกรม Star–Delta จาก M02 — Ladder Logic มา Simulate

Star-Delta ladder with KM1/KM2/KM3 labels
Ladder ที่จะ Simulate — X0 = START, X5 = STOP, Y0 = KM1 (Main), Y1 = KM2 (Delta), Y2 = KM3 (Star), T0 = 5 วินาที

Step 1 — เขียน Ladder ทั้งสามรัง

; Rung 1 — Main Contactor
LD   X0    OR   Y0    ANI  X1    AND  X2    OUT  Y0

; Rung 2 — Star (ON ระหว่าง T0 ยังไม่ครบ)
LD   Y0    ANI  T0    OUT  Y1
LD   Y0    OUT  T0   K50    ; 5.0 วินาที

; Rung 3 — Delta (ON หลัง T0 ครบ, Interlock กับ Y1)
LD   T0    ANI  Y1    AND  Y0    OUT  Y2

Step 2 — สร้าง Test Sequence

  1. ตั้งค่าเริ่มต้น Force X1 = OFF, X2 = ON (Overload OK), X0 = OFF → ทุก Output ต้อง OFF
  2. กด Start Force X0 = ON ครู่หนึ่งแล้ว OFF — ดูว่า:
    • Y0 (Main) ON ค้าง (เพราะ self-hold)
    • Y1 (Star) ON ทันที
    • T0 เริ่มนับขึ้นเรื่อย ๆ
  3. รอครบ 5 วินาที เมื่อ T0 ครบ K50:
    • Y1 (Star) ต้อง OFF
    • Y2 (Delta) ต้อง ON
  4. กด Stop Force X1 = ON → ทุก Output ต้อง OFF
  5. ทดสอบ Overload ตอนมอเตอร์ติด, Force X2 = OFF (จำลอง Overload trip) → ทุก Output ต้องตัดทันที
ทำไม X2 ใช้ AND ไม่ใช่ ANI? เพราะ Overload Relay เวลาปกติ contact NC จะเป็น Closed → PLC อ่านเป็น ON → ใช้ AND กับ X2 → ถ้า Overload trip → X2 OFF → ตัดวงจร

จาก Simulator ไป PLC จริง

เมื่อโปรแกรม Simulate ผ่านแล้ว ต้องการ Download เข้า PLC จริง:

  1. เปิด Current Connection Destination เมนู Online → Current Connection Destination...
  2. เลือกวิธีเชื่อมต่อ
    Select connection destination dialog
    เลือก Directly Connect to CPU ถ้าต่อสาย LAN ตรง หรือ Other Connection Method ถ้าผ่าน Switch/Hub
  3. ตั้งค่า Ethernet
    Ethernet Port Direct vs HUB
    เลือก Connection via HUB (ใช้ Switch) → ใส่ 192.168.250.11 → กด Find(S) ระบบจะสแกนหา CPU ในเครือข่าย
  4. กด Connection Test ถ้าทุกอย่างถูก จะได้กล่อง popup "Successfully connected with the FX5UCPU"
    Successfully connected dialog
  5. เขียนโปรแกรมเข้า PLC Online → Write to PLC... → เลือก Parameter + Program + Comment → กด Execute

🌐 IP & Subnet — เช็คก่อนต่อ

ปัญหาที่เจอบ่อยที่สุดเวลาต่อ Ethernet PLC: PC กับ PLC อยู่คนละ Subnet กัน → เจอกันไม่เจอ ใส่ IP ผิด Subnet Mask ก็เจอกันไม่ได้ · ลองเช็คก่อน:

การ Debug ที่นิยมในห้อง Lab

DEBUG 01
Force I/O
เปิด/ปิด Bit ตัวใดก็ได้ระหว่าง Simulate — ใช้แทน Hardware ที่ยังไม่มี
DEBUG 02
Step Execution
Debug → Step → Step Execution — รัน 1 Scan ทีละครั้ง ดู State ค่อย ๆ เปลี่ยน
DEBUG 03
Breakpoint
วาง Breakpoint ใน Rung → Simulator จะ pause เมื่อเงื่อนไขถึง — เหมาะกับโปรแกรมยาว ๆ
DEBUG 04
Sampling Trace
บันทึกค่าของ device หลายตัวเทียบกับเวลา — เห็น Timing diagram ได้

Pitfalls ที่นิสิตชอบเจอ

1. ลืม Convert (F4) แล้ว Simulate ถ้าแก้ Ladder แต่ไม่ F4 — Simulator จะรัน โปรแกรมเก่า อยู่ ทำให้งงทำไมไม่เปลี่ยนตามที่แก้
2. ใช้ Y ซ้ำใน 2 Rung ใน Ladder ห้ามมี OUT Y0 ปรากฏใน 2 Rung — Rung ที่อยู่ล่างจะ override ตัวบนเสมอ ใช้ SET/RST แทน หรือรวม Logic ให้อยู่ในRung เดียว
3. Timer Number ชน ใช้ T0 ในหลาย Rung โดยมี OUT T0 สองที่ — ผลลัพธ์จะเพี้ยน Timer Number ต้องไม่ซ้ำในทั้งโปรแกรม

ก่อนไปต่อ

วิดีโอประกอบ ดูตัวอย่าง Simulate Star–Delta แบบจริง ๆ ได้ใน EP3 — Star/Delta Simulation