---
title: "PLC คืออะไร: โครงสร้าง CPU หน่วยความจำ I/O วงรอบการสแกน เวลาสแกน มาตรฐาน IEC 61131 และการเลือก PLC"
url: https://modsengineeringmath.com/learn/plc/plc-fundamentals/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-14
---

> พื้นฐาน PLC (Programmable Logic Controller) สำหรับงานอุตสาหกรรม: ประวัติจากตู้รีเลย์สู่ PLC สถาปัตยกรรม พาวเวอร์ซัพพลาย CPU หน่วยความจำ โมดูลอินพุตเอาต์พุต วงรอบการสแกนแบบอ่านอินพุต-รันโปรแกรม-เขียนเอาต์พุต อิมเมจ I/O เวลาสแกนและเวลาตอบสนอง พัลส์สั้นสุดที่จับได้ PLC แบบคอมแพกต์ โมดูลาร์ เซฟตี้ เทียบรีเลย์และไมโครคอนโทรลเลอร์ และขั้นตอนเลือก PLC

ฉบับ Markdown ของ https://modsengineeringmath.com/learn/plc/plc-fundamentals/ สำหรับผู้ช่วย AI และเครื่องมือค้นหา สูตรเขียนเป็น LaTeX ($…$ และ $$…$$) แล็บโต้ตอบและรูปมีเฉพาะในหน้าเว็บ

# PLC คืออะไร: โครงสร้าง CPU หน่วยความจำ I/O วงรอบการสแกน เวลาสแกน มาตรฐาน IEC 61131 และการเลือก PLC

THภาษาไทยENEnglish

// บทที่ 22.1 · PLC · What Is a PLC


ปี 1968 โรงงานเกียร์ของ General Motors ต้องการเลิกต่อสายตู้รีเลย์ใหม่ทุกครั้งที่เปลี่ยนรุ่นรถ โจทย์นั้นทำให้เกิด PLC เครื่องแรก (Modicon 084) ความคิดหลักยังเหมือนเดิมจนถึงวันนี้: คอมพิวเตอร์ที่ทนสภาพโรงงาน อ่านอินพุตจากสวิตช์และเซนเซอร์ ตัดสินใจด้วยโปรแกรมที่ช่างไฟอ่านเข้าใจ แล้วสั่งเอาต์พุต — ทำซ้ำอย่างคาดเดาได้ไม่รู้จบ

สรุปใน 30 วินาที

- PLC = แหล่งจ่ายไฟ + CPU + หน่วยความจำ + โมดูล I/O + พอร์ตสื่อสาร

- หนึ่งสแกน: อ่านอินพุตเข้าอิมเมจ → รันโปรแกรมบนลงล่าง → เขียนเอาต์พุต → งานระบบ

- เวลาสแกนทั่วไป 1–20 ms · เวลาตอบสนองแย่ที่สุด ≈ หน่วงอินพุต + 2 สแกน + หน่วงเอาต์พุต

- จุดแข็งคือความทนทานและการทำงานที่คาดเดาได้ (deterministic) ไม่ใช่ความเร็ว

## โครงสร้างของ PLC พื้นฐาน

รูป 1 · PLC เป็นตัวกลางระหว่างอุปกรณ์ภาคสนามสองฝั่ง: ฝั่งที่ “บอก” (ปุ่ม เซนเซอร์) และฝั่งที่ “ทำ” (คอนแทกเตอร์ วาล์ว ไฟ)

| ส่วน | หน้าที่ | สิ่งที่ควรรู้ |

| Power supply | แปลง 230 VAC เป็น 24 VDC ให้ CPU และ I/O | ใช้แหล่งแยกสำหรับโหลดภาคสนามที่กินกระแสมาก (โซลินอยด์) |

| CPU | รันโปรแกรม จัดการ I/O และการสื่อสาร | ดูความเร็วต่อคำสั่ง ขนาดหน่วยความจำ ฟังก์ชันพิเศษ (PID ตัวนับเร็ว) |

| Memory | เก็บโปรแกรม ข้อมูล ค่าตั้ง | ข้อมูลแบบ retentive คงค่าเมื่อไฟดับ (แบตเตอรี่/แฟลช) |

| Digital I/O | สัญญาณ 0/1 จากสวิตช์และไปยังคอยล์ | 24 VDC ซิงก์/ซอร์ส เอาต์พุตรีเลย์/ทรานซิสเตอร์ |

| Analog I/O | สัญญาณต่อเนื่อง 4–20 mA, 0–10 V | ความละเอียด 12–16 บิต ต้องสเกลเป็นหน่วยวิศวกรรม |

| Communication | คุยกับ HMI SCADA ไดรฟ์ PLC อื่น | Ethernet (PROFINET, EtherNet/IP, Modbus TCP) RS-485 (Modbus RTU) |

## วงรอบการสแกน กลาง

PLC ไม่ได้ “ดู” อินพุตตลอดเวลา ตอนต้นสแกนมันถ่ายรูปสถานะขั้วอินพุตทั้งหมดลงตาราง อิมเมจอินพุต จากนั้นรันโปรแกรมทีละรังจากบนลงล่างโดยอ่านจากรูปนั้น ผลของคอยล์เขียนลง อิมเมจเอาต์พุต ซึ่งส่งไปที่ขั้วเอาต์พุตพร้อมกันตอนจบสแกน การทำงานแบบนี้ทำให้ตลอดสแกนหนึ่งค่าอินพุตไม่เปลี่ยนกลางคัน ผลลัพธ์จึงคาดเดาได้

รูป 2 · ขวา: ปุ่ม I0.0 เปลี่ยนกลางสแกนที่ 0 ถูกอ่านเข้าอิมเมจตอนต้นสแกนที่ 1 และเอาต์พุต Q0.0 เปลี่ยนตอนจบสแกนที่ 1 (เห็นที่ขั้วสแกนที่ 2)

F1 Scan time เวลาสแกน

$$t_{scan} = t_{read\,I} + t_{program} + t_{write\,Q} + t_{comm/diag}$$

F2 Program execution estimate เวลารันโปรแกรมโดยประมาณ

$$t_{program} \approx N_{bit}\,t_{bit} + N_{word}\,t_{word} + N_{real}\,t_{real}$$

F3 Response time เวลาตอบสนองของระบบ

$$t_{in} + t_{scan} + t_{out} \;\le\; t_{resp} \;\le\; t_{in} + 2\,t_{scan} + t_{out}$$

F4 Shortest pulse surely seen พัลส์สั้นสุดที่ PLC จับได้แน่นอน

$$t_{pulse} > t_{scan} + t_{in}$$

ตัวอย่าง F-1

### สายพานวิ่ง 1.2 m/s ชิ้นงานยาว 30 mm ผ่านเซนเซอร์แสง PLC สแกน 10 ms ตัวกรองอินพุต 3 ms

- เวลาที่ชิ้นงานบังเซนเซอร์ $t = 0.030/1.2 = 25$ ms

- F4: ต้องมากกว่า $10 + 3 = 13$ ms → 25 ms จับได้ ✓ (เผื่อเกือบสองเท่า)

- ถ้าสายพานเร่งเป็น 3 m/s: $t = 10$ ms

- F3: เวลาตั้งแต่ชิ้นงานถึงเซนเซอร์จนลมเป่าคัดแยก (เอาต์พุตทรานซิสเตอร์ 0.1 ms + โซลินอยด์ 15 ms) แย่สุด ≈ 3 + 20 + 0.1 + 15 = 38 ms → ชิ้นงานเคลื่อนไป 46 mm ระหว่างนั้น ต้องติดหัวเป่าเลยเซนเซอร์ตามระยะนี้

## ชนิดของ PLC พื้นฐาน

| ชนิด | ลักษณะ | เหมาะกับ |

| Nano/Compact (ตัวเดียวจบ) | CPU และ I/O ในกล่องเดียว 10–60 จุด ขยายได้เล็กน้อย | เครื่องจักรเดี่ยว ปั๊ม งานอาคาร |

| Modular (แร็ค) | เลือก CPU และโมดูล I/O สื่อสาร ตามต้องการ หลายร้อยถึงหลายพันจุด | ไลน์ผลิต โรงงานกระบวนการ |

| Safety PLC | CPU คู่ ตรวจสอบตัวเอง ได้รับรอง SIL/PL | หยุดฉุกเฉิน ม่านแสง ประตูนิรภัย ระบบเผาไหม้ |

| PAC / IPC (soft PLC) | คอมพิวเตอร์อุตสาหกรรมรันรันไทม์ IEC 61131-3 | งานที่ต้องการคำนวณหนัก การเคลื่อนที่หลายแกน ข้อมูลมาก |

| Smart relay | รีเลย์โปรแกรมได้ จอเล็ก ฟังก์ชันบล็อก | งานเล็กมาก แทนรีเลย์ไม่กี่ตัว |

### PLC เทียบรีเลย์และไมโครคอนโทรลเลอร์

| เกณฑ์ | ตู้รีเลย์ | PLC | ไมโครคอนโทรลเลอร์ |

| แก้ลอจิก | เดินสายใหม่ | แก้โปรแกรม | แก้โปรแกรม (ต้องเขียน C) |

| ทนสภาพโรงงาน | สูง | สูง (IEC 61131-2 ทดสอบ EMC อุณหภูมิ การสั่น) | ผู้ใช้ต้องออกแบบเอง |

| การวินิจฉัย | ไล่วัดทีละจุด | ดูสถานะออนไลน์ บันทึกเหตุการณ์ | ขึ้นกับผู้เขียน |

| ความคาดเดาได้ | สูง | สูง (สแกนคงที่ watchdog) | ขึ้นกับการออกแบบ |

| ราคา/จุด | ต่ำเมื่องานเล็กมาก | ปานกลาง | ต่ำมาก |

## มาตรฐาน IEC 61131 กลาง

IEC 61131 ทำให้ความรู้ PLC ข้ามยี่ห้อได้ ส่วนที่ช่างและวิศวกรใช้บ่อย:

- ส่วนที่ 2 (อุปกรณ์): ชนิดอินพุต 24 VDC Type 1/2/3 ช่วงแรงดัน ON/OFF การทดสอบ EMC — รายละเอียดใน ต่อสาย I/O

- ส่วนที่ 3 (ภาษา): LD FBD ST SFC (และ IL ที่ถูกยกเลิกในฉบับ 2013) ชนิดข้อมูล ไทเมอร์ เคาน์เตอร์มาตรฐาน — ดู ภาษา IEC 61131-3

## เลือก PLC อย่างไร กลาง

F5 I/O count with spare จำนวนจุด I/O พร้อมสำรอง

$$N_{I/O} = \left\lceil 1.2\,N_{required} \right\rceil \quad (\text{สำรอง 15–25 \%})$$

- ทำรายการ I/O: นับอินพุต-เอาต์พุตดิจิทัล แอนะล็อก อินพุตความเร็วสูง พร้อมชนิด (PNP/NPN, 4–20 mA)

- เวลาตอบสนองที่ต้องการ (F3) และฟังก์ชันพิเศษ (PID, ตัวนับ, การเคลื่อนที่)

- การสื่อสารกับ HMI ไดรฟ์ ระบบ SCADA ที่มีอยู่ในโรงงาน

- ความปลอดภัย: ต้องการ safety PLC/รีเลย์เซฟตี้หรือไม่

- สภาพแวดล้อม: อุณหภูมิตู้ ความชื้น การสั่น

- มาตรฐานของโรงงานและอะไหล่ที่มีอยู่ — ยี่ห้อที่ช่างดูแลเป็นอยู่แล้วมักคุ้มกว่ายี่ห้อที่ถูกกว่า

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

ถ้ากดปุ่มเร็วกว่าเวลาสแกน PLC จะเห็นไหม?
อาจไม่เห็น อินพุตถูกอ่านครั้งเดียวตอนต้นสแกน ถ้าพัลส์สั้นกว่าเวลาสแกนบวกเวลากรองอินพุต อาจเกิดและหายไประหว่างการอ่านสองครั้ง สัญญาณเร็ว (เอนโค้ดเดอร์ เซนเซอร์นับชิ้นงานความเร็วสูง) ต้องใช้อินพุตความเร็วสูง ตัวนับฮาร์ดแวร์ หรืออินเตอร์รัปต์

ทำไมเขียนคอยล์เดียวกันสองที่แล้วโปรแกรมทำงานผิด?
เพราะ PLC ประมวลผลจากบนลงล่าง ค่าที่คอยล์ตัวล่างเขียนจะทับค่าจากตัวบนก่อนเอาต์พุตถูกส่งออกตอนจบสแกน ผลคือคอยล์ตัวบนดูเหมือนไม่ทำงาน (double coil syndrome) ให้รวมเงื่อนไขไว้ในรังเดียว หรือใช้ SET/RESET อย่างตั้งใจ

มด

อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์

## คำถามที่พบบ่อย (FAQ)

**ถ้ากดปุ่มเร็วกว่าเวลาสแกน PLC จะเห็นไหม?**
อาจไม่เห็น อินพุตถูกอ่านครั้งเดียวตอนต้นสแกน ถ้าพัลส์สั้นกว่าเวลาสแกนบวกเวลากรองอินพุต อาจเกิดและหายไประหว่างการอ่านสองครั้ง สัญญาณเร็ว (เอนโค้ดเดอร์ เซนเซอร์นับชิ้นงานความเร็วสูง) ต้องใช้อินพุตความเร็วสูง ตัวนับฮาร์ดแวร์ หรืออินเตอร์รัปต์

**ทำไมเขียนคอยล์เดียวกันสองที่แล้วโปรแกรมทำงานผิด?**
เพราะ PLC ประมวลผลจากบนลงล่าง ค่าที่คอยล์ตัวล่างเขียนจะทับค่าจากตัวบนก่อนเอาต์พุตถูกส่งออกตอนจบสแกน ผลคือคอยล์ตัวบนดูเหมือนไม่ทำงาน (double coil syndrome) ให้รวมเงื่อนไขไว้ในรังเดียว หรือใช้ SET/RESET อย่างตั้งใจ
