ONS Instruction Not Energizing OTE in Studio 5000 Ladder Logic — figure 1

คำสั่ง ONS ไม่กระตุ้น OTE ในลอจิกแลดเดอร์ของ Studio 5000

คำสั่ง ONS ทำงาน แต่คอยล์ OTE ไม่เคยค้างใน Studio 5000 เนื่องจากวันช็อตจะเป็นจริงเพียงหนึ่งสแกนเท่านั้น ให้ใช้ OTL/OTU หรือลอจิกซีลอินแทน

จอมอนิเตอร์ออนไลน์บางครั้งแสดงบิตจัดเก็บของ ONS กำลังเปลี่ยนสถานะ ขณะที่ OTE ที่ควรทำงานกลับไม่เคยปรากฏว่าได้จ่ายพลังงานให้สตาร์ทเตอร์ปั๊มหรือโซลินอยด์ ใน Studio 5000 Logix Designer สาเหตุนี้มักไม่ใช่การ์ดเอาต์พุตเสีย ONS เป็นตัวตรวจจับขอบขาขึ้นที่เป็นจริงเพียงครั้งเดียวในการประเมินรูทีนหนึ่งรอบ ส่วน OTE จะเขียนเงื่อนไขของรางในทุกสแกนโดยไม่มีการซีลภายใน เมื่อนำมาจับคู่กันโดยตรง จะเกิดพัลส์เพียงหนึ่งสแกน ซึ่งมักมีความยาว 5–20 มิลลิวินาที ทำให้คอนแทคเตอร์ VFD และแม้แต่แอนิเมชันบน HMI แทบไม่ตอบสนอง ขณะที่อัตราการแสดงผลที่ช้ากว่าของ IDE ก็พลาดพัลส์นี้ไปทั้งหมด

คำสั่ง ONS ไม่ทำให้ OTE ทำงานในลอจิกแลดเดอร์ของ Studio 5000 — รูปที่ 1

สัญชาตญาณจากลอจิกรีเลย์ใช้ไม่ได้กับกรณีนี้: การเขียนค่าใน Logix นาน 10 มิลลิวินาทีไม่เหมือนกับหน้าสัมผัสช่วยที่ค้างอยู่

หลักการทำงานของการสแกน

การสแกน ขอบสัญญาณอินพุต เอาต์พุต ONS แท็ก OTE
n-1 0 0 0
n 0→1 1 1 (หนึ่งสแกน)
n+1 1 0 0
n+2 1 0 0

สตาร์ทเตอร์จริงมักต้องการคำสั่งที่คงอยู่อย่างต่อเนื่อง 50–100 มิลลิวินาที เส้นทาง ONS→OTE เพียงอย่างเดียวไม่สามารถให้สิ่งนี้ได้ หน้าต่างตรวจสอบของ Studio 5000 เก็บตัวอย่างช้ากว่าคาบเวลาของทาสก์มาก ดังนั้นโอกาสที่จะจับพัลส์ 10 มิลลิวินาทีจึงต่ำ จึงเกิดความเชื่อว่า “ONS ไม่เคยทำงาน”

การยืดเวลาเพื่อการวินิจฉัย

  • ใส่ TOF แบบขนาน (ค่าพรีเซ็ต 1–2 วินาที) บนเหตุการณ์ ONS แล้วตรวจดู .TT/.DN ใน IDE
  • บวกค่า 1.0 ให้ตัวนับ REAL ในแต่ละขอบสัญญาณ แล้วดูแนวโน้มของจำนวน
  • ใช้ Studio Trend ที่อัตราการเก็บตัวอย่างประมาณ 10 มิลลิวินาทีบนแท็ก OTE เพื่อดูดิวตีไซเคิลจริง
คำสั่ง ONS ไม่ทำให้ OTE ทำงานในลอจิกแลดเดอร์ของ Studio 5000 — รูปที่ 2

รูปแบบซีลอินหรือ OTL/OTU จะเปลี่ยนการตัดสินใจแบบวันช็อตให้เป็นคำสั่งเดินเครื่องที่คงอยู่อย่างต่อเนื่อง

โซลูชัน A — OTL / OTU

[Pump1_RunCmd_ONS] ----(OTL Pump1_RunCmd)
[Pump1_Stop_PB]    ----(OTU Pump1_RunCmd)
[Pump1_Fault]      ----(OTU Pump1_RunCmd)

โปรดจำไว้ว่าล็อกจะคงค่าไว้ข้ามรอบการตัดไฟตามค่าเริ่มต้น ควรเพิ่มการรีเซ็ตในสแกนแรกหรือการรีเซ็ตสำหรับงานบำรุงรักษาให้กับเอาต์พุตที่ต้องไม่สตาร์ตมอเตอร์ใหม่หลังรีบูต

โซลูชัน B — ซีลอินรอบ OTE

|--[Start_ONS]-+----------(OTE RunCmd)--|
|              |                        |
|--[RunCmd]----+                        |
|--[Stop_PB]---/                        |

นี่คือแนวคิดเดียวกับสตาร์เตอร์แบบสามสายที่ใช้กันตลอดแนวทางการเขียนโปรแกรม Logix: ONS ให้ขอบสัญญาณเริ่มเดินเครื่อง ส่วนหน้าสัมผัส RunCmd ที่ซีลไว้จะรักษา OTE ให้ทำงานต่อจนกว่าปุ่มหยุดหรืออินเตอร์ล็อกจะเปิดเส้นทาง

โซลูชัน C — บิตสถานะร่วมกับ OTE คำสั่ง

สำหรับอุปกรณ์ที่ทำงานเป็นลำดับ ให้ใช้ OTL ล็อกขั้นตอนที่เลือกเมื่อเกิดขอบสัญญาณ ขับ OTE Start ขณะที่ Selected เป็นจริงและยังไม่มีฟีดแบ็ก Running จากนั้นใช้ OTU ยกเลิก Selected เมื่อได้รับฟีดแบ็ก HMI ยังคงเห็นคำสั่ง Start จริง ขณะที่ลอกรับผิดชอบขั้นตอนการทำงาน

บริบทลีด/แล็กและข้อควรระวัง

ซีเควนเซอร์ปั๊มที่ใช้ชั่วโมงการทำงานมักใช้ ONS ผิดกับการเปรียบเทียบ “ปั๊มนี้เป็นลีดแล้ว” หลังแก้โครงสร้างจากขอบสัญญาณไปเป็นคำสั่งแล้ว ให้เพิ่มตัวจับเวลาการเดินเครื่องขั้นต่ำ (ป้องกันการตัดต่อถี่เกินไป) การยับยั้งการสลับลีด และเส้นทาง OTU เมื่อเกิดฟอลต์ ให้ครอสรีเฟอเรนซ์แท็ก OTE เพื่อตรวจหาคอยล์ซ้ำที่อยู่ภายหลังในสแกนและเขียนทับค่า 1 ที่ซีลไว้เป็น 0 โดยไม่รู้ตัว ควรให้มีเจ้าของคอยล์เพียงหนึ่งรายต่อ BOOL

ควรตรวจสอบโทโพโลยีของแขนงด้วย: เส้นทางขนานที่บายพาส ONS อาจทำให้ OTE เป็นเท็จ แม้บิตจัดเก็บจะกะพริบ และรูทีนที่สองซึ่งเขียน BOOL เดียวกันอาจยกเลิกซีลอินที่สมบูรณ์แบบในทาสก์ถัดไป เมื่อมีผู้ใช้งานหลายส่วนต้องการพัลส์ ให้ขับ BOOL ตัวกลางเพียงหนึ่งตัวจาก ONS แค่ครั้งเดียว แล้วกระจายลอจิกแบบซีลหรือแบบล็อกจากบิตนั้น

// ยืดเวลาชั่วคราว — ลบออกก่อนการทดสอบเดินระบบขั้นสุดท้าย
[Pump1_Start_ONS] ---(TOF Stretch_Timer, 2.0 s)
[Stretch_Timer.TT] ---(OTE Diagnostic_Stretch_On)

เมื่อมีการยืดเวลา Diagnostic_Stretch_On จะยังมองเห็นได้ใน IDE และบนไฟกะพริบแสดงสถานะของ HMI ช่วยยืนยันอัตราการเกิดขอบสัญญาณก่อนที่คุณจะไว้วางใจลอจิกซีลอินสำหรับการผลิต ให้ลบหรือยับยั้งเส้นทางวินิจฉัยหลัง FAT เพื่อไม่ให้ผู้ปฏิบัติงานตามหาไฟบริการนี้ตลอดไป

ใช้กฎการกำหนดเจ้าของเหล่านี้อย่างสม่ำเสมอบนแพลตฟอร์ม PLC และ PAC เพื่อไม่ให้การแก้ไขกะกลางคืนทำให้ราง ONS→OTE ที่ไม่มีการซีลกลับมาอีกในแพ็กเกจถัดไป

เกี่ยวกับผู้เขียน

Mark Townsend | วิศวกรระบบอัตโนมัติอาวุโส – ระบบ Allen-Bradley

Mark Townsend เป็นวิศวกรระบบอัตโนมัติอาวุโสที่มีประสบการณ์มากกว่า 18 ปีกับแพลตฟอร์ม Allen-Bradley ครอบคลุม ControlLogix, CompactLogix และ SLC-500 รุ่นเก่า งานประจำวันของเขาคือลอจิก RSLogix / Studio 5000 และการนำ HMI ของ FactoryTalk View ขึ้นใช้งานในระบบที่มีอุปกรณ์เก่าและระบบแบบผสม

คำสั่ง ONS ไม่กระตุ้น OTE ในลอจิกแลดเดอร์ของ Studio 5000

คำสั่ง ONS ทำงาน แต่คอยล์ OTE ไม่เคยค้างใน Studio 5000 เนื่องจากวันช็อตจะเป็นจริงเพียงหนึ่งสแกนเท่านั้น ให้ใช้ OTL/OTU หรือลอจิกซีลอินแทน

จอมอนิเตอร์ออนไลน์บางครั้งแสดงบิตจัดเก็บของ ONS กำลังเปลี่ยนสถานะ ขณะที่ OTE ที่ควรทำงานกลับไม่เคยปรากฏว่าได้จ่ายพลังงานให้สตาร์ทเตอร์ปั๊มหรือโซลินอยด์ ใน Studio 5000 Logix Designer สาเหตุนี้มักไม่ใช่การ์ดเอาต์พุตเสีย ONS เป็นตัวตรวจจับขอบขาขึ้นที่เป็นจริงเพียงครั้งเดียวในการประเมินรูทีนหนึ่งรอบ ส่วน OTE จะเขียนเงื่อนไขของรางในทุกสแกนโดยไม่มีการซีลภายใน เมื่อนำมาจับคู่กันโดยตรง จะเกิดพัลส์เพียงหนึ่งสแกน ซึ่งมักมีความยาว 5–20 มิลลิวินาที ทำให้คอนแทคเตอร์ VFD และแม้แต่แอนิเมชันบน HMI แทบไม่ตอบสนอง ขณะที่อัตราการแสดงผลที่ช้ากว่าของ IDE ก็พลาดพัลส์นี้ไปทั้งหมด

คำสั่ง ONS ไม่ทำให้ OTE ทำงานในลอจิกแลดเดอร์ของ Studio 5000 — รูปที่ 1

สัญชาตญาณจากลอจิกรีเลย์ใช้ไม่ได้กับกรณีนี้: การเขียนค่าใน Logix นาน 10 มิลลิวินาทีไม่เหมือนกับหน้าสัมผัสช่วยที่ค้างอยู่

หลักการทำงานของการสแกน

การสแกน ขอบสัญญาณอินพุต เอาต์พุต ONS แท็ก OTE
n-1 0 0 0
n 0→1 1 1 (หนึ่งสแกน)
n+1 1 0 0
n+2 1 0 0

สตาร์ทเตอร์จริงมักต้องการคำสั่งที่คงอยู่อย่างต่อเนื่อง 50–100 มิลลิวินาที เส้นทาง ONS→OTE เพียงอย่างเดียวไม่สามารถให้สิ่งนี้ได้ หน้าต่างตรวจสอบของ Studio 5000 เก็บตัวอย่างช้ากว่าคาบเวลาของทาสก์มาก ดังนั้นโอกาสที่จะจับพัลส์ 10 มิลลิวินาทีจึงต่ำ จึงเกิดความเชื่อว่า “ONS ไม่เคยทำงาน”

การยืดเวลาเพื่อการวินิจฉัย

  • ใส่ TOF แบบขนาน (ค่าพรีเซ็ต 1–2 วินาที) บนเหตุการณ์ ONS แล้วตรวจดู .TT/.DN ใน IDE
  • บวกค่า 1.0 ให้ตัวนับ REAL ในแต่ละขอบสัญญาณ แล้วดูแนวโน้มของจำนวน
  • ใช้ Studio Trend ที่อัตราการเก็บตัวอย่างประมาณ 10 มิลลิวินาทีบนแท็ก OTE เพื่อดูดิวตีไซเคิลจริง
คำสั่ง ONS ไม่ทำให้ OTE ทำงานในลอจิกแลดเดอร์ของ Studio 5000 — รูปที่ 2

รูปแบบซีลอินหรือ OTL/OTU จะเปลี่ยนการตัดสินใจแบบวันช็อตให้เป็นคำสั่งเดินเครื่องที่คงอยู่อย่างต่อเนื่อง

โซลูชัน A — OTL / OTU

[Pump1_RunCmd_ONS] ----(OTL Pump1_RunCmd)
[Pump1_Stop_PB]    ----(OTU Pump1_RunCmd)
[Pump1_Fault]      ----(OTU Pump1_RunCmd)

โปรดจำไว้ว่าล็อกจะคงค่าไว้ข้ามรอบการตัดไฟตามค่าเริ่มต้น ควรเพิ่มการรีเซ็ตในสแกนแรกหรือการรีเซ็ตสำหรับงานบำรุงรักษาให้กับเอาต์พุตที่ต้องไม่สตาร์ตมอเตอร์ใหม่หลังรีบูต

โซลูชัน B — ซีลอินรอบ OTE

|--[Start_ONS]-+----------(OTE RunCmd)--|
|              |                        |
|--[RunCmd]----+                        |
|--[Stop_PB]---/                        |

นี่คือแนวคิดเดียวกับสตาร์เตอร์แบบสามสายที่ใช้กันตลอดแนวทางการเขียนโปรแกรม Logix: ONS ให้ขอบสัญญาณเริ่มเดินเครื่อง ส่วนหน้าสัมผัส RunCmd ที่ซีลไว้จะรักษา OTE ให้ทำงานต่อจนกว่าปุ่มหยุดหรืออินเตอร์ล็อกจะเปิดเส้นทาง

โซลูชัน C — บิตสถานะร่วมกับ OTE คำสั่ง

สำหรับอุปกรณ์ที่ทำงานเป็นลำดับ ให้ใช้ OTL ล็อกขั้นตอนที่เลือกเมื่อเกิดขอบสัญญาณ ขับ OTE Start ขณะที่ Selected เป็นจริงและยังไม่มีฟีดแบ็ก Running จากนั้นใช้ OTU ยกเลิก Selected เมื่อได้รับฟีดแบ็ก HMI ยังคงเห็นคำสั่ง Start จริง ขณะที่ลอกรับผิดชอบขั้นตอนการทำงาน

บริบทลีด/แล็กและข้อควรระวัง

ซีเควนเซอร์ปั๊มที่ใช้ชั่วโมงการทำงานมักใช้ ONS ผิดกับการเปรียบเทียบ “ปั๊มนี้เป็นลีดแล้ว” หลังแก้โครงสร้างจากขอบสัญญาณไปเป็นคำสั่งแล้ว ให้เพิ่มตัวจับเวลาการเดินเครื่องขั้นต่ำ (ป้องกันการตัดต่อถี่เกินไป) การยับยั้งการสลับลีด และเส้นทาง OTU เมื่อเกิดฟอลต์ ให้ครอสรีเฟอเรนซ์แท็ก OTE เพื่อตรวจหาคอยล์ซ้ำที่อยู่ภายหลังในสแกนและเขียนทับค่า 1 ที่ซีลไว้เป็น 0 โดยไม่รู้ตัว ควรให้มีเจ้าของคอยล์เพียงหนึ่งรายต่อ BOOL

ควรตรวจสอบโทโพโลยีของแขนงด้วย: เส้นทางขนานที่บายพาส ONS อาจทำให้ OTE เป็นเท็จ แม้บิตจัดเก็บจะกะพริบ และรูทีนที่สองซึ่งเขียน BOOL เดียวกันอาจยกเลิกซีลอินที่สมบูรณ์แบบในทาสก์ถัดไป เมื่อมีผู้ใช้งานหลายส่วนต้องการพัลส์ ให้ขับ BOOL ตัวกลางเพียงหนึ่งตัวจาก ONS แค่ครั้งเดียว แล้วกระจายลอจิกแบบซีลหรือแบบล็อกจากบิตนั้น

// ยืดเวลาชั่วคราว — ลบออกก่อนการทดสอบเดินระบบขั้นสุดท้าย
[Pump1_Start_ONS] ---(TOF Stretch_Timer, 2.0 s)
[Stretch_Timer.TT] ---(OTE Diagnostic_Stretch_On)

เมื่อมีการยืดเวลา Diagnostic_Stretch_On จะยังมองเห็นได้ใน IDE และบนไฟกะพริบแสดงสถานะของ HMI ช่วยยืนยันอัตราการเกิดขอบสัญญาณก่อนที่คุณจะไว้วางใจลอจิกซีลอินสำหรับการผลิต ให้ลบหรือยับยั้งเส้นทางวินิจฉัยหลัง FAT เพื่อไม่ให้ผู้ปฏิบัติงานตามหาไฟบริการนี้ตลอดไป

ใช้กฎการกำหนดเจ้าของเหล่านี้อย่างสม่ำเสมอบนแพลตฟอร์ม PLC และ PAC เพื่อไม่ให้การแก้ไขกะกลางคืนทำให้ราง ONS→OTE ที่ไม่มีการซีลกลับมาอีกในแพ็กเกจถัดไป

เกี่ยวกับผู้เขียน

Mark Townsend | วิศวกรระบบอัตโนมัติอาวุโส – ระบบ Allen-Bradley

Mark Townsend เป็นวิศวกรระบบอัตโนมัติอาวุโสที่มีประสบการณ์มากกว่า 18 ปีกับแพลตฟอร์ม Allen-Bradley ครอบคลุม ControlLogix, CompactLogix และ SLC-500 รุ่นเก่า งานประจำวันของเขาคือลอจิก RSLogix / Studio 5000 และการนำ HMI ของ FactoryTalk View ขึ้นใช้งานในระบบที่มีอุปกรณ์เก่าและระบบแบบผสม

แสดงความคิดเห็น

โปรดทราบว่าความคิดเห็นจะต้องได้รับการอนุมัติก่อนที่จะได้รับการเผยแพร่