Reduce the need for separate hardware and simplify coding with a Motion Arm Output Cam (MAOC). MAOCs can perform the function of a separate PLS (programmable limit switch) inside of any CompactLogix or ControlLogix controller. How would one use this? Here are a few ideas:
The MAOC executes within the motion planner which has the highest priority in any Logix-based controller. It can schedule outputs before they need to happen (this is where certain cards are necessary). It can also control a Double Integer (DINT) for use internally or use standard IO, in which the data is updated at whatever the Request Packet Interval (RPI) and internal card limitations. Accuracy could be as high (numerically low) as +-10us, with the minimum pulse width being 32us.
Part of the power of the MAOC is the ability to add time delay compensation. Any given external device takes a fixed amount of time to actuate. For a fixed speed, the position or timing of this device can easily be accounted for in logic. However, if the speed changes, or if it is important to maintain the position trigger, relative to web for instance, as speed increases, the trigger point needs to be advanced so that fixed time is compensated. Think about it this way: A glue solenoid that takes 50msec to actuate, is triggered at a fixed point on a web, driven by motor. Let’s say the speed is 100 feet per minute. Based on encoder feedback, the trigger point is adjusted so the pattern placement starts at the right time. So long as it’s always 100 feet per minute everything is fine. But what if that speed is increased, and 100 was just a jog speed? At 500 feet per minute, all else being equal the pattern will drift four inches. Granted PLS devices did this all the time, but again why not use the power of a Controller that is probably already in the system? Simply add the 50msec to the latch delay, and voila, the pattern is back to the right position.
What if you want to trigger events within your code? Or limit execution time and have the best possible repeatability and perhaps simplify coding? Use the MAOC to change bits in a DINT value. Place the actual MAOC in your main task but place the DINT bits in an event driven task tied to the motion group. That task has higher priority over all periodic and the continuous task and WILL execute with every motion group update.
Want to do both? Just add another MAOC instruction.
Need a small but effective PLS that can run servos, handle AC drives, a myriad of ethernet devices and logic, among many other features? Here is your parts list:
Rockwell provides much more detailed documentation on the MAOC on their website. My suggestions would be to start with the internal help files located in your Studio5000 software. Shortcut: Highlight the MAOC instruction and press F1. The manual goes into the much greater detail.
Have questions or comments on motion instructions – please give me a call!