Help understanding SQO on a SLC program....

JoseM

Member
Join Date
Jul 2011
Location
Texas
Posts
381
Can you guys help me understand how the sequencer (SQO) on this program works, please.

I see several files that are associated and then I see these two blocks of address,

N25:0 ---> N25:125

N25:126 ---> N25:256

that are used all over the program to trigger actions at certain time intervals.
 
Can you guys help me understand how the sequencer (SQO) on this program works, please.?
Your program uses 3 sequencers, one for stack patterns on File 2, Rung 7, one for dividers in File 2, Rung 8, and one SQO for message displays in File 2, Rung 382. Each SQO has a group of stored patterns that it retireves, one for every time the SQO is triggered. The first two control 125 different patterns for some type of package stacking pattern. This program is probably a palletizer that stacks cases or boxes onto a pallet, with a number of layers and stacking patterns depending on package size. I say "probably" because there are no rung comments or program titles or file names that tell the user anything about the program or what it does or how it works. It appears that a deliberate attempt was made by the author to prevent anyone from knowing how this thing really works.

The last message display SQO controls which message (out of 32 different messages) gets put on an operator display panel. The Length parameter in each SQO determines how many differnt patterns that SQO can control.

You might want to study the RSLogix Help file for the SQO instruction: click on "Help, SLC Instruction Help", then select the "SQO" box for a detailed explanation of how a Sequencer Output instruction works.
 
Last edited:
one more quick question. If you looked at the SQO for example the destination address is N20:0 and the mask address is N20:1 for a sequencer of 8 positions.

How can the mask address be located inside of the block of 8 - 16 bits word position that constitute the SQO.
 
one more quick question. If you looked at the SQO for example the destination address is N20:0 and the mask address is N20:1 for a sequencer of 8 positions.

How can the mask address be located inside of the block of 8 - 16 bits word position that constitute the SQO.

The sequencer isn't writing to N20:1, it's writing to N20:0 from N41:10-136

The value of N20:1 is -1, which means every bit in that word is 1, which in turn means that it is instructing the sequencer to pass every bit from N41:XX to N20:0. You could literally type "FFFFh" into the mask field and it would work exactly the same way. The author probably did it with an address so he/she could change the datatable instead of hunting for the instruction and doing an online edit, making it slightly more convenient. All the mask field does is ignore certain bits during the operation. This was more of an issue back in the days of the SLC 100/150 when memory was more limited, but in a modern processor there's rarely a reason for a SQO mask to be anything but FFFFh, even if you don't use the entire word, just for the simple convenience of it.

This is definitely a palletizer. I just programmed one a few months ago. It was a simpler operation and only had one sequencer, but the principles are the same.

EDIT: One thing to keep in mind if you weren't aware, when the sequencer reaches the last step and is triggered again, it will roll over to step 1, not step 0. The programmer reset the sequences by moving a 0 in the Control address's POS value, but an RES instruction on control variable address would do the same thing. This is not how the SQO used to work! It used to have to be reset at the end of the sequence. This burned me when I did a SLC-150 to Micrologix 1400 conversion.
 
Last edited:
Thank you for your answers,

I did notice that the N20:0 gets re-populated every time the sequencer increases a step, by the values on register N41:10 ---> N41:17

Can you guys also help me understand on LAD 2, rungs 45 ---> 52. I notice that N20:0 value gets moved to another register N25:253 every time a part goes through a photo eye but then I can't seem to understand what else happens.
 
Can you guys also help me understand on LAD 2, rungs 45 ---> 52.
It will require many hours of study to figure out all the details.

File 2 Rung 0045 seems to be where the next pattern is moved to N25:253.

File 2 Rung 0050 shows that there is some type of temporary stack register for some part of the "pattern development", with a length of 128 and starting at location N26:126 and going up to N26:153.

On rung 0049, new numbers are MOVed from N25:1 to the last location N26:253 on every scan, then on Rung 0050, if the Auto OFF Delay is not done, then every number is shifted up one postion.

Rungs 45 to 52 are all connected to moving the correct patterns into the proper locations so that rungs 53 to 99 can use the pattern data to control the various case turners to fill the pallet according to the case package size and number of pallet layers for that size.

I think to figure out much more, I would need to have a layout diagram of the pallet for each case product size, with the number of cases and the orientation of each case for each layer on the pallet.
 
Last edited:
I have a real hard time following this "Patter Development'' sequence. How is the data appearing on N26:126 - 253 registers. To me the sequence is so broken up.
 
If you can go online with the program right click the SQO instruction and select DISPLAY SPECIAL then you can kinda see whats going on as the instruction loads the "pattern" into the destination file, not sure if you can do this in emulate.
 
Last edited:
How is the data appearing on N26:126 - 253 registers?
From here I can only make my best guess. It seems that on File 2, rung 0045, each time the CASE COUNT LIGHT BLOCKED SINGLE SHOT goes ON, data is moved FROM the Destination N20:0 of the SQO on File 2, rung 0007, TO the last address of the range starting at N25:126 for a length of 128 up to N25:253. Then in rung 0046, when a new pallet is loaded, XIO T4:1/DN goes on-to-off-to-on, causing the data in that 128-word range to be shifted downward (higher address to next lower) using the indexed-address Copy starting at N25:127. The last COP will then be moviing N25:253 up to N25:252.

That is how the PATTERN DEVELOPMENT data appears in N26:126 - 253 registers.
 
Last edited:

Similar Topics

Took a new job and the controls schemes are fairly old and I'm used to Allen Bradley and Siemens. I'm looking to replace a pair of Superior...
Replies
1
Views
105
Hello Team, I am desperate for some help with an assessment I have as part of a Level 3 general engineering course. I am in a role that is much...
Replies
9
Views
345
Hi, To give some context of the situation and why I'm posting. I started a PLC module as part of a general engineering course last year and the...
Replies
6
Views
2,028
https://imgur.com/a/kKPtzyP We are making improvements to these motor controls by replacing these old resistor banks and DC generator with DC...
Replies
3
Views
1,784
I get so confused by Rockwell's licensing structure. I have two PC's that will be running the same SE application. Can/should I run this as...
Replies
7
Views
1,807
Back
Top Bottom