SCP for Logix 5000

HV8471 - You only said it was Logix5000, you didn't say which platform, ControlLogix, CompactLogix, FlexLogix, DriveLogix, or SoftLogix.

If it is ControlLogix, then you can put the analog channel scaling directly on the module, and they will then interface to your control system in Engineering Units without the need for any supporting code.

I would advise against this. It's very cryptic during troubleshooting and you never get to see the "raw" values.
 
I don't understand your annoyance...if I create a timer instruction, I have to create a timer tag. If I use an AOI I have to create the AOI tag type. Right-click, new tag, give it name, done. The AOI isn't any easier or more difficult to use than a timer.

OG

The annoyance is because SCP did not require an instance in a SLC. It's all temporary math that can be run each cycle. There's no real reason to store the parameters with each instance.

I'd be interested to know if one could use the same SCP instance multiple times without negative side-effects. For example, let's say I have 4 of the same sensor with slightly different input_min and input_max that need to be "trimmed", do I need 4 SCP instances? Or can I reuse one instance and hard-code the trimmed values as constants to each call?
 
The SCP in the SLC 500 didn't require a control/instance tag, but in the 5000, because it is an AOI and not a baked-in instruction, it requires a control/instance tag. OK, I get that. To be fair, that would be pretty low on my list of annoyances, particularly when I could create an array so they aren't all cluttering up my tag window.

OG

But then it's annoying to keep track of which ones have and haven't been used. Would be nice if there was a checkbox to auto-increment the array index as you're typing to use the next unused array element. Similar to how SLCs auto-increment to the next unused element in the memory files.
 
Last edited:
I would advise against this. It's very cryptic during troubleshooting and you never get to see the "raw" values.

Another reason I'm not a huge fan of doing this is that it adds another step when replacing a faulty module as well.
 
The need for overloading would be my first guess. I don’t agree with it being a reason to hold out on the feature. If engineers are eager to learn and build interesting stuff, let them. For everyone else, the baked-in functions should suffice.

MOV, for example, is actually several distinct functions that are called depending on the types of parameters passed.

There’s code behind each of these that behave in different ways:
MOV(REAL, REAL);
MOV(INT literal, DINT);
MOV(DINT, SINT);
MOV(DINT, DINT);

… and so on. It’s also why MOV(BOOL, DINT) isn’t a thing - it just wasn’t defined. Could someone overload it to provide a working form? Sure.

What we have to settle for are creating or encountering AOIs like “DINT_to_REAL(…)” and on and on.

If one were to write their own version of ADD(), they’d have a bit of work ahead of them to handle type combinations, testing, etc. They would however also be to do neat stuff like ADD(UDT1, UDT1).

But then you’ve got the modern hotshot C++ programmer that wants to template every little thing and then they’d suddenly want template support for every little thing in Logix. I say that as a C++ engineer wanting more language features in Logix.

In C++ you can overload or not overload. I don't think it should be any different in Structured Text. Since all implementations are optional, they could have implemented user defined functions without the ability to overload them. I don't even know if overloading is a part of the IEC standard.

Here is the help entry for the Function Object in CoDeSys.
https://help.codesys.com/webapp/_cds_obj_function;product=codesys;version=3.5.17.0
 
Sorry for thread revival, heading onsite tomorrow to a PLC I've never touched before so want to bring the SCP AOI with me as I will need it. Downloaded it fresh there from AB.com and it's a .exe, just checking is that normal? I've installed it before, but it's been many years.
 
That .exe is a self-extracting archive that contains another .zip archive that contains the .L5X you are looking for.

It's turtles all the way down ...

xxx.png
 

Similar Topics

What is the best instruction in RSLogix 5000 for replacing the RSLogix 500 SCP intruction. I've been told there is a download thatsomeone...
Replies
5
Views
14,730
When using 4 to 20mA I have been using 3277 to 16384 for the input min and max. We had new controls put in for a machine several years ago and...
Replies
6
Views
1,651
Hi, I have a micrologix 1400 with a 1762-IT4 module. I have channels 1 and 2 set up for "Scaled for PID" because I am using a PID to control...
Replies
5
Views
4,890
On RS500 you can use SCP to give an analogue signal out to a VFD what is the function you would use in RS5K Cheers Rob
Replies
5
Views
4,390
I have a few installations of MicroLogix 1100 PLC's in which my raw data (100-500 which is 1-5 volts for the analog input) is spitting out an...
Replies
25
Views
11,747
Back
Top Bottom