Achieving 1ms Bit Shift Tracking with Compact or Control Logix PLC

Question:

Hello everyone, I have a specific inquiry regarding tracking systems using an encoder and bitshift register. Our goal is to implement a Compact or Control Logix PLC for this purpose. However, in previous attempts over five years ago, we encountered limitations related to I/O scan time compared to the ML1400 PLC. We are currently able to track over 300 objects at a rapid pace of up to 1000 increments per second, utilizing 20480 bits (5 x 4096). Additionally, our system involves various attached devices for monitoring time and distance between events. We aim to maintain a 1ms cycle time and potentially increase the number of bits shifted. Has anyone else successfully achieved this? I am seeking advice on overcoming the I/O limitations and any suggestions on achieving this with a Compact or Control Logix system would be greatly appreciated. Thank you, Larry.

Top Replies

I approached it in a unique way by modifying an index instead of manually shifting bits. Shifting bits one at a time can be slow, but using a DWORD to shift all bits at once is much quicker. However, why shift every single bit when you can simply index a pointer and avoid multiple memory accesses? This method ensures that data stays in place, making it faster to access. Now, all stations are based on offsets from the index. For binary operations like determining if something is on or off, there are alternative methods available. When it comes to manipulating actual data, there are various efficient tricks to consider.

I am interested in checking out the ML1400 program code in a PDF format. If the increments are running at 1kHz, then the scan cycle needs to be less than half a millisecond, unless it is utilizing the High-Speed Counter (HSC).

Drbitboy expressed interest in reviewing the ML1400 code, preferably in PDF format. If the increments operate at 1kHz, it would be necessary for the scan cycle to be less than half a millisecond, unless the High Speed Counter (HSC) is being utilized.

I echo @drbitboy's sentiment that the scan time must be below 1ms to ensure accurate count retention. Failure to do so may result in lost counts.

He is utilizing an encoder with high-speed counter inputs operating at 100Khz. A more detailed explanation of his process is needed to comprehend how he is utilizing the counter for tracking purposes. Considering the scan time on an ML1400 is approximately 1ms per 1K, it is unlikely that the scan time is less than 1ms based on the information provided. My analysis is based on the limited information available.

Hello Larry, it's a challenging task indeed, but not impossible. I believe the key will be proper tuning of your I/O handling to optimize cycle time. ControlLogix does have more robust processing capabilities compared to the ML1400. Since your system is dealing with high bit counts and rapid pace, you may want to consider distributing your I/O modules and tasks among multiple processors, if your system allows. This can effectively distribute the workload and mitigate the impact of I/O scan time. In addition to this, if you're not already using them, high-speed I/O modules can be helpful for process critical tasks. Try to consult an expert in PLC programming who specializes in Logix systems for more detailed advice. Good luck with your project!

Hi Larry, it seems like you're facing quite a challenge there. From my experience, if you're looking to maintain a 1ms cycle time with Compact/Control Logix systems, you might want to consider using the Produced/Consumed tags feature, which should help overcome the I/O scan time limitation. These tags provide a quicker data transfer rate than the usual I/O scan cycle. Additionally, you can try using an AOI (Add-On Instructions) to manage the bits, since it can efficiently handle large amounts of data without adversely affecting the cycle time. I hope this information proves useful to you, and please feel free to ask if you have any more questions.

Hey Larry, it sounds like you’ve got quite the ambitious project on your hands! With your focus on achieving a 1ms cycle time while tracking so many objects, have you considered utilizing high-speed I/O modules specifically designed for rapid data processing with ControlLogix? They often come with lower scan times and can better handle large volumes of data. Also, exploring the use of FIFO buffers could help with managing your data more effectively without getting bogged down during the scan. Good luck, and I'd love to hear how it goes!

Hi Larry! It sounds like you're tackling a pretty ambitious project! One approach to mitigate I/O scan time limitations with Compact or Control Logix systems is to consider using direct memory access (DMA) for rapid data transfer, which can help reduce the CPU load. Also, leveraging fast inputs or specific high-speed counters could expedite the processing of your encoder signals. You might also want to look into optimizing your ladder logic to minimize scan time or even explore if using structured text could streamline some of your processes. It might take some trial and error, but there are ways to push those limits with the right configurations. Good luck!

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.

To add a comment, please sign in or register if you haven't already..   

Frequently Asked Questions (FAQ)

FAQ: What is the main goal of the discussion regarding achieving 1ms bit shift tracking with Compact or Control Logix PLC?

Answer: The main goal is to implement a tracking system using an encoder and bitshift register with a Compact or Control Logix PLC while maintaining a 1ms cycle time and potentially increasing the number of bits shifted.

FAQ: What challenges were faced in previous attempts to achieve the desired tracking system using a Compact or Control Logix PLC?

Answer: The previous attempts encountered limitations related to I/O scan time compared to the ML1400 PLC, impacting the ability to track over 300 objects at a rapid pace of up to 1000 increments per second using 20480 bits.

FAQ: How many bits are currently being utilized in the tracking system and how are they being used?

Answer: The system is utilizing 20480 bits (5 x 4096) to track over 300 objects at a rapid pace of up to 1000 increments per second, along with monitoring time and distance between events using various attached devices.

FAQ: Are there any successful implementations of achieving 1ms bit shift tracking with a Compact or Control Logix system?

Answer: The thread author, Larry, is seeking advice from others who may have successfully achieved this goal and is looking for suggestions on overcoming I/O limitations with a Compact or Control Logix system.

FAQ: What kind of advice or suggestions is Larry seeking from the community?

Answer: Larry is looking for advice on overcoming I

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  â†’