PLC function

D

Thread Starter

David Brown

Hi all,

I am searching for a function in the PLC which will work as a rotary switch with the non - stop point. Every time the input becomes TRUE, one contact will become TRUE and with next pulse another contact will become TRUE while all others will be FALSE. But I could not find out which one will work for my application.

If anyone on the list knows this function please let me know.
(I use SYSWIN 3.4, CX ( Omron) and FPWIN Pro.4 ( NAIS )

Any advice would be greatly appreciated.

Regards.
David.
 
It sounds like what you want is a shift register. Most PLCs have either a shift register instruction, or they have instructions to shift or rotate bits in a word.

You would need to have one bit on, and then shift it once per pulse. When the bit reaches the end, you need to start over at the beginning again.
 
J

Jeremy Pollard

Use a counter:) subscribers paid money for that tip 20 years ago:)

In your logic use the counter ACC values..

Cheers from :
Jeremy Pollard, CET The Caring Canuckian!
www[.]tsuonline[.]com
Control Design www[.]controldesignmag[.]com
Manufacturing Automation www[.]automationmag[.]com
 
THERE ARE SO MANY WAYS TO DO IT. IN MY OPINION, THE EASIEST WAY TO IMPLEMENT IT WOULD BE BY USING A "DRUM SEQUENCER" BLOCK. IT ALL DEPENDS UPON THE NUMBER OF OUTPUTS YOU WANT TO ACTIVATE/DE-ACTIVATE, AND UPON THE NUMBER OF STEPS.

IF NOT, YOU MAY USE SHIFT REGISTER OR A COUNTER, OR EVEN A "SET/RESET" COIL FUNCTION.

USE SOME OF IMAGINATION AND INNOVATION.

THE SKY IS THE LIMIT!!
 
D
Thanks for your advice, however, what I need is to rotate about 100 points and with no stop point, it will need to continue non-stop, one pulse will trigger the function and the function will rotate only one point. It will work like a rotation switch without the dead end. At any time, only one point is TRUE, all other points must be FALSE.

Regards.
David
 
D
Thanks for your reply but using the counter is impossible because the number of the points needed to rotate is about 100 points.
Do you have another idea for this task?

Regards.
David.
 
C

curt wuollet

The counter will work if you add logic to reset at 99. 100 rungs, each if count = 0 output 0 on. etc. And if it wouldn't for some reason you could just increment a variable and do the same thing. And the drum sequencer will work if you can extend to 100 points. And the shift register will work too, with the logic to recirculate. The folks here aren't, for the most part, guessing.

Regards
cww
 
J

Jeremy Pollard

Oh... sorry - misunderstood the problem.. you are looking for a 1 in 100 multiplexer??? 100 outputs, 1 input and an internal counter from 0 to 99 or 100, and when the counter is 77 then output 77 turns on - am I close????

If so then depending on the PLC you are using, you can use a circular counter which resets at 99 or 100 (be careful of the timing of the reset relative to scan, and use indirect addressing using the counter ACC value as the bit pointer...

You can control al outputs this way if needed, or a binary file and then move the contents of the binary file to the output file

THAT should work.. If you are using a Rockwell PLC I can give the code:)

Cheers from :
Jeremy Pollard, CET The Caring Canuckian!
www[.]tsuonline[.]com
Control Design www[.]controldesignmag[.]com
Manufacturing Automation www[.]automationmag[.]com
 
T

Tony R. Gunderman

I agree with the shift register approach. This is fairly easy to do in Simatic 5x5 or CTI 2500. I am not a user of Omron PLCs, but from some of their manuals, it looks like the Shift Register instruction, SFT(10), would work for this. Starting word and ending word (St and E) would need to be bit addresses that encompass the range of outputs that you want to manipulate. P would be your input pulse. I and R would have to have logic implemented around them to initially seed the shift register with the "1" that walks through the register and to set it again any time it needs to wrap back around.

Regards,
Tony R. Gunderman
 
Top