rslogix 5000 - newbie doublt

kuppe35

Member
Join Date
Nov 2020
Location
italy
Posts
15
Hi all,
sorry for the stupid question but I've been spending an hour to understand why some simple lines of code don't work.
I'm in Rem Prog mode and for example i have written
Code:
IF pippo then 
pluto:=1;
END_IF
Now, in the quick watch table or controller Tags, when I modify pippo to 1 pluto still remains 0.
What am I missing ?
 
In REM PRG mode the CPU is not running the program to make the change.

You will have to change the Online status to REM RUN

EDIT: And make sure your routine is called in MainProgram if it is under Main Task and not an AOI
 
Last edited:
thank you! now it works, it was so easy XD. Btw what AOI means?


AOI = Add-On Instruction

An AOI is a user-defined entity that encapsulates a quantum of logic not available in the basic OEM-defined set of instructions, especially if that logic is required in several separate instances in the same program.


It's roughly analogous to a subroutine in a procedural programming environment.


TL;DR


An AOI usually


  • Combines several basic instructions to achieve complex logic specific to the user's process, and
  • Is able to be specified multiple times (instances) in one program, with different inputs each time, just like a built-in OEM instruction, and
  • Operates on "dummy arguments" as proxies for the inputs and outputs used
Say you had a bank of 30 pumps that required unique but identical logic, involving several steps, for startup. Rather than code those steps 30 times, once for each pump, you might create an AOI with the logic, and then make 30 instances of that logic, each with the inputs and outputs specific to one pump. Note especially the advantage to doing this if a bug is found in the implmentation, or it needs to be updated to handle a new additional input: the logic need be changed only once, in the AOI, not in 30 copies (instances; although any new input would need to be added to the 30 instances).


For example, someone might write an AOI, "MULTI_OR," to perform a logical OR of three or four or more discrete bits; the final operation is no different than combining the inputs in OR-arranged branches, but it would be cleaner on the page and make it easier to read. So if there were a bank of several identical units, instances of this MULTI_OR AOI could be used to identify if

  • any of the units are on
  • any of the units are in alarm
  • any of the units are in maintenance mode
  • etc.
Another example would be a scaling AOI for a PLC that does not already have a built-in scaling instruction, or where there needs to be additional logic e.g. non-linear scaling.
 
Last edited:
One AOI you might want to build is one to replicate the SCP instruction from SLC500.

Rockwell with their evil little gremlin heart made that a Function Block which isn't available in ladder only versions.
 
One AOI you might want to build is one to replicate the SCP instruction from SLC500.

Rockwell with their evil little gremlin heart made that a Function Block which isn't available in ladder only versions.

You don't need to build one : It exists in all the "Samples" folders from version 16 and up.

If you can't find it, look in the "Mosquito Station" sample ....
 

Similar Topics

Hi all, I'm quite new to the automation world. I've used a bit Tia Portal in the last month and now i have a new working in rslogix 5000. From...
Replies
10
Views
5,040
Hey guys great site! Anyway I'm working temporarily over my winter break for a company. Basically I just get to mess with some of their plc...
Replies
12
Views
21,275
I am completely stuck on building a ladder program that requires a start button to be pressed 3 times to turn on motor 1. Then motor 2 starts...
Replies
20
Views
522
First off, I'm a hobbyist-level programmer, and this program isn't controlling anything anything that could even remotely be considered "life...
Replies
18
Views
502
Back
Top Bottom