Sign in to follow this  
Followers 0
dsc

FIFO Instruction of RS Logix5000

4 posts in this topic

Hello guys, I'm new bie of RSLogix 5000. Could anyone know how to use FIFO instruction during application?Plz provide me any block/instruction of FIFO. Thank you.

Share this post


Link to post
Share on other sites
What are you actually looking for? XIC Tracking_Enable BST XIC Run_Fwd_Ftg_Pulse FFL Speed_Act Speed_Act_Array[0] Speed_Act_FIFO_CTRL 1000 800 NXB BST XIC Speed_Act_FIFO_CTRL.DN NXB XIC Run_Rev_Ftg_Pulse GRT Speed_Act_FIFO_CTRL.POS 0 BND FFU Speed_Act_Array[0] Speed_Fifo_Out Speed_Act_FIFO_CTRL 1000 800 BND That (all one line) is a basic FIFO load/unload set. It will shift the value in (Speed_Act) every foot. After 1000 shifts (feet), it will begin shifting the value out to Speed_Fifo_Out. It will also shift out if the line is run in reverse until the FIFO is empty. No provisions were made in the example for clearing the output register when the FIFO is empty, or before it has been filled. A more complex example (and the above) is attached. Attached version is a stripped down version of using a user defined type to store information which is processed later by a database. The FIFO is used to hold events until the database can deal with them. _FIFO_Basic.ACD

Share this post


Link to post
Share on other sites
Hello, Thanks for your FIFO basic example. For your info, I need to perform a program to convey a product from a sailo to 4 different hopper.Only 1 hopper could be filling at 1 time.The conveying process will start automatically when the operator push the START button on Control panel.The conveying request will only happen if any of the 4 hopper give a low level signal to PLC(Compact Logix L32-E). My question is,how to perform a selection where the conveying request will only occur based on FIFO selection? This mean the PLC will only scan the 1st earliest bit which given by any of the 4 hopper.I use RS Logix 5000 software for this programming method. Is there possible for me to use the FIFO instruction? Thank you.

Share this post


Link to post
Share on other sites
In other words to queue up the events as far as "what happened firs? It can be done with a FIFO but with the overhead involved and only needing 4 entries, it is probably easier to do it another way. Remember with a FIFO, there are essentially two main operations: loading a value (FFL), and unloading a value (FFU). Each conveyor would need state bits telling whether it is "waiting" or not. Then whenever the empty signal is generated, add it to the FIFO queue (FFL) ONLY if the "waiting" bit is cleared. Then set this bit to prevent the conveyor from being queued more than once. The filling routine simply checks to see if the FIFO is empty (there is a status bit for this). If it is empty, it does nothing but idle. If it is not empty, then it unloads a value (FFU) and begins loading the specified conveyor. Once loading is completed, it clears the "waiting" bit. The loading system also needs a "busy" state, "current conveyor", etc., to keep filling the same area until complete before moving on. Alternatively it could be set up to stop filling after a timer expires, allowing it to round robin while not waiting for everything to totally fill before going on to the next one. So basically the FIFO is just an event queue, nothing more.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0