- หน้าแรก
- คลังความรู้
- PLC
- แลดเดอร์พื้นฐาน
// บทที่ 22.3 · PLC · Ladder Basics
แลดเดอร์ไดอะแกรมพื้นฐาน: หน้าสัมผัส NO NC คอยล์ AND OR ล็อกตัวเอง SET RESET ขอบสัญญาณ และพีชคณิตบูลีน
แลดเดอร์ถูกออกแบบให้ช่างไฟที่อ่านวงจรรีเลย์เป็นอ่านโปรแกรมได้ทันที รางซ้ายคือ “ไฟบวก” รางขวาคือ “ศูนย์” แต่ละขั้นบันได (rung) คือเส้นทางที่ไฟจะไหลถึงคอยล์ได้ถ้าหน้าสัมผัสปิดครบ สิ่งเดียวที่ต้องเปลี่ยนความคิดคือ หน้าสัมผัสในโปรแกรมตรวจ ค่าบิต ไม่ใช่ตรวจปุ่ม
- ─┤ ├─ NO: นำเมื่อบิต = 1 · ─┤/├─ NC: นำเมื่อบิต = 0 · ─( )─ คอยล์: เขียนผลลงบิต
- อนุกรม AND · ขนาน OR · NC NOT · ทุกรังคือสมการบูลีนหนึ่งสมการ
- ปุ่ม STOP ต่อ NC → ในโปรแกรมใช้ NO (สายขาด = หยุด)
- คอยล์หนึ่งตัวเขียนได้ที่เดียว · ขอบสัญญาณ P/N นำกระแสหนึ่งสแกน
องค์ประกอบของแลดเดอร์ พื้นฐาน
B1 AND (series) AND (อนุกรม)
B2 OR (parallel) OR (ขนาน)
B3 NOT (NC contact) NOT (หน้าสัมผัส NC)
| A | B | A·B | A+B | Ā | A⊕B |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
B4 De Morgan ทฤษฎีเดอมอร์แกน
B4 ใช้ทุกครั้งที่ต้องการ “ไม่ใช่ทั้งคู่” ในแลดเดอร์ เพราะแลดเดอร์พื้นฐานไม่มี NOT หน้าวงเล็บ ซิมูเลเตอร์ในหน้านี้ใช้กฎนี้แปลงสมการเป็นหน้าสัมผัส NO/NC ให้อัตโนมัติ
B5 XOR เอกซ์คลูซีฟ-ออร์ (สวิตช์สองทาง)
ปุ่ม STOP ที่ต่อ NC กับหน้าสัมผัสในโปรแกรม พื้นฐาน
B6 Motor latch in a PLC รังล็อกตัวเองใน PLC
ในซิมูเลเตอร์ อินพุตที่มีกรอบประคือปุ่ม NC: ไฟสีเขียวที่ I0.0 ติดอยู่แล้วโดยไม่ต้องกด ลองกด START แล้ว STOP และกดปุ่มโอเวอร์โหลดเพื่อจำลองการทริป
SET RESET และขอบสัญญาณ กลาง
คอยล์ SET (─(S)─) ทำให้บิตเป็น 1 เมื่อรังเป็นจริง และ คงค่าไว้ แม้รังจะเป็นเท็จ คอยล์ RESET (─(R)─) ทำให้เป็น 0 ใช้คู่กันแทนวงจรล็อกตัวเอง หน้าสัมผัสขอบขาขึ้น P (rising edge) นำกระแสเพียงหนึ่งสแกนตอนบิตเปลี่ยน 0→1 ขอบขาลง N นำหนึ่งสแกนตอน 1→0 ใช้นับครั้ง สลับสถานะ หรือสั่งงานครั้งเดียวต่อการกด
B7 Set/Reset with reset priority SET/RESET แบบ RESET มาก่อน (รัง R อยู่ล่าง)
B8 Rising edge (one-shot) ขอบขาขึ้น
ปุ่มเดียวกดติด กดดับ (toggle / flip-flop)
สร้างพัลส์หนึ่งสแกน:
ถ้ายังดับอยู่ให้ติด: · ถ้าติดอยู่ให้ดับ:
— สังเกตว่าเงื่อนไขทั้งสองอ่าน Q0.1 ค่าเดิมของสแกนก่อน จึงไม่ติดแล้วดับในสแกนเดียว ลองในซิมูเลเตอร์ตัวอย่าง “SET/RESET และขอบสัญญาณ”
กฎการเขียนที่ป้องกันบั๊ก กลาง
- คอยล์หนึ่งตัวเขียนที่เดียว — ถ้าเขียนสองรัง รังล่างทับรังบน (double coil)
- ใช้หน่วยความจำภายใน (M) เป็นตัวกลาง แล้วค่อยเขียนเอาต์พุตจริง (Q) ที่ท้ายโปรแกรม ทำให้ดูแลง่าย
- ตั้งชื่อสัญลักษณ์ (tag) ทุกบิต เช่น
M1_RunPB_Stop_NCไม่ใช้แอดเดรสเปล่า - เขียนคอมเมนต์ทุกรังว่า “ทำไม” ไม่ใช่ “ทำอะไร” (แลดเดอร์บอกอยู่แล้วว่าทำอะไร)
- เงื่อนไขความปลอดภัย (STOP, OL, E-stop status) วางซ้ายสุดของรัง อ่านเจอก่อน
คำถามที่พบบ่อย
หน้าสัมผัส NC ในโปรแกรมกับปุ่ม NC ที่ต่อจริงเหมือนกันไหม?
ไม่เหมือน หน้าสัมผัสในโปรแกรมตรวจ “ค่าบิต” ไม่ใช่สภาพปุ่ม หน้าสัมผัส NO ในโปรแกรมนำกระแสเมื่อบิตเป็น 1 หน้าสัมผัส NC นำกระแสเมื่อบิตเป็น 0 ปุ่ม STOP ที่ต่อ NC ทำให้บิตเป็น 1 ตอนปกติ จึงต้องใช้หน้าสัมผัส NO ในโปรแกรมเพื่อให้รังทำงานตอนปกติและหยุดเมื่อกด
ใช้ SET/RESET แทนวงจรล็อกตัวเองดีไหม?
ใช้ได้และอ่านง่ายในงานลำดับขั้น แต่ระวังสองเรื่อง: ถ้าทั้ง SET และ RESET เป็นจริงพร้อมกัน ตัวที่อยู่รังล่างกว่าชนะ และบิตที่ SET ไว้อาจคงค่าหลังไฟดับถ้าเป็นหน่วยความจำ retentive ทำให้เครื่องเดินเองเมื่อไฟกลับ งานมอเตอร์ทั่วไปวงจรล็อกตัวเองแบบเดิมปลอดภัยกว่าเพราะหลุดเองเมื่อ STOP