---
title: "อนาล็อก PID และการสั่งงานอินเวอร์เตอร์ด้วย PLC: สเกล 4–20 mA บล็อก PID ปั๊มแรงดันคงที่ และ Modbus RTU"
url: https://modsengineeringmath.com/learn/plc/analog-pid-vfd/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-14
---

> งานแอนะล็อกใน PLC ครบชุด: ความละเอียด ADC สูตรสเกลค่าดิบเป็นหน่วยวิศวกรรม (Siemens 0–27648 Mitsubishi Omron) ตรวจสายขาดตาม NE 43 บล็อก PID แบบ positional และ discrete ค่าตั้ง Kp Ti Td การปรับจูนเบื้องต้น ตัวอย่างปั๊มแรงดันคงที่ สั่งอินเวอร์เตอร์ด้วยดิจิทัล อนาล็อก และ Modbus RTU พร้อมแผนที่รีจิสเตอร์ตัวอย่าง control word สถานะ และความถี่หน่วย 0.01 Hz

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

# อนาล็อก PID และการสั่งงานอินเวอร์เตอร์ด้วย PLC: สเกล 4–20 mA บล็อก PID ปั๊มแรงดันคงที่ และ Modbus RTU

THภาษาไทยENEnglish

// บทที่ 22.8 · PLC · Analog, PID & VFD


โลกจริงไม่ได้มีแค่ 0 กับ 1: ความดัน ระดับ อุณหภูมิ และความเร็วมอเตอร์เป็นค่าต่อเนื่อง หน้านี้พาจากตัวเลขดิบในโมดูลแอนะล็อกไปสู่ลูปควบคุมความดันที่สั่งอินเวอร์เตอร์ ซึ่งเป็นงานที่พบมากที่สุดในอาคารและโรงงาน

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

- สเกล: $y = y_{min} + (x - x_{min})(y_{max} - y_{min})/(x_{max} - x_{min})$ คำนวณเป็น REAL

- ต่ำกว่า 3.6 mA หรือเกิน 21 mA = ความผิดพลาด ไม่ใช่ค่าวัด

- PID: $u = K_p\left(e + \frac{1}{T_i}\int e\,dt + T_d\frac{de}{dt}\right)$ · เริ่มจูนด้วย PI

- สั่ง VFD: DI + AI ง่ายที่สุด · Modbus ได้ข้อมูลกลับ (กระแส ความผิดพลาด) ด้วยสายคู่เดียว

## จากค่าดิบสู่หน่วยวิศวกรรม พื้นฐาน

รูป 1 · ทรานสมิตเตอร์ความดัน 0–10 bar 4–20 mA เข้าโมดูลแอนะล็อกที่ให้ค่าดิบ 0–27648

P1 Linear scaling สเกลเชิงเส้น

$$y = y_{min} + (x - x_{min})\,\frac{y_{max} - y_{min}}{x_{max} - x_{min}}$$

P2 Resolution ความละเอียดต่อหนึ่งหน่วยดิบ

$$\Delta y = \frac{y_{max} - y_{min}}{x_{max} - x_{min}} \qquad \text{เช่น } \frac{10\ \text{bar}}{27648} = 0.36\ \text{mbar}$$

P3 Signal validity (NAMUR NE 43) ตรวจความถูกต้องของสัญญาณ

$$3.8 \le I \le 20.5\ \text{mA ค่าวัดเชื่อได้} \qquad I \le 3.6 \text{ หรือ } I \ge 21\ \text{mA → ความผิดพลาด}$$

ตัวอย่าง P-1

### สเกลค่าดิบ 13824 ด้วย INT แล้วเกิดศูนย์

- ผิด: Bar := Raw / 27648 * 10; ใช้ INT → 13824/27648 = 0 (ปัดทิ้ง) → 0 bar

- ผิดอีกแบบ: Raw * 10 / 27648 ด้วย INT → 27648 × 10 = 276480 ล้น INT

- ถูก: Bar := INT_TO_REAL(Raw) * 10.0 / 27648.0; → 5.0 bar

- ตรวจ P3: โมดูล Siemens ให้ค่าดิบติดลบเมื่อกระแสต่ำกว่า 4 mA (ลงไปถึง −4864 ≈ 1.185 mA) และเมื่อเปิดการวินิจฉัยสายขาดจะรายงานค่าพิเศษ (32767) — ตรวจทั้งช่วงค่าดิบตาม P3 และบิตสถานะของโมดูล

## บล็อก PID ใน PLC กลาง

รูป 2 · ลูปความดันคงที่: SP − PV = e → PID → ความถี่ → VFD → ปั๊ม → ความดัน → ทรานสมิตเตอร์

P4 PID (standard form) PID แบบมาตรฐาน

$$u(t) = K_p\left(e + \frac{1}{T_i}\int_0^t e\,d\tau + T_d\,\frac{de}{dt}\right) \qquad e = SP - PV$$

P5 Discrete PID PID ดิจิทัล (คาบสุ่ม $T_s$)

$$u_k = K_p\left(e_k + \frac{T_s}{T_i}\sum_{j=0}^{k} e_j - \frac{T_d}{T_s}(PV_k - PV_{k-1})\right)$$

เทอมอนุพันธ์ใช้ PV แทน e (derivative on measurement) เพื่อไม่ให้กระชากเมื่อเปลี่ยน SP และต้องมี anti-windup: เมื่อเอาต์พุตชนขีด (เช่น 50 Hz) ให้หยุดสะสมอินทิกรัล งานปั๊ม-พัดลมส่วนใหญ่ใช้แค่ PI (Td = 0) เพราะสัญญาณความดันมีสัญญาณรบกวนมาก

### จูนเริ่มต้นสำหรับปั๊มแรงดันคงที่

- เริ่ม Kp เล็ก (เช่น 0.5 ของสเกลเต็ม) Ti ยาว (เช่น 5 s) Td = 0

- เพิ่ม Kp จนเริ่มแกว่ง แล้วลดลงครึ่งหนึ่ง

- ลด Ti ทีละน้อยจนค่ากลับเข้าเป้าเร็วพอโดยไม่แกว่ง (ปกติ 1–5 s สำหรับความดันน้ำ)

- ทดสอบด้วยการเปิด-ปิดก๊อกจริง ดูทั้งการตกและการพุ่งเกิน

ทดลองผลของ Kp Ti Td ได้ใน แล็บ PID และลูปความดันกับปั๊ม VFD ใน แล็บวัดคุมเสมือน

## สั่งอินเวอร์เตอร์จาก PLC กลาง

| วิธี | สาย | ข้อดี | ข้อจำกัด |

| ดิจิทัล + preset speed | DO → DI หลายเส้น | ง่าย ทนสัญญาณรบกวน | ได้ไม่กี่ความเร็ว |

| ดิจิทัล + แอนะล็อก | DO → RUN · AO → AI (4–20 mA) | ปรับต่อเนื่อง เข้าใจง่าย | ได้ข้อมูลกลับเพียงสิ่งที่เดินสายไว้ (AO, รีเลย์) |

| Modbus RTU (RS-485) | สายคู่บิดเกลียว 1 คู่ ต่อหลายไดรฟ์ | อ่านกระแส ความถี่ ความผิดพลาด ตั้งพารามิเตอร์ได้ | ต้องตั้งค่าการสื่อสาร ตอบสนองช้ากว่าเมื่อมีหลายสถานี |

| Industrial Ethernet | PROFINET EtherNet/IP Modbus TCP EtherCAT | เร็ว ข้อมูลมาก วินิจฉัยครบ | ต้องการโมดูลและการตั้งค่าเครือข่าย |

P6 Frequency setpoint over Modbus ค่าความถี่ที่ส่งทาง Modbus

$$\text{Reg} = \frac{f}{0.01\ \text{Hz}} \quad (35.5\ \text{Hz} \to 3550) \qquad \text{หรือ} \quad \text{Reg} = \frac{f}{f_{max}}\times \text{Scale}_{100\%}$$

แผนที่รีจิสเตอร์ตัวอย่าง (สมมติเพื่อการเรียน — ทุกยี่ห้อต่างกัน ต้องใช้คู่มือจริง)

| รีจิสเตอร์ | ชื่อ | อ่าน/เขียน | ค่า |

| 40001 | Control word | W | บิต 0 = RUN · บิต 1 = REV · บิต 2 = RESET |

| 40002 | Frequency reference | W | 0.01 Hz |

| 40011 | Status word | R | บิต 0 = Ready · บิต 1 = Running · บิต 3 = Fault |

| 40012 | Output frequency | R | 0.01 Hz |

| 40013 | Output current | R | 0.1 A |

| 40014 | Fault code | R | รหัสตามคู่มือ |

การต่อ RS-485 การคำนวณ CRC-16 และเครื่องสร้างเฟรมอยู่ใน Modbus RTU · TCP ข้อควรจำ: ตั้ง “communication timeout” ในไดรฟ์ ถ้า PLC เงียบเกินเวลาที่ตั้งให้ไดรฟ์หยุด มิฉะนั้นเมื่อสายสื่อสารขาด ไดรฟ์จะเดินค้างที่ความถี่สุดท้าย

ตัวอย่าง P-2

### PLC ส่ง 4–20 mA ให้ VFD ช่วง 20–50 Hz ต้องการ 42 Hz

- กลับสูตร P1: $I = 4 + 16\,(42 - 20)/(50 - 20) = 4 + 11.73 = 15.73$ mA

- ถ้าเอาต์พุตแอนะล็อก 0–27648 = 4–20 mA: ค่าดิบ $= 27648 \times 11.73/16 = 20275$

- ตั้งไดรฟ์ให้ตรวจ AI ต่ำกว่า 2 mA ว่าสายขาด และเลือกการตอบสนอง (หยุด/ความเร็วสำรอง)

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

ใช้ PID ใน PLC หรือใน VFD ดีกว่า?
ถ้าเป็นลูปเดียวที่ทรานสมิตเตอร์ต่อเข้า VFD ได้ตรง PID ใน VFD ง่ายและตอบสนองเร็ว ทำงานต่อได้แม้ PLC ขัดข้อง ถ้าต้องประสานหลายปั๊ม มีหลายเงื่อนไข หรือต้องบันทึกและปรับจาก SCADA PID ใน PLC ยืดหยุ่นกว่า

Modbus สั่งความถี่ 35.5 Hz ต้องส่งค่าอะไร?
ขึ้นกับหน่วยของรีจิสเตอร์ในคู่มือไดรฟ์ ไดรฟ์หลายยี่ห้อใช้หน่วย 0.01 Hz จึงส่ง 3550 บางยี่ห้อใช้สัดส่วนของความถี่สูงสุด เช่น 0–16384 หรือ 0–10000 = 0–100 % ต้องอ่านคู่มือและทดสอบด้วยค่าต่ำก่อนเสมอ

มด

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

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

**ใช้ PID ใน PLC หรือใน VFD ดีกว่า?**
ถ้าเป็นลูปเดียวที่ทรานสมิตเตอร์ต่อเข้า VFD ได้ตรง PID ใน VFD ง่ายและตอบสนองเร็ว ทำงานต่อได้แม้ PLC ขัดข้อง ถ้าต้องประสานหลายปั๊ม มีหลายเงื่อนไข หรือต้องบันทึกและปรับจาก SCADA PID ใน PLC ยืดหยุ่นกว่า

**Modbus สั่งความถี่ 35.5 Hz ต้องส่งค่าอะไร?**
ขึ้นกับหน่วยของรีจิสเตอร์ในคู่มือไดรฟ์ ไดรฟ์หลายยี่ห้อใช้หน่วย 0.01 Hz จึงส่ง 3550 บางยี่ห้อใช้สัดส่วนของความถี่สูงสุด เช่น 0–16384 หรือ 0–10000 = 0–100 % ต้องอ่านคู่มือและทดสอบด้วยค่าต่ำก่อนเสมอ
