พิมพ์คำที่ต้องการค้นหา ทั้งภาษาไทยและอังกฤษ

  1. หน้าแรก
  2. คลังความรู้
  3. PLC
  4. PLC คืออะไร · สแกน

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

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

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

เขียนโดย อาจารย์มดอัปเดต
สรุปใน 30 วินาที
  • PLC = แหล่งจ่ายไฟ + CPU + หน่วยความจำ + โมดูล I/O + พอร์ตสื่อสาร
  • หนึ่งสแกน: อ่านอินพุตเข้าอิมเมจ → รันโปรแกรมบนลงล่าง → เขียนเอาต์พุต → งานระบบ
  • เวลาสแกนทั่วไป 1–20 ms · เวลาตอบสนองแย่ที่สุด ≈ หน่วงอินพุต + 2 สแกน + หน่วงเอาต์พุต
  • จุดแข็งคือความทนทานและการทำงานที่คาดเดาได้ (deterministic) ไม่ใช่ความเร็ว

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

PSU24 VDCCPUโปรแกรม · ข้อมูลไทเมอร์ · เคาน์เตอร์พอร์ตสื่อสารDIDOปุ่มกด · ซีเลกเตอร์ลิมิตสวิตช์พร็อกซิมิตี PNP/NPNหน้าสัมผัสโอเวอร์โหลดทรานสมิตเตอร์ 4–20 mAคอยล์คอนแทกเตอร์หลอดไฟ · ไซเรนโซลินอยด์วาล์วคำสั่ง VFDวาล์วควบคุม 4–20 mAHMI · SCADA · โปรแกรมเมอร์อินพุต → ตัดสินใจตามโปรแกรม → เอาต์พุต
รูป 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 ไม่ได้ “ดู” อินพุตตลอดเวลา ตอนต้นสแกนมันถ่ายรูปสถานะขั้วอินพุตทั้งหมดลงตาราง อิมเมจอินพุต จากนั้นรันโปรแกรมทีละรังจากบนลงล่างโดยอ่านจากรูปนั้น ผลของคอยล์เขียนลง อิมเมจเอาต์พุต ซึ่งส่งไปที่ขั้วเอาต์พุตพร้อมกันตอนจบสแกน การทำงานแบบนี้ทำให้ตลอดสแกนหนึ่งค่าอินพุตไม่เปลี่ยนกลางคัน ผลลัพธ์จึงคาดเดาได้

1 อ่านอินพุตขั้ว → อิมเมจ I2 รันโปรแกรมบน → ล่าง, ซ้าย → ขวา3 เขียนเอาต์พุตอิมเมจ Q → ขั้ว4 งานระบบสื่อสาร · ตรวจตัวเอง1 สแกนเวลาตอบสนองแย่ที่สุด ≈ 2 × สแกน + หน่วงอินพุต01234I0.0อิมเมจ IQ0.0สแกน → · ปุ่มเปลี่ยนกลางสแกน PLC เห็นสแกนถัดไป
รูป 2 · ขวา: ปุ่ม I0.0 เปลี่ยนกลางสแกนที่ 0 ถูกอ่านเข้าอิมเมจตอนต้นสแกนที่ 1 และเอาต์พุต Q0.0 เปลี่ยนตอนจบสแกนที่ 1 (เห็นที่ขั้วสแกนที่ 2)

F1 Scan time เวลาสแกน

tscan=tread I+tprogram+twrite Q+tcomm/diagt_{scan} = t_{read\,I} + t_{program} + t_{write\,Q} + t_{comm/diag}

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

tprogram≈Nbit tbit+Nword tword+Nreal trealt_{program} \approx N_{bit}\,t_{bit} + N_{word}\,t_{word} + N_{real}\,t_{real}

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

tin+tscan+tout  ≤  tresp  ≤  tin+2 tscan+toutt_{in} + t_{scan} + t_{out} \;\le\; t_{resp} \;\le\; t_{in} + 2\,t_{scan} + t_{out}

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

tpulse>tscan+tint_{pulse} > t_{scan} + t_{in}
ตัวอย่าง F-1

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

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

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

  3. ถ้าสายพานเร่งเป็น 3 m/s: t=10t = 10 ms < 13 ms → อาจหลุด ต้องใช้อินพุตความเร็วสูงหรือตัวนับฮาร์ดแวร์

  4. 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 PLCCPU คู่ ตรวจสอบตัวเอง ได้รับรอง 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 พร้อมสำรอง

NI/O=⌈1.2 Nrequired⌉(สำรอง 15–25 %)N_{I/O} = \left\lceil 1.2\,N_{required} \right\rceil \quad (\text{สำรอง 15–25 \%})
  1. ทำรายการ I/O: นับอินพุต-เอาต์พุตดิจิทัล แอนะล็อก อินพุตความเร็วสูง พร้อมชนิด (PNP/NPN, 4–20 mA)
  2. เวลาตอบสนองที่ต้องการ (F3) และฟังก์ชันพิเศษ (PID, ตัวนับ, การเคลื่อนที่)
  3. การสื่อสารกับ HMI ไดรฟ์ ระบบ SCADA ที่มีอยู่ในโรงงาน
  4. ความปลอดภัย: ต้องการ safety PLC/รีเลย์เซฟตี้หรือไม่
  5. สภาพแวดล้อม: อุณหภูมิตู้ ความชื้น การสั่น
  6. มาตรฐานของโรงงานและอะไหล่ที่มีอยู่ — ยี่ห้อที่ช่างดูแลเป็นอยู่แล้วมักคุ้มกว่ายี่ห้อที่ถูกกว่า

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

ถ้ากดปุ่มเร็วกว่าเวลาสแกน PLC จะเห็นไหม?

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

ทำไมเขียนคอยล์เดียวกันสองที่แล้วโปรแกรมทำงานผิด?

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

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