FTSR-IN & OUT (Fall Through Shift Register)

ilikbeer

Member
Join Date
Oct 2004
Location
Defiance, Ohio
Posts
101
I am programming an Oven and would like to set up a slight delay between the fans starting. Usually pretty straight forward, but because of the nature of the beast and different fans for different applications or maybe only requiring a few of the fans to run, I am ATTEMPTING to program in a Fall Through Shift Register In & Out.
You probably realize this is a TI/Siemens program. I am using a TI545-1105 in my shop right now to set up the simulation.

This is what I have done so far: PLEASE feel free to suggest better ways. I am learning not to be thin-skinned or close minded. :oops:

When anyone one of the "Fan Start" push buttons has been activated, I SET a seperate bit and load an assigned value into V100, these values just change from 1-12 corresponding to the fan location from start to finish. Once that value has been loaded into V100 I skip to the SFPGM01 where I have set up the FTSR-IN. In the FTSR-IN I start the register at V100, this loads my first value into location V114. This all works very well and the pointer/index in V111 and the count in V110 increment correctly, and all is good. :D

The problem I am seeing is when I do the FTSR-OUT The first value moves out just fine and the counter decrements, BUT the values in the FTSR-IN register do not return to zero. :unsure:
Shouldn't the word actually be moved, or am I doing something wrong?
 
ilikbeer,

I am not familar with a Fall-Through Shift Register, but the typical shift register does not reset bits to 0 when the register is "shifted". Instead, it just shifts in the next "Input" bit, whether it be a 0 or 1, and shifts out the last bit into limbo-land.

This seems to be a rather complicated way to get a Start Delay. What is wrong with a Timer, with several Input bits used to decide when the timer gets activated?
 
Last edited:
Hi

I once had a similar problem but in my case I had to check if a box was opended or not, and the soloution to my problem was :

I made a word shift register with the SFC21 command i S7 (see following thread), if the box was open I did nothing and if the box was not opended I moved Zero into the position where the box was.

http://www.plctalk.net/qanda/showthread.php?s=&threadid=10889

I Hope this helps !!!

Regards
Brian
 
Have you considered using a Synchrouous Shift Resister (SSR). It may be a better fit.

From the progrmming reference manual:

The operation of the SSR statement is described below and illustrated in
Figure 7-53.
• The starting address A designates the memory area in which the shift
register is located.
• The register length C determines the size of the shift register. Size
depends upon the memory location that you choose and how much
memory you allocated (if the memory is user-configurable). The
maximum number of elements stored in the register is C.
• The first position of the register, Register Start A, is empty until an
element moves into A from another source.
• Each time the SSR executes, the element currently in memory location
A shifts to A + 1. The element in A + 1 shifts to A + 2. Elements move
down the shift register to A + 3, A + 4, etc., and A resets to zero.
• After the register is full, shifting in a new word causes the loss of the
last word in the register at location [A + (C – 1)].
• The register is considered empty when it contains all zeros. The status
bit B turns on when the register is empty.
 
Lancie1
This seems to be a rather complicated way to get a Start Delay. What is wrong with a Timer, with several Input bits used to decide when the timer gets activated?

I didn't think it would be either, since this is a "FIFO like" register that works with words. The reason I didn't go with several timers was I would still have to sort out the sequence of the way the operators entered it, thus my reason for the FTSR-IN.

BNA

I made a word shift register with the SFC21 command i S7 (see following thread),

I will check this out thouroughly.

Ken Moore

Found the SSR Description, never had read this one before, mine is on page 7-70, this looks enticing.

Thanks for the responses. If anyone has any other ideas, I envite your opinion.
 
I figured out my problem

The FTSR-IN / OUT work just fine now. I was misinterpretting the Count and Index. bonkhead

The register will accept new values until the count, which equals the number of entries (I really need to learn to read the book better) 📓 that are still retained, in the register.

The Index, which is a pointer, is the next location to be loaded. It does not have to do with where the next word will be unloaded from. The FTSR-OUT SFPGM takes care of that.

The register never really empties, from what I have seen in my simulation, but allows for words to be over-written.

Thanks again for your support.

beerchug :site:
 

Similar Topics

Hi! I'm looking to design a test system that can measure a surface bend. I need to measure three positions. The sensors will be placed approx...
Replies
4
Views
2,352
Hey all. I have a new panel here that suffered big fall. Just as the panel was coming off the truck to my plant floor it was toppled over. The...
Replies
17
Views
4,234
Saw this in local paper. If done with PLC it appears to be a good job. At least entertaining. Dan Bentler...
Replies
8
Views
2,197
Hi guys, I've an application where the temperature will be feeding back to the PLC. Upon PLC detected 3 times of the temperature of the product...
Replies
4
Views
2,818
Hi All Using Step 7, ladder logic. I need to program the following sequence: If temperature starts to fall, open internal fuel gate to feed...
Replies
4
Views
2,586
Back
Top Bottom