How to Avoid calling ADD ON Instruction multiple times

Join Date
Nov 2010
Location
india
Posts
13
Good Morning Friends,

I am using RS Logix 5000 Version 20.01 with controllogix L72 controller.

I have created on ADD ON Instruction for 1756-Chassis I/O Scaling.

Now in my case, i have 64 Analog Input channels.

My concerns is i don't want to write 64 Time "SCALE" add on instructions.

Is there any simple way, so i can avoid writing/calling Add On Instructions Multiple time?

Thanks.
 
1756 series analog modules have onboard scaling features. Why are you writing an AOI at all ?

You can use some indirect addressing with the Channel number so that you can go through the channels of each module, or maybe even use indirection for the Slot number of the module.

But in general I prefer to use brute force to call subroutines like this so that it's easier for future troubleshooters to follow the flow of the data from the module terminals through to the user program.
 
1756 series analog modules have onboard scaling features. Why are you writing an AOI at all?

There are plenty of reasons that a scaling AOI is preferred. In our standard code AOIs give us more than just scaling (simulation modes, manual control), more powerful then setting on the IO card, and if we use PointIO or FlexIO then the AOIs are required. But I would agree, some instances use the features you've purchased.

OP, as Ken said you could indirectly address them. But I agree with Ken that you should show all of them. Don't be lazy the end user won't appreciate it. Using something like excel to auto-increment your code to generate your 64 rungs for you is quite easy to do. Alternates could be VBA, python...

Tedious tasks in PLC programming can be time consuming and a hassle if you only operate in the PLC programming software. Its not an excuse to write unfriendly code. Think outside the box and just automate that process, have scripts do the work for you. We use Excel/VBA to auto-generate all of our base PLC tags, Alias tags, IO Mapping Logic, AOI Calls for all of our Analog Inputs/Outputs, Digital Inputs/Outputs, PID Loops, Motor Inputs/Outputs, Valve Inputs/Outputs. This also extends to our SCADA applications. We can then spend our development time on the specific application logic required and we don't waste time on re-inventing the wheel.
 
I agree with Ken. It is much better to spend the programming time to write a call for each AOI individually, instead of trying to get fancy and use a loop with indirect addressing. I've learned that lesson the hard way. The couple hours you might save up front gets killed by weeks of babysitting a plant electrician who assumes that all problems are caused by the part of the code he can't read.
 
The other day I saw a program where they call a subroutine with i/o parameters. The subroutine was designed to handle a valve. In other words is like deploying the AOI inside the subroutine and change parameter every time it was called. However I prefer to use an AOI as many times as necessary.
 

Similar Topics

I recall there was some issue with a Studio 5K version above v32 that I should avoid. I don't recall what it was but they jumped a major rev...
Replies
13
Views
442
Hi All, I am using a Micrologix 1100 to load various Jobs on a cognex camera. The way it works is that I send a command to load the file and I...
Replies
1
Views
1,531
What is solution for PLC to HMI communication error while motor start taking high current(6KVA-LOAD) As load takes hi current at start(apx 6...
Replies
1
Views
3,437
Ok, this should be and easy one for the experts. I'm using Logix 500 and a lot of GRT and LES to do this: I have a valve opening for 5 seconds...
Replies
11
Views
3,369
Hello, I dont know what happened but today after doing an archive of my pcs7 project, I noticed that my OS server had dissapeared from the...
Replies
0
Views
2,274
Back
Top Bottom