RSLogix 500 - How to write to more than one output card with a single instruction?

Join Date
Mar 2008
Location
Vanderbijlpark
Posts
27
Hello all.

I've been looking into sequencer blocks on RSLogix 500 and am planning to rewrite a sequence based program that I originally wrote in ladder, using sequencer blocks this time to familiarise myself with the concept.

I have 22 Outputs in the program however, and a 16-channel output card. I will have to create two seperate rungs, read two seperate words and output it via two seperate SQO instructions to the two different output cards for each step in the sequence. Not a train wreck, I know, but I'm sure there must be a neater way to do it.

Installing a 32-channel Output card will not solve my woes either, since the 32-channel card is divided into two words (eg: O:3.0/15 for channel 16 and O:3.1/0 for channel 17).

Two questions:

1) How could I write the necessary sequence using one word per step? Is there some way of linking two words to be read as one, or can I use a different data type to write each step in the sequence (An array of strings seems like a plausible alternative, or am I fishing?).

2) Is there some way I can write to the two different output cards with the single SQO instruction? As I'm writing this it seems more and more unlikely, but maybe one of you wizards have a fancy trick up your sleeve.

Thanks in advance.
Warren Boswell.
 
I'm not sure I understand what you're asking. Are you trying to turn on various outputs at each step using bits of the word? If so, then there would not be enough bits as you can see. I normally compare the step number if I have more than 16 outputs.
 
2) Is there some way I can write to the two different output cards with the single SQO instruction?

answer is no as there is no way to change the destination and the SQO instruction is limited at 16 bit

1) How could I write the necessary sequence using one word per step? Is there some way of linking two words to be read as one, or can I use a different data type to write each step in the sequence

to simultaneously use the two SQO instructions one for the upper range the other for the lower range you would set the same control to the two for example r6:20 this way they will step at the same time the SQO instruction already uses a type of array for the words on each step

hope I understood your needs correctly
 
Last edited:
If you are trying to move words to outputs based on your sequencer position, I would use indirect addressing. Create an offset word for your second output card. The sequencer position would determine the words that are moved to drive the output words.


ADD SEQPOSITION 100 OFFSET
MOV N7:[SEQPOSITION] O:0
MOV N7:[OFFSET] O:1

Where OFFSET is some integer (N10:0) and SEQPOSITION is the position word of your SQO instruction.

The output data for the first step would be held in N7:1 and N7:101. As the sequencer increments, the next words will be moved to the outputs.
 
Last edited:

Similar Topics

Hi all, yesterday I was at a customer site doing a PM and after making a couple of minor mods to the program, I went to back it up to EEPROM (yes...
Replies
2
Views
2,346
Hello all, I was wondering if any of the great minds out there could help me out with some information. I'm looking for information on how to...
Replies
3
Views
2,424
Hello all. I've been looking into sequencer blocks on RSLogix 500 and am planning to rewrite a sequence based program that I originally wrote in...
Replies
1
Views
5,333
Hello, Haven't been on in a while. I need to generate a bit level pdf of the I/O for RSLogix 500. I can generate a report but it just shows the...
Replies
1
Views
113
I would like to copy register N61:131 thru N61:147 into ST252:0 I keep failing What happens is I copy into ST252:0,1, 2 etc. What am i missing...
Replies
18
Views
485
Back
Top Bottom