RSLogix5 FFL

jredlin

Member
Join Date
Jul 2004
Posts
6
Being my first time here I appologize in advance if this question is too easy.

I want to use a FIFO Load to create an analog filter to in the the end use as a process variable for a PID controlling a very slow running feed belt. This belt will be running about 8rpm at top speed and Im using the PID to control the speed through a VFD.

Im feeding 60,000lbs/hr of material to a furnace. That number is adjustable by the operator. I'm taking the material weighed on a belt scale, totalizing it over 5 seconds, Loading it with the FIFO, then averaging 12 values. Multiplying this by 60 will give me my actual feed rate and I figure I can use this value as the PID PV.

My two questions are this:
Am I missing anything and using the FFL, do I need to unload these registers or will the FIFO just drop the bottom value as the top fills?
 
Can't answer your question about the FIFO, but an alternative that I've used to keep a running average is:

Use the COP instruction,
source: N17:0
Destination:N17:1
length: 11

This will move values 1-11, to location 2-12, then write the new data
to location 1

See attached example
 
I also like Ken's method better than a FIFO ... BUT ... I think he got the "copy direction" backwards in his example ... try this idea and see what you think ...

basic idea: if you copy the data FROM a lower address (example: N17:0) TO a higher address (example: N17:1) then the whole file will fill up with the value from the lower address ...

on the other hand: if you copy the data FROM a higher address (example: N17:1) TO a lower address (example: N17:0) then the values will "ripple" up through the file one step at a time ...

once you've got the data stored, you can average it (or whatever) in any manner you like ...

data.jpg
 
do I need to unload these registers or will the FIFO just drop the bottom value as the top fills?
Yes, you need to unload the FIFO (FFU instruction). The FFL control structure has a 'full' status bit that sets when all positions are loaded and you can't put more in until you unload.

Depending on your PLC5 model, you may have an average instruction available.
 
The FIFO along with the FAL for simple file/word data transfers are PLC-5 insructions that are easier to build with simpler instructions than they are to use.

Ron got it right regarding the COP instruction direction. You don't have to unload anything since you're using it to accumulate the last X readings.

Use the AVE instruction to average your data.

Good Luck,

(8{)} ( .)

(Yosi)
 
Thanks for your input gentlemen. I agree completely. I did build and test an app using the FIFO and it did work perfectly. Yes I did have to unload it. The biggest benefit that I see for using the COP instruction is it uses a lot less processor resources than the FFL does. Thats not critical in my situation but who knows what will happen in the future for this processor. I may need the extra resources then. I'm using a 5/40E so I do have the AVE instruction available and that is very handy. I will attach what I tested if anyone is interested in seeing what I came up with for the FFL/FFU usage.
 
The example above is for only one point. I want to average 10 points and that too keeping memory in mind i want to use indirect addressing in these. Is it possible, if yes please let me have comments..
 
Averaging 10 points

Are you taking an average of the 10 points or are taking 10 averages of the individual points?
 
jredlin said:
Are you taking an average of the 10 points or are taking 10 averages of the individual points?
I want 10 different points to be averaged. But as per the above exaqmple i find the sample rate every five seconds. I need to take the sample on evry scan and needs to average for each hour data.
 
mfeby said:
I want 10 different points to be averaged. But as per the above exaqmple i find the sample rate every five seconds. I need to take the sample on evry scan and needs to average for each hour data.
You're looking at a very large block of data. You are going to have to break it down into increments. No matter how you do it you are looking at using a lot of memory. Do you have to take a sample every scan? What is your scan time? A scan time of 25 milliseconds is going to be 40,000 samples a second!
 

Similar Topics

I could use some help figuring out the layout of a Remote I/O channel Diagnostic Files in a PLC5 using RSLogix5. I've attached a screen shot of...
Replies
14
Views
3,650
Hi all. I was wondering if anyone knew a way to renumber Ladder Numbers in RSLogix 5. I have deleted some of the old Program Files in my Project...
Replies
2
Views
1,530
Yesterday a coworker informed me of an issue with his laptop. Anytime he opens an RSlogix5 project, and tries to go online, the entire program...
Replies
1
Views
1,377
Hi Friends, 1. Please, what are the differences between RSLogix5 and RSLogix500? 2. Troubleshooting/Fault finding tools in RSLogix5? 3...
Replies
1
Views
1,123
Hi , i'm looking for copy of RSlogix5 or a laptop with that software on it. I need it to upload code ,so i can rewrite it. any help would be...
Replies
30
Views
7,845
Back
Top Bottom