หน้าแรกคู่มือPLCพื้นฐาน PLC และ SamSoar2022จัดการ Sequence Control ปริมาณมาก
PLC
เริ่มต้น
10 นาที

จัดการ Sequence Control ปริมาณมาก

เรียนรู้การปรับปรุงระบบ Sequence Control ใน PLC จาก Stage Coil เป็น D-Tag และการใช้งาน Function Block สำหรับการคำนวณที่ซับซ้อน พร้อมตัวอย่างโค้ด

อัพเดทล่าสุด: 31/1/2569

ราคาชุดอุปกรณ์

฿3,690

การปรับปรุง Sequence Control ด้วยตัวแปร D-Tag

ในบทเรียนนี้เราจะเรียนรู้วิธีการปรับปรุงระบบ Sequence Control จากการใช้ State Coil มาเป็นการใช้ตัวแปร D-Tag และการใช้งาน Function Block สำหรับการคำนวณที่ซับซ้อน

การเปลี่ยนจาก State Coil เป็น D-Tag

ข้อดีของการใช้ D-Tag

  • ลดปริมาณโค้ดที่ต้องเขียน
  • ใช้ตัวแปรเดียวในการเก็บสถานะ ทำให้โค้ดอ่านง่ายขึ้น
  • ไม่ต้องใช้ State Coil หลายตัว
  • ลดความซับซ้อนในการจัดการ State

การแก้ไขโค้ด

1. การตั้งค่าเริ่มต้นและรีเซ็ต

แทนที่จะใช้ Reset Stage Coil หลายตัว ให้ใช้ MOV K0 D200 เพื่อล้างค่า stage ทั้งหมดในคำสั่งเดียว

Reset ระบบด้วย D-Tag
ใช้ M8150 (First Scan) เพื่อล้าง D200 ตอนเปิดเครื่อง
N0
PLC เปิดครั้งแรก → D200 = 0
M8150MOVK0, D200
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

2. การตรวจสอบและเปลี่ยน Stage

State Machine ด้วย D-Tag (4 Stage)
ใช้ LDW= เปรียบเทียบ D200 กับค่า Stage ปัจจุบัน แล้ว MOV ค่าถัดไป
N0
Stage 0 → 1
D200 = K0MOVK1, D200
Stage 1 → 2
D200 = K1MOVK2, D200
Stage 2 → 3
D200 = K2MOVK3, D200
Stage 3 → 1 (วนกลับ)
D200 = K3MOVK1, D200
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

3. การควบคุม Output

Output — ติดที่ Stage 1 หรือ Stage 3
ใช้ LDW= ขนาน (ORW=) เพื่อเปิด Output หลาย Stage
N0
M120 ON เมื่อ D200=1 หรือ D200=3
D200 = K1D200 = K3M120
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การใช้งาน Function Block

ความหมายของ Function Block

Function Block เป็นฟังก์ชันที่เขียนด้วยภาษา C เพื่อช่วยในการคำนวณที่ซับซ้อน เรียกอีกชื่อหนึ่งว่า Utility Function

ข้อดีของ Function Block

  • เขียนการคำนวณซับซ้อนได้ง่าย
  • ลดเวลาในการพัฒนา
  • ใช้ซ้ำได้หลายครั้ง
  • มี Library ให้เลือกใช้

วิธีการเรียกใช้ Function Block

1. การหา Function Block ที่มีอยู่

  1. ไปที่หัวข้อ Func-Block ในโปรแกรม
  2. Double-click ที่ Library
  3. เลือก Function ที่ต้องการ เช่น RPCI สำหรับหาเส้นรอบวงของวงกลม

2. การเขียนคำสั่ง

CALLM — เรียก Function Block (RPCI)
RPCI = หาเส้นรอบวง 2πr. Input D300 = รัศมี, Output D302 = เส้นรอบวง
N0
M300 ON → คำนวณเส้นรอบวง: D302 = 2π × D300
M300CALLMRPCI, D300, D302
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

3. ตัวอย่างการคำนวณเส้นรอบวง

// สูตร: เส้นรอบวง = 2πr
// เมื่อ D300 = 1, ผลลัพธ์ D302 = 6.28
// เมื่อ D300 = 3, ผลลัพธ์ D302 = 18.85

การทดสอบระบบ

ขั้นตอนการทดสอบ

  1. เปิด Auto Mode โดยเซ็ต M200 = ON
  2. ตรวจสอบ Safety ให้แน่ใจว่าไม่มีสิ่งขวาง
  3. กดปุ่ม Start เพื่อเริ่มระบบ
  4. สังเกตการทำงานของแต่ละ State:
    • State 1 → State 2 → State 3 → State 4 → State 1 (วนไป)

การตรวจสอบ Output

  • M120 จะติดเมื่อระบบอยู่ใน State 1 หรือ State 3
  • ระบบจะรอ M130 ติดเมื่ออยู่ใน State 3

เคล็ดลับการใช้งาน

สำหรับ D-Tag

  • ใช้ค่า D200 = 0 สำหรับสถานะเริ่มต้น
  • ใช้ค่า 1, 2, 3, 4 สำหรับแต่ละ State
  • ตรวจสอบเงื่อนไขด้วย LDW= เสมอ

สำหรับ Function Block

  • ศึกษา Input/Output ของ Function ก่อนใช้งาน
  • ตรวจสอบชนิดข้อมูล (Word, Float) ให้ตรงกัน
  • ใช้ Comment อธิบายการทำงานของ Function

สรุป

การปรับปรุง Sequence Control ด้วย D-Tag ทำให้โค้ดอ่านง่ายและบำรุงรักษาได้ดีกว่าการใช้ State Coil แบบเดิม การใช้ Function Block ช่วยให้สามารถทำการคำนวณที่ซับซ้อนได้อย่างมีประสิทธิภาพ ทั้งสองเทคนิคนี้จะช่วยให้การเขียนโปรแกรม PLC มีความยืดหยุ่นและใช้งานได้จริงมากขึ้น ในบทต่อไปเราจะมาเรียนรู้เรื่อง High Speed Input ซึ่งเป็นฟีเจอร์สำคัญสำหรับการประยุกต์ใช้ในระบบที่ต้องการความเร็วสูง