Allen Bradley PLC

Encoder

Incremental Encoder

เป็นอุปกรณ์ใช้บอกองศาการหมุน (ตำแหน่งเชิงมุม) ในรูปของสัญญาณพัลส์สี่เหลี่ยม ความละเอียด(Resolution) ของ Encoder ขึ้นอยู่กับจำนวนพัลส์ในหนึ่งรอบการหมุน เรียกว่า Pulse per revolution (PPR) Incremental Encoder ที่มีค่า PPR มากยิ่งมีความละเอียดสูง เราสามารถทราบตำแหน่งเชิงมุมได้จากการนับจำนวนพัลส์โดยใช้การ์ด Counter เทียบกับ PPR

โดยทั่วไป Encoder ชนิดนี้มีสัญญาณ Output อยู่ 2 Channel คือ A และ B ซึ่งมีเฟสต่างกัน 90 องศา แต่บางรุ่นได้เพิ่มสัญญาณตอนหมุนครบรอบ เรียกว่า “Marker” หรือ “Index” หรือ Channel Z เข้ามาด้วย

EN1EN2

ตัวอย่าง

การอ่านค่าองศาจาก Incremental Encoder ด้วยการ์ด High Speed Counter

IN3

ขั้นตอนแรก Add I/O การ์ดใน I/O Configuration ของโปรเจคไฟล์

ขั้นตอนที่2 คอนฟิก Digital Input ให้ถูกต้อง ดังรูปด้านล่าง

IN5

IN6

IN8

IN7

ขั้นตอนสุดท้ายเราจึงเริ่มเขียนโปรแกรม

IN9IN10

 

Absolute Encoder

เป็นอุปกรณ์ใช้บอกองศาการหมุน (ตำแหน่งเชิงมุม) ในรูปของรหัสต่างๆ เช่น Binary,BCD และ Gray code แต่ละองศาให้ค่าสมบูรณ์ไม่ซ้ำกัน ข้อดีของ Absolute Encoder คือ ไม่ต้องใช้ Counter นับพัลส์เพื่อคำนวณหาค่าองศาและในกรณีแหล่งจ่ายไฟเกิดขัดข้อง Absolute Encoder ยังคงให้ค่าตำแหน่งได้ หลังจากแหล่งจ่ายไฟกลับมาเป็นปกติ แตกต่างกับ Incremental Encoder ที่ต้องเคลื่อนไปยังตำแหน่ง Home ก่อนเสมอ ความละเอียด(Resolution) ของ Encoder ขึ้นอยู่กับจำนวนบิตของ Output เช่น 8 bits, 10 bits หรือ 24 bits เป็นต้น

EN3EN4

 

ในการใช้งาน Absolute Encoder แบบ Gray code ร่วมกับ ControlLogix PLC นั้น เราสามารถต่อ Encoder เข้ากับ Digital Input Card แล้วเขียนโปรแกรมเพื่อแปลงค่าองศาจาก Gray code เป็น Binary code โดยอาศัยหลักการของ XOR ดังรูป

EN5

 

ถ้า Resolution ของ Encoder เท่ากับ 2 ยกกำลังจำนวนบิตเอาท์พุต ค่า 0 องศาจะเริ่มต้นที่ค่า 0 ในหน่วย Binary เสมอ แต่ถ้า Resolution ของ Encoder ไม่เท่ากับ 2 ยกกำลังจำนวนบิตเอาท์พุต ค่า 0 องศาจะเริ่มต้นที่ค่าอื่นดังตารางด้านล่าง

EN6

 

ตัวอย่างโปรแกรม Gray code to Binary

EN7_1

ขั้นตอนแรก Add I/O การ์ดใน I/O Configuration ของโปรเจคไฟล์

EN7

ขั้นตอนที่2 คอนฟิก Digital Input ให้ถูกต้อง ดังรูปด้านล่าง

EN7_2

EN7_3

EN7_4

ขั้นตอนที่3 สร้าง Tag สำหรับใช้งานตามที่กำหนด

EN7_5

ขั้นตอนที่4 Create New Routine ชื่อ CAM_Position และ Gray_Binary_Conversion โดยรูทีน Gray_Binary_Conversion ใช้สำหรับแปลงค่าองศาจาก Gray code เป็น Binary code ส่วน CAM_Position ทำหน้าที่กำหนด Position Bit ของ Master Shaft ที่องศาต่างๆกันเพื่อนำไปเขียนโปรแกรมสั่งงานอุปกรณ์

EN7_6นตอนสุดท้ายเราจึงเริ่มเขียนโปรแกรมในรูทีน Gray_Binary_Conversion และ CAM_Position ดังรูปด้านล่าง

Gray_Binary_Conversion 

EN8EN9EN10CAM_Position

EN11EN12

หากมีข้อสงสัย อีเมลล์มาถามได้ที่ thaicontrol01@gmail.com หรือ Fan Page https://www.facebook.com/thaicontrol01 ครับ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s