MicroLogix 1400 Online Edit Error with MUL Instruction — figure 1

ข้อผิดพลาดในการแก้ไขออนไลน์ของ MicroLogix 1400 กับคำสั่ง MUL

ข้อผิดพลาดในการแก้ไขออนไลน์ของ MicroLogix 1400 เมื่อเพิ่มคำสั่ง MUL ที่มีตัวถูกดำเนินการเป็นค่าคงที่ แก้ไขโดยใช้แอดเดรส Float แทนค่าคงที่เป็นแหล่งที่มาของการคูณ

การแก้ไข MicroLogix 1400 แบบออนไลน์ผ่าน EtherNet/IP อาจล้มเหลวพร้อมข้อความ “ไม่สามารถคอมไพล์โปรแกรมได้ ข้อผิดพลาดในการแก้ไขออนไลน์” เมื่อราง MUL ใช้ค่าคงที่แบบลิเทอรัล เช่น 0.7 กับแหล่งข้อมูลชนิดจำนวนเต็ม โปรเจกต์เดียวกันอาจตรวจสอบแบบออฟไลน์ได้โดยไม่มีข้อผิดพลาด เนื่องจากคอมไพเลอร์สำหรับการแก้ไขออนไลน์ของคอนโทรลเลอร์ใช้กฎเกี่ยวกับตัวถูกดำเนินการที่เข้มงวดกว่าเส้นทางออฟไลน์ และค่าลิเทอรัลแบบทศนิยมในคำสั่งคำนวณมักเป็นจุดที่ทำให้เกิดปัญหา

ข้อผิดพลาดการแก้ไข MicroLogix 1400 แบบออนไลน์ด้วยคำสั่ง MUL — ภาพที่ 1

แทนที่ค่าลิเทอรัลด้วยแอดเดรสไฟล์ Float ที่มีค่า 0.7 อยู่แล้ว จากนั้นทดสอบการแก้ไขออนไลน์อีกครั้งก่อนเปลี่ยนแปลงสิ่งอื่น

อาการและการกำหนดค่า

รายการ การตั้งค่าที่มักทำให้เกิดข้อผิดพลาด
คอนโทรลเลอร์ MicroLogix 1400 ซีรีส์ A หรือ B
ซอฟต์แวร์ RSLogix 500 พร้อมการแก้ไขออนไลน์
คำสั่ง MUL
แหล่งข้อมูล A N7:2 (จำนวนเต็ม)
แหล่งข้อมูล B ค่าคงที่ 0.7
ปลายทาง N7:7 (จำนวนเต็ม)

สาเหตุหลัก

การแก้ไขออนไลน์บน MicroLogix 1400 จะตรวจสอบขนาดและชนิดของตัวถูกดำเนินการอย่างเข้มงวดกว่าการคอมไพล์แบบออฟไลน์ ค่าคงที่แบบทศนิยมในแหล่งข้อมูล B อาจผ่านการตรวจสอบออฟไลน์บางรูปแบบได้ แต่ถูกปฏิเสธเมื่อการแก้ไขต้องคอมไพล์เข้าสู่อิมเมจที่กำลังทำงานอยู่ ข้อความออฟไลน์ที่เกี่ยวข้อง เช่น “ขนาดตัวถูกดำเนินการไม่ตรงกัน” ชี้ไปยังกลุ่มปัญหาชนิดข้อมูลไม่ตรงกันเดียวกัน การเปลี่ยนแปลงบางอย่างใน MicroLogix ไม่สามารถทำแบบออนไลน์ได้ การแก้ไขโครงสร้างบางประเภทจำเป็นต้องแก้ไขแบบออฟไลน์และดาวน์โหลดโปรแกรม

ขั้นตอนการแก้ไข

  1. ระบุแอดเดรส Float ที่ยังไม่ได้ใช้งาน เช่น F8:7
  2. กำหนดค่าเริ่มต้นให้ F8:7 เป็น 0.7 ขณะออฟไลน์ หรือใช้ราง MOV/รางกำหนดค่าเริ่มต้นเพียงครั้งเดียว
  3. แก้ไข MUL โดยให้แหล่งข้อมูล A ยังคงเป็น N7:2 เปลี่ยนแหล่งข้อมูล B เป็น F8:7 และให้ปลายทางยังเป็น N7:7 หรือเปลี่ยนเป็น Float หากต้องการความแม่นยำ
  4. ยอมรับการแก้ไขออนไลน์และยืนยันว่ารางคอมไพล์ได้
  5. บังคับค่าแหล่งข้อมูล A ที่ทราบแน่นอน แล้วตรวจสอบผลคูณขณะรันไทม์
ข้อผิดพลาดการแก้ไข MicroLogix 1400 แบบออนไลน์ด้วยคำสั่ง MUL — ภาพที่ 2
MUL
  แหล่งข้อมูล A: N7:2
  แหล่งข้อมูล B: F8:7   <-- แอดเดรส Float ไม่ใช่ค่าลิเทอรัล 0.7
  ปลายทาง:         N7:7   <-- หรือ F8:8 เพื่อความแม่นยำเต็มรูปแบบ

ผลกระทบของชนิดข้อมูล

การกำหนดค่า ผลลัพธ์
แหล่งข้อมูล B = ค่าคงที่ 0.7 เกิดข้อผิดพลาดในการคอมไพล์การแก้ไขออนไลน์
แหล่งข้อมูล B = F8:7, ปลายทาง = N7:7 การแก้ไขสำเร็จ แต่มีการตัดหรือปัดเศษเป็นจำนวนเต็ม
แหล่งข้อมูล B = F8:7, ปลายทาง = F8:8 การแก้ไขสำเร็จและคงความแม่นยำแบบ Float เต็มรูปแบบ

เมื่อ N7:2 = 10 และตัวคูณเป็น 0.7 ปลายทางชนิดจำนวนเต็มจะได้ค่า 7 ตามพฤติกรรมการปัดหรือตัดเศษ ไม่ใช่ค่า Float 7.0 ที่คงไว้ เลือกชนิดปลายทางอย่างรอบคอบเมื่อค่าดังกล่าวถูกส่งต่อไปยัง PID การสเกล หรือการเปรียบเทียบ

ข้อจำกัดที่เกี่ยวข้องกับการแก้ไขออนไลน์ของคำสั่งคำนวณ

ความไวของคอมไพเลอร์ออนไลน์ในลักษณะเดียวกันนี้ยังพบได้กับ DIV นิพจน์รูปแบบ CPT หากมีให้ใช้งาน และชุดคำสั่งที่ผสม INT/Float ซึ่งป้อนอย่างเร่งรีบระหว่างการปรับแก้ระบบที่กำลังทำงาน วิศวกรมักลองแก้ไขออนไลน์ต่อเนื่องสามครั้ง โดยเปลี่ยนเฉพาะค่าคงที่ จากนั้นเปลี่ยนชนิดไฟล์ปลายทาง แล้วจึงเปลี่ยนทั้งราง โดยไม่ออกจากโหมด Run การคอมไพล์ที่ล้มเหลวแต่ละครั้งจะทิ้งคิวการแก้ไขที่รอดำเนินการไว้จนทำให้สับสน ให้ยกเลิกการแก้ไขที่ล้มเหลวอย่างถูกต้อง ทำการเปลี่ยนแปลงที่สอดคล้องกันเพียงครั้งเดียว (เปลี่ยนจากค่าลิเทอรัลเป็นแอดเดรส Float) แล้วกดยอมรับ หาก MicroLogix รายงานว่าไม่สามารถคอมไพล์โปรแกรมได้หลังจากลองหลายครั้ง ให้ทำงานออฟไลน์ ตรวจสอบว่ามีไฟล์อยู่จริง (สร้าง F8 พร้อมจำนวนสมาชิกที่เพียงพอ) จากนั้นดาวน์โหลดอิมเมจที่ทราบว่าใช้งานได้ก่อนลองทำงานออนไลน์อีกครั้ง

ควรตรวจสอบด้วยว่าไฟล์ Float ไม่ได้ถูกป้องกันด้วยสิทธิ์เข้าถึงตารางข้อมูลหรือรหัสผ่านที่อนุญาตให้ตรวจสอบแบบออฟไลน์ แต่บล็อกการแก้ไขแบบออนไลน์ คอนโทรลเลอร์ MicroLogix 1400 ซีรีส์ A และซีรีส์ B รองรับการแก้ไขออนไลน์เมื่อเฟิร์มแวร์และรุ่นของ RSLogix 500 สอดคล้องกัน รุ่นเครื่องมือที่ไม่ตรงกันอาจแสดงข้อความ “ข้อผิดพลาดในการแก้ไขออนไลน์” เดียวกันด้วยสาเหตุอื่น จัดเตรียมอิมเมจของคอนโทรลเลอร์ทดสอบที่แสดงการทำงานสำเร็จของ MUL ที่ใช้ตัวถูกดำเนินการ Float เพื่อให้ช่างเทคนิคเปรียบเทียบกับโปรเจกต์ในโรงงานได้

การตรวจสอบและข้อจำกัดเพิ่มเติม

หลังจากยอมรับการแก้ไขแล้ว ให้บังคับค่า N7:2 หลายค่า และติดตามหรือดูค่าทั้งปลายทางจำนวนเต็มและ Float หากมีทั้งสองแบบ ยืนยันว่าการแก้ไขออนไลน์คอมไพล์ได้โดยไม่มีข้อผิดพลาด ตรวจสอบว่า MUL ทำงานถูกต้องขณะรันไทม์ และหากต้องการความแม่นยำ ให้เปลี่ยนปลายทางเป็น Float เช่น F8:8 หากยังเกิดข้อผิดพลาดหลังเปลี่ยนค่าลิเทอรัลแล้ว ให้จำลองปัญหาแบบออฟไลน์ก่อน จากนั้นดาวน์โหลดโปรแกรม ใช้ค่าที่อ้างอิงด้วยแอดเดรสแทนค่าคงที่แบบฝังในคำสั่งทุกครั้งที่คาดว่าจะต้องแก้ไขระบบแบบออนไลน์ จัดทำเอกสารแนวทางการโปรแกรม MicroLogix ไว้ร่วมกับมาตรฐาน PLC และ PAC อื่น ๆ เพื่อไม่ให้ช่างเทคนิคเสียเวลาติดตามปัญหา Ethernet ทั้งที่แท้จริงเป็นกฎของตัวถูกดำเนินการ

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

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

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

ข้อผิดพลาดในการแก้ไขออนไลน์ของ MicroLogix 1400 กับคำสั่ง MUL

ข้อผิดพลาดในการแก้ไขออนไลน์ของ MicroLogix 1400 เมื่อเพิ่มคำสั่ง MUL ที่มีตัวถูกดำเนินการเป็นค่าคงที่ แก้ไขโดยใช้แอดเดรส Float แทนค่าคงที่เป็นแหล่งที่มาของการคูณ

การแก้ไข MicroLogix 1400 แบบออนไลน์ผ่าน EtherNet/IP อาจล้มเหลวพร้อมข้อความ “ไม่สามารถคอมไพล์โปรแกรมได้ ข้อผิดพลาดในการแก้ไขออนไลน์” เมื่อราง MUL ใช้ค่าคงที่แบบลิเทอรัล เช่น 0.7 กับแหล่งข้อมูลชนิดจำนวนเต็ม โปรเจกต์เดียวกันอาจตรวจสอบแบบออฟไลน์ได้โดยไม่มีข้อผิดพลาด เนื่องจากคอมไพเลอร์สำหรับการแก้ไขออนไลน์ของคอนโทรลเลอร์ใช้กฎเกี่ยวกับตัวถูกดำเนินการที่เข้มงวดกว่าเส้นทางออฟไลน์ และค่าลิเทอรัลแบบทศนิยมในคำสั่งคำนวณมักเป็นจุดที่ทำให้เกิดปัญหา

ข้อผิดพลาดการแก้ไข MicroLogix 1400 แบบออนไลน์ด้วยคำสั่ง MUL — ภาพที่ 1

แทนที่ค่าลิเทอรัลด้วยแอดเดรสไฟล์ Float ที่มีค่า 0.7 อยู่แล้ว จากนั้นทดสอบการแก้ไขออนไลน์อีกครั้งก่อนเปลี่ยนแปลงสิ่งอื่น

อาการและการกำหนดค่า

รายการ การตั้งค่าที่มักทำให้เกิดข้อผิดพลาด
คอนโทรลเลอร์ MicroLogix 1400 ซีรีส์ A หรือ B
ซอฟต์แวร์ RSLogix 500 พร้อมการแก้ไขออนไลน์
คำสั่ง MUL
แหล่งข้อมูล A N7:2 (จำนวนเต็ม)
แหล่งข้อมูล B ค่าคงที่ 0.7
ปลายทาง N7:7 (จำนวนเต็ม)

สาเหตุหลัก

การแก้ไขออนไลน์บน MicroLogix 1400 จะตรวจสอบขนาดและชนิดของตัวถูกดำเนินการอย่างเข้มงวดกว่าการคอมไพล์แบบออฟไลน์ ค่าคงที่แบบทศนิยมในแหล่งข้อมูล B อาจผ่านการตรวจสอบออฟไลน์บางรูปแบบได้ แต่ถูกปฏิเสธเมื่อการแก้ไขต้องคอมไพล์เข้าสู่อิมเมจที่กำลังทำงานอยู่ ข้อความออฟไลน์ที่เกี่ยวข้อง เช่น “ขนาดตัวถูกดำเนินการไม่ตรงกัน” ชี้ไปยังกลุ่มปัญหาชนิดข้อมูลไม่ตรงกันเดียวกัน การเปลี่ยนแปลงบางอย่างใน MicroLogix ไม่สามารถทำแบบออนไลน์ได้ การแก้ไขโครงสร้างบางประเภทจำเป็นต้องแก้ไขแบบออฟไลน์และดาวน์โหลดโปรแกรม

ขั้นตอนการแก้ไข

  1. ระบุแอดเดรส Float ที่ยังไม่ได้ใช้งาน เช่น F8:7
  2. กำหนดค่าเริ่มต้นให้ F8:7 เป็น 0.7 ขณะออฟไลน์ หรือใช้ราง MOV/รางกำหนดค่าเริ่มต้นเพียงครั้งเดียว
  3. แก้ไข MUL โดยให้แหล่งข้อมูล A ยังคงเป็น N7:2 เปลี่ยนแหล่งข้อมูล B เป็น F8:7 และให้ปลายทางยังเป็น N7:7 หรือเปลี่ยนเป็น Float หากต้องการความแม่นยำ
  4. ยอมรับการแก้ไขออนไลน์และยืนยันว่ารางคอมไพล์ได้
  5. บังคับค่าแหล่งข้อมูล A ที่ทราบแน่นอน แล้วตรวจสอบผลคูณขณะรันไทม์
ข้อผิดพลาดการแก้ไข MicroLogix 1400 แบบออนไลน์ด้วยคำสั่ง MUL — ภาพที่ 2
MUL
  แหล่งข้อมูล A: N7:2
  แหล่งข้อมูล B: F8:7   <-- แอดเดรส Float ไม่ใช่ค่าลิเทอรัล 0.7
  ปลายทาง:         N7:7   <-- หรือ F8:8 เพื่อความแม่นยำเต็มรูปแบบ

ผลกระทบของชนิดข้อมูล

การกำหนดค่า ผลลัพธ์
แหล่งข้อมูล B = ค่าคงที่ 0.7 เกิดข้อผิดพลาดในการคอมไพล์การแก้ไขออนไลน์
แหล่งข้อมูล B = F8:7, ปลายทาง = N7:7 การแก้ไขสำเร็จ แต่มีการตัดหรือปัดเศษเป็นจำนวนเต็ม
แหล่งข้อมูล B = F8:7, ปลายทาง = F8:8 การแก้ไขสำเร็จและคงความแม่นยำแบบ Float เต็มรูปแบบ

เมื่อ N7:2 = 10 และตัวคูณเป็น 0.7 ปลายทางชนิดจำนวนเต็มจะได้ค่า 7 ตามพฤติกรรมการปัดหรือตัดเศษ ไม่ใช่ค่า Float 7.0 ที่คงไว้ เลือกชนิดปลายทางอย่างรอบคอบเมื่อค่าดังกล่าวถูกส่งต่อไปยัง PID การสเกล หรือการเปรียบเทียบ

ข้อจำกัดที่เกี่ยวข้องกับการแก้ไขออนไลน์ของคำสั่งคำนวณ

ความไวของคอมไพเลอร์ออนไลน์ในลักษณะเดียวกันนี้ยังพบได้กับ DIV นิพจน์รูปแบบ CPT หากมีให้ใช้งาน และชุดคำสั่งที่ผสม INT/Float ซึ่งป้อนอย่างเร่งรีบระหว่างการปรับแก้ระบบที่กำลังทำงาน วิศวกรมักลองแก้ไขออนไลน์ต่อเนื่องสามครั้ง โดยเปลี่ยนเฉพาะค่าคงที่ จากนั้นเปลี่ยนชนิดไฟล์ปลายทาง แล้วจึงเปลี่ยนทั้งราง โดยไม่ออกจากโหมด Run การคอมไพล์ที่ล้มเหลวแต่ละครั้งจะทิ้งคิวการแก้ไขที่รอดำเนินการไว้จนทำให้สับสน ให้ยกเลิกการแก้ไขที่ล้มเหลวอย่างถูกต้อง ทำการเปลี่ยนแปลงที่สอดคล้องกันเพียงครั้งเดียว (เปลี่ยนจากค่าลิเทอรัลเป็นแอดเดรส Float) แล้วกดยอมรับ หาก MicroLogix รายงานว่าไม่สามารถคอมไพล์โปรแกรมได้หลังจากลองหลายครั้ง ให้ทำงานออฟไลน์ ตรวจสอบว่ามีไฟล์อยู่จริง (สร้าง F8 พร้อมจำนวนสมาชิกที่เพียงพอ) จากนั้นดาวน์โหลดอิมเมจที่ทราบว่าใช้งานได้ก่อนลองทำงานออนไลน์อีกครั้ง

ควรตรวจสอบด้วยว่าไฟล์ Float ไม่ได้ถูกป้องกันด้วยสิทธิ์เข้าถึงตารางข้อมูลหรือรหัสผ่านที่อนุญาตให้ตรวจสอบแบบออฟไลน์ แต่บล็อกการแก้ไขแบบออนไลน์ คอนโทรลเลอร์ MicroLogix 1400 ซีรีส์ A และซีรีส์ B รองรับการแก้ไขออนไลน์เมื่อเฟิร์มแวร์และรุ่นของ RSLogix 500 สอดคล้องกัน รุ่นเครื่องมือที่ไม่ตรงกันอาจแสดงข้อความ “ข้อผิดพลาดในการแก้ไขออนไลน์” เดียวกันด้วยสาเหตุอื่น จัดเตรียมอิมเมจของคอนโทรลเลอร์ทดสอบที่แสดงการทำงานสำเร็จของ MUL ที่ใช้ตัวถูกดำเนินการ Float เพื่อให้ช่างเทคนิคเปรียบเทียบกับโปรเจกต์ในโรงงานได้

การตรวจสอบและข้อจำกัดเพิ่มเติม

หลังจากยอมรับการแก้ไขแล้ว ให้บังคับค่า N7:2 หลายค่า และติดตามหรือดูค่าทั้งปลายทางจำนวนเต็มและ Float หากมีทั้งสองแบบ ยืนยันว่าการแก้ไขออนไลน์คอมไพล์ได้โดยไม่มีข้อผิดพลาด ตรวจสอบว่า MUL ทำงานถูกต้องขณะรันไทม์ และหากต้องการความแม่นยำ ให้เปลี่ยนปลายทางเป็น Float เช่น F8:8 หากยังเกิดข้อผิดพลาดหลังเปลี่ยนค่าลิเทอรัลแล้ว ให้จำลองปัญหาแบบออฟไลน์ก่อน จากนั้นดาวน์โหลดโปรแกรม ใช้ค่าที่อ้างอิงด้วยแอดเดรสแทนค่าคงที่แบบฝังในคำสั่งทุกครั้งที่คาดว่าจะต้องแก้ไขระบบแบบออนไลน์ จัดทำเอกสารแนวทางการโปรแกรม MicroLogix ไว้ร่วมกับมาตรฐาน PLC และ PAC อื่น ๆ เพื่อไม่ให้ช่างเทคนิคเสียเวลาติดตามปัญหา Ethernet ทั้งที่แท้จริงเป็นกฎของตัวถูกดำเนินการ

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

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

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

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

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