Add on Instructions

patelaksh30

Member
Join Date
Mar 2018
Location
USA
Posts
10
Hello,

Can anyone please explain me concept of using Add On instructions in Rslogix5000 or in Studio5000? Why do we use them and for what?

Thank you in advance

Regards,
patelaksh30
 
patelaksh30 said:
...Can anyone please explain me concept of using Add On instructions in Rslogix5000 or in Studio5000? Why do we use them and for what?...

To concentrate on the "concept" of using Add-On Instructions in Logix 5000 projects, here is an excerpt from the Rockwell Automation Publication "Logix 5000 Controllers Add On Instructions" - 1756-PM010I-EN-P - February 2018...

Logix 5000 Controllers Add On Instructions - 1756-PM010I-EN-P said:

...

About Add-On Instructions


With Add-On Instructions, you can create new instructions for sets of commonly-used logic, provide a common interface to this logic, and provide documentation for the instruction. Add-On Instructions are intended to be used to encapsulate commonly used functions or device control. They are not intended to be a high-level hierarchical design tool. Programs with routines are better suited to contain code for the area or unit levels of your application. The following table lists the benefits of using Add-On Instructions.

Reuse Code

• You can use Add-On Instructions to promote consistency between projects by reusing commonly-used control algorithms.

• If you have an algorithm that will be used multiple times in the same project or across multiple projects, it may make sense to incorporate that code inside an Add-On Instruction to make it modular and easier to reuse.

Provide an easier to understand interface

• You can place complicated algorithms inside of an Add-On Instruction, and then provide an easier to understand interface by making only essential parameters visible or required.

• You can reduce documentation development time through automatically generating instruction help.

Export and import an Add-On Instruction

• You can export an Add-On Instruction to an .L5X file that can then be imported into another project. You can also copy and paste between projects.

Protect intellectual property

• You can place your proprietary code inside of an Add-On Instruction, then use Source Protection to prevent others from viewing or changing your code.

Simplify maintenance

• You can simplify code maintenance because Add-On Instruction logic, monitored in the Logix Designer application, animates with tag values relative to that specific instance of the Add-On Instruction.

Track revisions, view change history, and confirm instruction functionality

• You can add an instruction signature to your Add-On Instruction, which generates a unique identifier and prevents the instruction from being edited without resulting in a change to the signature.

An Add-On-Instruction can be used across multiple projects. You can define the instructions, the instructions can be provided to you by someone else, or they can be copied from another project.

Once defined in a project, they behave similarly to the built-in instructions already available in the Logix Designer application. They appear on the instruction toolbar and in the instruction browser for easy access, just like built-in Logix Designer application instructions.

...

I dare say I can explain it much better myself so hopefully the above excerpt goes far enough in helping you understand the concept. The key elements to take from it is encapsulation of commonly-used logic and reusability of the same logic within and across projects. There is of course much more involved in creating and using these Add-On Instructions and the above linked specific publication on the subject should provide you much greater detail if you require it.

If you have any further questions then feel free to ask and I'm sure some of us can elaborate accordingly.

Regards,
George
 
Are you familiar with the Siemens concept of Function Blocks? An Add On Instruction is Rockwell's half assed attempt at creating those in their platform.

And before I get shot down, it's half assed because it can only be modified offline... however, if it could be modified online, it would have been called Function or Routine with memory or something like that.



You would use it whenever there is a piece of code that you are going to use repeatedly that requires, or is better that it does have, internal memory to hold the state of variables or objects.
 
True, the lack of online editing capabilities is annoying, but the way they have online view is vastly superior to Siemens.
 
True, the lack of online editing capabilities is annoying, but the way they have online view is vastly superior to Siemens.


Care to expand on this? I don't see the difference that makes one much better than the other. Particularly considering that AB doesn't have instruction list which is the trickier to view online with Siemens.
 
Online AOI view with AB is a simple dropdown list.

With Siemens your PLC needs to be in Test mode, you need to know which DB you need to watch. Quite annoying if you got 200+ instances. During interviews it's even one of the staple tests, cuz it's so convoluted.
 
While it would be nice to edit AOIs online, it can be a good thing. Some people don't understand their use and not allowing edits has saved me a phone call or two, by then screwing things up. It just requires better planning. I personally make AOIs generic and they are thoroughly tested before commissioning, so I've never needed to edit them online.
 
While it would be nice to edit AOIs online, it can be a good thing. Some people don't understand their use and not allowing edits has saved me a phone call or two, by then screwing things up. It just requires better planning. I personally make AOIs generic and they are thoroughly tested before commissioning, so I've never needed to edit them online.

I need to send my users over to your plant so you can train them. Mine change their minds more often than the wind changes direction.

Shutting down the process to allow an offline edit-download just isn't going to fly. If you can't edit something - AOI or any other new thing - online then it just isn't workable in a continuous process.

Rockwell used to require stopping the process and downloading to add a rack to controlnet. That's been fixed. Same with changing the io scan on devicenet. That's been fixed. The AOI editing will eventually be fixed, or there will be a work-around where you can search and replace, or some such thing.

It would be awesome to make a generic AOI and test all of the boundary conditions before implementing. In my experience, that would require the programmer to know more about the process than the process engineers do ... or the AOI does a very defined but limited subset of the required alarming and status reporting, and there is external logic that handles any differences.

Right now, my subroutines include all alarming, status and control logic. 90+ % of the motors are 'simple' and the remainder are 'General'. So 2 subroutines cover 800 motors. Then I have 4 or 5 more that are just too weird and they are done with custom logic. Gates/valves are divided into Diverters and Gates. Again, 100+ fit into those 2 categories and 4 or 5 are just too different.

But I'm at Rev 8 on the motor logic, rev 5 on the gate logic.

Could I do AOI now that I have the logic tested and debugged? Sure. But that would break some of the logic that is running with global arrays, so it is not really worth it.

Maybe when ControlLogix is retired, and we replace our DeltaV/ControlLogix system with a unified ... whatever is king of the hill at that time ... AOIs can be edited online and templates take the information direct to the historian, the alarm log, the HMI faceplate, and the IO. One can always dream:D
 
With Siemens your PLC needs to be in Test mode, you need to know which DB you need to watch. Quite annoying if you got 200+ instances. During interviews it's even one of the staple tests, cuz it's so convoluted.

Test Mode??? What PLC model are you talking about? You mean the little switch in the front of the PLC that isn't a standard in the last... at least 5years?
 

Similar Topics

In RSLogix5000 I am attempting to create an add-on instruction called "SWAP" which simply swaps the values of two integer tags. Here is what the...
Replies
5
Views
1,957
Hello everyone, Currently I am translating my Siemens program (SCL) to Allen Bradley (ST) and i am having a little trouble using the Add-On...
Replies
2
Views
1,520
Hi Everyone, I am working on project that the customer require no ADI. The standard project we have uses ADI everywhere. I am just wondering...
Replies
11
Views
2,380
hi all, can you guys please explain the why we use AOIs? My understanding is that they can be used like templates, so we create them once, and...
Replies
4
Views
2,493
Hello everybody, From user manual "ControlLogix SIL2 System Configuration", SIL2 Add-on Instructions is required to configure SIL 2 PLC...
Replies
0
Views
1,159
Back
Top Bottom