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

อาจมองไม่ทันไฮไลต์สีเขียวในโหมดออนไลน์ เมื่อสถานะจริงคงอยู่เพียงการประมวลผลหนึ่งรอบ
สิ่งที่ ONS และ OTE รับประกันจริง
Rockwell Automation ให้นิยาม ONS ว่าเป็นคำสั่งที่ทำให้ส่วนที่เหลือของรางแลดเดอร์เป็นจริงเป็นเวลาหนึ่งรอบการสแกน เมื่อเงื่อนไขรางขาเข้าเปลี่ยนจากเท็จเป็นจริง บิตจัดเก็บของคำสั่งจะจดจำว่าลอจิกก่อนหน้านั้นเป็นจริงอยู่แล้วหรือไม่ บิตจัดเก็บนี้เป็นของตัวตรวจจับขอบสัญญาณ และไม่ควรนำไปใช้ร่วมกับวันช็อตอื่นโดยพลการ
OTE มีหน้าที่แตกต่างกัน โดยจะตั้งค่าบิตปลายทางเมื่อเงื่อนไขรางเป็นจริง และล้างบิตเมื่อเงื่อนไขรางเป็นเท็จ เอกสารอ้างอิง คำสั่งบิตของ Studio 5000 ของ Rockwell แยกการเปิดใช้งานหนึ่งรอบการสแกนด้วย ONS ออกจากพฤติกรรมแบบคงสถานะและแบบคงค่าไว้ของ OTE, OTL และ OTU
ในการสแกนที่ตรวจพบขอบขาขึ้น ONS จะปล่อยให้ลอจิกของรางทำงานต่อ และปลายทางของ OTE จะกลายเป็นจริง ในการสแกนถัดไป อินพุตอาจยังเป็นจริงอยู่ แต่ ONS จะบล็อกความต่อเนื่อง เพราะขอบสัญญาณถูกใช้ไปแล้ว จากนั้น OTE จะล้างค่าปลายทาง ผลลัพธ์คือพัลส์ที่ถูกต้องหนึ่งรอบการสแกน ไม่ใช่คอยล์ที่ทำงานล้มเหลว
เหตุใดพัลส์จึงหายไปจากมุมมอง
การประมวลผลงานของ Logix และการรีเฟรชหน้าจอออนไลน์ของเวิร์กสเตชันวิศวกรรมเป็นกระบวนการแยกจากกัน งานแบบคาบอาจทำงานหลายครั้งระหว่างการอัปเดตหน้าจอแต่ละครั้ง ดังนั้นเอาต์พุตจึงอาจเปิดและปิดระหว่างการรีเฟรชที่มองเห็นได้สองครั้ง แม้โปรเซสเซอร์จะประมวลผลทั้งสองสถานะอย่างถูกต้อง
เอาต์พุตจริงยังเพิ่มขอบเขตอีกชั้นหนึ่ง ตัวควบคุมจะอัปเดตข้อมูลเอาต์พุต โมดูลสื่อสารจะถ่ายโอนข้อมูลตามตารางเวลาของตน และอุปกรณ์ที่เชื่อมต่อจะมีเวลาตอบสนองทางไฟฟ้าและทางกล พัลส์ที่มีอยู่ในภาพหน่วยความจำของตัวควบคุมเพียงหนึ่งรอบการสแกนอาจสั้นเกินไปจนส่งไปถึงหรือสั่งงานอุปกรณ์ภาคสนามได้อย่างน่าเชื่อถือ พฤติกรรมที่แน่นอนขึ้นอยู่กับคาบงาน การอัปเดตโมดูล รูปแบบเครือข่าย ฮาร์ดแวร์เอาต์พุต และโหลด ไม่ได้ขึ้นอยู่กับค่าขีดจำกัดมิลลิวินาทีสากลค่าใดค่าหนึ่ง
ในการวินิจฉัย ให้ตรวจนับขอบสัญญาณในแท็กภายใน ทำบิตวินิจฉัยชั่วคราวให้คงค่าโดยต้องรีเซ็ตอย่างตั้งใจ หรือบันทึกแนวโน้มของเหตุการณ์ด้วยอัตราที่เหมาะสมกับงาน อย่ายืดคำสั่งที่ใช้จริงเพียงเพื่อให้มองเห็นได้ โดยยังไม่ได้พิจารณาก่อนว่าคำสั่งที่ยืดออกนั้นอาจไปสั่งงานอะไร
เลือกแพตเทิร์นตามพฤติกรรมสถานะที่ต้องการ
ใช้พัลส์หนึ่งรอบการสแกนสำหรับเหตุการณ์
ONS เหมาะเมื่อคำสั่งถัดไปควรถูกประมวลผลเพียงครั้งเดียว เช่น การเพิ่มตัวนับ การคัดลอกสูตร การบันทึกเวลา การเริ่มส่งข้อความ หรือการขอให้เครื่องจักรสถานะเปลี่ยนไปยังสถานะถัดไป ในการออกแบบนี้ แท็กหนึ่งรอบการสแกนคือเหตุการณ์ ไม่ใช่คำสั่งอุปกรณ์
ตั้งชื่อให้สื่อความหมายตามนั้น—Start_Request_Pulse ชัดเจนกว่า Pump_Start รูทีนสถานะหรืออุปกรณ์ควรรับคำขอ ตรวจสอบเงื่อนไขอนุญาต กำหนดผู้ควบคุม และสร้างคำสั่งเดินเครื่องแบบคงสถานะ
ใช้สมการซีลอินสำหรับคำสั่งที่คงสถานะแต่ไม่คงค่าหลังรีสตาร์ต
หากเหตุการณ์เริ่มต้นต้องคงบิตเดินเครื่องไว้จนกว่าเงื่อนไขหยุด ความขัดข้อง หรืออินเตอร์ล็อกจะเป็นจริง สมการสถานะแบบซีลอินสามารถขับ OTE เพียงตัวเดียวได้ คำสั่งจะยังคงเป็นจริงเพราะบิตสถานะมีส่วนร่วมในเงื่อนไขคงสถานะของตัวเอง ไม่ใช่เพราะ ONS ยังคงเป็นจริง
จัดวางเงื่อนไขหยุด ความขัดข้อง โหมด และเงื่อนไขอนุญาตให้ลำดับความสำคัญชัดเจน หลีกเลี่ยงการวาดแขนงที่ข้ามอินเตอร์ล็อกซึ่งมีหน้าที่หยุดอุปกรณ์ การมีผู้ควบคุมเอาต์พุตเพียงรายเดียวช่วยให้ตรวจสอบได้ง่ายกว่าการมีหลายรางเขียนค่า BOOL เดียวกัน

วันช็อตควรใช้ร้องขอการเปลี่ยนสถานะ ส่วนลอจิกแบบคงสถานะควรเป็นผู้ควบคุมคำสั่งอุปกรณ์
ใช้ OTL และ OTU เฉพาะเมื่อกำหนดผู้รับผิดชอบการรีเซ็ตไว้อย่างชัดเจน
OTL จะตั้งค่าบิต ส่วน OTU จะล้างบิต รูปแบบนี้สามารถใช้เป็นรูปแบบเหตุการณ์ไปสู่สถานะที่ชัดเจนได้ แต่ทุกเส้นทางที่ตั้งค่าต้องมีเส้นทางรีเซ็ตที่ผ่านการทบทวน กำหนดให้ชัดเจนว่าจะเกิดอะไรขึ้นเมื่อเริ่มสแกนครั้งแรก เปลี่ยนโหมด ดาวน์โหลดโปรแกรม รีสตาร์ตโปรเซสเซอร์ สูญเสียสัญญาณตอบกลับ และเปลี่ยนเข้าสู่สถานะขัดข้อง อย่าคิดว่าปุ่มหยุดของผู้ปฏิบัติงานเป็นเงื่อนไขเดียวที่ต้องปลดล็อกคำสั่ง
สำหรับอุปกรณ์ที่ซับซ้อน โดยปกติแล้วเครื่องจักรสถานะจะชัดเจนกว่าคำสั่งล็อกและปลดล็อกที่กระจัดกระจาย เครื่องจักรสถานะจะมีจุดเดียวสำหรับกำหนดพฤติกรรมของสถานะว่าง กำลังเริ่ม เดินเครื่อง กำลังหยุด และขัดข้อง รวมถึงการเปลี่ยนสถานะที่อนุญาตระหว่างสถานะเหล่านั้น
ลำดับการแก้ไขปัญหาโดยให้ความสำคัญกับความขัดข้องก่อน
ขั้นแรก ยืนยันว่าลอจิกก่อน ONS เปลี่ยนจากเท็จเป็นจริงจริง หากลอจิกเป็นจริงอยู่แล้วเมื่อรูทีนเริ่มทำงาน อาจไม่มีขอบสัญญาณใหม่ให้ส่งผ่าน ตรวจสอบว่ารูทีนถูกสแกนอย่างต่อเนื่อง ถูกเรียกแบบมีเงื่อนไข หรืออยู่ในงานที่ถูกยับยั้ง
ขั้นที่สอง ตรวจสอบว่าบิตจัดเก็บของ ONS เป็นบิตเฉพาะ การใช้แท็กจัดเก็บเดียวกันในสองตำแหน่งจะเชื่อมโยงประวัติขอบสัญญาณของรางที่ไม่เกี่ยวข้องกัน และอาจระงับพัลส์ที่ควรเกิดขึ้น
ขั้นที่สาม ตรวจสอบการอ้างอิงไขว้ของปลายทาง OTE OTE, OTL, OTU, แท็กที่ผลิตออกไป, แท็กแฝง หรือการเขียนจากภายนอกอีกตัวอาจเปลี่ยนบิตเดียวกันในภายหลังของรอบการสแกนหรือในงานอื่น เอกสาร OTE ของ Rockwell เตือนโดยเฉพาะเกี่ยวกับตัวถูกดำเนินการที่อาจถูกเขียนทับ กำหนดผู้ควบคุมคำสั่งสุดท้ายเพียงรายเดียว และให้รูทีนอื่นร้องขอการเปลี่ยนแปลงผ่านแท็กแยกต่างหาก
ขั้นที่สี่ แยกสถานะของตัวควบคุมออกจากสถานะทางกายภาพ สังเกตแท็กคำสั่ง สถานะการเชื่อมต่อโมดูล ข้อมูลเอาต์พุต แรงดันภาคสนาม รีเลย์คั่นกลาง อินพุตสตาร์ทเตอร์ และสัญญาณตอบกลับของอุปกรณ์เป็นจุดต่าง ๆ ในสายสัญญาณ แท็กที่ถูกต้องไม่ได้ยืนยันว่ามีกำลังไฟภาคสนาม และไฟ LED เอาต์พุตที่ติดก็ไม่ได้ยืนยันว่าแอคชูเอเตอร์เคลื่อนที่
ท้ายที่สุด ให้ยกเลิกฟอร์ซและสลักวินิจฉัยชั่วคราวหลังการทดสอบ จัดทำเอกสารวิธีทดสอบ เพื่อไม่ให้เจ้าหน้าที่บำรุงรักษารับช่วงต่อบิตที่มีไว้ใช้เฉพาะงานบริการและเปลี่ยนพฤติกรรมการผลิตโดยไม่รู้ตัว
ตัวอย่างการใช้งาน: การเลือกปั๊มหลัก
รูทีนหลัก/สำรองอาจสร้างวันช็อตเมื่อ Pump 1 กลายเป็นหน่วยหลักที่ถูกเลือก ขอบสัญญาณนั้นไม่ควรต่อเข้ากับเอาต์พุตจริงโดยตรง แต่ควรใช้ร้องขอการเริ่มทำงานจากโมดูลอุปกรณ์ปั๊ม จากนั้นโมดูลจะตรวจสอบโหมดอัตโนมัติ เงื่อนไขอนุญาต สถานะทริป เวลาขั้นต่ำที่ต้องหยุด ความต้องการของกระบวนการ และความพร้อมใช้งาน ก่อนยืนยันคำสั่งเดินเครื่องแบบคงสถานะ
สัญญาณตอบกลับควรทำให้สถานะเปลี่ยนจากกำลังเริ่มเป็นเดินเครื่อง ขณะที่การหมดเวลาการเริ่มทำงานจะสร้างการตอบสนองเมื่อเกิดความล้มเหลว ความต้องการหยุดและความขัดข้องควรทำให้สถานะเปลี่ยนไปสู่การหยุดที่ควบคุมไว้หรือการทริปทันทีตามการออกแบบกระบวนการ การแยกส่วนนี้ป้องกันไม่ให้เหตุการณ์การเลือกที่เกิดขึ้นชั่วขณะกลายเป็นสิ่งเดียวที่ค้ำคำสั่งมอเตอร์
สำหรับตัวอย่างเพิ่มเติมเกี่ยวกับการเปลี่ยนเจตนาแบบบูลีนให้เป็นโครงสร้างแลดเดอร์ที่ดูแลรักษาได้ โปรดดูคู่มือที่แก้ไขแล้วเกี่ยวกับ ลอจิก XOR ของสวิตช์สามตัวและพาริตีคี่ นอกจากนี้ยังสามารถดูตัวเลือกตัวควบคุมและ I/O ได้ผ่าน ระบบ PLC และ PAC
การทดสอบการออกแบบคือการกำหนดผู้รับผิดชอบ
มุมมองของผู้เรียบเรียง: ความผิดพลาดที่เกิดซ้ำไม่ใช่การไม่เข้าใจวันช็อต แต่คือการปล่อยให้บิตเหตุการณ์ปลอมตัวเป็นสถานะอุปกรณ์ ตัวตรวจจับขอบสัญญาณตอบคำถามว่า “การเปลี่ยนแปลงนี้เกิดขึ้นหรือไม่” ส่วนลอจิกสถานะตอบคำถามว่า “ตอนนี้เครื่องจักรควรกำลังทำอะไรอยู่” การแยกคำถามสองข้อนี้ออกจากกันทำให้โค้ดนำไปทดสอบเดินระบบได้ง่ายขึ้น ปลอดภัยกว่าเมื่อรีสตาร์ต และเสี่ยงต่อการแก้ไขคอยล์ซ้ำซ้อนน้อยลงมาก
คำถามที่พบบ่อย
ONS ทำให้ OTE ถัดไปทำงานหรือไม่
ทำงาน ในรอบการสแกนที่เงื่อนไขรางขาเข้าเปลี่ยนจากเท็จเป็นจริง ในรอบการสแกนถัดไป ONS จะบล็อกรางไว้จนกว่าเงื่อนไขอินพุตจะกลับเป็นเท็จ แล้วเปลี่ยนขึ้นเป็นจริงอีกครั้ง
เหตุใดฉันจึงมองไม่เห็น OTE เปิดทำงานในโหมดออนไลน์
พัลส์หนึ่งรอบการสแกนอาจเริ่มและสิ้นสุดระหว่างการรีเฟรชของเวิร์กสเตชันวิศวกรรม ใช้ตัวนับเหตุการณ์ภายใน สลักวินิจฉัยที่ควบคุมได้ หรือเทรนด์ที่กำหนดค่าอย่างเหมาะสมเพื่อยืนยันว่าขอบสัญญาณเกิดขึ้น
ควรเปลี่ยน OTE เป็น OTL หรือไม่
ควรเปลี่ยนก็ต่อเมื่อสิ่งที่ต้องการจริง ๆ คือสถานะที่คงค่าไว้ และมีการออกแบบเงื่อนไขปลดล็อกไว้อย่างชัดเจนครบทุกกรณี สำหรับคำสั่งอุปกรณ์จำนวนมาก เครื่องจักรสถานะหรือสมการซีลอินที่มี OTE ผู้ควบคุมเพียงรายเดียวจะตรวจสอบได้ง่ายกว่า
ONS สองคำสั่งสามารถใช้บิตจัดเก็บเดียวกันได้หรือไม่
ไม่ควรใช้ร่วมกัน บิตจัดเก็บจะบันทึกประวัติขอบสัญญาณ การใช้ร่วมกันจะเชื่อมโยงคำสั่งทั้งสอง และอาจทำให้รางหนึ่งระงับพัลส์ที่อีกรางควรได้รับ
OTE แบบหนึ่งรอบการสแกนสามารถขับเอาต์พุตจริงได้หรือไม่
ตัวควบคุมสามารถเขียนสถานะนั้นได้ แต่พัลส์อาจไม่ถูกถ่ายโอนหรือคงอยู่นานพอให้โมดูลและอุปกรณ์ภาคสนามตอบสนอง คำสั่งทางกายภาพควรอิงตามข้อกำหนดสถานะคงอยู่ที่กำหนดไว้อย่างชัดเจน