Very high speed filler display from FLEX I/O

Karinrinkashi

Member
Join Date
Nov 2017
Location
Atlanta, GA
Posts
40
Hello everyone!

So, i have this display that shows filler speed, the display receives a 24VDC signal from a Flex I/O. The speed is calculated by looking at the cans going through a prox switch. The display will keep up to about 700 cans per minute, but as soon as it goes above that, the display start fluctuating between random numbers. 500, 698, 790, 800, just totally arbitrary, and it changes at a high speed too. But if we run at constant 500 cans per minute, it shows constant 500 on the display. But anything above, it will just go crazy. The speed for our fillers can go up to 2300 cans per minute.

I tried to rewire the display and talked to the manufacturer to guide me through the issue. They seem to be running out of ideas too and it seems we have hit a brick wall.

But then i started wondering, what if the problem is no the display itself. What if the Flex I/O cannot keep up with outputing at such a high rate. I put the output to a counter in the program and consistently got 2300 counts per minute when running full speed. Then we slowed down to 500 and got consist 500 counts per minute. So, i have come to a conclusion that the problem might be the Flex I/O unable to output at such high rate.

That being said, are there any methods to fix this using programming? Or are there any special modules that someone might have worked with before that are compatible with such high speeds?

Any and all help would be highly appreciated!

Thank you
 
What IO card are you using?

How are you calculating cans per min?

It is a 1794 Flex I/O 24 VDC output module. The output sends just 24VDC pulses to the display and then the display has a program in it that converts it into cans per minute. There are dip switches in the display that can be used to make it per hour or per second or per minute. The module is just outputting like a pulse generator using the prox as trigger and cans as triggering points.

I hope that explains it....
 
Last edited:
So, at 2300 cpm, that's a can every ~26ms or so.

So, you have a prox input to what exactly? Is that also going to a Flex I/O input card or an input card somewhere else?
 
What's the max frequency on the prox sensor? You're missing pulses, but the question is "from where?" Prox, Flex I/O, or program?

-rpoet
 
So, at 2300 cpm, that's a can every ~26ms or so.

So, you have a prox input to what exactly? Is that also going to a Flex I/O input card or an input card somewhere else?

Yes, a prox input that is going to a local input module, not a Flex I/O. The prox reads cans coming out from the filler in a single line. And it is a can every 26 ms, correct.

I have done some troubleshooting as i described in the original post. The input is not missing any pulses nor is the prox missing any cans. I made sure that by hooking up the input to a counter in the program. I used 60 second timer to initiate counting the input from the prox when then filler was running at 2300 cpm. I got 2300 plus minus a few every time. Then i ran the filler at 500 cpm and started the counter for 60 seconds. 500 can count in 60 seconds with an error of plus minus 2 cans. It was very consistent every time....

So that indicates that the input count is very accurate, it is the output that is not keeping up with the input. While i was typing this, i am starting to think maybe i should try to use a local output module rather than a Flex I/O output and see if that keeps up with it...

If someone has any other suggestions or thinks i am following the wrong bread crumbs, please let me know...
 
Is the display getting its value from a number the PLC calculates, or calculating its own value watching the PLC input?

There have been HMI issues trying to read PLC I/O directly that programming a DINT or bit in the PLC for the HMI to look at has corrected.
 
Is your prox looking at the side of the can? if so, depending on the sensing range and how close it is to the can, it can be on for a little as 10% of the time a can is in front of it because of the radius. So calculate 500 cans per minute and that would mean a can passes in 120ms. Take 10% of that and you only have 12ms of on time per can. What is your RPI for the Flex IO? What is the scan time of the PLC program?
 
If your counter inside the PLC is counting correctly, your problem as you say is not on the input side, it's on the output side. The input can count fast enough, the output can't switch on and off fast enough.


Could you fudge it by configuring the display for "cans per second", and then instead of pulsing your output every can, pulse it every 60 cans? Or something similar?
 
Can the display's input handle the hsio? Wire the prox directly?

A scope or possibly an rpm/counter on the flex I/O output may reveal something.
 
Using local I/O will always be faster than anything on remote. Also for high speed counting a high-speed counter input card may work better.

Also, make sure your sensor is up to the task and can switch transition from off to on and on to off as fast as the application requires.

If you need more speed on the output side (sounds like it) maybe take a look at using Peer I/O to help with this. I have used this in 3 application and it works great. You can bypass the processor scan and just use the peer logic mode to get top speeds.

https://literature.rockwellautomation.com/idc/groups/literature/documents/pp/1756-pp018_-en-e.pdf
 
Hello Everyone,

I resolved the issue and i found (more like realized it with everyone's opinions) the solution while typing one of the replies on this post yesterday. And some of you have suggested the same solution since then so it was going to get solved pretty quick anyways. I thought this would benefit everyone as a positive feedback.

I just hooked the output to the display from the Flex I/O to the local output card. Flex I/O just seems to be too slow for this high speed traffic but the local card works fine.

Display is now showing the correct speeds.

Thank you all for your input

I wish you could mark titles as "RESOLVED" so others in the future can reference to it.
 
Last edited:
Why not parallel the output from the prox switch. One to your PLC input to do with what you will, and the other direct to the display. Cut the middle man out.
 
Your Flex I/O is most likely on a communication system that is asynchronous to the PLC scan. This is one problem.
Rob... makes a suggestion which makes good sense with the only drawback being that if the PLC stops counting or has a different value, you might not see that if the display still counts properly.

Letting the PLC drive the display is useful to validate that the PLC count matches what it shows.

It might be possible to improve the latency of the I/O network to allow the remote I/O to update faster...more detail would be required and depending on how they're "talking", changing the update rate could lead to other issues.

An alternative way to fix this would be to use a display that you could write to with a communication protocol rather than a pulse output...the PLC sends the number over serial or Ethernet and the display just displays it.

Your solution is perhaps the best since it is the simplest change and keeps the display and the PLC count matching.
 

Similar Topics

I've come across a new issue that has me stumped. We have a lumber sorting system that keeps timing using a 1771-VHSC and a 1000 pulse encoder...
Replies
13
Views
5,316
I'm experience issues on a linear pick and place machine. The drive is a AXIMON DV10 and the Controller is an AXIDYNE 9972443. The problem I'm...
Replies
4
Views
1,801
Does anyone know of a sensor/transmitter that is able measure humidity/dewpoint/water concentration in a stream of 1200F air?
Replies
5
Views
3,413
Hi i would like to ask! Im using Omron CP1E PLC May i know how to use one input to trigger two outputs alternatively? Meaning press X0 on, Y0...
Replies
11
Views
355
I have several Avery scale units and they are configured as Generic Ethernet modules, and I am actually reading the data fine for the weight...
Replies
2
Views
358
Back
Top Bottom