จัดการ Sequence Control ปริมาณมาก
เรียนรู้การปรับปรุงระบบ Sequence Control ใน PLC จาก Stage Coil เป็น D-Tag และการใช้งาน Function Block สำหรับการคำนวณที่ซับซ้อน พร้อมตัวอย่างโค้ด
อัพเดทล่าสุด: 31/1/2569
ราคาชุดอุปกรณ์
การปรับปรุง 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 หลายตัว:// เปลี่ยนจาก Reset S1, S2, S3, S4
// เป็นการ Move ค่า 0 ไปที่ D200
MOVW K0 D200
2. การตรวจสอบและเปลี่ยน Stage
// Stage 1: ตรวจสอบว่า D200 = 0 หรือไม่
LDW= D200 K0
// เริ่ม Stage 1
MOV K1 D200
// Stage 2: ตรวจสอบว่า D200 = 1 หรือไม่
LDW= D200 K1
// ไป Stage 2
MOV K2 D200
// Stage 3: ตรวจสอบว่า D200 = 2 หรือไม่
LDW= D200 K2
// ไป Stage 3
MOV K3 D200
// Stage 4: ตรวจสอบว่า D200 = 3 หรือไม่
LDW= D200 K3
// กลับ Stage 1
MOV K1 D200
3. การควบคุม Output
// Output ติดที่ Stage 1 และ Stage 3
LDW= D200 K1
LDW= D200 K3 (ขนาน)
OUT M120
การใช้งาน Function Block
ความหมายของ Function Block
Function Block เป็นฟังก์ชันที่เขียนด้วยภาษา C เพื่อช่วยในการคำนวณที่ซับซ้อน เรียกอีกชื่อหนึ่งว่า Utility Functionข้อดีของ Function Block
- เขียนการคำนวณซับซ้อนได้ง่าย
- ลดเวลาในการพัฒนา
- ใช้ซ้ำได้หลายครั้ง
- มี Library ให้เลือกใช้
วิธีการเรียกใช้ Function Block
1. การหา Function Block ที่มีอยู่
- ไปที่หัวข้อ Func-Block ในโปรแกรม
- Double-click ที่ Library
- เลือก Function ที่ต้องการ เช่น
RPCIสำหรับหาเส้นรอบวงของวงกลม
2. การเขียนคำสั่ง
// ใช้คำสั่ง CALLM สำหรับเรียก Function Block
LD M300
CALLN RPCI D300 D302
// D300 = Radius (รัศมี)
// D302 = Perimeter (เส้นรอบวง)
3. ตัวอย่างการคำนวณเส้นรอบวง
// สูตร: เส้นรอบวง = 2πr
// เมื่อ D300 = 1, ผลลัพธ์ D302 = 6.28
// เมื่อ D300 = 3, ผลลัพธ์ D302 = 18.85
การทดสอบระบบ
ขั้นตอนการทดสอบ
- เปิด Auto Mode โดยเซ็ต M200 = ON
- ตรวจสอบ Safety ให้แน่ใจว่าไม่มีสิ่งขวาง
- กดปุ่ม Start เพื่อเริ่มระบบ
- สังเกตการทำงานของแต่ละ 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 ซึ่งเป็นฟีเจอร์สำคัญสำหรับการประยุกต์ใช้ในระบบที่ต้องการความเร็วสูง
ควรอ่านก่อน:
อ่านต่อ:
มีคำถาม? ติดต่อทีมงาน
