05-26-2011 11:25 AM
Thanks to everyone who took the time to read and respond. I really really appreciate the feedback. I'll try to reply to each question.
@Mark Yedinak wrote:
The one thing you really need to get a solid understanding of is the difference between sequential (traditional) programming and dataflow.
Absolutely. Messing around with NXT has showed me a little bit about how that works and I am definitely keeping it in mind.
@Mark Yedinak wrote:
You could work with an alliance member but your budget sounds pretty small. What you might consider doing is working on your code and during the process post examples of the way you plan to implement your logic and architecture here.
A number of people talked about the budget. 50k is not necessarily too much for this project, we just don't want to spend that on a black box type solution that we can't get our hands in and tweak. We bought a machine a few years ago that turned out to be a nightmare to adjust. That's the main reason I want to work with LabVIEW, to have a lot more control over the software part of the problem.
I will definitely be posting work here while in process.
05-26-2011 12:10 PM
Mozano,
Not to steer you from doing this yourself, but have you talked to these people? I used to work for them in a former life, so to speak (when they were under a different name).
TayVon
05-26-2011 12:17 PM
systemcrash wrote:
Are you planning to build a complete controller system which includes conveyor for bottle movement, or the person will take different bottle size manually to fill the fragrance oil ?
The person will load the bottles onto the load cells manually. I would love to automate the bottle movement at some time in the future, but I am trying to eliminate as many variables as possible.
systemcrash wrote:
Are you planning to have one filling station or many filling station for different bottle sizes ? If only one filling station then task of filling becomes bit complicated and challenging.
The plan is to have one station with the fill heads mounted on a platform that can be raised or lowered based on the height of the bottles being filled. That was the design we used on our old machine and it worked well.
Munk100 wrote:
maybe a small Programmable Logic Controller (PLC) would be suitable for your task. You can buy small PLCs that accept analog inputs for <$1K.
There is a lot of complexity involved with when to turn off the valve that I feel like will be easier to deal with in an environment like LabVIEW. Our old machine used a combination of two PLCs and it was extremely non user friendly. You are certainly correct that it would be cheaper, but I am willing to spend the money for a better solution.
Jeff Bohrer wrote:
Challenge: to predict the weight poured from the instantaneous bottle weight. The weight of the stream not in bottle and some surface factors related to fluid density and viscosity are going to be significant sources of error at the small sample weights if there is truly a wide range of viscosities. You may need to predict the stream weight on a fluid by fluid basis.
You are absolutely correct! This is a much more difficult problem then people realize. We've spoken to a number of companies that don't get the level of complexity varying viscosities cause.
The main reason I want to use LabVIEW is to that I can handle some of this complexity in a programmatic way. Reading from a scale and turning off a value are pretty simple and using LV for that alone would probably be overkill, but I want to have very finite control of when the valve is closed.
I am hoping to not predict on a fluid by fluid basis since we are constantly adding new ones, the formulas change, and temperature can be a major variable. Instead I am hoping to add some logic based on time to half full or something along those lines. My other idea is fill to 98% (or something like that), then sample the weight and pulse if nessesary.
S G wrote:
I would suggest talking to the sales rep in your area. What I have found in the past is that even though they are "sales reps", they do not push things you do not need onto you.
Thanks. I have spoken to a rep from NI already and found the same thing. She was super helpful and not 'salesy' at all. I told her that I was just getting a supplies list together and she didn't push for a sale one bit. No follow up emails or phone calls. I was very impressed.
BZajec wrote:
One very important question is what is the maximum amount of time you can afford to spend for filling a small (1 ounce) bottle. And what is the maximum error in weight that is acceptable.
Very good points. The accuracy needs to be relatively small, for a 1oz bottle < 5%. I realize that something needs to give and that would be time. I am hoping to perfect the software with a single head first, then expand to 4. Then I will be able to make up for the slowness of a a single head.
BZajec wrote:
I am a bit surprised that you define your products by mass instead of volume.
Our products are used in personal care applications where the dosage is very important. With the wide variety of volumes across different oils weight is the only way to accurately determine amount.
BZajec wrote:
it might be wiser to use some form of piston filling machine
We've spent a lot of time looking at pistons but the varying viscosity issue becomes a real pain in the neck. Also cleaning the piston between our small batch sizes poses a lot of problems.
05-26-2011 01:30 PM
Well, it sure sounds like you have a grasp of the scope and challenges involved in your project! The guess, weigh and pulse repeat method sounds like the easiest implementation. You may be able to improve fill cycle time and fineness of control by a controlable pressure in the oil reseviors. but you probably thouth of that allready.
A configuration file to hold the flow rate control parameters for the various oils is a cheap and easy method for registering new fluids without changing the overall application (and allows a great deal of scalability)
Keep us posted on this intersting project!
05-26-2011 01:41 PM
@Jeff Bohrer wrote:
Well, it sure sounds like you have a grasp of the scope and challenges involved in your project! The guess, weigh and pulse repeat method sounds like the easiest implementation. You may be able to improve fill cycle time and fineness of control by a controlable pressure in the oil reseviors. but you probably thouth of that allready.
A configuration file to hold the flow rate control parameters for the various oils is a cheap and easy method for registering new fluids without changing the overall application (and allows a great deal of scalability)
Keep us posted on this intersting project!
To add to what Jeff said I would think about ways to architect your application to minimize code changes when you want to add, delete or modify oils that you will be working with. Use of configurations files is a great suggestion. Also consider what you will or will not allow through the UI. For a more polished look consider using custom menus and controls.
Since you know OO design you should seriously consider looking at LVOOP (LabVIEW OOP). Do some searches for plugin architectures. This provides a very easy way to modify your applications behavior without requiring changes to the core application.