ข้อผิดพลาดในการแก้ไขออนไลน์ของ MicroLogix 1400 กับคำสั่ง MUL
แก้ไขปัญหาการแก้ไขออนไลน์คำสั่ง MUL ของ MicroLogix 1400 ไม่สำเร็จ โดยแยกสาเหตุด้านชนิดตัวถูกดำเนินการ ไฟล์ข้อมูล หน่วยความจำ ซอฟต์แวร์ และการสื่อสาร จากนั้นตรวจสอบพฤติกรรมการสเกลโดยไม่เปลี่ยนตัวแปร...
MicroLogix 1400 อาจตรวจสอบโปรเจกต์แบบออฟไลน์ได้ แต่กลับปฏิเสธราง MUL ระหว่างการแก้ไขแบบออนไลน์ การโทษ EtherNet/IP หรือการสันนิษฐานว่าค่าคงที่ทศนิยมเป็นสาเหตุเสมอไปนั้นเป็นเรื่องที่เข้าใจได้ แต่ข้อความแสดงข้อผิดพลาดเพียงอย่างเดียวไม่สามารถยืนยันข้อสรุปใดข้อสรุปหนึ่งได้ การแก้ไขขณะรันจริงมีข้อจำกัดที่ไม่มีในการทำงานแบบออฟไลน์ และคำสั่งคณิตศาสตร์ยังต้องแก้ไขชนิดข้อมูลต้นทางและปลายทางที่เข้ากันได้ภายในไฟล์ข้อมูลเดิมของคอนโทรลเลอร์
วิธีแก้ในทางปฏิบัติคือการวินิจฉัยอย่างเป็นระบบ เก็บรักษาโปรแกรมปัจจุบันไว้ บันทึกรุ่นของคอนโทรลเลอร์และซอฟต์แวร์อย่างละเอียด ระบุสิ่งที่เปลี่ยนแปลงในราง และพิจารณาว่าความล้มเหลวเกิดจากกลไกการแก้ไขหรือจากการคำนวณ วิธีนี้ช่วยป้องกันไม่ให้การแก้ไขปัญหาในขณะที่ระบบทำงานกลายเป็นการแก้ไขที่ไม่เกี่ยวข้องต่อเนื่องกันจนยกเลิกหรือตรวจสอบได้ยาก
เปลี่ยนตัวดำเนินการทีละรายการ และเก็บรางเดิมไว้สำหรับเปรียบเทียบจนกว่าจะทดสอบและประกอบการแก้ไขเรียบร้อย
เริ่มจากข้อจำกัดของการแก้ไขออนไลน์ในคอนโทรลเลอร์
คู่มือผู้ใช้ MicroLogix 1400 ของ Rockwell Automation แยกความแตกต่างระหว่างการแก้ไขแบบออฟไลน์และออนไลน์ การทำงานแบบออนไลน์ไม่สามารถสร้างหรือลบไฟล์โปรแกรม ปรับขนาดไฟล์ตารางข้อมูล เปลี่ยนการกำหนดค่า I/O หรือแก้ไขการตั้งค่าการป้องกันบางรายการได้ คู่มือยังเตือนว่าการยอมรับ การประกอบ หรือการยกเลิกการแก้ไขอาจทำให้เวลาสแกนและความหน่วงของการตอบสนองเพิ่มขึ้น และหน่วยความจำโปรแกรมที่มีอยู่จะจำกัดปริมาณลอจิกที่แก้ไขแล้วซึ่งสามารถอยู่ร่วมกันได้ก่อนการประกอบ
ข้อจำกัดเหล่านี้ส่งผลโดยตรงต่อการแก้ไขแบบทศนิยมที่เสนอ หากโปรแกรมมีไฟล์ F ที่มีขนาดเพียงพออยู่แล้ว ช่างเทคนิคสามารถอ้างอิงองค์ประกอบที่มีอยู่ได้ หากไม่มีไฟล์ Float หรือจำเป็นต้องเพิ่มจำนวนองค์ประกอบ การสร้างหรือปรับขนาดไฟล์ต้องทำแบบออฟไลน์และดาวน์โหลดโปรแกรม การพยายามแก้ปัญหาตัวดำเนินการด้วยการสร้าง F8:7 ระหว่างการแก้ไขขณะรันจริงจะล้มเหลวด้วยเหตุผลอื่น แม้การออกแบบทางคณิตศาสตร์จะถูกต้องก็ตาม
พิสูจน์ว่าข้อผิดพลาดเกิดตามรางหรือการเชื่อมต่อ
ก่อนแก้ไขการคำนวณ ให้ยอมรับการเปลี่ยนแปลงที่ไม่เป็นอันตรายและได้รับอนุญาตในพื้นที่ทดสอบ หรือยืนยันว่าการแก้ไขอื่นที่วางแผนไว้สามารถยอมรับได้ภายใต้ขั้นตอนการบำรุงรักษาเดียวกัน หากการแก้ไขทุกอย่างล้มเหลว ให้ตรวจสอบความเข้ากันได้ของซอฟต์แวร์เขียนโปรแกรม โหมดของคอนโทรลเลอร์ หน่วยความจำโปรแกรม สิทธิ์ในการแก้ไข และเสถียรภาพของการสื่อสาร การขัดข้องของเครือข่ายอาจยุติเซสชันการแก้ไขได้ แต่การเชื่อมต่อออนไลน์ที่เสถียรไม่ได้รับประกันว่ารางที่ร้องขอจะถูกต้องตามข้อกำหนด
บันทึกข้อความแสดงข้อผิดพลาดทั้งหมด รวมถึงสถานะของโซนแทรกและโซนแทนที่ ยกเลิกการแก้ไขที่ล้มเหลวอย่างถูกต้องก่อนเริ่มความพยายามครั้งใหม่ ยืนยันว่ามีการดาวน์โหลดที่ทราบว่าถูกต้องอย่างน้อยหนึ่งครั้งเพื่อสร้างพื้นฐานการแก้ไขออนไลน์ตามที่ระบุในคู่มือผู้ใช้ และตรวจสอบว่าโปรเจกต์ที่เวิร์กสเตชันเปิดอยู่ตรงกับอิมเมจในคอนโทรลเลอร์
จัดการตัวคูณแบบเศษส่วนอย่างมีจุดประสงค์
ตัวคูณอย่าง 0.7 แทนค่าที่เป็นเศษส่วน การจัดเก็บตัวคูณนี้ไว้ในองค์ประกอบ Float ที่มีอยู่จะทำให้ชนิดข้อมูลชัดเจน และช่วยให้ฝ่ายบำรุงรักษาสามารถบันทึกหรือปรับตัวคูณผ่านแอดเดรสข้อมูลที่ควบคุมได้ อย่างไรก็ตาม การเปลี่ยนตัวดำเนินการต้นทางเป็นเพียงครึ่งหนึ่งของการตัดสินใจทางวิศวกรรม ปลายทางจะเป็นตัวกำหนดว่าผลลัพธ์แบบเศษส่วนจะถูกเก็บไว้หรือแปลงเป็นรูปแบบจำนวนเต็ม
หากปลายทางเป็นจำนวนเต็มในไฟล์ N ให้ทดสอบพฤติกรรมการแปลงของคอนโทรลเลอร์ตลอดช่วงการทำงานทั้งหมด อย่าสรุปผลจากตัวอย่างเดียว เช่น สิบคูณด้วย 0.7 ให้ตรวจสอบค่าบวก ค่าลบ ค่าใกล้ศูนย์ ค่าสูงสุด และค่าต่ำสุด รวมถึงทบทวนการจัดการสถานะทางคณิตศาสตร์ที่แอปพลิเคชันใช้ หากลอจิกถัดไปต้องการความละเอียดแบบเศษส่วน ให้ใช้ปลายทาง Float ที่เหมาะสม และแปลงเฉพาะที่ขอบเขตซึ่งจำเป็นต้องใช้จำนวนเต็มจริง ๆ
แอดเดรส Float ที่มีอยู่ช่วยทำให้ตัวคูณทศนิยมชัดเจนขึ้น แต่ชนิดและช่วงของปลายทางยังคงต้องผ่านการทดสอบอย่างครบถ้วน
ใช้ลำดับการแก้ไขที่ปลอดภัย
ขั้นแรก ให้อัปโหลดหรือเก็บรักษาโปรแกรมที่กำลังทำงานอยู่ด้วยวิธีอื่น และบันทึกหมายเลขแค็ตตาล็อกของคอนโทรลเลอร์ ซีรีส์ รุ่นเฟิร์มแวร์ รุ่นของ RSLogix 500 หน่วยความจำที่เหลือ และโหมดการทำงาน จากนั้นค้นหาองค์ประกอบ Float ที่มีอยู่ซึ่งไม่ได้ใช้งาน มีเอกสารกำกับ และสามารถใช้ได้โดยไม่ต้องปรับขนาดไฟล์ กำหนดค่าองค์ประกอบดังกล่าวให้เป็นค่าปัจจัยทางวิศวกรรมที่ต้องการตามขั้นตอนที่หน่วยงานอนุมัติ และยืนยันค่าแบบออนไลน์
แก้ไขเฉพาะต้นทางของ MUL ที่แทนค่าปัจจัยนั้น ปล่อยปลายทางเดิมไว้สำหรับการทดสอบคอมไพล์ครั้งแรก เว้นแต่ข้อกำหนดด้านความแม่นยำจะต้องใช้ปลายทาง Float อยู่แล้ว ยอมรับและทดสอบการแก้ไขโดยให้เครื่องอยู่ในสภาวะปลอดภัย เปรียบเทียบผลลัพธ์กับการคำนวณอิสระจากค่าขาเข้าหลายค่า ก่อนประกอบการแก้ไข หากเพิ่มปลายทาง Float ให้ติดตามผู้ใช้ค่าจำนวนเต็มเดิมทุกจุดก่อนเปลี่ยนแอดเดรส
เมื่อไม่มีองค์ประกอบ Float ที่เหมาะสม ให้หยุดการแก้ไขขณะรันจริง เพิ่มหรือปรับขนาดไฟล์ข้อมูลแบบออฟไลน์ ตรวจสอบโปรเจกต์ทั้งหมด กำหนดเวลาสำหรับการดาวน์โหลด และจัดทำแผนย้อนกลับ ความไม่สะดวกนี้มีน้อยกว่าการฝืนใส่วิธีแก้ทางคณิตศาสตร์ที่ยังไม่ได้ทบทวนลงในเครื่องที่กำลังทำงาน
พิจารณาการสเกลด้วยอัตราส่วนจำนวนเต็มเฉพาะเมื่อช่วงค่ารองรับ
บางแอปพลิเคชันสามารถแทนค่า 0.7 ด้วยอัตราส่วนเจ็ดต่อสิบได้ การคูณด้วยตัวเศษแล้วหารด้วยตัวส่วนอาจหลีกเลี่ยงการพึ่งพา Float ได้ แต่ลำดับการทำงาน ช่วงค่าระหว่างกลาง เครื่องหมาย และการปัดเศษจะกลายเป็นตัวเลือกในการออกแบบ การคูณก่อนช่วยรักษาความละเอียดได้มากกว่า แต่อาจทำให้จำนวนเต็มระหว่างกลางล้นได้ การหารก่อนลดความเสี่ยงจากค่าล้น แต่ทำให้ข้อมูลสูญเสียเร็วกกว่า
ใช้ชนิดข้อมูลระหว่างกลางที่มีช่วงเหมาะสมและคอนโทรลเลอร์รองรับ พร้อมยืนยันพฤติกรรมที่แน่นอนของคำสั่งในคู่มืออ้างอิง MicroLogix คณิตศาสตร์แบบอัตราส่วนไม่ได้ปลอดภัยกว่าคณิตศาสตร์แบบจุดลอยตัวโดยอัตโนมัติ แต่มีประโยชน์เฉพาะเมื่อมีการบันทึกและทดสอบความละเอียดที่ต้องการกับช่วงเต็มสเกลแล้ว
ตรวจสอบเครื่องจักร ไม่ใช่แค่คอมไพเลอร์
รางที่ยอมรับได้เป็นหลักฐานว่าถูกต้องตามไวยากรณ์และข้อกำหนดการแก้ไขเท่านั้น ไม่ได้พิสูจน์ความถูกต้องของกระบวนการ ให้ติดตามค่าแหล่งที่มา ปัจจัย ค่าระหว่างกลาง ปลายทาง บิตสถานะที่เกี่ยวข้อง และปริมาณทางกายภาพที่ได้รับผลจากการคำนวณ ทดสอบค่าขอบเขตและการสูญเสียแหล่งข้อมูล ยืนยันว่าเครื่องมือแจ้งเตือน อินเตอร์ล็อก การสเกล HMI ค่าจากระบบเก็บประวัติ และลอจิก PID หรือการเปรียบเทียบใด ๆ ตีความผลลัพธ์ตามที่ตั้งใจ
สังเกตเวลาสแกนระหว่างการทดสอบและการประกอบ หลีกเลี่ยงการทำการแก้ไขหลายรายการในขณะที่กระบวนการเปลี่ยนแปลงอย่างรวดเร็ว และอย่าใช้ Force แทนแผนการทดสอบที่มีการควบคุม หากการสื่อสารยังไม่เสถียร ให้คืนระบบสู่สถานะที่ทราบแน่ชัดและแก้ไขปัญหาเครือข่ายก่อนดำเนินการเปลี่ยนแปลงแบบออนไลน์ต่อ
สามารถดูข้อมูลอ้างอิงของคอนโทรลเลอร์ที่เข้ากันได้ใน รายการสินค้า MicroLogix 1400 ขณะที่แพลตฟอร์มที่เกี่ยวข้องถูกรวมไว้ใน ระบบ PLC และ PAC ตรวจสอบหมายเลขแค็ตตาล็อกที่ตรงกัน การกำหนดค่าพลังงาน I/O เฟิร์มแวร์ และข้อกำหนดของโปรเจกต์อย่างละเอียดก่อนใช้ฮาร์ดแวร์ทดแทน
มุมมองทางวิศวกรรม
การแก้ไขที่น่าเชื่อถือที่สุดไม่ใช่ “แทนที่ค่าคงที่ทศนิยมทุกตัวด้วย F8” แต่คือการระบุว่าการแก้ไขจำเป็นต้องเปลี่ยนไฟล์ข้อมูลหรือไม่ ทำให้ชนิดข้อมูลตัวเลขชัดเจน และพิสูจน์ผลลัพธ์ตลอดช่วงการทำงานทางวิศวกรรม วิธีนี้ช่วยแก้ปัญหาการคอมไพล์โดยไม่ซ่อนข้อผิดพลาดด้านการสเกล ซึ่งอาจสร้างความเสียหายได้มากกว่ารางที่ถูกปฏิเสธ