Allen Bradley PLC

Cascade PID Control

ในบาง Process สามารถแบ่งได้เป็น 2process(Primary & Secondary) อนุกรมกันอยู่ สัญญาณรบกวน(Disturbance) ของ secondary process ยังจะไม่ได้ถูกรับรู้จนกว่ามันจะส่งผลต่อ primary process ทำให้ระบบตอบสนองต่อ สัญญาณรบกวนช้า ดังนั้นจึงดีกว่าที่เพิ่ม PID เข้าไปอีก 1 loop เพื่อควบคุม secondary process แยกจาก primary process โดยให้ Output ของ primary (master หรือ outer) controller เป็นตัวกำหนด Set point ของ Secondary (slave หรือ inner) controller ซึ่งวิธีนี้เรียกว่า “Cascade Control”

cas1

อย่างไรก็ตามการตอบสนองระบบของ Secondary loop ต้องเร็วกว่า Primary loop จึงสามารถทำให้ Cascade control ทำงานได้ถูกต้อง

 cas2จากรูปด้านล่าง เป็นระบบ Heat exchanger สำหรับควบคุมอุณหภูมิของ Hot water โดยอุณหภูมิที่อ่านได้จาก Temperature Transmitter (TT2501) ถูกส่งต่อไปที่ Temperature Controller(PID) แล้งจึงไปสั่งเปิด Flow control valve ของท่อ Steam เราจะเห็นว่า ถ้า Flow ของ Steam ไม่คงที่ (Disturbance) จะมีผลกระทบต่อการควบคุมอุณหภูมิของ Hot water แต่ Temperature Controller ยังไม่ตอบสนองจนกระทั่งอุณหภูมิของ Hot water เปลี่ยนแปลงก่อน cas3

เพื่อแก้ไขปัญหาข้างต้น เราเพิ่ม Flow meter (FT2502), Control Valve (FV2502) และ PID อีกหนึ่งลูปสำหรับควบคุมอัตราการไหลของ Steam ให้คงที่

cas4                                                                                                                                                                                                                                                                                      ตัวอย่าง 

โปรแกรม Cascade PID ควบคุมระบบ Heat exchanger

โหมดการทำงาน

  1. Temperature Control ใช้ในการควบคุมอุณหภูมิของน้ำโดย Cascade PID  Set point อุณหภูมิของน้ำ ถูกกำหนดจาก Temperature loop (TIC2501)PID controller ทั้งสองตัวจะถูกเซ็ตให้อยู่ในโหมด Auto
  2. Steam Flow Control ใช้ในการควบคุมอัตราการไหลของ Steam โดย Temperature loop จะอยู่ในโหมด Manual แต่ Flow loop ทำงานในโหมด Auto เพื่อป้องกันระบบกระชากระหว่างเปลี่ยนโหมดจาก Steam flow ไป Temperture โหมด เราต้องให้ Output ของ Temperature loop (TIC2501) มีค่าเท่ากันกับ Set point ของ Temperature loop (FIC2502)
  3. Manual Control โหมดนี้เราสามารถควบคุมการเปิด Steam valve ด้วยตัวเอง PID controller ทั้งสองตัวจะถูกเซ็ตให้อยู่ในโหมด Manual

TT2501 วัดอุณหภูมิของน้ำในช่วง 0-100 °C

FT2502 วัดอัตราการไหลของ Steam ในช่วง 0-20 Kg/Min

FV2502 ถูกควบคุมผ่าน Analog Output Card แบบกระแสตรง 4-20 mA โดยวาล์วเปิดสุดที่100%(20mA) และปิดที่ 0% (0mA)

Rung0: รีเซ็ต Timer ทุกๆ 1 วินาที เพื่อ Trigger คำสั่ง PID ของลูป TIC2501

Rung1: คำสั่ง PID ลูป TIC2501

Rung2: รีเซ็ต Timer ทุกๆ 0.25 วินาที เพื่อ Trigger คำสั่ง PID ของลูป FIC2502

Rung3: คำสั่ง PID ลูป FIC2502

Rung4: ใช้เปลี่ยนโหมดของ PID ของลูป TIC2501 ให้อยู่ในโหมด Software manual เมื่อสวิตซ์เลือกโหมดเป็น Steam Flow หรือ Manual

Rung5: เมื่อสวิตซ์เลือกโหมดเป็น Steam Flow Control ให้ Move ค่า Steam Flow Rate ซึ่งป้อนจาก HMI เข้าที่ Set point ของลูป FIC2502

Rung6: ใช้เปลี่ยนโหมดของ PID ของลูป FIC2502 ให้อยู่ในโหมด Software manual เมื่อสวิตซ์เลือกโหมดเป็น Manual Control

Rung7: เมื่อสวิตซ์เลือกโหมดเป็น Steam Flow Control ให้ Move ค่า Set point ของลูป FIC2502 เข้าที่ Output ของลูป TIC2501

TIC2501 PID Setup

FIC2502 PID Setup

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

11 thoughts on “Cascade PID Control

  1. อ่านบทความของพี่ แล้วได้ความรู้เยอะ

    ผมอยากจะเริ่มต้นการเขียน program ของ Allen Bradley
    แต่ไม่ได้มาทางไฟฟ้าควบคุม ผมมาทาง ไฟฟ้ากำลังอยากจะสอบถาม
    การเรียนรู้เกี่ยวกับ PLC ด้วยครับ ของ Allen Bradley

    1. จบทางไฟฟ้าก็ไม่เป็นปัญหาในการเรียนรู้ด้วยตัวเองครับ
      เบื้องต้นลองหาโหลดโปรแกรม RSLogix5000 Demo มาเขียนโปรแกรมเล่นดูก่อนก็ได้
      แต่ถ้าอยากลอง Config Hardware จึงค่อยหาอุปกรณ์มาใช้จริงครับ
      ขอบคุณครับ
      Thaicontrol

  2. ผมจบ Mechanical En.เคยทำ Mitsu อยากเริ่ม Ab ต้องทำอย่างไรบ้าง มันต่างจาก Mitsuมากไหม รู้สึกกดดันมาก เพราะไม่ได้มาจาก สาย control

    1. เรื่องการเขียนโปรแกรม ladder คงจะคล้ายๆกันครับ แต่ Config กับ คำสั่งของ ControlLogix จะไม่เหมือน Mitsu ต้องศึกษาเพิ่มเติม แต่ถ้าคุณเคยใช้ Mitsu PLC มาแล้ว รับรองรองว่า ControlLogix ง่ายกว่าหลายเท่า เพราะเป็นระบบ Tag แล้ว

  3. ขอบคุณมากครับ สำหรับคำแนะนำ AB เป็น plc ที่เก่งมากเทียบเท่า siemens เลยครับ สามารถทำในสิ่งที่ MITSUไม่สามารถทำได้โดยง่าย

  4. ขอบคุณสำหรับข้อมูลทั้งหมด มันเป็นสิ่งที่ดีมาก ขอบคุณแทนคนไทยทุกคนที่เข้ามาอ่าน และนำความรู้ที่ได้มาพัฒนาประเทศ

  5. ถ้าผมต้องการโหลดโปรแกรม M/C ของเครื่องจักร เพื่อดูข้อมูล ต้องตรวจสอบอะไรบ้างก่อนการโหลดโปรแกรม เช่น version plc หรืออะไรบ้าง เพื่อว่าหลังจากโหลดโปรแกรมแล้ว M/C จะได้ไม่มีปัญหา

    1. เบื้องต้นต้อง Config Driver ของ RSLinx แล้ว Browse ให้มองเห็น Controller ก่อน
      แล้วให้เช็ค Firmware revision ของ Controller จากนั้นถึงค่อย Upload โปรแกรมใน RSLogix5000 ครับ

  6. ผมอยากรู้เรื่อง การ Configuration card redundancy ของ Allen bradley ตอน ตอนนี้ผมทำระบบ Redundance อยู่ครับ ขอบคุณครับ

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