Achieving order of a pattern in rslogix5000

In the example I posted, you need to have 6 input boxes on your screen which represent what fan number the operator key (number 1 to 6).

For eg. the operator key in the following order

Input Box 1 - "5"
Input Box 2 - "3"
Input Box 3 - "1"
Input Box 4 - "4"
Input Box 5 - "6"
Input Box 1 - "2"

PLC always run in the same order, - order 1 to 6, but it takes the data from the first input box, if it represent 5, then turn on fan number 5 when you turn on your first output, represented by Fan.[box1], It indirectly represent Fan.5 in this case. As Fan.5 connected to Fan_5 in the ladder, which in the actual output connected to Fan number 5, it runs

And for 2nd output, it turns on fan number 3 as the Second order runs Fan.[box.2] which is actually representing Fan.3.

In the example I only shows 3 fans, but you can easily expand it

Regards
_______

Hi chavak,

I am getting your idea but not completely. Let me explain what I understand from your post.

You mean to say
Input box 1,input box 2,input box 3 ,……..6 are order which are fixed in the program .

We have to enter the number of fan for example
Fan1 – 1 , Fan3 -2 , fan3 -3 ,,,,6.

In that input box which will fix the order.

Input Box 1 - "5" (fan 5)
Input Box 2 - "3" (fan 3)
Input Box 3 - "1" (fan 1)
Input Box 4 - "4" (fan 4)
Input Box 5 - "6" (fan 6)
Input Box 6 - "2" (fan 2)

Am I correct???

The orders will be fixed and based upon the number the fans will operate.

So we have to use compare instruction and run the fans isn’t it ?????

Some what I am getting idea. Next two days are off for me will be back on Sunday.

Before I was totally blind after reading these posts I am getting some idea thank you all guys.

Also I am studying sqi and fifo but I find it difficult to understand, but I will try .

Correct it if I am wrong also I really appreciate all of you for your response and suggestion it helps me lot sorry for my dumbness but I need to learn and become like you experienced professionals .
:site:
 
I think you get the idea.
And don't apologies for not getting something. Im new as well (<4 months) just takes some time.
Chavaks method would be easier than what i had as all you do would is go through the input boxes in order. You still need a sequence integer to say I am looking at this input. The compare function would be vital.
For a control scheme I would use would be a sequence integer, a current fan integer, and the input boxes.

Sequence Integer-1-6 that advances to let you know where in the sequence you are.
Current fan integer- The current fan that you are using
Input boxes- order for sequence

compare (Sequence int = 1)---------------move(input 1 to current fan int)
compare (Sequence int = 2)---------------move(input 2 to current fan int) etc

then more compare instructions to execute the fan
compare( current fan int = 1)-----------Fan1()--
then timing and done checks and advancing sequence integer

So yes your getting close compare instructions all over.
Just my 2 cents and procrastination from my own projects.
Also if anyone else thinks Im wrong just go ahead and tell me so we don't confuse him.
 
you mean to say
input box 1,input box 2,input box 3 ,……..6 are order which are fixed in the program . - "yes"

we have to enter the number of fan for example
fan1 – 1 , fan3 -2 , fan3 -3 ,,,,6. - "yes"

in that input box which will fix the order.

input box 1 - "5" (fan 5)
input box 2 - "3" (fan 3)
input box 3 - "1" (fan 1)
input box 4 - "4" (fan 4)
input box 5 - "6" (fan 6)
input box 6 - "2" (fan 2)

am i correct??? - "yes"

the orders will be fixed and based upon the number the fans will operate. - "yes"

so we have to use compare instruction and run the fans isn’t it ????? - "no"
:site:


fan2.JPG
 
Chavak,

First_order , Second_order , Third_order are tags used .
So when the operater enter the values from the Hmi .The values will be stored in the above tags like

First_order --- 3
Second_order ---1
Third_order ---2

You have mentioned Fan.[box1],Fan.[box2],fan.[box3] in the output coil how will it energies ????
How will the contacts Fan.1, Fan.2, Fan.3 be energized??????
Or is it special instruction available in rslogix5000??????

Because the operate will enter any number 2,3,1 or 3,1,2 .

What I get from your ladder logic is that when the operator enters number 3 Fan.[box1] stores the value and energizes Fan.3 how is it done without comparing because the next time he will enter 2 .
or is it special type of instruction .

Sorry for dumb question .:oops::confused:
 
Read help file on Indirect addressing. Then I think it will come to you.

I See Logic as this:

If Operate Pushes Start Button Then Move Entry Order Into Box and Start Pattern.
 
Last edited:
As cwal61 mentioned, it is a bit level indirect addressing,

For eg, when the box have a value of 3, it turns on the bit "Fan.3", in a tag called "Fan" and as Fan.3 is tied to Actual Fan number 3, it runs.

Indirect addressing is usefull for these kind of application, but use it carefully, the drawbacks are

Not very readable to end user,
Prone to mistakes if never designed properly etc,

- for example if the Tag Fan is a DINT type, so it have bits named Fan.0, Fan.1........Fan.31. So if the input box is not designed to hold values between 0 & 31 and somebody key in 32 in the box, it will cause an error, as the PLC unable to point to Fan.32 which doesn't exist.

Regards
_______
 
I have a doubt let me ask it with an example

I am creating a TAG named as Fan with data type Boolean[32]
WHICH WILL BE LIKE
FAN[0]
FAN[1]
FAN[2]
FAN[3]

NOW I AM MOVING A NUMBER FOR EXAMPLE

MOVE 3 TO "FAN" (TAG)

WHEN THREE IS MOVED TO THE TAG FAN WILL IT ENERGISE ONLY FAN[3] OR ALL THE 32 BITS WILL BE ENERGISED
FAN[0] 0000
FAN[1] 0001
FAN[2] 0010
FAN[3] 0011 ONLY THIS BIT WILL BE ENERGISED ???????
FAN[4] 0100
…….

IF NOT IS IT POSSIBLE IN ANY OTHER METHOD???????

Chavak I get some idea from your post but when I compare it with your ladder logic I get confused.
Fan.[box1] is it a separate tag with data type boolean 32 bits like say Fan.[box2] ,Fan.[box3] …..

Where are we entering the order number in tag “First_order” or "Fan.[box1]"

For eg, when the box have a value of 3, it turns on the bit "Fan.3", in a tag called "Fan" and as Fan.3 is tied to Actual Fan number 3, it runs.
Fan is tag with data type DINT [32], when number three is entered to the Tag “Fan” it will turn on the Fan.[3] bit is it correct ????? How about rest of the bits it will be zero and off like Fan.[1],Fan[2] ?????
 
Confusion reigns supreme

Indirect and indexed addressing - Please read up in RSLogix 5000 help for more information as cwal61

MyDINT type DINT is a 32 bit integer eg to set the value of MyDINT to 3

MOV
3
MYDINT


This will set bits 0 and 1 in MyDINT

To access the individual bits in the Tag use the following addressing method (indirect)
Code:
MyDINT.0
---()
RSLogix 5000 permits you to use indexed indirect addressing
this means that you can replace the tag.0 with tag.[MyIndex]
Index is a DINT that can have a value from 0 to 31

So the Above ladder can be rewritten as
Code:
MyDINT.[MyIndex]
-----()
NOTES:
1) there is a decimal point before the "[" so you are accessing the bits in the tag MyDINT
2) MyIndex = 0 if you want to access bit 0

ALSO
When you are addressing arrays ( An array is a Datatype that has [x] in it ) you also use an index addressing method
Eg Tag is MyBitArray is of type BOOL[32]

MyBitArray[1] the second element in the array (the index's all start at 0)

This tag can be used where ever a BOOL can be used

Warning ****
You cannot MOV a value BOOL Array - MyBitArray is a BOOL Array
You CAN however MOV a value into a DINT then access the bits using indirect addressing

For you Tag FAN is type DINT
FAN.0 is a bit
FAN.1
FAN.2
etc

chavak's Code

Box1 = 3, Box2= 1 Box3 = 2
so
Code:
 FAN.[Box1]     is the same as     FAN.3
---()--                            ---()--
Code:
 FAN.[Box2]     is the same as     FAN.1
---()--                            ---()--

Code:
 FAN.[Box3]     is the same as     FAN.2
---()--                            ---()--
When you change the values in the Box then the program changes the bits that they set
 
Thanks alot for your explanation MichaelG .

Now rather than continuing question I thought let me try my own sequence and then go for doubts .

I have attached my sequence which I have done with basic idea now I want suggestion from you all to make it more simple or to make it short with some other method.

Since I am using Demo version of Rslogix 5000 I have attached the file by changing its extension from (.ACD) to (.doc)

So sorry for the inconvience after downloading change it to (.ACD)

Also if anybody has a full version please check the sequence is working correct (if time permits)

How to convert my program to (.pdf) ????????????

Awaiting your suggestions, advice or if possible any example ???
 

Similar Topics

Here's a question to the group. When will integrating devices in the Industrial Control world approach the simplicity of the Lego MindStorm...
Replies
2
Views
1,687
I'm after a quick and effective way to achieve the following with an FX series Mitsubishi: 10 registers, holding a variety of values, one register...
Replies
0
Views
2,295
Afternoon all, I'm working on setting up a large excel recipe table for porting updates through the Linx Gateway RTD/DDE function into my recipe...
Replies
2
Views
117
We are trying to poll data coming from a PLC for remote monitoring we have the IP address of the PLC and the default port number and the path is...
Replies
25
Views
592
Good morning. I'm doing a rehab and I need to recycle some part of the old code that won't change and that I need. This is a calculation that...
Replies
22
Views
1,374
Back
Top Bottom