PLC ที่ Scan Time ช้าหรือไม่สม่ำเสมอทำให้เครื่องจักรทำงานผิดพลาด ปัญหาอย่าง Conveyor Jam, Robot ทำงาน Intermittent, หรือ Output สั่งแต่ตอบสนองช้า มักมีต้นเหตุมาจาก Scan Time ที่เกิน Watchdog Timeout หรือ Logic โปรแกรมที่ใช้ CPU เวลานานเกิน บทความนี้อธิบายว่า PLC Scan Time คืออะไร ทำไมช้า และแก้อย่างไร

PLC Scan Time คืออะไร?

PLC ทำงานแบบ Cyclic Scan คือ อ่าน Input → ประมวลผล Logic → เขียน Output → วนซ้ำ เรียกว่า "Scan Cycle" ระยะเวลาที่ใช้ต่อรอบเรียกว่า Scan Time โดยทั่วไปควรอยู่ที่ 1–50ms สำหรับงานทั่วไป ถ้า Scan Time เกิน Watchdog Timer ที่ตั้งไว้ PLC จะ Stop ทันทีเพื่อป้องกัน

ปัญหาที่พบบ่อยจาก Scan Time ผิดปกติ

สาเหตุที่ PLC Scan Time ช้า

1. โปรแกรมมีขนาดใหญ่มาก

Program ที่มีหลายพัน Rung หรือ Block ใช้เวลา Execute นาน โดยเฉพาะถ้ามีการใช้ Floating Point Calculation หรือ String Operation จำนวนมาก

2. Communication Block ใช้ Polling Rate สูงเกิน

ถ้า PLC ต้องทำ Modbus Read ทุก Scan (ทุก 1ms) แต่ Device ปลายทางตอบได้แค่ 50ms Scan Cycle จะรอ Response ทำให้ Scan Time ยาวขึ้น

3. Loop ที่ไม่สิ้นสุดในโปรแกรม

FOR Loop หรือ WHILE Loop ใน Structured Text ที่ Iteration มากเกินไปใน 1 Scan จะใช้ CPU Time นานมาก อาจ Trigger Watchdog ได้

4. Interrupt Routine ทำงานซ้อน

High-Speed Counter Interrupt หรือ Timed Interrupt ที่ Trigger บ่อยเกินไปแย่ง CPU Time จาก Main Scan

5. CPU Module เก่าหรือ Performance ไม่พอ

PLC รุ่นเก่าที่ Program ขนาดใหญ่ขึ้นเรื่อยๆ แต่ CPU Speed ยังเท่าเดิม Scan Time จะยาวขึ้นตาม

วิธีวินิจฉัยและแก้ Scan Time ช้า

  1. ตรวจ Scan Time จริง
    • Mitsubishi GX Works3: Online → PLC Diagnostics → Current Scan Time
    • Siemens TIA Portal: Online → Cycle Time ใน CPU Properties
    • Omron CX-Programmer: PLC Information → Cycle Time
  2. ระบุ Block/Rung ที่ใช้เวลานาน — ใช้ Program Profiling ถ้ามี หรือแบ่งโปรแกรมเป็นส่วนและวัด Scan Time ทีละส่วน
  3. ย้าย Heavy Calculation ออกจาก Main OB/Task — ใส่ใน Background Task หรือ Low-Priority Interrupt แทน
  4. ปรับ Communication Polling Rate — ถ้า Modbus Poll ทุก 5ms ให้เพิ่มเป็น 50–100ms ซึ่งพอสำหรับงานส่วนใหญ่
  5. ลด Loop Iteration ใน 1 Scan — แทน FOR Loop 1000 รอบใน Scan เดียว ให้แบ่งทำ 100 รอบต่อ Scan 10 Scan
  6. เพิ่ม Watchdog Timeout — ถ้า Logic จำเป็นจริงๆ ปรับ Watchdog Timer ให้สอดคล้อง แต่ต้องระวังว่า Watchdog มีไว้เพื่อป้องกัน
  7. Upgrade CPU Module — ถ้า Scan Time ยาวเพราะ CPU เก่า การ Upgrade เป็น FX5U หรือ S7-1500 ที่มี CPU Speed สูงกว่า 100 เท่า จะแก้ปัญหาถาวร

ค่า Scan Time แนะนำสำหรับงานแต่ละประเภท

ประเภทงานScan Time เป้าหมายWatchdog Timeout แนะนำ
Conveyor / Sequential Logic5–20ms200ms
PID Temperature Control10–100ms500ms
Motion Control (Servo)0.5–4ms50ms
Safety PLC (SIL)ตาม SIL Requirementตาม Standard IEC 61508
SCADA Data Collection100–500ms2000ms

ควรเรียกผู้เชี่ยวชาญเมื่อไหร่?

สรุป

Scan Time ที่เหมาะสมคือหัวใจของ PLC ที่ทำงานได้เชื่อถือได้ ตรวจ Scan Time จริงก่อน ระบุสาเหตุ แล้วค่อยแก้ตามลำดับ ทีม Xeniel Automation รับ Optimize PLC Program และ Upgrade CPU สำหรับโรงงานในชลบุรีและระยอง

PLC Scan Time ช้า? Xeniel Optimize ให้ได้เลย

Xeniel Automation รับ PLC Program Optimization และ CPU Upgrade ทุกยี่ห้อ ออนไซต์นิคมชลบุรีและระยอง ปรึกษาฟรีก่อนตัดสินใจ

ปรึกษาวิศวกรฟรี ทันที!
โทร 098-965-3845 | LINE: @xeniel.24

ตาราง: Scan Time ปกติ vs ผิดปกติ แต่ละ PLC ยี่ห้อ

PLC รุ่นScan Time ปกติWarning ZoneCritical Zone
Mitsubishi FX5U1–5 ms5–20 ms>20 ms (ต้องแก้)
Mitsubishi FX3U2–8 ms8–30 ms>30 ms
Siemens S7-12001–5 ms5–15 ms>15 ms
Siemens S7-3003–15 ms15–50 ms>50 ms
Omron CP1E/CJ2M1–5 ms5–20 ms>20 ms

วิธีวัด Scan Time จริงด้วย Software

Mitsubishi — GX Works3

  1. Online → Monitor → PLC Diagnostics
  2. ดูที่ Scan Time (Current, Min, Max)
  3. D8010 = Current Scan Time (ms × 0.1)
  4. D8011 = Min Scan Time, D8012 = Max Scan Time

Siemens — TIA Portal

  1. Online → Online & Diagnostics → Cycle Time
  2. ดู Actual Cycle Time และ Maximum Cycle Time

Omron — CX-Programmer

  1. PLC → Mode → Monitor Mode
  2. ดูที่ Cycle Time ใน PLC Info

วิธีแก้ Scan Time ช้า Step-by-Step

  1. ดู Program Structure ก่อน — เปิดดู Ladder ว่ามี Loop ซ้อน Loop ไหม มี FOR/NEXT หรือ WHILE ที่ไม่มี Exit Condition
  2. ย้าย Code ที่ไม่ต้องทำทุก Scan ไป Interrupt Routine — งานที่ต้องทำทุก 100ms ย้ายไป Fixed Scan Interrupt แทน
  3. ลด Communication Poll Rate — ถ้ามี HMI หรือ SCADA ที่ Poll ข้อมูลบ่อยมาก ลด Poll Rate ลง
  4. ใช้ Structured Program แบ่ง Task — แบ่ง Program เป็น Task ที่มี Priority ต่างกัน
  5. ปรับ Watchdog Time — ถ้า Scan Time สูงเป็นชั่วคราวเพิ่ม Watchdog Timeout แต่แก้สาเหตุจริงด้วย

ควรเรียกผู้เชี่ยวชาญเมื่อไหร่?

สรุป

PLC Scan Time ช้าแก้ได้ถ้ารู้ว่า Code ส่วนไหนกินเวลา วัด Scan Time จริงด้วย Software ก่อน แล้วค่อย Optimize ตามสาเหตุ โรงงานในชลบุรีและระยอง Xeniel Automation รับ Program Optimization ออนไซต์ได้ด่วน

Scan Time ช้า? Xeniel รับ Program Optimization ให้

Xeniel Automation รับ PLC Program Audit และ Optimization ทุกยี่ห้อ ออนไซต์ชลบุรีและระยอง

ปรึกษาฟรีทาง LINE โทร 098-965-3845