Allen Bradley PLC

Motor Control

มอเตอร์ไฟฟ้ากระแสสลับ (AC Motor) ถือว่าเป็นอุปกรณ์ที่สำคัญและมีใช้อยู่ในเครื่องจักรหรือกระบวนการผลิตอย่างแพร่หลาย เช่น เป็นตัวขับสายพานลำเลียงวัตถุดิบ, หมุนใบกวน, ขับปั๊ม, ขับเคลื่อนแขนโรบอต และ อื่นๆ ดังนั้นวิธีควบคุมมอเตอร์ให้ทำงานได้ตรงตามความต้องการ จึงเป็นสิ่งสำคัญอย่างมาก

เราสามารถจัดประเภทตามการควบคุมมอเตอร์ได้เป็น 3 ประเภทใหญ่ๆ ได้แก่

1. Fixed speed control

2. Variable speed control

3. Motion control

                                                                                                                                                                                                                                                                                 Fixed speed control 

คือการควบคุมมอเตอร์แบบความเร็วคงที่ แบ่งย่อยได้อีก 2 แบบคือ Direct Online และ Soft Starter 

Direct Online (DOL) เป็นการควบคุมมอเตอร์แบบความเร็วคงที่ ใช้การต่อแหล่งจ่ายแรงดันไฟฟ้าเข้ากับมอเตอร์โดยตรง ทำให้ดึงกระแสตอนสตาร์ทมอเตอร์จากแหล่งจ่ายค่อนข้างสูง ประมาณ 4-10 เท่าของพิกัดกระแสสูงสุด (Full load current) ดังนั้นวิธีนี้จึงเหมาะกับมอเตอร์ขนาดเล็กไม่เกิน 5.5 kW เท่านั้น อุปกรณ์ที่ใช้ควบคุมหลักๆ มีอยู่ 3 ตัว ได้แก่ Circuit Breaker , Magnetic และ Overload relay

Motor2

                                                                                                                                                                                                                                                                                 ในส่วนของอินพุตและเอาท์พุต ถ้าเราต้องการควบคุมมอเตอร์ ชื่อ M101 แบบ DOL เราต้องใช้ Output 1 ตัวของ PLC เพื่อสั่งงานคอยล์ Magnetic และ Input อีกสองตัว เพื่อรับสัญญานป้อนกลับจาก Auxilary contact ของMagnetic และ Overload relay ตาม Tag ด้านล่าง 

Magnetic coil -> M101_Output  

Auxilary contact -> M101_Aux

Overload relay relay -> M101_Ovl

 สำหรับโปรแกรมเราจะแบ่งเป็น 2 ส่วน คือรูนทีนสั่ง Start/Stop มอเตอร์ และ รูทีนอินเตอร์ล็อคเพื่อหยุดการทำงานของมอเตอร์เนื่องจากมี Fault เกิดขึ้นSoft Starter

Motor_Control Routine

Motor4

                                                                                                                                                                                                                                                                               Motor_Interlock Routine

 Motor5                                                                                                                                                                                                                                                                                                              

Motor6

                                                                                                                                                                                                                                                                                Soft Starter

เพื่อแก้ปัญหาการสตาร์ทมอเตอร์แบบ DOL ที่ดึงกระแสสูงมาก ทาง Rockwell จึงผลิต Soft Starter ขึ้นมาจากอุปกรณ์อิเล็คทรอนิกส์จำพวก Solid state เพื่อให้สามารถปรับแรงดันไฟฟ้าให้ค่อยๆเพิ่มขึ้นภายในเวลาที่สตาร์ทมอเตอร์ (Ramp time)

Motor7

                                                                                                                                                                                                                                                                                ในส่วนของอินพุตและเอาท์พุต ถ้าเราต้องการควบคุมมอเตอร์ M101 โดยใช้  Soft Starter เราต้องใช้ Output 1 ตัวของ PLC เพื่อสั่งรัน และ Input อีกสองตัว เพื่อรับสัญญาน Auxilary และ Fault จาก Soft Starter ตาม Tag ด้านล่าง

 Run bit -> M101_Output  

Auxilary bit -> M101_Aux

Fault bit -> M101_Fault

สำหรับโปรแกรมเราสามารถเขียนได้เหมือนกับ Direct Online ครับ

Motor3

                                                                                                                                                                                                                                                                              Variable speed control

คือการควบคุมมอเตอร์แบบปรับความเร็วได้ โดยอาศัยหลักการของ Motor Synchronous  Speed (N) ที่ว่าความเร็วรอบมอเตอร์จะขึ้นอยู่กับความถี่ของกระแสที่ป้อนให้กับมอเตอร์

  N = (120*f)/P , N= ความเร็วรอบ, f = ความถี่, P= จำนวนโพลของมอเตอร์ 

ดังนั้นถ้าเราเพิ่ม f โดยที่ P คงที่ ค่า N ก็จะเพิ่มขึ้นตาม  ในทางกลับกันถ้าเราลด f โดยที่ P คงที่ ค่า N ก็จะลดลงตาม  

อุปกรณ์ที่ทำหน้าที่ปรับความถี่ในควบคุมความเร็วมอเตอร์คือ Variable Frequency Drive หรือเรียกสั้นๆว่า “VFD”

โครงสร้างของ VFD ประกอบด้วย 3 ส่วนหลักๆ ได้แก่

Motor8

  •                                                                                                                                                                                                                                                                    Converter ทำหน้าที่แปลงจากไฟ AC 3 เฟส เป็น DC Full wave

Motor9

  •                                                                                                                                                                                                                                                                        Filter ทำหน้าที่กรองไฟ DC Full wave ให้เรียบขึ้น

Motor10

  •                                                                                                                                                                                                                                                                    Inverter ทำหน้าที่แปลงจากไฟ DC กลับไปเป็น AC Pulse ด้วย “Pulse Width Modulation”  หรือ “PWM” 

เมื่อแรงดันไฟ AC Pulse ป้อนเข้าสู่มอเตอร์ กระแสของมอเตอร์ไม่ได้เปลี่ยนแปลงทันทีทันใดตามแรงดัน แต่จะค่อยๆเปลี่ยนตามพฤติกรรมของตัวเหนี่ยวนำ โดยมีความถี่ขึ้นอยู่กับความกว้างของ AC Pulse

Motor11

Motor12

                                                                                                                                                                                                                                                                                 ในส่วนของอินพุตและเอาท์พุต ถ้าเราต้องการควบคุมมอเตอร์ M101 โดยใช้  VFD ของ Allen Bradley รุ่น Power Flex 40 เราต้องใช้ Output 1 ตัวของ PLC ในการสั่งรันมอเตอร์ , ใช้ Input 1 ตัวเพื่อรับสัญญาน Auxilary จากVFD และใช้ Analog Output 1 ตัว เพื่อส่งค่าความเร็วรอบให้ VFD ตาม Tag ด้านล่าง ส่วนทิศทางการหมุน Forward หรือ Reward นั้นเราจะกำหนดตายตัวจาก ตัวVFD เลย

 Run bit         -> M101_Output   -> Terminal 02

Auxilary bit -> M101_Aux        -> Terminal R1

Speed            -> M101_Speed     -> Terminal 15Motor13

                                                                                                                                                                                                                                                                            สำหรับโปรแกรมเราจะแบ่งเป็น 2 ส่วน คือรูนทีนสั่ง Start/Stop มอเตอร์ และ รูทีนอินเตอร์ล็อคเพื่อหยุดการทำงานของมอเตอร์เนื่องจากมี Fault เกิดขึ้น 

Motor_Control Routine 

Rung 0 -> กำหนดเงื่อนในการ Start หรือ Stop มอเตอร์

Rung 1-> ส่งค่า Speed motor (100%) ให้ VFD ผ่าน Analog output 4-20 ma (Tag M101_Speed) ซึ่งค่าจะต้องไม่เกินค่า High Engineering ที่เรา scaling ไว้ใน Analog card   

 Motor14                                                                                                                           

                                                                                                                                                                                                                                                                                 Motor_Interlock Routine 

Rung 0 -> รวมเงื่อนไข Interlock ของ Motor

Rung 1 -> เงื่อนไขการ on บิต Output เพื่อสตาร์ต Motor โดย Motor จะทำงานทันทีเมื่อ บิต Active เป็น True และไม่ติด Interlock

Rung 2 -> เช็คเงื่อนไข Failure ของ Motor ซึ่งได้แก่ Motor รันแต่ไม่มีสัญญาณ Aux กลับมาจาก VFD หรือ Motor ไม่รันแต่มีสัญญาณ Aux กลับมา

Rung 3-> สั่งให้ Failure บิต เป็น True เราสามารถเคลีร์ย Alarm โดยกดปุ่ม Alarm Reset

Motor15

                                                                                                                                                                                                                                                                                 Analog output configuration

Motor16

                                                                                                                                                                                                                                                                                  Motion control

คือการควบคุมตำแหน่งการหมุนของมอเตอร์โดยมีอุปกรณ์ที่เกี่ยวข้องดังนี้

  • ControlLogix controller เป็นส่วนที่ใช้เก็บโปรแกรม, motion profile และค่า config ต่างๆ ผ่านทางซอฟแวร์ RSLogix5000
  • Servo interface module เป็นตัวกลางสื่อสารระหว่าง Controller กับ Drive ตามชนิดอินเทอร์เฟสของ Drive เช่น SERCOS, CIP Sync หรือ Analog interface
  • Drive เป็นตัวจ่ายกระแสไฟและควบคุมการทำงานมอเตอร์
  • Motor&Feedback device ได้แก่มอเตอร์และอุปกรณ์ระบุตำแหน่งเช่น Encoder

Motor17

                                                                                                                                                                                                                                                                                      ขั้นตอนโปรแกรม Motion Application

1. สร้างโปรเจคใหม่ File -> New

Motor18

                                                                                                                                                                                                                                                                                    1.1 กำหนดให้ Controller เป็น System Time Master เพื่อให้อุปกรณ์ทุกตัว Synchonize Time เข้ากับ Controller และใช้เวลาตรงกัน โดยเลือกตรง “Make this controller the Coordinated System Time master”จากเมนู “ Edit->Controller Properties->Date/Time->  ดังรูป เสร็จแล้วคลิ๊กปุ่ม OKMotor19

                                                                                                                                                                                                                                                                                    2. Add การ์ด Motion interface และ Drive โดยคลิ๊กขวาที่ Backplane แล้วเลือก “New Module”

2.1 คลิ๊กที่เครื่องหมาย”+” ตรง “Motion” แล้วเลือกการ์ด Interface ที่ต้องการ (ในที่นี้เราเลือกเป็น Sercos 8 Axis, 1756-M08SE) ดังรูป เสร็จแล้วคลิ๊กปุ่ม OK

Motor20

                                                                                                                                                                                                                                                                                2.2 ตั้งชื่อโมดูลและเลือก Slot ที่ต้องการ เสร็จแล้วคลิ๊กปุ่ม OK

Motor21

                                                                                                                                                                                                                                                                                   2.3 คลิ๊กที่แท็บ “SERCOS Interface” แล้วกำหนด Data rate ในการส่งข้อมูลที่ต้องการ จากนั้นกำหนด Cycle Time ซึ่งขึ้นกับ Baud Rate และจำนวน Drive ที่ใช้งานในระบบ

Motor22

Motor23

                                                                                                                                                                                                                                                                                    2.4 Add Drive โดยคลิ๊กขวาที่การ์ด Motion Interface (1756-M08SE) แล้วเลือก “New Module”

Motor24

                                                                                                                                                                                                                                                                                2.5 คลิ๊กที่เครื่องหมาย”+” ตรง “Drive” แล้วเลือกรุ่นของ Drive ที่ต้องการ (ในที่นี้เราเลือกเป็น 2094-AC09-M02) ดังรูป เสร็จแล้วคลิ๊กปุ่ม OK

Motor25

                                                                                                                                                                                                                                                                               2.6 ตั้งชื่อโมดูลและเลือกหมายเลข Node ที่ต้องการ เสร็จแล้วคลิ๊กปุ่ม OK

Motor26

                                                                                                                                                                                                                                                                                    2.7 เมื่อ “Module Properties” เปิดขึ้นมา ให้เข้าไปที่แท็บ “Associated Axes”แล้วคลิ๊กที่ปุ่ม “New Axis” เพื่อสร้าง แกนการเคลื่อนที่ (Axis of motion) เป็นTag ชนิด AXIS_SERVO_DRIVE สำหรับลิงค์ Drive เข้ากับมอเตอร์   (1 โหนดควบคุมมอเตอร์ 1 ตัว) จากนั้นให้ตั้งชื่อว่า “Smart_Belt_Axis” เสร็จแล้วคลิ๊กปุ่ม OK

Motor27

                                                                                                                                                                                                                                                                                2.8 กลับมาที่แท็บ “Associated Axes”ให้เลือกแกนการเคลื่อนที่ของ Node1 เป็น Smart_Belt_Axis ที่เราสร้างขึ้น เสร็จแล้วคลิ๊กปุ่ม OK

Motor28

                                                                                                                                                                                                                                                                                 3. สร้าง Motion Group ให้กับแกนการเคลื่อนที่ “Smart_Belt_Axis” เพื่อความสะดวกในการควบคุมเป็นกลุ่ม โดยคลิ๊กขวาตรง Motion Groups แล้วเลือก “New Motion Group”

Motor29

                                                                                                                                                                                                                                                                               3.1 พิมพ์ชื่อที่ต้องการ เสร็จแล้วคลิ๊กปุ่ม OK

Motor30

                                                                                                                                                                                                                                                                                  3.3 คลิ๊กขวาตรง Motion_Belt คลิ๊กตรง Properties จากนั้นเข้าไปที่แท็บ   ”Attribute” แล้วจึงตั้งค่า Coarse Update Period Coarse Update Period คือ คาบเวลาในการอัพเดจข้อมูลตำแหน่ง/ความเร็วของแกนต่างๆให้กับ Controller ซึ่งจะต้องหยุดการสแกนคำสั่งในโปรแกรมลงชั่วคราวจนกว่าจะอัพเดจข้อมูลเสร็จ

Motor31

Motor32

                                                                                                                                                                                                                                                                                3.3 จากนั้นลาก Smart_Belt_Axis เข้าไปใน Motion Group ที่เราสร้างขึ้น

Motor33

                                                                                                                                                                                                                                                                                  4.เซ็ตพารามิเตอร์ของ Drive โดยดับเบิลคลิ๊กแกน Smart_Belt_Axis เพื่อเปิดหน้าต่าง Axis Properties

Motor34

                                                                                                                                                                                                                                                                               4.1 คลิ๊กแท็บ Drive/Motor แล้วคลิ๊กปุ่ม “Change Catalog” เพื่อเลือกรุ่นของ Motor ที่ใช้งาน เสร็จแล้วคลิ๊กปุ่ม Apply

Motor35

                                                                                                                                                                                                                                                                                   4.2 คลิ๊กแท็บ Units แล้วพิมพ์หน่วยวัดของตำแหน่งที่ใช้ลงตรงหัวข้อ “Position Units” เช่น mm, rev, inches หรืออื่นๆ เสร็จแล้วคลิ๊กปุ่ม Apply

Motor36

                                                                                                                                                                                                                                                                                    4.3 คลิ๊กแท็บ Conversion แล้วเลือก Positioning Mode เป็น “Rotary” หรือ “Linear” จากนั้นให้ป้อนค่า Conversion แปลงจาก Encoder Count ไปเป็น Engineering Unit ตามตัวอย่างนี้ 100,000 หมายความว่ามอเตอร์หมุนไป 100,000 counts Belt จะเคลื่อนที่ไป 1 นิ้ว

Motor37

                                                                                                                                                                                                                                                                                     4.4 คลิ๊กแท็บ Homing แล้วเลือกโหมดเข้าตำแหน่ง Home ในหัวข้อ “Mode”ซึ่งมีอยู่ด้วยกัน 3 แบบ คือ

-Active

-Passive

-Absolute

ส่วนหัวข้อ Sequence สามารถเลือกได้ถึง 6 วิธี คือ

-Immediate

-Switch

-Marker

-Switch-Marker

-Torque Level

-Torque Level-Marker

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