---
title: "แลดเดอร์ไดอะแกรมพื้นฐาน: หน้าสัมผัส NO NC คอยล์ AND OR ล็อกตัวเอง SET RESET ขอบสัญญาณ และพีชคณิตบูลีน"
url: https://modsengineeringmath.com/learn/plc/ladder-basics/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-14
---

> เรียนเขียนแลดเดอร์ไดอะแกรม (Ladder Diagram) สำหรับ PLC ตั้งแต่ต้น: อ่านแลดเดอร์เหมือนวงจรรีเลย์ หน้าสัมผัส NO NC คอยล์ วงจร AND OR NOT ตารางความจริง วงจรล็อกตัวเอง ทำไมปุ่ม STOP ที่ต่อ NC ต้องใช้หน้าสัมผัส NO ในโปรแกรม SET RESET ขอบขาขึ้นขาลง คอยล์ซ้ำ ทฤษฎีเดอมอร์แกน และรูปแบบแอดเดรสของ Siemens Mitsubishi Omron IEC พร้อมซิมูเลเตอร์

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

# แลดเดอร์ไดอะแกรมพื้นฐาน: หน้าสัมผัส NO NC คอยล์ AND OR ล็อกตัวเอง SET RESET ขอบสัญญาณ และพีชคณิตบูลีน

THภาษาไทยENEnglish

// บทที่ 22.3 · PLC · Ladder Basics


แลดเดอร์ถูกออกแบบให้ช่างไฟที่อ่านวงจรรีเลย์เป็นอ่านโปรแกรมได้ทันที รางซ้ายคือ “ไฟบวก” รางขวาคือ “ศูนย์” แต่ละขั้นบันได (rung) คือเส้นทางที่ไฟจะไหลถึงคอยล์ได้ถ้าหน้าสัมผัสปิดครบ สิ่งเดียวที่ต้องเปลี่ยนความคิดคือ หน้าสัมผัสในโปรแกรมตรวจ ค่าบิต ไม่ใช่ตรวจปุ่ม

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

- ─┤ ├─ NO: นำเมื่อบิต = 1 · ─┤/├─ NC: นำเมื่อบิต = 0 · ─( )─ คอยล์: เขียนผลลงบิต

- อนุกรม AND · ขนาน OR · NC NOT · ทุกรังคือสมการบูลีนหนึ่งสมการ

- ปุ่ม STOP ต่อ NC → ในโปรแกรมใช้ NO (สายขาด = หยุด)

- คอยล์หนึ่งตัวเขียนได้ที่เดียว · ขอบสัญญาณ P/N นำกระแสหนึ่งสแกน

## องค์ประกอบของแลดเดอร์ พื้นฐาน

รูป 1 · สี่รังพื้นฐาน: AND OR NOT และวงจรล็อกตัวเองของมอเตอร์ (เทียบกับวงจรคอนแทกเตอร์ใน DOL)

B1 AND (series) AND (อนุกรม)

$$Y = A \cdot B \qquad \text{ST: } Y := A \text{ AND } B;$$

B2 OR (parallel) OR (ขนาน)

$$Y = A + B \qquad \text{ST: } Y := A \text{ OR } B;$$

B3 NOT (NC contact) NOT (หน้าสัมผัส NC)

$$Y = \overline{A} \qquad \text{ST: } Y := \text{NOT } A;$$

| 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 ทฤษฎีเดอมอร์แกน

$$\overline{A\cdot B} = \overline{A} + \overline{B} \qquad \overline{A + B} = \overline{A}\cdot\overline{B}$$

B4 ใช้ทุกครั้งที่ต้องการ “ไม่ใช่ทั้งคู่” ในแลดเดอร์ เพราะแลดเดอร์พื้นฐานไม่มี NOT หน้าวงเล็บ ซิมูเลเตอร์ในหน้านี้ใช้กฎนี้แปลงสมการเป็นหน้าสัมผัส NO/NC ให้อัตโนมัติ

B5 XOR เอกซ์คลูซีฟ-ออร์ (สวิตช์สองทาง)

$$Y = A\overline{B} + \overline{A}B$$

## ปุ่ม STOP ที่ต่อ NC กับหน้าสัมผัสในโปรแกรม พื้นฐาน

รูป 2 · ข้อผิดพลาดยอดนิยมของผู้เริ่มต้น: “ปุ่ม STOP เป็น NC จึงเขียนเป็นหน้าสัมผัส NC” — ผลคือมอเตอร์ไม่เดินเลย เพราะบิต I0.0 = 1 ทำให้ NC ในโปรแกรมเปิดตลอด

B6 Motor latch in a PLC รังล็อกตัวเองใน PLC

$$Q0.0 = I0.0_{(\text{STOP, NC})}\cdot(I0.1_{(\text{START})} + Q0.0)\cdot I0.2_{(\text{OL 95-96, NC})}$$

ต้องเปิด JavaScript

ในซิมูเลเตอร์ อินพุตที่มีกรอบประคือปุ่ม 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 อยู่ล่าง)

$$Q_{k+1} = (S + Q_k)\cdot\overline{R}$$

B8 Rising edge (one-shot) ขอบขาขึ้น

$$P(A)_k = A_k\cdot\overline{A_{k-1}} \qquad N(A)_k = \overline{A_k}\cdot A_{k-1}$$

ตัวอย่าง B-1

### ปุ่มเดียวกดติด กดดับ (toggle / flip-flop)

- สร้างพัลส์หนึ่งสแกน: $M0.1 = P(I0.0)$

- ถ้ายังดับอยู่ให้ติด: $S\ M0.2 = M0.1\cdot\overline{Q0.1}$ · ถ้าติดอยู่ให้ดับ: $R\ M0.2 = M0.1\cdot Q0.1$

- $Q0.1 = M0.2$ — สังเกตว่าเงื่อนไขทั้งสองอ่าน Q0.1 ค่าเดิมของสแกนก่อน จึงไม่ติดแล้วดับในสแกนเดียว ลองในซิมูเลเตอร์ตัวอย่าง “SET/RESET และขอบสัญญาณ”

## กฎการเขียนที่ป้องกันบั๊ก กลาง

- คอยล์หนึ่งตัวเขียนที่เดียว — ถ้าเขียนสองรัง รังล่างทับรังบน (double coil)

- ใช้หน่วยความจำภายใน (M) เป็นตัวกลาง แล้วค่อยเขียนเอาต์พุตจริง (Q) ที่ท้ายโปรแกรม ทำให้ดูแลง่าย

- ตั้งชื่อสัญลักษณ์ (tag) ทุกบิต เช่น M1_Run PB_Stop_NC ไม่ใช้แอดเดรสเปล่า

- เขียนคอมเมนต์ทุกรังว่า “ทำไม” ไม่ใช่ “ทำอะไร” (แลดเดอร์บอกอยู่แล้วว่าทำอะไร)

- เงื่อนไขความปลอดภัย (STOP, OL, E-stop status) วางซ้ายสุดของรัง อ่านเจอก่อน

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

หน้าสัมผัส NC ในโปรแกรมกับปุ่ม NC ที่ต่อจริงเหมือนกันไหม?
ไม่เหมือน หน้าสัมผัสในโปรแกรมตรวจ “ค่าบิต” ไม่ใช่สภาพปุ่ม หน้าสัมผัส NO ในโปรแกรมนำกระแสเมื่อบิตเป็น 1 หน้าสัมผัส NC นำกระแสเมื่อบิตเป็น 0 ปุ่ม STOP ที่ต่อ NC ทำให้บิตเป็น 1 ตอนปกติ จึงต้องใช้หน้าสัมผัส NO ในโปรแกรมเพื่อให้รังทำงานตอนปกติและหยุดเมื่อกด

ใช้ SET/RESET แทนวงจรล็อกตัวเองดีไหม?
ใช้ได้และอ่านง่ายในงานลำดับขั้น แต่ระวังสองเรื่อง: ถ้าทั้ง SET และ RESET เป็นจริงพร้อมกัน ตัวที่อยู่รังล่างกว่าชนะ และบิตที่ SET ไว้อาจคงค่าหลังไฟดับถ้าเป็นหน่วยความจำ retentive ทำให้เครื่องเดินเองเมื่อไฟกลับ งานมอเตอร์ทั่วไปวงจรล็อกตัวเองแบบเดิมปลอดภัยกว่าเพราะหลุดเองเมื่อ STOP

มด

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

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

**หน้าสัมผัส NC ในโปรแกรมกับปุ่ม NC ที่ต่อจริงเหมือนกันไหม?**
ไม่เหมือน หน้าสัมผัสในโปรแกรมตรวจ “ค่าบิต” ไม่ใช่สภาพปุ่ม หน้าสัมผัส NO ในโปรแกรมนำกระแสเมื่อบิตเป็น 1 หน้าสัมผัส NC นำกระแสเมื่อบิตเป็น 0 ปุ่ม STOP ที่ต่อ NC ทำให้บิตเป็น 1 ตอนปกติ จึงต้องใช้หน้าสัมผัส NO ในโปรแกรมเพื่อให้รังทำงานตอนปกติและหยุดเมื่อกด

**ใช้ SET/RESET แทนวงจรล็อกตัวเองดีไหม?**
ใช้ได้และอ่านง่ายในงานลำดับขั้น แต่ระวังสองเรื่อง: ถ้าทั้ง SET และ RESET เป็นจริงพร้อมกัน ตัวที่อยู่รังล่างกว่าชนะ และบิตที่ SET ไว้อาจคงค่าหลังไฟดับถ้าเป็นหน่วยความจำ retentive ทำให้เครื่องเดินเองเมื่อไฟกลับ งานมอเตอร์ทั่วไปวงจรล็อกตัวเองแบบเดิมปลอดภัยกว่าเพราะหลุดเองเมื่อ STOP
