Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Applying 5 kN external force on a load cell - Force readings to start from 0 kN

I am recording readings from an Omega Load Cell using DAQmx (Continuous bridge example) . A pre-tension force of 5 KN is applied on the load cell. Is there any way of forcing the applied pre-load force to drop to zero so the readings to start from zero?

 

Thanks!

0 Kudos
Message 1 of 10
(5,970 Views)

The way you worded your question in somewhat ambiguous. 

 

You really do not want to remove the physical preload force, do you? 

 

I think what you want to do is to change the readings to account for the preload. That can be done fairly easily if you have complete control over the applied loads and know when there is no additonal load on the cell.  In the weighing (scale and balance measurements of force or mass) this process is called taring. The tare is the weight or force without the external load. At the grocery store they adjust for the weight of the container before they add your food.

 

Add a Tare state to your state machine. When the user presses the Tare button on the front panel, the program takes a reading from the load cell (or several readings to be  averaged). That reading is the tare force. Place it on a shift register. Then subtract the tare force from the readings taken while the desired measurements are happening. 

 

If the maximum load is close to the load cell limit, the termperature of the load cell varies, or there are impact loads involved, then this simple taring approach may not be good enough. That is not because of any inherent problem with the method, but due to the things that can cause a load cell to drift or change baseline outputs.

 

Lynn

0 Kudos
Message 2 of 10
(5,947 Views)

Thanks Lynn. Is it better to use a state machine inside a flat sequence structure for many events?

 

 

0 Kudos
Message 3 of 10
(5,763 Views)

Your question is not clear. 

 

A flat sequence is never appropriate for anything other than timing testing.  The state machine completely eliminates the need for the sequence structure.

 

What events? The Event structure is used to handle user input which needs a prompt response.  User Events (which have nothing to do with the user) can be used to move data among parallel loops.

 

Lynn

0 Kudos
Message 4 of 10
(5,756 Views)

Hi Lynn,

 

A waveform graph is used to record the force up to 5 kN. Then a tare function is used to store the 5 kN force and then subtract it from a second graph which shows the actual graph starting from zero. By assuming the code written using DAQmx, there will be a start button and then a read button which will be used for the initial force (Analog, Single channel, multiple samples, waveform). I have tried to wire an indicator with the waveform graph to see the load but it didn’t let me do it. Also, what kind of structure shall I use? State machine splitted into cases? (or use local variable or subtract the data?) - Image is attached 

 

Thanks

0 Kudos
Message 5 of 10
(5,734 Views)

PLease consider that a force is shown in the y axis instead of strain. 

 

Thanks 

0 Kudos
Message 6 of 10
(5,731 Views)

Look at the state machine examples/Design Patterns which come with LabVIEW.  Those are a good place to start.

 

Avoid local variables. They often cause more problems than they solve.  LabVIEW local variables are not trhe same as local variables in text-based programming languages. They are really remote access points for control or indicator terminals.  The wire is the variable.

 

You will have multiple states. At least one for initializing the DAQ. One to read the DAQ. Another to save the current reading to a shift register as the Tare value. One to shut down the DAQ. If you save data to files, there will be states for opening, writing, and closing the file. You may need states for Idle, Wait, and error handling.  Depending on how much user interaction is required you may want to include an event structure or use a Producer/Consumer architecture to separate the user inputs from the state machine.  I cannot give more specific information without knowing many more details of your project.

 

Lynn

0 Kudos
Message 7 of 10
(5,710 Views)

Hi Lynn, 

 

I have attached an image with using a state machine to substract the tare reading from the waveform graph. When I select the to convert the reading to dynamic test data to substract it from the graph it doesnt seem to work. The waveform graph stores the acquired readings, thenI need something (tare) to pick the this reading , and then substract it. I have followed some examples using the DAQ assistant where they use a function convert to DDT but I dont know if this is applicable for the DAQmx. 

0 Kudos
Message 8 of 10
(5,653 Views)

What you show is not quite a state machine. A state machine uses information (the "state") from controls, data acquisition, and calculations, as appropriate, to detemine the next state.  As I mentioned earlier, I would expect your state machine to have 4-8 states.

 

The tare value needs to be put into the shift register. Then the value from the left terminal of the shift register will have the tare value on later iterations of the loop.  The tare value will be a scalar, not an array or waveform. You may want to take an average of the values in the waveform which was acquired for taring. Fortunately, the numeric functions are perfectly happy with subtracting a scalar from a waveform.

 

With DAQmx you do not need the DDT.  DDT causes more problems than it solves, so avoid it as much as possible.

 

Lynn

0 Kudos
Message 9 of 10
(5,642 Views)

Thank you Lynn. The intention is to substract the numeric function or an average from the waveform graph as you said from a waveform graph. I will create a state machine as suggested with multiple states including tare function as one state, store it in a shift register and then substract it from the waveform and upload the VI.

0 Kudos
Message 10 of 10
(5,629 Views)