Sequencer Output(SQO) instruction question.

mjggjm12

Member
Join Date
Jul 2013
Location
NH
Posts
92
Hi,
I am working with a PLC 5 program and it uses a sequencer to control the steps in the program. The sequencer uses an SQO to transfer a word to an output card for each step in the process. There are other rungs in the program that control some of the same outputs. My question is: Does the SQO override the rung outputs or vise-versa, or is it a matter of last one scanned it what it updates the output table with?

Thank you for helping me with this and all past advice.
 
You definitely don't want the same bits in the output word written to more than once in the program.

Usually, the SQO only needs some of the bits, and the remaining bits on the module can be used for other devices.

You do this by setting the SQO Mask to the bit pattern that the SQO needs to control.

The Mask is entered in Hexadecimal, not binary, so you need to do a bit of number conversion.

Say you want your SQO to control only bits 3 to 6 (inclusive), you would need a Mask bit pattern of 0000_0000_0111_1000 (bit 0 on the right). I've added underscores to make it clearer.

This converts to the HEX number 0078, enter that as the Mask value in the SQO, and it will only affect those bits specified where the mask bit is a 1. It performs a "read/modify/write" operation, so the other bits can be used as normal.

HTH
 
My question is: Does the SQO override the rung outputs or vise-versa, or is it a matter of last one scanned it what it updates the output table with?
Generally the last Output instruction wins the race.
There are other rungs in the program that control some of the same outputs.
You need to make one of these choices:

(1)Combine the "other rungs that use same outputs" into your SQO outputs, so that each Output bit is only controlled by ONE instruction, OR

(2)Delete the SQO and use other methods to control each Output with only one instruction.

Are these "other Outputs" inside a subroutine that is only called when the SQO is not active? If that is the case, then it is okay.
 
Last edited:
Thank you very much for your answers. I will most likely do option 1 because the sequencer pretty much controls the whole process so I can't get rid of it.
 
That is the usual case: SQO works great to control sequential steps 1-2-3 bam-bam-bam, all hunky-dory, but then someone comes up with a need to "just skip this Step 4 and instead do Step 10B in its place". Then all of a sudden you are in a Sequencer Nightmare trying to jury-rig the SQO to no longer work like a sequencer.
 
mjggjm12, are you absolutely certain that the same bits are masked through to the output card that are driven directly in other logic?

If that is the case, I would add that this "other logic" must be later in the program scan to have any effect.

Lancie1 gave the answer you sought - "generally the last instruction operating on the output wins".

It is quite possible that your SQO is writing the outputs, followed by some other code that could modify them, depending on circumstance.

The other way round would not work.... if your "other code" preceded the SQO, then the bit pattern from the SQO would overwrite all of the bits where the mask is a 1.

I can actually think of circumstances where the scenario could exist... an example could be a clamp in a fixture can't be used on certain derivations of the assembly, so direct logic is used to prevent that clamp output for that part.

Relying on the "last one wins" principle, however, only ever works for PLCs that have Synchronous Logic Scan/IO Update.

Transporting that style of code to Logix5000 systems, which have an Asynchronous Logic Scan/IO Update is doomed to failure.
 
Transporting that style of code to Logix5000 systems, which have an Asynchronous Logic Scan/IO Update is doomed to failure.
That is a good reason to resolve the outputs into one set (either SQO or individual outputs for all, but not both).
 

Similar Topics

Hi All, I was wondering if I could get some assistance in understanding why my sequencer output is not working correctly. I have 4 steps in my...
Replies
2
Views
2,666
Hello guys I have to make a program using a SQI and SQO instruction in order to extend/retract 8 cylinders, one at a time. Each cylinder has 2...
Replies
1
Views
1,855
Hi, I am new to using the sequencer input and output intstruction. 1) Could someone please explain how to use both on the same rungs and how to...
Replies
4
Views
2,869
Hi All, I need a little help here, i can program a sequence using lots of timers, but what i really need to do is have a one shot input...
Replies
38
Views
17,639
as i am still a little new to plcs, i need a little help. i have read the slc 500 instruction set to try and comprehend the sequencer output...
Replies
13
Views
7,880
Back
Top Bottom