|
|
|
|
| 1. มีอินพุต 16 ตัว |
| 2. มีเอ้าพุตแบบรีเลย์ 8ตัว หน้าคอนแทค10 A. |
| 3. Supply มี2รุ่น คือใช้ไฟ 12 Vdc และ 24 Vdc |
| 4.จอแสดงผลมีไฟมองในที่มืดได้ |
| 5.มี 3โหมด คือ PROGRAM , RUN , MONITOR ในโหมด MONITOR สามารถดูค่าสถานะต่างๆของแลดเดอร์ได้ |
| 6.มีฟังชั่นทดสอบการทำงานของรีเลย์เอ้าพุต |
| 7.บอร์ดขนาด 13.1 x 11.4 cm |
| |
|
| ส่วนฮาร์ดแวร์ |
|
|
| โปรแกรมแลดเดอร์ |
|
|
แอดเดรส
|
|
| INPUT (input port) |
001-100
| หมายถึงช่องรับสัญญานอินพุทจากภายนอกที่สามารถต่อเข้าไปใช้งานได้ มีแอดเดรสที่ 001-100 แต่ PLC รุ่นนี้ มีแค่16 อินพุท สามารถใช้ได้แค่ 001-016 ที่เหลือโปรแกรมสำรองไว้ |
| OUTPUT (output relay) |
101-150
| หมายถึงรีเลย์เอ้าพุทที่ต่อใช้งานภายนอกมีแอดเดรสตั้งแต่ 101-150 แต่ PLC ที่เราสร้างนี้ มีแค่ 8 อินพุท สามารถใช้ได้แค่ 101-108 ที่เหลือโปรแกรมสำรองไว |
| KEEP (keep relay) |
101-150 201-250
| เป็นฟังชั่นคุมรีเลย์ชนิดหนึ่ง ให้รีเลย์ทำงานแบบแลทช์ ข้อมูลไว้ โดยการกระตุ้นสัญญานเพียงครั้งเดียวที่ขาเซ็ตหรือขารีเซ็ต รีเลย์ตัวนั้นก็จะ on หรือ off ตลอดไปจนกว่าจะมีการกระตุ้นเปลี่ยนสถานะใหม่ keep relay สามารถใช้ได้ทั้งรีเลย์ภายนอก(101-150) และรีเลย์ภายใน(201-250) |
| CNT (counter) |
151-160
| ตัวนับมี10ตัว มีแอดเดรสอยู่ที่ 151-160 แต่ละตัวสามารถนับได้ 9999 หากต้องการนับมากกว่านี้ ให้ต่ออนุกรมกัน |
| TIM (timer relay) |
161-180
| ไทเมอร์ ตัวจับเวลามีความละเอียดขนาด 0.1 วินาที มี 20 ตัว แต่ละตัวสามารถตั้งค่าสูงสุดได้ 999.9 วินาที หากต้องการค่านานกว่านี้ให้ต่ออนุกรมกัน ไทเมอร์มีแอดเดรสอยู่ที่ 161-180 |
| TR (temporary relay) |
181-190
| เทมโพรารี รีเลย์ เป็นรีเลย์ชั่วคราวที่ช่วยในการเขียนโปรแกรม ในกรณีที่ในแต่ละแร็ง (rang) มีขนาดยาวเกินไป มีให้ใช้10ตัว เมื่อหมดแร็งสามารถเอาTR ตัวเดิมมาใช้ได้อีก โดยTR1-TR10 หรือมีแอดเเดรสอยู่ที่ 181-190 |
| spare |
191-200
| แอดเดรส 191-200 สำรองไว้ใช้เป็นฟังก์ชั่นในอนาคต |
| IR (internal relay) |
201-250
| รีเลย์ภายใน ใช้งานเหมือนกับ output relay แต่ว่าไม่มีขาต่อมาที่ฮาร์แวร์ภายนอก ใช้ช่วยในการเขียนโปรแกรม มีแอดเดรสอยู่ที่ 201-250 |
| SP (special relay) |
251-255
| รีเลย์ พิเศษ ที่โปรแกรมสร้างไว้ให้แล้วสามารถเอาหน้าคอนแทคมาใช้ได้เลย มีแอสเดรสอยู่ที่ 251-255 251=pulse 0.1 sec สัญญานพัลส์กว้าง 0.1 วินาที หรือ 0.2 วินาที/รอบ 252=pulse 0.5 sec สัญญานพัลส์กว้าง 0.5 วินาที หรือ 1.0 วินาที/รอบ 253=pulse 1.0 sec สัญญานพัลส์กว้าง 1.0 วินาที หรือ 2.0 วินาที/รอบ |
| จำนวนหน่วยความจำที่เขียนได้ |
250 บรรทัด
| *หมายเหตุ คำสั่ง CNT และ TIM ใช้คำสั่งละ 2บรรทัด นอกนั้นคำสั่งละ 1 บรรทัด |
|
ตัวอย่างการเขียนโปรแกรมแลดเดอร์
|
|
|
สัญลักษณ์
|
คำสั่งแลดเดอร์
|
ชื่อ
|
รายละเอียด
|
|
|
LD
|
LOAD
|
หน้า contact NO ถ้าเริ่มบล็อกจะใช้ LD
|
AND
|
AND
|
OR
|
OR
|
|
LD NOT
|
LOAD NOT
|
หน้า contact NC ถ้าเริ่มบล็อกจะใช้ LD NOT
|
AND NOT
|
AND NOT
|
OR NOT
|
OR NOT
|
|
|
OUT
|
OUT RELAY
|
รีเลย์ทำงานแบบ มีไฟจ่ายคอยล์ทำงาน
|
|
|
OUT NOT
|
OUT NOT RELAY
|
รีเลย์ทำงานแบบ ไม่มีไฟจ่ายคอยล์ทำงาน
|
|
|
KEEP
|
KEEP RELAY
|
รีเลย์ทำงานค้างสถานะ กระตุ้นแค่ครั้งเดียว ขา S เซ็ต ขา R รีเซ็ต
|
|
|
CNT
|
COUNT
|
ตัวนับ ขา cnt เป็นขานับ ขา reset เป็นขารีเซ็ต ค่าสูงสุด 9999
|
|
|
TIM
|
TIMER
|
ตัวจับเวลา จับเวลาสูงสุด 999.9 sec
|
แลดเดอร์ไดอะแกรม
|
คำสั่งแลดเดอร์
|
 EX1
|
ทุกครั้งที่เริ่มต้นบล็อกจะต้องใช้คำสั่ง LD หน้าคอนแท็คก่อน จากตัวอย่างถ้ามีการต่อให้อินพุต 001ต่อวงจร รีเลย์101 จะทำงานด้วย การทำงานก็เหมือนกับวงจรรีเลย์ไฟฟ้าทั่วไป
|
 EX2
|
| 1.LD | 001 |
| 2.AND | 002 |
| 3.OUT NOT | 101 |
| 4.END | |
ตัวอย่างที่ 2 เริ่มมีการ and
|
 EX3
|
| 1.LD | 001 |
| 2.OR | 002 |
| 3.OUT | 101 |
| 4.END | |
|
EX4
|
| 1.LD | 001 |
| 2.OR | 002 |
| 3.AND NOT | 003 |
| 4.OUT | 101 |
| 5.END | |
ตัวอย่างที่ 4 เริ่มมีการผสม or กับ and
|
 EX5
|
| 1.LD | 001 |
| 2.OR | 003 |
| 3.LD | 002 |
| 4.OR NOT | 004 |
| 5 AND LD | |
| 6.OUT | 101 |
| 7.END | |
เริ่มมี 2 บล็อก ทุกครั้งที่เริ่มบล็อกใหม่ต้องใช้คำสั่ง LD ก่อน ในตัวอย่างมี 2 บล็อก และบล็อกมีการ and กัน ใช้คำสั่ง AND LD
|
 EX6
|
| 1. LD | 001 |
| 2. AND NOT | 002 |
| 3. LD | 003 |
| 4. AND | 004 |
| 5 OR LD | |
| 6. OUT NOT | 101 |
| 7. END | |
มี 2 บล็อก ทุกครั้งที่เริ่มบล็อกใหม่ต้องใช้คำสั่ง LD ก่อน ในตัวอย่างมี 2 บล็อก และบล็อกมีการ or กัน ใช้คำสั่ง OR LD
|
 EX7
|
| 1.LD | 001 |
| 2.OUT | 101 |
| 3.OUT | 102 |
| 4.END | |
ตัวอย่าง 7 การสั่งรีเลย์หลายตัว
|
 EX8
|
| 1.LD | 001 |
| 2.OUT | 101 |
| 3.AND | 002 |
| 4.OUT NOT | 102 |
| 5.END | |
ตัวอย่างที่ 8-9 การทำงานเหมือนกัน จะเห็นว่าตัวอย่างที่ 8 จะเขียนคำสั่งที่ง่ายและสั้นกว่า ต่างกันที่การเขียนไดอะแกรม ดังนั้นการเขียนไดอะแกรมก็มีผลต่อการเขียนแลดเดอร์เหมือนกัน
|
 EX9
|
| 1.LD | 001 |
| 2.OUT TR1 | 171 |
| 3.AND | 002 |
| 4.OUT NOT | 102 |
| 5.LD TR1 | 181 |
| 6.OUT | 101 |
| 7.END | |
การเขียนไดอะแกรมลักษณะนี้ต้องใช้รีเลย์ชั่วคราว พักข้อมูลไว้ก่อน ในตัวอย่างพักไว้ที่ TR171 แล้วค่อยโหลดไปใช้
|
 EX10
|
| 1.LD | 001 |
| 2.AND | 002 |
| 3.OUT NOT | 102 |
| 4.LD | 001 |
| 5.OUT | 101 |
| 6.END | |
ในตัวอย่าง 10 แตกมาจาก ตัวอย่าง 9 แสดงให้เห็นว่า สามารถเขียนไดอะแกรมได้อีกแบบ และเขียนแลดเดอร์ได้ง่ายขึ้น
|
 EX11
|
| 1.LD | 001 |
| 2.OR NOT | 004 |
| 3.OUT TR1 | 171 |
| 4.LD | 002 |
| 5.AND NOT | 003 |
| 6.AND LD | |
| 7.OUT | 101 |
| 8.LD TR1 | 181 |
| 9.AND | 005 |
| 10.OUT | 102 |
| 11.END | |
ตัวอย่าง11 ถ้าไดอะแกรมซับซ้อนขึ้น การใช้รีเลย์ชั่วคราว TR ก็เป็นสิ่งจำเป็น
|
 EX12
|
| 1.LD | 001 |
| 2.LD | 002 |
| 3.KEEP | 101 |
| 4.END | |
ตัวอย่าง 12-13 การทำงานเหมือนกัน แต่ถ้ามีหน้าคอนแท็คมากกว่านี้ การใช้ KEEP จะสะดวกกว่า
|
 EX13
|
| 1.LD | 001 |
| 2.OR | 101 |
| 3.AND NOT | 002 |
| 4.OUT | 101 |
| 5.END | |
ตัวอย่าง 13 หน้าคอนแท็ค 101 ทำหน้าที่ล็อกตัวเอง หรือเรียกว่าการอินเตอร์ล็อก( interlock)
|
 EX14
|
| 1.LD | 001 |
| 2.TIM | 161 |
| 3.........................# | 010.5 |
| 4.LD TIM | 161 |
| 5.OUT | 101 |
| 6.END | |
ตัวอย่าง14 การใช้ ไทเมอร์จับเวลา #10.5 คือ 10.5 วินาที
|
 EX15
|
| 1.LD | 001 |
| 2.LD | 002 |
| 3.CNT | 151 |
| 4.........................# | 0120 |
| 5.LD CNT | 151 |
| 6.OUT | 105 |
| 7.END | |
ตัวอย่าง 15 การใช้งาน เค้าเตอร์ ตัวนับ #120 คือนับคบ120ครั้ง สั่งทำงาน
|
 EX16
|
| 1.LD | 001 |
| 2.AND NOT TIM | 161 |
| 3.TIM | 161 |
| 4..........................# | 060.0 |
| 5.LD TIM | 161 |
| 6.LD | 002 |
| 7.CNT | 151 |
| 8.........................# | 0030 |
| 9.LD CNT | 151 |
| 10.OUT | 108 |
| 11.END | |
ตัวอย่าง 16 การจับเวลา 30 นาที แล้วสั่งให้รีเลย์ทำงาน โดยใช้ไทเมอร์กับเค้าเตอร์ประกอบกัน ( 60 วินาที x 30 =1800 วินาที หรือ = 30 นาที)
|
 EX17
|
| 1.LD | 252 |
| 2.LD | 002 |
| 3.CNT | 151 |
| 4..........................# | 1800 |
| 5.LD CNT | 151 |
| 6.OUT | 108 |
| 7.END | |
ตัวอย่าง 17 การจับเวลา 30 นาที เหมือนตัวอย่าง 16 แต่ใช้รีเลย์พิเศษ 252 ช่วย ซึ่งรีเลย์252มีความถี่=1วินาที ( 1 วินาที x 1800 =1800 วินาที หรือ = 30 นาที)
|
 EX18
|
| 1.LD | 001 |
| 2.OUT | 201 |
| 3.LD | 002 |
| 4.OUT | 202 |
| 5.LD | 201 |
| 6.AND | 202 |
| 7.OUT | 107 |
| 8.LD NOT | 201 |
| 9.LD NOT | 202 |
| 10.OUT | 108 |
| 11.END | |
ตัวอย่าง 18 มีการใช้รีเลย์ภายใน201,202 พักข้อมูลของอินพุตไว้ มีประโยชน์มากในกรณีที่มีการใช้อินพุตควบคุมหลายที่ แล้วหากมีการย้ายตำแหน่งอินพุตไปคำแหน่งอื่น เช่นจาก001 ไปใช้ 005 เราก็เปลี่ยนที่เดียวไม่ต้องเปลี่ยนหลายที่
|

 |
| 1.LD | 001 |
| 2.OR | 101 |
| 3.TIM | 161 |
| 4.......................# | 000.5 |
| 5.AND NOT TIM | 161 |
| 6.OUT | 101 |
| 7.END | |
ตัวอย่างที่ 19 เป็นตัวอย่างวงจร one short timer เอาไปใช้งานในลักษณะกระตุ้นที่อินพุตครั้งเดียว เอ้าพุตทำงานในช่วงเวลาหนึ่ง เช่น เครื่องจักรหมุนครบ1รอบ ให้พ่นน้ำ 1ครั้ง |
 |
| 1.LD | 001 |
| 2.OR | 002 |
| 3.OR | 003 |
| 4.OR | 004 |
| 5.OR | 005 |
| 6.OR | 006 |
| 7.OR | 007 |
| 8.OR | 008 |
| 9.OR | 009 |
| 10.OR | 010 |
| 11.OR | 011 |
| 12.OR | 012 |
| 13.OUT | 101 |
| 14.OUT | 102 |
| 15.OUT | 103 |
| 16.OUT | 104 |
| 17.OUT | 105 |
| 18.OUT | 106 |
| 19.OUT | 107 |
| 20.OUT | 108 |
| 21.END | |
ตัวอย่างที่ 20 ทดสอบการทำงานของภาค input/output ว่าทำงานผิดปกติหรือไม่ |
|
|
|
การเลื่อนไปทีละบรรทัด
| เลื่อนขึ้น
เลื่อนลง |
การแทรกบรรทัด
ก่อนแทรก
| 1.LD | 001 |
| 2. | |
| 3.OUT | 101 |
| 4.END | |
หลังจากแทรก
|  เลื่อนไปบรรทัดที่ต้องการ
  |
การลบบรรทัด
| 1.LD | 001 |
| 2.OR | 002 |
| 3.OUT | 101 |
| 4.END | |
ก่อนลบ
หลังจากลบ
|  เลื่อนไปบรรทัดที่ต้องการ
  |
การล้างหน่วยความจำทีละบรรทัด
| 1.LD | 001 |
| 2.OR | 002 |
| 3.OUT | 101 |
| 4.END | |
ก่อนล้าง
| 1.LD | 001 |
| 2. | |
| 3.OUT | 101 |
| 4.END | |
หลังจากล้าง
|  เลื่อนไปบรรทัดที่ต้องการ
  |
|
|
|
|
|
ตัวอย่างการใช้งาน
|
อย่างที่กล่าวมาแต่ต้น การยกตัวอย่างการใช้งานจริงจะเห็นภาพชัดขึ้น นี่เป็นตัวอย่างการย้ายชิ้นงาน งานที่ใช้การทำงานลักษณะนี้ เช่น การบรรจุชิ้นงานลงกล่อง การย้ายชิ้นงานเข้าเตาอบ การย้ายสายพานลำเลียง เป็นต้น จากรูปตัวอย่าง การทำงานจะมีดังนี้ ชิ้นงานถูกลำเลียงมาตามคอนเวเยอร์หรือสายพาน ผ่านโฟโต้เซนเซอร์ซึ่งเป็นตัวเซนเซอร์ชนิดใช้แสงสะท้อนกลับ เมื่อตัวเซนเซอร์เจอชิ้นงาน ส่งสัญญาณมาให้ PLC นับ เมื่อครบตามจำนวนที่ตั้งไว้ ส่งสัญญานไปเปิดโซลีนอยด์วาล์ว ให้ลมไหลผ่านเข้ากระบอกสูบไซเลนเดอร์ทำงาน ดันชิ้นงานไปตำแหน่งที่ต้องการ โดยมีไทเมอร์เป็นตัวจับเวลาถอยกลับ และกระบอกสูบสามารถทำงานได้อีกกรณีคือ ถ้าชิ้นงานไหลเลยมาโดนลิมิตสวิทช์ ให้สั่งให้กระบอกสูบทำงานด้วย สำหรับใช้ในกรณีที่ชิ้นงานขาดช่วง หรือตัวเซนเซอร์นับไม่ครบ ทำให้ชิ้นงานจะไหลเลยมาโดนลิมิตสวิทช์ การทำงานก็มีดังที่กล่าวมา ดูที่รูปประกอบ
Address
|
Instruction
|
Operand
|
Comment
|
| 001 | LD | 001 | สวิทช์เปิด |
| 002 | OR | 201 | |
| 003 | AND NOT | 002 | สวิทช์ปิด |
| 004 | OUT | 201 | |
| 005 | LD | 201 | |
| 006 | OUT | 101 | หลอดไฟปิดเปิด |
| 007 | LD | 003 | โฟโต้สวิทช์ |
| 008 | LD NOT | 201 | |
| 009 | OR CNT | 151 | |
| 010 | CNT | 151 | |
| 011 | # | 0005 | นับ5ชิ้น |
| 012 | LD | 004 | สวิทช์กดทดสอบ |
| 013 | OR | 005 | ลิมิตสวิทช์ |
| 014 | OR CNT | 151 | |
| 015 | OUT | 202 | |
| 016 | LD | 202 | |
| 017 | OR | 102 | |
| 018 | AND NOT TIM | 161 | |
| 019 | OUT | 102 | โซลีนอยด์วาล์ว |
| 020 | OUT | 103 | หลอดแสดงการทำงาน |
| 021 | LD | 102 | |
| 022 | TIM | 161 | |
| 023 | # | 0100 | ทำงาน10วินาที |
| 024 | END | | |
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น