BeeHay

Members
  • Content Count

    32
  • Joined

  • Last visited

Community Reputation

0 Neutral

About BeeHay

  • Rank
    Member

Recent Profile Visitors

1,964 profile views
  1. BeeHay

    DAQFactory and WITS

    oops, PMs don't work here... dmnhntr, please email me at beehay@comcast.net, I have a few questions for ya! Thanks!
  2. BeeHay

    DAQFactory and WITS

    Thanks dmnhntr! But AzeoTech helped me get it going by helping me set up a serial comm protocol... After it was all said and done, it looked fairly easy when looking at the script, but getting it there was a different story... here is the thread AzeoTech helped me get it going with - link in my first post is the format for WITS... The tricky thing is not everyone uses the same number format, PASON, TOTCO, and EPOCH all use different decimal formats for the 3rd party gas display. Gotta mess with the decimal format to get it to read properly.. I'm in the process of setting up ROP and a Singles chart, Depth and Lag Time are next on the plate... The gas detection we use is a Catalytic setup with a Delphian Filament that burns the gas at 2.7v and a Wheatstone Bridge with two 5ohm resistors. We also have a thermal conductivity setup for high gas shows, and a 1.7v catalytic for PV's when we do oil jobs. Lag time is calced by pump strokes, and ROP is charted on an old 96min Bristol pressure chart that we wind up with a key! Check your PM box. Thanks!
  3. BeeHay

    greater than

    Thank you!
  4. BeeHay

    greater than

    thanks for sqaring up my code i just thought of this - could this be correct? global drate global FeetDown global FeetMins while(1) FeetDown = ((ch0[0]*-10000*bristolspan+zeroch5)-(ch0[1]*-10000*bristolspan+zeroch5))*60 FeetMins = ((ch0[0].Time)-(ch0[1].Time)) if (FeetDown < ValueToAdd) drate = (FeetDown/FeetMins) else drate = 0 endif delay(1) endwhile Thank you and have a good one!
  5. BeeHay

    greater than

    Awesome, and as always, thank you. Did this clean it up a little? - global drate global FeetDown = (ch0[0]*-10000*bristolspan+zeroch5)*60 global FeetMins = (ch0.Timing) while(1) if (FeetDown < ValueToAdd) drate = (FeetDown/FeetMins) else drate = 0 endif delay(1) endwhile by having the ch0 timing set to 15 seconds, will that give me what happened between the 2 readings, or just the value every 15 seconds? Thanks again!
  6. BeeHay

    greater than

    can i use the symbols < or > for greater than or less than in DF? and also, if i set my timing on a channel to 15 seconds, can i use 2 global variables in the same sequence to do 2 different things from the same channel? like this - global drate global FeetDown = (ch0[0]*-10000*bristolspan+zeroch5)*60 //equation for feet multiplied by the constant global FeetMins = (ch0.Timing[1]) //not sure if this is correct to read time on the channel //ch0 timing is set to 15 secs while(1) if (FeetDown = &lt; ValueToAdd) drate = 1 else (FeetDown = &gt; ValueToAdd) drate = 0 endif drate = (FeetDown/FeetMins) delay(1) endwhile also, with ValueToAdd, that is a number submitted by the user in a edit box...will the ValueToAdd stay the same until a different number is submitted? how could i make it to where when it gets to zero, drate will be turned off until the next ValueToAdd is submitted? is the above code even correct? thanks!
  7. i think we are going to hardwire another channel from the pressure-tranduscers output as "another channel5" and use it to divide/multiply on itself... also, we are looking into some labjack hardware, might throw one in the trailers and try it out!
  8. i tried your initial reply, but somehow it shows up as a solid 50, dont know where that came from... anyway, i think it's going to be a little different since we dont use counters...everything i am scaling/using math on is a very small analog voltage and the ft/min aspect is calculated by a very "old school" pressure transducer that is gravity/water fed and is set on a 96min clock, but still 60min is the mutliplier, and how ever many minutes it takes from point a to point b is the divider.... i.e. - the pressure transducer shows the pipe went down 5ft in 4 mins.... 5*60 = 300 then 300/4 = 75ft/min i have it to where i can see the bristol pin movement in DF and it is scaled properly and reads the height of the moving "kelly" in feet... the tricky part is i don't need ft/min all the time, just when it gets to a certain point then starts to calculate...the certain point is the actual size of pipe measured, say 31.27 feet....the kelly will raise the pipe, then start to push in....so when it gets to 31.27, i need it to start ft/min...then it starts all over again with a new pipe size.... the goal i am looking for is just the ft/min aspect...the whole adding a certain pipe size then starting to calc is secondary...i'll try out that hertz over time measurement.... thanks again, your information is priceless.
  9. dunno...i'll give it a whirl...
  10. stumped again trying to read my channel, wait 60 seconds, read the value again and then add math to it... trying to find feet per minute... i have scaled my value to read feet, but getting it to read it, wait, then read again and divide/multiply has my brain crunching! it should be simple math, correct? forcing myself to read the whole users guide and im pretty sure it has something to do with the delay() or wait() statements.... any info would be awesome.... thanks!
  11. BeeHay

    Moving decimal places FormatString

    is that a word? lol thanks again for everything
  12. BeeHay

    Moving decimal places FormatString

    oh yea, i'm looking forward to the vertical graphs in DF 6.0! would be nice to see my graphs vertical, kinda like when they are printed... also, my boss noted that moving/rotating symbols would be a "cool" feature..
  13. BeeHay

    Moving decimal places FormatString

    i guess i needed the whole item, record, and data for the code...like this - global string datain global data global record global item while (1) try datain = device.WITS.ReadUntil(10) if (strtodouble(datain) != NaN()) &amp;= NaN()) record = strtodouble(left(datain,2)) item = strtodouble(mid(datain,2,2)) data = strtodouble(mid(datain,4,10)) endif catch() delay(0.1) endcatch endwhile thanks for that again! i'm not sure if i need .readuntil or just .read cause when i change readuntil to (1) or (100) i get an infinite loop or timeout error, but it does display until it errors out... i thought i wanted an infinite loop? this is the error - the code does work though, i am reading and displaying the data variable in a variable value component.. there is one problem though...the data coming in is this - it's reading all of those values and displaying them one at a time...all i want is the 3rd set, "7508.04", not the other values... do i need to make the code recognize the 0110 in the if statement somewhere?
  14. BeeHay

    Moving decimal places FormatString

    i threw this in a new sequence and i'm getting an uncaught error in my sequence line 4 global string datain global data while (1) datain = device.serout.ReadUntil(10) if (strtodouble(datain) != NaN()) data = strtodouble(mid(datain,4,10)) endif catch() delay(0.1) endcatch endwhile can i do something like device.serout.readuntil (999999999999) and take the catch and delay off and add datain=datain+1? also a couple of OT questions - when is DF 6.0 coming? and will there be a charge to upgrade to it? also when i run this program on an old monitor with a really low res like 800x600, i can't "scroll" through my program...i tried to add a scroll bar, and for some reason, there is no "Vertical" tick box to check... thanks again for all your help...