การอ่านค่า Encoder
อ่าน Pulse จาก Encoder แบบ AB Phase ด้วย PLC Samkoon FAs ต่อ A เข้า X0 B เข้า X1 ใช้ High-speed Counter C251 กับคำสั่ง HCNT ใน SamSoar2022 ย้ายค่าไปใช้ด้วย MOVD และ Reset ด้วย MOVD K0
Encoder แบบ AB Phase ต่อ A เข้า X0 และ B เข้า X1 แล้วใช้ Counter C251 ด้วยคำสั่ง HCNT CV251 ใส่จำนวน Pulse เป็น Double Word ค่าที่นับได้อยู่ใน CV251 ย้ายไปใช้ด้วย MOVD และ Reset ด้วย MOVD K0 CV251
อัพเดทล่าสุด: 26 ตุลาคม 2569
เป้าหมาย
อ่านค่า Pulse ของ Encoder ด้วย PLC Samkoon ผ่าน High-speed Input (ในคลิปใช้ PLC รุ่น FAs กับ Rotary Encoder แบบ AB Phase)
ขั้นตอนที่ 1: จ่ายไฟและต่อสาย
- จ่ายไฟให้ Encoder ตามแรงดันที่ระบุบนตัว Encoder
- ต่อสายสัญญาณของ Encoder เข้า Input ของ PLC ตามตารางช่องนับ High-speed ของ PLC
- Encoder แบบ AB Phase ต่อ A เข้า X0 และ B เข้า X1
ขั้นตอนที่ 2: หา Counter ที่ตรงกับ Input
ตาราง High-speed Counter ของ PLC บอกว่า Counter ตัวไหนใช้ Input ไหน แบ่งเป็น single phase counter (C235–C242), single phase dual counter (C246–C249) และ A/B phase counter (C251–C254) กรณีนี้ใช้ C251 ซึ่งเป็น A/B phase counter ที่รับ A จาก X000 และ B จาก X001
ขั้นตอนที่ 3: เขียนโปรแกรมใน SamSoar2022
จุดสำคัญคือคำสั่ง HCNT — ระบุ Counter ให้ตรงกับตาราง (CV251) และระบุจำนวน Pulse เป็น Double Word (ในคลิปใส่ K2147483647 ซึ่งเป็นค่าสูงสุดของ Double Word)
- ถ้าต้องการนำค่า CV ไปใช้ที่อื่น ใช้ MOVD (ในคลิปย้าย CV251 ไป D0)
- ถ้าต้องการ Reset ใช้ MOVD ย้าย
K0ไปที่ CV251 ได้โดยตรง
ขั้นตอนที่ 4: Download และทดสอบ
Download โปรแกรมลง PLC เปิด M0 แล้วหมุน Encoder ใน Monitor จะเห็นค่า CV251 เพิ่มขึ้น และ D0 มีค่าเท่ากัน (ในคลิปหมุนแล้วได้ CV251 = 314 และ D0 = 314)
CV251 เป็นค่า 32 บิต จึงต้องใช้ MOVD ไม่ใช่ MOV เวลาย้ายค่า
บทถัดไป
การใช้ C# พัฒนาซอฟต์แวร์เชื่อมต่อ PLC | Desktop Web Mobile
มีคำถาม? ติดต่อทีมงาน
