LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Help on creating an endurance test stand

I currently have an input and output torque sensor, and an accelerometer on the gear being tested to measure vibration. A case study that matches close to the results needed linked here http://sine.ni.com/cs/app/doc/p/id/cs-14916# . I am looking for a way to do something very similar except use amplitude triggers on the accelerometer to trip a relay on the motor to cut off power if the vibration exceeds a certain amplitude. I have no need for remote access. If someone could point me to labview core examples that would help or have any other tips on creating this program would be appreciated. 

 

Equipment being used an NI 6363 module with two BNC 2110's and LabVIEW 2017 development system connected to port 0 and 1. The BNC modules take in 3 signals and need to output 10v after an amplitude trigger is tripped. 

0 Kudos
Message 1 of 19
(3,217 Views)

Hi Nemord,

 

You may want to look into a state machine architecture for your project.  You could have three (or more) states, initialization, data acquisition, then the shutdown state.  You could measure the amplitude in the data acquisition state, and if it passes a limit, move to the shutdown state.  The following forum post may be useful for extracting the amplitude from data. 

 

Measure Frequency and Amplitude from Analog Signal

 

Additionally, this tutorial further describes the state machine architecture. 

 

Tutorial: State Machines

Trevor H.
Technical Support Engineer
National Instruments
Message 2 of 19
(3,162 Views)

Currently using Continuous Measurement and Logging.vi. it has user message handling and event handling. It has a threshold condition portion to start logging which is great but I'm trying to figure out how to use possibly a Boolean greater than or equal to on the main data input to trigger the stop event loop. In the stop event loop I'm trying to create an analog output that continuously loops after it has been triggered. The main VI is attached, the sub vi's to look at are Check trigger conditions VI and Stop acquisition VI. If there is a better way than my current mode of operation let me know still figuring out the great depths of LabVIEW.

 

 

0 Kudos
Message 3 of 19
(3,142 Views)

Perhaps you didn't know, but attaching an lvproj file doesn't help much because it doesn't actually contain your "project", it just contains the definitions of all the VI files and support files that make up your project.  What you attached has no code we can look at.

 

Zip up your folder that contains the VI files that actually are the code in your project and attach that.

Message 4 of 19
(3,130 Views)

Stepped away from continuous logging and measurement project folder, because we acquired an AC drive and inverter duty motor simplifying my life a bit. Using Plasmionique Modbus master library which is free on Labview add-on if anyone needs a Modbus library http://sine.ni.com/nips/cds/view/p/lang/en/nid/214230. Modifying the VI I have a start,stop and varying RPM presets to set on my AC drive which work. I want to create a timing portion to this VI so that when you click on the Preset RPM it will compare to a preset timer which I will calculate for 10 million cycles and link back to my AC stop command once the time has been reached. My first effort on this was using the elapsed time express Vi and creating a case statement with the boolean input which did not work. Later on after solving this issue I want to create a logging system to run after the preset RPM is chosen and have a trigger stop the motor if the vibration level is to high. Any input would be great. Attaching the VI below, if it does not work let me know.  

0 Kudos
Message 5 of 19
(3,100 Views)

Attaching a Vi snippet of code that works on the first press of 500 RPM, but if I select 1000 RPM and go back and press 500 RPM button the timing is less than the 30 second increment set in elapsed time and shuts down the motor early. 

0 Kudos
Message 6 of 19
(3,074 Views)

I achieved success with the VI snippet below. The next part of the VI I will most likely need help with is adding a daqmx task that starts with the AC motor and includes a trigger on the acceleration data I will be acquiring that can also link as a safety shutoff mechanism to the AC motor. I think I have a clue of the states to be involved just wondering if two trigger properties can be implemented. States should be RPM Chosen -> calculated time motor needs to run-> acquire data in timed intervals-> time exceeded or (if Safety trigger tripped)-> shutdown motor. 

0 Kudos
Message 7 of 19
(3,059 Views)

Hi Nemord,

 

We have a document discussing the most common DAQmx functions, including triggering.  This may be a useful guide in building your application.  Additionally, we have an in-depth tutorial on triggering techniques.

Trevor H.
Technical Support Engineer
National Instruments
Message 8 of 19
(3,050 Views)

Thank you Trevor I have been using those guides, just still figuring out implementation on my side. My last post shows a snippet that helps me create a timer on starting and auto shutting down the motor but it also doesn't allow any other action which is not good. I have looked up producer consumer architecture but need to still grasp how to implement an interrupt so if I want to change RPM or shut down the motor before specified time I can do that. If anyone has time to help it would be greatly appreciated.

0 Kudos
Message 9 of 19
(3,038 Views)

For clarification I have two case structures that will trigger with the same message from the queue element. The top case handles modbus and telling the motor to run at 500 RPM while the second case has a queue set to send a message to shutdown motor in 20 seconds. Is there a way to priority message? I want the user to be able to select a different RPM setting without waiting the 20 seconds. 

0 Kudos
Message 10 of 19
(3,024 Views)