ControlLogix : My Enhancement Suggestion To Rockwell

Wow! This AOI stuff is *great* ! Object-oriented design in a PLC ! Didn't think they had that capability! Yeah, I can see now how my 'enhancement' looked foolish to you guys.

This stuff reminds me of startup at a Pharma Plant years ago. Arrived from my conventional software development job (procedural structured text in real-time environment with multi CPUs and multi-threading) to work on a proprietary DCS which used wired Function Blocks running top to bottom in 1 of 3 scan windows. My group had never seen anything like it. Part way through development, noticed we were all coding similar logic across modules for things like Mode Decoding and Alarming. Making things worse, other common logic (Dosing, Networked Transfers) was simply imported in macro "trees". Combination of these two things caused many of these Controller apps to start getting very low on spare resources (equivalent of tags in PLCs). Realized we could drastically reduce signal usage with new Function Blocks for this common code. However, system didn't allow for making your own Function Blocks, so the owner had to do it and add them to the library for us. That was the first and last time they agreed to make changes to the library.

But with AOI's you can make changes anytime you want! Can't wait to make use of this!

==========
daba:

Thank you! Noticed you even have the "Cleaned" output turned green ! LOL! That's really cool - and pretty much what I'm going to implement now ... except I'll be clipping the values at the MIN and MAX of the engineering span and the 1% will be the amount *above* and *below* those limits which will indicate "Calibration Suggested". Already copied the existing alias tags to new alias tags (so the existing tag references throughout the code stayed the same ... those are the company-standard I/O tagnames).

So I'll still have the raw I/O value for display, the raw I/O value trimmed to the engineering range for the program, and the Calibration indicator for outside the 1% tolerance (which is the standard here).

Just have to reference these ranges from the I/O Card now, so that those configuration numbers are only entered in *one* place.

Thanks again! Really appreciate your 'extra credit' work !

==========
ASF:

Well-written micro tutorial you did there! I opened that document and couldn't believe the size of it (for just AOI's)! I got through about 30 pages this morning before I got out of bed (LOL!). Think I actually saw some "disadvantages" to AOI's listed in there somewhere, but can't remember them offhand. Need to read through it again. I don't think it was anything significant, though ...
 
daba:

Thank you! Noticed you even have the "Cleaned" output turned green ! LOL! That's really cool - and pretty much what I'm going to implement now ... except I'll be clipping the values at the MIN and MAX of the engineering span and the 1% will be the amount *above* and *below* those limits which will indicate "Calibration Suggested". Already copied the existing alias tags to new alias tags (so the existing tag references throughout the code stayed the same ... those are the company-standard I/O tagnames).

So I'll still have the raw I/O value for display, the raw I/O value trimmed to the engineering range for the program, and the Calibration indicator for outside the 1% tolerance (which is the standard here).

Just have to reference these ranges from the I/O Card now, so that those configuration numbers are only entered in *one* place.

Thanks again! Really appreciate your 'extra credit' work !

The green highlighting is automatic, it means the bit is true, and is exactly the same principle as a timer.DN bit etc.

Easy enough to change the logic to do what you wat....

The "Min" and "Max" parameters I passed are the configuration parameters of the I/O module directly, so everything falls into place when you configure the module.
 
SoftwareJanitor - to further "wet your appetite" for AOIs, I have done a version 2.0 which incorporates the functionality you described....

When you Import this into your project with version 1.0 in, you will get warnings and questions to answer - play with it and see.

Also, access the "Help" for the instruction (just like you do for any other, highlight the instruction name "Analog_Cleaning", and hit F1). If that doesn't impress, let me know.....
 
daba:

LOL! You're too much! Thanks again! Unfortunately, I'm back at the "ranch" now, so it'll have to wait until Monday. But I'm pretty excited about this. Been a while since I've gotten excited about *anything* at work (LOL!).

Also got a new project coming up here. Infant stage right now, but it's a new facility/building for a Spray Dryer (and associated systems like multiple Feeders/Hoppers, Conveyors, downstream Dryer, Packaging system, CIP functions). Thought it was going to be a smaller project, but the more I see the bigger it gets. They want to use FactoryTalk Batch with recipes controlling multiple vendor skid PLCs (Allen Bradley), SynTQ, PI-OSI (already in place). But get this - they're thinking of coding the vendor PLCs in-house! I need to get up to speed pretty fast here with these PLCs. 14 months to start-up!

Hey - how much spare time did you say you had? Ha Ha!

I'll let you know how your AOI works out on Monday. Enjoy your weekend!
 
Or, just right click on the AOI in the the ladder editor and click "Open Instruction Logic"
 

Similar Topics

I'm trying to integrate a Beckhoff IPC with a Controllogix PLC. There is some documentation, on the Beckhoff website, on how to do a PLC-PLC comms...
Replies
0
Views
34
Why does the controllogix redundancy modules use a single mode fiber vs multimode fiber?
Replies
1
Views
86
Hello, I have two 16 point input cards and 1 16 point output card showing module faulted on my IO tree in Logix Designer. The fault code is...
Replies
7
Views
216
Hello, My associate and I are trying to sync up two ControlLogix racks (7-slot chassis) with identical modules. We are able to see the secondary...
Replies
4
Views
198
Trying to setup a message read via Ethernet. I have the path setup as 1, 1, 2, 192.168.66.10 I get an error code 1, ext err 315. I am beating...
Replies
9
Views
233
Back
Top Bottom