Questions about Lite version


Recommended Posts

I was hoping you could answer some questions I have. I purchased the Lite version of Daqfactory. 

1. Are there limitations in this version? I tried to do a graph analysis and everything was grated out. Also I wanted to try the Acquire mode but it wasn't listed. 

2. I would like to communicate with a vfd. What would be the best way? All I want to do is have the vfd run a motor for x amount of revolutions at a couple different frequencies. Would I use Modbus? Or some other protocol. 

I have a few more I'll get into later

Thank you for the help

Jim

Link to comment
Share on other sites

1. See here for a feature list:

http://www.azeotech.com/j/products/compare-versions.html

Analysis is only supported in Pro+.  Acquire mode was generally removed from DAQFactory several versions ago.  You'll have to go back to 5.87 for that.

2. depends on the VFD and what communication protocol it uses.  Your question is a bit like asking "I want to talk with a person".  Without knowing what languages the person speaks, I couldn't tell you how to communicate.  If you can provide the model and manufacturer of the VFD, I can look it up.

Link to comment
Share on other sites

Sorry I didn't make it clearer. I have a huanyang inverter hy02d223b. My inverter has a Rs-485 port and it also has an analog input. I'm a newbie on this stuff so I wasn't sure which way to go. I'm still learning Daq and didn't want to have to learn a serial protocol at this point. 

At this point it really doesn't matter until I get the data to read as I need. 

I built a shock dyno which basically is a motor attached to a gearbox and a flywheel on the end. The flywheel has a hole that's offset 1" with a square bearing inside a scotch yoke. This assembly cycles the shock up and down at various speeds and measures the force generated with a load cell attached at the top. It is very similar to a Roehrig dyno. 

My problem is the data coming in and being graphed is not exactly the same. My graph has velocity on bottom from-10 to 10. The left axis is force from -250 to 250. My trace should be a thin line from about -230 at -10 to 140 at 10. Instead I get a bunch of lines ranging from about (-200-230) at -10 to (100-140) at 10. Also if I slow the motor down to -2 to 2 I get a different trace. This makes me think it's a load cell problem.

I tried the different averaging but that gives me a flat line instead of an inclined line. 

Is it possible the problem is graphing live data? Should I log the data and then try to average it back into a graph?Im using a Labjack U3-HV. 

Link to comment
Share on other sites

Ah, yes, I've used this brand of VFD drive before, though I don't think it had an RS232 connection, just analog outputs and inputs.  A quick search online shows me that the documentation for your model is pretty much non-existent, so I have no idea which protocol it talks.  There was a forum thread I found that mentioned Modbus, but in order to use Modbus you'll need a register map for that device.

You say the data coming in and the graph aren't the same.  What do you mean?  How do you know?  

Link to comment
Share on other sites

On 5/10/2017 at 8:51 PM, AzeoTech said:

1. See here for a feature list:

http://www.azeotech.com/j/products/compare-versions.html

Analysis is only supported in Pro+.  Acquire mode was generally removed from DAQFactory several versions ago.  You'll have to go back to 5.87 for that.

2. depends on the VFD and what communication protocol it uses.  Your question is a bit like asking "I want to talk with a person".  Without knowing what languages the person speaks, I couldn't tell you how to communicate.  If you can provide the model and manufacturer of the VFD, I can look it up.

 

4 hours ago, AzeoTech said:

Ah, yes, I've used this brand of VFD drive before, though I don't think it had an RS232 connection, just analog outputs and inputs.  A quick search online shows me that the documentation for your model is pretty much non-existent, so I have no idea which protocol it talks.  There was a forum thread I found that mentioned Modbus, but in order to use Modbus you'll need a register map for that device.

You say the data coming in and the graph aren't the same.  What do you mean?  How do you know?  

As I said above, the graph reads different when I change the speed of the motor. Normally I run it at 40 hertz to get my 0-10 in/sec velocity. When I change to 10 hertz for 0-3 in/sec, the graph numbers are different when comparing both at 0-3 in/sec.  It seems to me that the load cell can't keep up at the higher speed. 

The 0-3 has a sharper incline than the other which I assume is the load cell lagging. Could it be I'm not sampling fast enough at the increased speed?

I have my channel time no set to 0.01. If I set it at 0, I get nothing on my graph. Is that normal for live data? Should I stream and log(export) and use file function to view data? 

Im thinking my averaging won't work on live data. I tried mean,meancols and meandepth to no avail. 

If I'm getting multiple numbers at say 2 in/sec, shouldn't I be able to average them with meandepth? My thought was velocity(x row on graph) would be columns and force (y on graph) would be rows. Would that make all the data the depth?

Link to comment
Share on other sites

  • 2 weeks later...

I believe my problem is hysteresis. How do I deal with that?  My problem is I'm cycling a load cell about 100 times a minute. I can't use any of the averaging functions since they average consecutive data points. I need to do some type of array where I can use columns as speed and force as rows them average each row at each column. It almost seems like I could do a histogram and average that way??? 

Also there seems to be a time lag when I view the data. The max force should correspond with the max speed but it looks like it's off by about 0.062 seconds. Can I just use shifttime?

Thanks

Link to comment
Share on other sites

  • 2 weeks later...

At 40hz you need to sample at at least 80hz.  A timing of 0.01 is 100hz, but you should look at the time stamps on the data in the Channel View to see if the hardware is actually able to achieve that rate without streaming. Streaming might be a better choice, at least to start.

A Timing of 0 means the channel is not acquired through the any timing loops so you won't get data.

Mean and its 3 forms takes an array and creates a scalar out of it.  You can't graph a scalar.  To average your data, you either need to do it at the channel setting, or use one of the boxcar functions.  Note that cols and depth do not apply to your data as you have a 1D array, not a 2 or 3D array.

You can use shifttime() to adjust one vs the other.  Its just shiftTime(myChannel, 0.062) which returns the data from myChannel with the times shifted by 0.062.  But I would first make sure that that time shift is actually caused by something physical, not a sampling issue.

Link to comment
Share on other sites

  • 1 month later...

Thank you for the support

I have the shifttime working as it should. I'm still having problems with hysteresis. I can't seem to find any way to average this out. If you can picture my graph, it is 0-10 (in/sec) on the x(bottom) scale and -250 to 250 (lbs of force)on the y(left side) scale. My data goes from 0 on the y scale up to 150(y)at 10(x). It returns to 0 on a different path. I want to be able to average these different data points as they cross the x points. For example, I may have 6 different y readings at 1 of the x scale. 

All the averaging modes take consecutive data points. I need to take data based on its x location. 

If it helps I can send my ctl and a csv file so you can see the graph. 

Link to comment
Share on other sites

I don't need it in realtime. Could you give me an example to work from? My channels are speed and force. I assume I would filter my speed channel at the speeds I want and have my forces at each speed. I'm still learning so how do I put these into an array which I can graph? Can I use seqadd to create an array of speeds I want and filter my force channel to fit somehow?

Link to comment
Share on other sites

It depends, but let's say that you have 10 speed ranges you want, from 1 to 10, where each block is +/- 0.5 from the center.  Then lets say you have two channels called speed and force and that they are synced, meaning that speed[0] corresponds to force[0] and speed[100] corresponds to force[100].  This would be true usually if the TIming of the channels are the same, or if you are streaming the both channels simultaneously.  I'm going to assume you cleared history at the beginning of the run so you want to process all the data.  The sequence would be something like this:

private steps = 10  // number of steps
private interval = 1 // interval between steps
private start = 1  // first step (center point)
// set speed based on settings above
global graphSpeed = seqadd(start,steps,interval)
// create array for force results 
global graphForce = fill(0,steps)
// index into graphForce.  We could do this with math, but this is easier to understand:
private index =  0
// loop through each step:
for (private i = start, i < steps, i+= interval)
   // calculate the mean of the force for all points that have a speed +/- 0.5 * interval from the step
   private f = mean(filter(force, (speed > (i - interval/2)) && (speed <= (i + interval/2))))
   // and store
   graphForce[index] = f
   // don't forget to increment the index so the array gets filled properly
   index++
endfor

Then just graph the graphSpeed variable vs the graphForce variable.

(note I did this off the cuff so you might need to tweak, but then this forum is about guiding and teaching, not doing everything for you!)

 

Link to comment
Share on other sites

I tried the above sequence and got an error for line 17, which is the index++. I erased that line for the time being. 

My big question, which sounds dumb, but where is the data to graph coming from? Obviously I need to load some data somehow for graphing purposes. I put the sequence on a button on the graphing page. I tried streaming my two channels then hit graph button to no avail. I get an error saying null array. 

Im hoping to get this running as you described and then tweaking to fit my needs. 

Link to comment
Share on other sites

Hello

That took care of the error problem. I'm still not getting anything on my graph. I was wondering about the line for global force =fill(,steps). Is this correct or did something get left out? 

I understand the  globalspeed =Seqadd part creates my array but not how the force results are binned into the array. 

Also, I get an error on streaming. Stream isn't active. I copied the example given with my channels. When I press my sequence button without the dyno cycling I get the error. When I cycle the dyno I get a graph. Is this normal? I would think I can stream even without dyno cycling. I would just get a small line at 0,0. 

Thanks

Link to comment
Share on other sites

Hmm, appears to be a bug in the forum.  It keeps stripping 0's that are standalone in the code block.  Probably something with their sequence highlighting.  I've removed the highlighting and it appears to be correct.  It should be force = fill(0,steps).  That just initializes the array with zeros.  The array then gets filled inside the for() loop.

As for streaming I can't say without seeing it all.  Sounds like streaming is stopped and you haven't restarted it before trying to read from the stream. 

Link to comment
Share on other sites

Thanks

As for the streaming, I don't get any data on my graph until I push the startstream button. As soon as I push it my graph fills in but I get an alert in the command window saying streaming isn't active. I know it streams because I change the scanrate and see it change on graph. Just seems odd that it started out of the blue. 

As for my graphing, I'm getting a straight line following the 0 force line all the way across. It seems like the force results are not indexing into the graph properly. Could it be the filter is returning 0's instead of the mean(data)? Or am I using the wrong index to start?

If I change my start and steps I can see the line move along the graph , so I believe the first part of sequence is working. Not sure if the for private part is.

Am I correct in assuming the graphforce [index]=f line put a 0 to start and increments by 1 with each for until it reaches the last step? What does the index line up to? 

Link to comment
Share on other sites

  • 2 weeks later...
On 7/28/2017 at 10:23 PM, Jimmy1125 said:

Thanks

As for the streaming, I don't get any data on my graph until I push the startstream button. As soon as I push it my graph fills in but I get an alert in the command window saying streaming isn't active. I know it streams because I change the scanrate and see it change on graph. Just seems odd that it started out of the blue. 

As for my graphing, I'm getting a straight line following the 0 force line all the way across. It seems like the force results are not indexing into the graph properly. Could it be the filter is returning 0's instead of the mean(data)? Or am I using the wrong index to start?

If I change my start and steps I can see the line move along the graph , so I believe the first part of sequence is working. Not sure if the for private part is.

Am I correct in assuming the graphforce [index]=f line put a 0 to start and increments by 1 with each for until it reaches the last step? What does the index line up to? 

I finally figured out the graphing problem. I forgot a comma after force in the mean line. Amazing how one little error can cause such a pain. 

I still can't figure out my streaming problem though. I copied the example from the book and I get data when I push my start button. But I also get the message "stream isn't active". 

Due to the stream error I get an error saying one of the parameters are empty. Once I figure the stream out I believe I'll be good.

Should I send a copy of my .ctl for you to look at?  

Link to comment
Share on other sites

I'm using the u3-hv. I start the dyno and wait a few seconds before pushing my start stream button. It was working okay at one point but I don't remember what changed. As I said, the stream shows in my graph ,but I'm getting the error message in the command window at the same time. I'm using the startstream sequence. 

 

SHOCKDYNO.ctl

Link to comment
Share on other sites

  • 2 weeks later...

Hello

I am at an impasse with the streaming. Although data is showing on the graph, I keep getting the error "stream isn't active ". Because of this It seems like I'm not getting the data correctly. When I try the graph sequence  I get an empty parameter message in command/alert window. 

I've checked the spelling and all the settings numerous times and can't find anything wrong. 

Once i get streaming, I can tweak my graphing sequence.

Any help would be appreciated. 

Link to comment
Share on other sites

BTW: you don't by chance have two LabJack's plugged into the computer (even if you aren't using one)?  If so, that is probably your problem.  You are using First found and not communicating with the correct LabJack all the time.  A long shot, but I thought I'd mention it.  If you have more than one LabJack on a system you really can't use first found (device # = 0).

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.