Troubleshooting Tips for Migrating from MicroLogix 1000 to MicroLogix 1400: Common Errors and Solutions

Question:

Hello everyone, I’m nearing the completion of migrating my program from a MicroLogix 1000 to a MicroLogix 1400 and could use some assistance. I began by updating my original program and switching the processor to the MicroLogix 1400. Initially, I encountered errors due to the unsupported OSR instructions, which I successfully replaced with ONS instructions. While that resolved a part of the issues, I'm now facing multiple error messages, including "word is not writable at word level" and "indexing not supported." The "word is not writable at word level" error arises from my attempts to read and write data to and from S:24. The error related to "indexing not supported" concerns my #N7:12. From my understanding of the original MicroLogix 1000 program, S:24 provides the data that directs #N7; however, it appears the MicroLogix 1400 does not support this functionality. I'm feeling a bit confused about these compatibility issues and would appreciate any guidance on how to navigate around them. Thank you for your help! Best, Jeremy

Top Replies

Welcome to the PLCTalk forum community! The MicroLogix 1000 operating system has its roots in 1995, derived from the operating system utilized by the older SLC-5/01 and SLC-5/02 controllers. One of the key features is the status register S:24, which has multiple applications. It serves as an index reference for certain file instructions, and by prefixing a data table address with a hash symbol (#), S:24 can be used to determine the offset within that data table. It seems you have grasped the fundamentals: for instance, if you designate #N7:12 as the source address in a MOV instruction, and the current value of the S:24 register is 4, the effective source for the MOV command will be N7:16. Typically, you would load a value into S:24 in preparation for such an instruction, like in MOV N7:50 to S:24. However, contemporary SLC and MicroLogix controller operating systems have evolved to support "indirect addressing". In this format, you encapsulate the source of your data table index within square brackets. To replicate the indirect addressing from the previous example, you would set N7:50 to a value of 16 and use the syntax N7:[N7:50]. Join us for more insights and discussions on these advanced topics in the PLCTalk community!

I noticed you included a screenshot—fantastic! However, I'm having a bit of trouble reading it clearly. To enhance visibility on this bulletin board platform, it's best to zoom in on the screenshot and save it as a PNG file. My primary focus is on the right side of the ladder logic rung. I believe the general solution involves adding the accumulated value of the counter to 12 and utilizing the data table address from that result as the indirect offset N7:[x].

I'll give it a try! Thank you very much for your help. I'm certain I’ll have additional questions in the future. Since my partner recently switched to the day shift, there are days when it feels like I’m all alone out here! Haha!

Let me try to capture a higher-quality screenshot.

We hope this version is more accessible and easier to read. - Jeremy

More Replies →

Streamline Your Asset Management
See How Oxmaint Works!!

✅   Work Order Management

✅   Asset Tracking

✅   Preventive Maintenance

✅   Inspection Report

We have received your information. We will share Schedule Demo details on your Mail Id.

You must be a registered user to add a comment. If you've already registered,
sign in. Otherwise, register and sign in.

Frequently Asked Questions (FAQ)

Ready to Simplify Maintenance?

Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.

Request Demo  →