ตัวอย่างการ เขียน Program PLC ภาษา Ladder diagram ควบคุมกระบอกสูบ นิวเมติกส์
ตัวอย่างการ เขียน Program PLC ภาษา Ladder diagram ควบคุมกระบอกสูบ นิวเมติกส์
ตอนผมเริ่มต้นเขียน โปรแกรม PLC ใหม่ ผมเริ่มจากการ เขียนการควบคุม กระบอกสูบ นิวเมติกส์ โดยการควบคุม แบบ สเต็ป ต่อ สเต็ป โดยกระบอก 1 ทำเสร็จ กระบอก 2 ทำต่อ ประมาณนี้ ครับ ซึ่งผมคิดว่า การควบคุมแบบนี้น่าจะ ช่วยให้ มองการเขียนโปรแกรมได้ง่ายขึ้น นะครับในตัวอย่างนี้ จะเป็นการเขียนโปรแกรม ควบคุม 3 กระบอกสูบ โดยจะตั่งชื่อ กระบอกว่า กระบอกสูบ A กระบอกสูบ B และ กระบอกสูบ C โดยทั้งหมด จะใช้ โซลินอยลม 5/2 ในการควบคุมลมเข้าออกกระบอกสูบ
กระบวนการทำงานของตัวอย่างคือ คือ เมื่อกดปุ่ม เริ่ม
กระบวนการที่ 1 กระบอกสูบ A จะเคลื่อนที่ออกจนสุด
กระบวนการที่ 2 กระบอกสูบ B จะเคลื่อนที่ออกจนสุด
กระบวนการที่ 3 กระบอกสูบ C จะเคลื่อนที่ออกจนสุด
กระบวนการที่ 4 กระบอกสูบ C จะเคลื่อนที่ถอยเข้าจนสุด
กระบวนการที่ 5 กระบอกสูบ AและฺB จะเคลื่อนที่ถอยเข้าจนสุด พร้อมกัน
เมื่อ กระบวนการที่ 5 เสร็จสิ้น จะเริ่ม ทำกระบวนการที่ 1 ถึง 5 เรียงตามลำดับ วนอย่างนี้ไปเรื่อยๆ จนกดปุ่ม หยุด กระบวนการจะไม่หยุดทันที จน กว่าจะทำกระบวนการที่ 5 เสร็จสิ้น
วงจรระบบลม นิวเมติกส์
วงจร INPUT OUTPUT PLC
ถ้าผม สรุป กระบวนการทำงานคร่าวๆ จะได้ ประมาณ ในรูปด้านล่างนี้
โดยผม กำหนดให้
ตัวแปล A+ = สั่งกระบอก A เคลื่อนที่ ออก
A- = สั่งกระบอก A เคลื่อนที่ เข้า
A1 = กระบอก A อยู่ในตำแหน่ง ออกสุด
A0 = กระบอก A อยู่ในตำแหน่ง เข้าสุด
B+ = สั่งกระบอก B เคลื่อนที่ ออก
B- = สั่งกระบอก B เคลื่อนที่ เข้า
B1 = กระบอก B อยู่ในตำแหน่ง ออกสุด
B0 = กระบอก B อยู่ในตำแหน่ง เข้าสุด
C+ = สั่งกระบอก C เคลื่อนที่ ออก
C- = สั่งกระบอก C เคลื่อนที่ เข้า
C1 = กระบอก C อยู่ในตำแหน่ง ออกสุด
C0 = กระบอก C อยู่ในตำแหน่ง เข้าสุด
คือ เมื่อสั่งให้เริ่มทำงาน จะสั่งให้ A+ทำงาน และ รอให้ A1 ทำงาน แล้วจึง สั่งให้ B+ ทำงาน และ รอให้ ฺB1 ทำงาน แล้วจึง สั่งให้ C+ ทำงาน และ รอให้ C1 ทำงาน แล้วจึง สั่งให้ C- ทำงาน และ รอให้ C0 ทำงาน แล้วจึง สั่งให้ A-และ B- ทำงาน และ รอให้ A0และ B0 ทำงาน แล้วจึง เริ่มทำงาน วนรอบใหม่จนกว่าจะไม่มีการสั่งให้เริ่มทำงาน แล้วจึงหยุด
โดยการเขียนโปรแกรมในตัวอย่างนี้ผมจะแบ่งเป็น 3 ส่วน คือ
1. ส่วนการควบคุม
2.ส่วนกระบวนการทำงาน
3.ส่วนการทำงาน
1.ส่วนการควบคุม
line 0 เมื่อ กดปุ่ม เริ่ม X006 ทำให้ Memories M0 ทำงานและคงสภาวะค้าง ด้วย คำสั่ง SETเพื่อ สั่งให้ ระบบทำงาน
line 2 เมื่อกดปุ่ม หยุด X007 ทำให้ Memories M0 ยกเลิกการทำงาน ด้วย คำสั่ง RST เพื่อ สั่งให้ ระบบเตรียมหยุดทำงาน
2.ส่วนกระบวนการทำงาน
line 4 เมื่อ Memories M0 ทำงาน ทำให้ Memories M11 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 1 เริ่มทำงาน (A+)
line 6 เมื่อ Memories M11 และ Reed A1 X000 ทำงาน ทำให้ Memories M12 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 2 เริ่มทำงาน (B+)
line 9 เมื่อ Memories M12 และ Reed B1 X002 ทำงาน ทำให้ Memories M13 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 3 เริ่มทำงาน (C+)
line 12 เมื่อ Memories M13 และ Reed C1 X004 ทำงาน ทำให้ Memories M14 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 4 เริ่มทำงาน (C-)
line 15 เมื่อ Memories M14 และ Reed C0 X005 ทำงาน ทำให้ Memories M15 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 5 เริ่มทำงาน (A-,B-)
line 18 เมื่อ Memories M15 และ Reed A0 X001 และ Reed B0 X003 ทำงาน ทำให้ Memories M11 ถึง M15 ยกเลิกการทำงานด้วยคำสั่ง ZRST มีผลทำให้ กระบวนการทำงานทั้งหมดเริ่มต้นใหม่
B1 = กระบอก B อยู่ในตำแหน่ง ออกสุด
B0 = กระบอก B อยู่ในตำแหน่ง เข้าสุด
C+ = สั่งกระบอก C เคลื่อนที่ ออก
C- = สั่งกระบอก C เคลื่อนที่ เข้า
C1 = กระบอก C อยู่ในตำแหน่ง ออกสุด
C0 = กระบอก C อยู่ในตำแหน่ง เข้าสุด
คือ เมื่อสั่งให้เริ่มทำงาน จะสั่งให้ A+ทำงาน และ รอให้ A1 ทำงาน แล้วจึง สั่งให้ B+ ทำงาน และ รอให้ ฺB1 ทำงาน แล้วจึง สั่งให้ C+ ทำงาน และ รอให้ C1 ทำงาน แล้วจึง สั่งให้ C- ทำงาน และ รอให้ C0 ทำงาน แล้วจึง สั่งให้ A-และ B- ทำงาน และ รอให้ A0และ B0 ทำงาน แล้วจึง เริ่มทำงาน วนรอบใหม่จนกว่าจะไม่มีการสั่งให้เริ่มทำงาน แล้วจึงหยุด
โดยการเขียนโปรแกรมในตัวอย่างนี้ผมจะแบ่งเป็น 3 ส่วน คือ
1. ส่วนการควบคุม
2.ส่วนกระบวนการทำงาน
3.ส่วนการทำงาน
1.ส่วนการควบคุม
line 0 เมื่อ กดปุ่ม เริ่ม X006 ทำให้ Memories M0 ทำงานและคงสภาวะค้าง ด้วย คำสั่ง SETเพื่อ สั่งให้ ระบบทำงาน
line 2 เมื่อกดปุ่ม หยุด X007 ทำให้ Memories M0 ยกเลิกการทำงาน ด้วย คำสั่ง RST เพื่อ สั่งให้ ระบบเตรียมหยุดทำงาน
2.ส่วนกระบวนการทำงาน
line 4 เมื่อ Memories M0 ทำงาน ทำให้ Memories M11 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 1 เริ่มทำงาน (A+)
line 6 เมื่อ Memories M11 และ Reed A1 X000 ทำงาน ทำให้ Memories M12 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 2 เริ่มทำงาน (B+)
line 9 เมื่อ Memories M12 และ Reed B1 X002 ทำงาน ทำให้ Memories M13 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 3 เริ่มทำงาน (C+)
line 12 เมื่อ Memories M13 และ Reed C1 X004 ทำงาน ทำให้ Memories M14 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 4 เริ่มทำงาน (C-)
line 15 เมื่อ Memories M14 และ Reed C0 X005 ทำงาน ทำให้ Memories M15 ทำงานและคงสภาวะค้าง นั่นคือ กระบวนการทำงานที่ 5 เริ่มทำงาน (A-,B-)
line 18 เมื่อ Memories M15 และ Reed A0 X001 และ Reed B0 X003 ทำงาน ทำให้ Memories M11 ถึง M15 ยกเลิกการทำงานด้วยคำสั่ง ZRST มีผลทำให้ กระบวนการทำงานทั้งหมดเริ่มต้นใหม่
3.ส่วนการทำงาน
*line 26 เมื่อ กระบวนการทำงานที่ 1 M11 ทำงาน และ กระบวนการทำงานที่ 5 M15 ไม่ทำงาน ทำให้ กระบอกสูบ A เคลื่อนที่ ออก Y000
*line 29 เมื่อ กระบวนการทำงานที่ 2 M12 ทำงาน และ กระบวนการทำงานที่ 5 M15 ไม่ทำงาน ทำให้ กระบอกสูบ B เคลื่อนที่ ออก Y002
*line 32 เมื่อ กระบวนการทำงานที่ 3 M13 ทำงาน และ กระบวนการทำงานที่ 4 M14 ไม่ทำงาน ทำให้ กระบอกสูบ C เคลื่อนที่ ออก Y004
line 35 เมื่อ กระบวนการทำงานที่ 4 M14 ทำให้ กระบอกสูบ C เคลื่อนที่ เข้า Y005
line 37 เมื่อ กระบวนการทำงานที่ 5 M15 ทำให้ กระบอกสูบ A เคลื่อนที่ เข้า Y001
line 39 เมื่อ กระบวนการทำงานที่ 5 M15 ทำให้ กระบอกสูบ B เคลื่อนที่ เข้า Y003
* หมายเหตุ สังเกตุ เมื่อกรณี สั่งงานกระบอกสูบ ตัวเดียวกัน จะนำกระบวนการทำงาน ล่าสุดตัด การทำงานก่อนหน้า ของการสังกระบอก ตัวนั้นๆ เนื่องจาก โซลินอย เมื่อสั่ง คอยล์เข้าออกวาวเดียวกันจะไม่ทำงาน เช่น ใน line 32 เมื่อกระบวนการที่3 สั่ง ให้กระบออก C แล้ว ในกระบวนการที่ 4 สั่งให้กระบอก C เข้า ซึ้งทำให้การสั่งงานที่กระบอก C ไม่ทำงานดังนั้น จึงต้อง ให้ กระบวนการที่ 4 ขึ้นไปตัดการทำงานของกระบวนการที่1 เพื่อให้ กระบอก C ถูกสั่งให้เคลื่อนที่เข้าได้
*line 26 เมื่อ กระบวนการทำงานที่ 1 M11 ทำงาน และ กระบวนการทำงานที่ 5 M15 ไม่ทำงาน ทำให้ กระบอกสูบ A เคลื่อนที่ ออก Y000
*line 29 เมื่อ กระบวนการทำงานที่ 2 M12 ทำงาน และ กระบวนการทำงานที่ 5 M15 ไม่ทำงาน ทำให้ กระบอกสูบ B เคลื่อนที่ ออก Y002
*line 32 เมื่อ กระบวนการทำงานที่ 3 M13 ทำงาน และ กระบวนการทำงานที่ 4 M14 ไม่ทำงาน ทำให้ กระบอกสูบ C เคลื่อนที่ ออก Y004
line 35 เมื่อ กระบวนการทำงานที่ 4 M14 ทำให้ กระบอกสูบ C เคลื่อนที่ เข้า Y005
line 37 เมื่อ กระบวนการทำงานที่ 5 M15 ทำให้ กระบอกสูบ A เคลื่อนที่ เข้า Y001
line 39 เมื่อ กระบวนการทำงานที่ 5 M15 ทำให้ กระบอกสูบ B เคลื่อนที่ เข้า Y003
* หมายเหตุ สังเกตุ เมื่อกรณี สั่งงานกระบอกสูบ ตัวเดียวกัน จะนำกระบวนการทำงาน ล่าสุดตัด การทำงานก่อนหน้า ของการสังกระบอก ตัวนั้นๆ เนื่องจาก โซลินอย เมื่อสั่ง คอยล์เข้าออกวาวเดียวกันจะไม่ทำงาน เช่น ใน line 32 เมื่อกระบวนการที่3 สั่ง ให้กระบออก C แล้ว ในกระบวนการที่ 4 สั่งให้กระบอก C เข้า ซึ้งทำให้การสั่งงานที่กระบอก C ไม่ทำงานดังนั้น จึงต้อง ให้ กระบวนการที่ 4 ขึ้นไปตัดการทำงานของกระบวนการที่1 เพื่อให้ กระบอก C ถูกสั่งให้เคลื่อนที่เข้าได้
ความคิดเห็น
แสดงความคิดเห็น