01-16-2014 04:19 AM
Hello,
I have been given a task to write an application for an Engine Fuel Supply system , process flow of which is summarized as follows-
1.There is a fuel column. A 4-20mA output transmitter is connected to it.
2. When the fuel is at it max.level it will output 20mA.
3.When the fuel is at its total bottom (no fuel) 4mA is given.
5. There is a solenoid valve which handles the flow of fuel by accepting TTL voltage from NI USB 6211.
6. When the fuel is at its max.level; solenoid should turn off to cut off the fuel supply to engine and there should be a "Timer" which starts immediately at that very moment.
7. As the fuel gets consumed there comes a level when it outputs min.value i.e. 4mA . By sensing this value, labview should again ON the Solenoid valve by giving it 5V TTL to start the fuel supply again and at the same time the timer which is running simultaneously should stop immediately to display the time taken for total fuel consumption.
8.This process should get repeated continuously.
I have written a code in my knowledge and scope for this application which is attached herewith.
In my code the millisecond timer subtraction value is giving some huge numbers.
Kindly give me an idea to accomplish this task.
Best Regards,
Snehal Upadhye
01-16-2014 04:32 AM
Hi,
I think you want to start fuel supply at 0.1. Right?
Then the system will not work well because sensor signal rerely be exactly 0.1. It will indicate a value very close to 1, e.g. 1.00003.
I suggest you to start if sensor signal is equal or larger than 0.1.
01-16-2014 04:41 AM
Hi
Thanks for feedback.
As I have written, there is a scanner which reads the value from sensor and accordingly interprets depending upon span and zero values.
Anyways conditions for digital start/stop can be modified further , my problem here is to start the timer when Fuel reaches its max.level 0.5 and stop it immediately when the fuel reaches a level of 0.1. Furthermore, everytime it should be reset after displaying the total time for fuel consumption.
Hope I have cleared myself. Any help would be highly appreciated.
Best Regards,
Snehal Upadhye
01-16-2014 05:36 AM
Hi, I confused your question.
Attatched vi is my suggestion using shift-register.
Miliseconds timer in Labview is an unsigned 32-bit interger variable. You can calculate the time interval by simple subraction without worring the case of overflow.
Regards.
01-16-2014 05:52 AM
Hi,
Thanks for reply.
But this is not what I expect.
Solution given by you does exactly opposite of what I wanted.
My timer should start when my fuel reaches at top level i.e. at 0.5 and it should stop immediately at the reach of bottom level i.e.0.1.
According to your solution timer is starting at 'any' value below 0.5 and it is getting stopped at 0.5.
Kindly help.
Thanks & Regards,
Snehal Upadhye
01-16-2014 06:29 AM
Hi,
I misunderstood your intension.
You may improve your VI with my basic idea of calculating time interval.
But, I improved it again for your need - I hope my understanding be correct - and attached it.
The timer indicates 0 if input is below 0.1.
As soon as the input reaches 0.5, the timer indicates time interval between 0.1 to 0.5.
After that, no action takes place.
Regards,