IEC 61131-3 คืออะไร? มาตรฐานภาษาโปรแกรม PLC ที่วิศวกรอุตสาหกรรมต้องรู้

ในโลกของระบบควบคุมอัตโนมัติ PLC (Programmable Logic Controller) ถือเป็นหัวใจสำคัญที่ขับเคลื่อนกระบวนการผลิตทุกอุตสาหกรรม แต่หลายคนอาจไม่ทราบว่า ภาษาที่ใช้เขียนโปรแกรม PLC นั้นมี มาตรฐานสากล กำหนดไว้ชัดเจนภายใต้ IEC 61131-3 ซึ่งเป็นส่วนที่ 3 ของมาตรฐาน IEC 61131 ที่จัดทำโดย International Electrotechnical Commission

มาตรฐานนี้กำหนด ภาษาโปรแกรม 5 ภาษา ที่สามารถใช้เขียนโปรแกรมควบคุม PLC ได้ ทำให้วิศวกรทั่วโลกสามารถพัฒนาโปรแกรมที่เข้าใจร่วมกัน ลดความซับซ้อนในการดูแลรักษา และยกระดับคุณภาพของระบบควบคุมอุตสาหกรรม

5 ภาษาโปรแกรม PLC ตามมาตรฐาน IEC 61131-3

1. Ladder Diagram (LD) — ภาษาบันได

Ladder Diagram หรือ LD เป็นภาษากราฟิกที่ออกแบบมาให้คล้ายกับ วงจรรีเลย์แบบดั้งเดิม ที่ช่างไฟฟ้าและวิศวกรควบคุมคุ้นเคยกันดี โครงสร้างประกอบด้วยเส้นไฟฟ้าสองเส้นแนวตั้ง (Rail) ซ้าย-ขวา และวงจรลอจิกที่เรียงเป็นขั้นบันได (Rung)

จุดเด่น: อ่านง่าย ตรวจสอบง่าย เหมาะกับ Discrete Logic เช่น ON/OFF Control, Interlocking, Sequential Control

ข้อจำกัด: ไม่เหมาะกับงานคำนวณซับซ้อน หรือ Analog Signal Processing

2. Structured Text (ST) — ภาษาโครงสร้าง

Structured Text หรือ ST เป็นภาษาแบบ High-Level Text-Based ที่มีรูปแบบคล้ายภาษา Pascal รองรับโครงสร้างการเขียนโปรแกรมที่ทรงพลัง เช่น IF-THEN-ELSE, CASE, FOR, WHILE, REPEAT รวมถึงการเรียกใช้ Function และ Function Block

จุดเด่น: เหมาะกับ งานคำนวณซับซ้อน เช่น PID Control, Mathematical Algorithm, Data Processing, String Manipulation

ข้อจำกัด: วิศวกรไฟฟ้าที่ไม่คุ้นเคยกับ Programming อาจใช้เวลาเรียนรู้มากกว่า

3. Function Block Diagram (FBD) — ผังบล็อกฟังก์ชัน

FBD ใช้ บล็อกกราฟิก แทนฟังก์ชันต่างๆ เช่น AND, OR, NOT, Timer, Counter, PID Block โดยเชื่อมต่อข้อมูลเข้า (Input) และข้อมูลออก (Output) ด้วยเส้นเชื่อม (Connection Wire) ทำให้เห็น การไหลของข้อมูล ได้อย่างชัดเจน

จุดเด่น: เหมาะกับ Process Control เช่น ควบคุมอุณหภูมิ ความดัน ระดับ ของเหลว ที่ต้องใช้ Analog Signal ผสมกับ Logic

ข้อจำกัด: โปรแกรมขนาดใหญ่อาจดูซับซ้อน ต้องจัดระเบียบบล็อกให้ดี

4. Instruction List (IL) — รายการคำสั่ง

IL เป็นภาษาแบบ Assembly-like Text ที่ใช้คำสั่งสั้นๆ เช่น LD (Load), ST (Store), AND, OR, ADD, SUB เรียงตามลำดับ แต่ละคำสั่งทำงานทีละบรรทัด

จุดเด่น: ประสิทธิภาพสูง ทำงานเร็ว ใช้หน่วยความจำน้อย เหมาะกับ PLC รุ่นเก่าที่มีทรัพยากรจำกัด

ข้อจำกัด: อ่านยาก ดูแลรักษายาก ปัจจุบัน ถูกลดความสำคัญ ใน IEC 61131-3 Ed.3 และหลายแพลตฟอร์มเลิกรองรับแล้ว

5. Sequential Function Chart (SFC) — ผังลำดับการทำงาน

SFC ได้แรงบันดาลใจจากมาตรฐาน IEC 848 (Grafcet) ใช้แสดง ขั้นตอนการทำงานแบบลำดับ ผ่าน Step (ขั้นตอน) และ Transition (เงื่อนไขเปลี่ยนผ่าน) รองรับทั้ง Linear Sequence, Branch (Divergence/Convergence) และ Parallel Execution

จุดเด่น: เหมาะกับ Sequential Process เช่น สายประกอบ, กระบวนการ Batch, ระบบขนถ่ายวัสดุ ที่มีขั้นตอนชัดเจน

ข้อจำกัด: ไม่เหมาะกับ Logic ที่ไม่มีลำดับชัดเจน เช่น Interlocking ที่ต้องตอบสนองแบบ Event-Driven

เปรียบเทียบ 5 ภาษาโปรแกรม PLC

ภาษา ประเภท เหมาะกับงาน ความยาก ความนิยม
LD Graphical Discrete Logic, Interlocking ⭐ ต่ำ ⭐⭐⭐⭐⭐
ST Text-Based คำนวณ, Algorithm, Data Processing ⭐⭐⭐ กลาง ⭐⭐⭐⭐⭐
FBD Graphical Process Control, Analog Loop ⭐⭐ ต่ำ-กลาง ⭐⭐⭐⭐
IL Text-Based งานเฉพาะทาง, PLC รุ่นเก่า ⭐⭐⭐⭐ สูง ⭐⭐
SFC Graphical Sequential Process, Batch Control ⭐⭐ ต่ำ-กลาง ⭐⭐⭐

การเลือกใช้ภาษาให้เหมาะกับงาน (Selection Guide)

ในทางปฏิบัติ ไม่มีภาษาใดดีที่สุด — แต่ละภาษามีจุดแข็งเฉพาะทาง วิศวกรที่เก่งจะ ผสมผสานหลายภาษา ในโปรเจกต์เดียวกัน ซึ่ง IEC 61131-3 อนุญาตให้ทำได้ ยกตัวอย่างเช่น:

  • สายประกอบ (Assembly Line): ใช้ SFC กำหนดลำดับขั้นตอนหลัก → LD เขียน Interlocking → ST คำนวณตำแหน่งเซอร์โว
  • ควบคุมกระบวนการ (Process Control): ใช้ FBD สร้าง PID Loop → ST เขียน Alarm Logic → SFC จัดการ Batch Recipe
  • ระบบขนถ่ายวัสดุ (Material Handling): ใช้ LD ควบคุม Conveyor → SFC จัดการลำดับการทำงาน → ST คำนวณน้ำหนัก

💡 Tip: IEC 61131-3 รองรับ Multi-Language Programming ภายในโปรเจกต์เดียว ทำให้วิศวกรเลือกใช้ภาษาที่เหมาะสมที่สุดสำหรับแต่ละส่วนของระบบ โดยเฉพาะในโปรเจกต์ขนาดใหญ่ที่มีทั้ง Discrete และ Process Control

ฟีเจอร์สำคัญอื่นๆ ของ IEC 61131-3

นอกจาก 5 ภาษาโปรแกรมแล้ว มาตรฐานยังกำหนด โครงสร้างโปรแกรม ที่สำคัญดังนี้:

  • POU (Program Organization Unit): หน่วยย่อยของโปรแกรม แบ่งเป็น Program, Function Block, Function
  • Variable Declaration: ประกาศตัวแปรแบบ Strongly-Typed รองรับชนิดข้อมูล BOOL, INT, REAL, TIME, STRING ฯลฯ
  • Task Configuration: กำหนด Priority และ Execution Cycle ของแต่ละ Task (Cyclic, Event-Driven)
  • User-Defined Data Types: สร้าง STRUCT, ENUM, ARRAY เพื่อจัดการข้อมูลซับซ้อน

เทรนด์ปัจจุบัน: ภาษา ST กำลังครองใจ

ในช่วง 5 ปีที่ผ่านมา Structured Text (ST) กลายเป็นภาษาที่ได้รับความนิยมเพิ่มขึ้นอย่างต่อเนื่อง สาเหตุหลักมาจาก:

  1. ความสามารถในการเขียน Algorithm ซับซ้อน เช่น Motion Control Profile, Statistical Calculation
  2. การเชื่อมต่อกับ IIoT Platform ที่ต้องจัดการข้อมูล JSON, REST API Call
  3. รองรับ Object-Oriented Programming (ใน IEC 61131-3 Ed.3) ทำให้โค้ดนำกลับมาใช้ซ้ำได้ดีขึ้น
  4. เหมาะกับ Version Control (Git) เพราะเป็น Text-Based ต่างจาก Graphical Language

อย่างไรก็ตาม LD ยังคงเป็นภาษาหลัก ในอุตสาหกรรมไทยส่วนใหญ่ โดยเฉพาะโรงงานที่มีช่างไฟฟ้าที่ต้องดูแลโปรแกรม PLC เป็นประจำ

Key Takeaways — สรุปสิ่งสำคัญ

  1. IEC 61131-3 กำหนดภาษาโปรแกรม PLC มาตรฐานสากล 5 ภาษา: LD, ST, FBD, IL, SFC
  2. LD (Ladder Diagram) เหมาะกับ Discrete Logic, Interlocking — ยังเป็นภาษายอดนิยมในอุตสาหกรรมไทย
  3. ST (Structured Text) เหมาะกับงานคำนวณซับซ้อน, IIoT Integration — เป็นเทรนด์ที่กำลังเติบโต
  4. FBD เหมาะกับ Process Control, SFC เหมาะกับ Sequential Process, IL ลดความสำคัญลง
  5. สามารถ ผสมผสานหลายภาษา ในโปรเจกต์เดียว ตามความเหมาะสมของแต่ละส่วนงาน
  6. มาตรฐานรองรับ POU, Strongly-Typed Variables, Task Configuration ที่ช่วยยกระดับคุณภาพโปรแกรม
  7. IEC 61131-3 Edition 3 เพิ่ม Object-Oriented Programming ให้ PLC Programming ทันสมัยขึ้น