FPGA_cRIO build an accurate triangle waveform
Hi,
my third problem is to build an accurate triangle waveform. Which properties the signal should have, please check out the attached OneNote file "Forum_1_part 3" (in the zip file)
there is a detailed description.
Would be nice if anybody can help me there.
Thank you!
Best regards
Chris
Attachments:
Forum_1_part 3.zip 2297 KB
I_Stand Project v5.vi 71 KB
Quick and...
Maybe it gives you an idea, so have fun
Christian
Similar Messages
-
Is there a function for generating a triangle waveform that has both offset and delay?
I want to have a triangle waveform in which I can set a delay and the width of the waveform (I can achieve this by using Triangle Pattern.vi). Also I want to be able to give custom values for the min and max amplitude. example I want to be able to set the min amplitude to -1 and max to 6, or any other combination?
Solved!
Go to Solution.It sounds to me like you are struggling with basic arithmetic. Calculate the amplitude by subtracting the min from the max. Then, from the waveform array, add the min (or subtract the max).
Message Edited by Dennis Knutson on 01-15-2010 03:46 PM
Attachments:
CreateWaveform.png 22 KB -
Hello everyone,
I'd like to know if someone has an API or a simple VI that can build an ARINC 429 waveform.
I'm not looking for a board drivers but just a VI that can simulate a ARINC 429 waveform, in order to test my ARINC 429 diagnostic VIs without having a ARINC 429 generation / acquisition board.
I hope I talk clearly.
Thanks!Hi LucD,
according to Wikipedia it looks rather easy to create a "waveform": TRUE bits are signalled by +10V, followed by 0V, whereas FALSE bits are signalled using -10V...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
What is the difference between triangle wave, triangle waveform, and triangle pattern
For generating a triangle waveform, I have 3 vi's that I could use. Signal Processing -> Signal Generation -> Triangle wave.vi, Signal Processing -> Signal Generation -> Triangle Pattern.vi, Programming -> Waveform -> Analog waveform -> Waveform generation -> Triangle waveform.vi.
What is the basic difference between these 3. I understand that all 3 have a different input set and I can use them according to what combination of input data I have. Is there any specific case for which each of them is used?
Solved!
Go to Solution.so, does this mean that I can not use triangle wave and triangle pattern to generate an actual waveform. Why I am asking is because I tried checking the waveform on an oscilloscope. The waveform generated by triangle waveform.vi is visible on the oscilloscope but not the one generated by triangle pattern and triangle wave.
the attached vi CreateWaveformTest.vi does show up correctly on the oscilloscope.
The other vi, createparttern test.vi shows up correct in the waveform graph but I am not abe to see it on the oscilloscope. comes up as a straight line
Attachments:
CreateWaveformTest.vi 58 KB
CreatePatternTest.vi 71 KB -
How to generate a triangle waveforma array for a particular duration?
I am generating a triangular waveform from a starting potential of 'x' to a switching potential of 'y'. I want to set a hold period after generating the array for a specific time.
For example, after I have generated a triangular signal containing 1000 points, I want to hold the waveform for some duration before applying the potential again. In the attached vi, CreateWaveform.vi, after i get a triangular pattern, I want to insert a hold at the starting/negative potential for a time period determined by the frequency that i set.
Attachments:
CreateWaveform.zip 73 KBwhat is meant by holding the waveform for some duration? is it a set of new value that needs to be appended to the traigle waveform?
Regards
Guru (CLA) -
RS232 and how to build some datas into a waveform
Hello everyone !
I would like to ask you a question about how to build some datas into waveform.
Let's me explain :
Actually, I am working on a project with a PIC.
The PIC sent 3 informations to Laview by RS 232 :'velocity;current;tension\n'
Lynn and Crossrulz help me to make a diagram that allows to read datas and displays them with charts.
It works perfectly.
Now, I would like to display some datas from a sensor (dynamic datas) and double datas from RS232 on the same chart with different plot.
So, I have to build double datas into waveform, convert double datas into dynamic datas.
I have tried something : I used 'Convert to dynamic data' function but it doesn't work and I don't know why.
Can you help me ?
I join you :
- VI
- a gif that shows what's happening
- screenshot
Notice : I used 'simulate signal' to represent a sensor
Thanks for your help
Attachments:
test5.vi 84 KB
test7.gif 685 KB
diagram.JPG 77 KBHello Crossrulz !
Thanks again for your help.
I have found Build Waveform but I get a strange result.
As first step, I have simplified my problem and I have just tried to build a waveform from my datas.
Since Build Waveform must have an array as input, I have used Array Subset.
As result, I don't get a plot but if you pay attention, you can see a little white dot around my value.
How can I fix that ?
Thanks again
Attachments:
test_build_waveform.vi 19 KB
diagram2.JPG 59 KB
build_waveform.gif 597 KB -
How to playback a digital waveform
Hi I would like to do some post processing work on a digital graph data. I would like to use 2 seperate VIs for data acquisation and post processing. So first I acquire the data then pass the whole waveform data as an input to the other subVI but I olways get the last waveform . Could you please let me know how I can pass the whole information about a continous digital waveform without saving it on disk
thanksYou can do a variety of things, such as building an array of waveforms by auto-indexing them where you wire out of the aquisition loop. Alternatively, if you want just a single long waveform, the Append Waveforms.vi (Functions -> Programming -> Waveform -> Analog Waveform) should do nicely. You can also manipulate the waveform components directly and append the data arrays if you want some more control over it, but that's pretty much what the built in vi does.
The Colex Group
Lead Software Engineer
Certified LabVIEW Developer -
Creating a customised triangle wave
Hello,
We are using Labview to create a signal to control the motion of a scanning galvo. We would like to create a triangle wave so that the galvo scans back-and-forth uniformly, but to ensure smooth changes in momentum, we need the "corners" of the triangle wave to be slightly rounded. What would be the best function to use to accomplish this?
I am using LabView 8.
Thank you,
MoorHi Moor,
You can create a triangle wave by use the triangle waveform.vi. LabVIEW has a lot of options to create triangle waves. Searching LabVIEW for triangle wave will give you all your options for it. Smoothing out the corners can be done by using a waveform graph property node and selecting the smooth update. Here is a link to a kb that contains information to waveform property nodes. Here is also a link to another discussion forum who discusses on how to smooth waveforms.
I hope this helps!
Warm regards,
Karunya R
National Instruments
Applications Engineer -
How to get a list of lists of triangles using each vertex?
Hi,
Its my first time working with Java3D, i just have experience with C++ and OpenGL, but im trying to implement a mesh simplification algorithm and get already problems with the data structures for the geometry info of the object.
I load an *.obj file with the object loader and now i dont know how to get the data i need.
I have to make loops over each vertex and get all triangles and their vertices used by that vertex. Is this possible with the given Java3D Functions or do i have to implement my own data structures for the triangle stuff?
What i need is following:
- List of vertex coordinates (thats the easy part, GeometryInfo.getCoordinates())
- List of triangle definitions
- List of lists of triangles using each vertex
I dont know how to get the last two, i tried around with IndexedTriangleArray but could not get anything to work..
The IndexTriangleArray should contain the triangle definitions if i understood that right. The first 3 entries in the array build the first triangle pointing to its vertices, the next 3 entries the second triangle,... Is that correct?
Does someone have an idea how to solve that problem?
Thanks a lot
spoertschI tried around a bit and figured something out, but with big objects with a lot of vertices it is quite inefficent and very slow...
I have the array of coordinates(GeometryInfo.getCoordinates) and the array of coordinate indices (GeometryInfo.getCoordinateIndices()). In the coordinate indice array each set of 3 indices builds an triangle.
CoordinateArray[CoordIndex] = Point3f (Vertex)
CoordinateIndiceArray[Index] = CoordIndex => Coordinate[CoordIndex] = Point3f . . . . . . }
CoordinateIndiceArray[Index + 1] = CoordIndex => Coordinate[CoordIndex] = Point3f . . . } triangle
CoordinateIndiceArray[Index + 2] = CoordIndex => Coordinate[CoordIndex] = Point3f . . . }
Now i iterate over each index of the coordinates array and search for this index in the indice array, to find out which triangle uses that vertex. If i find one i calculate the first index of the triangle and add it in an ArrayList<Integer>. So i get an ArrayList for each vertex in which the beginning indices of the triangles that uses that vertex are found. But these iterations are of course very slow for big objects with a lot of vertices, but i havent found a better way yet.
Does someone know a more efficent and faster way to do it?
Thanks
spoertsch
Edit: Sorry, just read about the movement of the forum, startet new Thread on java.net
Message was edited by:
spoertsch -
Converting digital waveform into bit sequence
Dear friends,
I am stuck with the task of converting a digital waveform (16 bit values) into
the following waveform:
each sample of the original waveform should be represented by a sequence of
bits (or H and L analog values) in the second waveform,
the duration of the bit sequence should be half (in general arbitrary fraction)
of the sample clock period of the original waveform,
the bit sequence should be padded by zeros so that the total duration of the
bit sequence and the pad equals to the sample clock period of the first
waveform.
I tried to represent these two waveforms in the picture attached.
It would be really great if someone could give me hints/suggestions to this
problem!
Thanks in advance!
Attachments:
waveforms.JPG 21 KBHi SamboNI,
Thanks for your reply!
I have couple of notes:
I tried to implement your instructions but the LabView gives error message
(please see the screenshot attached).
I guess there should be "Boolean to (1,0)" VI between "Number to
Boolean Array" and "Build Array" VIs (?)
The problem I have is a bit more complex:
I have a digital waveform (16 bit integers). I need to transform the waveform
in the easiest and fastest way into the following form:
Each sample of the original waveform (16 bit integer number, i.e. 5) should be
represented by a sequence of 0s and 1s corresponding to the bit sequence of that number (0000000000000101 for 5) padded
by a sequence of zeros (i.e. 00000) in the final waveform. I will use the
final waveform to drive single line of the 6534 board instead of 16 lines of
this bopard in the case of the original waveform.
More generally:
I need to realize communication protocol with the AD5541
Digital-to Analog converter from Analog Devices (
http://www.analog.com/en/prod/0%2C2877%2CAD5541%2C00.html ) using 6534 NI
board. Therefore I need also build SCLK and CS waveforms and synchronize
them with the DATA waveform I was talking above. Is there a way to do this?
By the way - do LabView have standard means to communicate
with devices like AD5541? Does it require a special software module and/or
hardware board?
Thanks in advance!
Attachments:
NumToBoolErr.JPG 16 KB -
CDEx Triangle Setpoint Profile.vi
Hi,
In the example CDEx Triangle SetPoint Profile.vi in LabVIEW 2009.Can we view a step or any other signal instead of that traingular waveform??
Thanks as kudos only
Solved!
Go to Solution.Hey
The VIs that have "CDEx" in front are 'example code' that we ship with the product as an example. You can open the VI, alter it and save the modified VI with your own name.
In this example, you can replace the "Triangle waveform.vi" with any VI from "Signal Processing >> Waveform Generation" palette. For obtaining the step, you can use the "Square waveform.vi" instead. If you can't find a profile, you can always use the functions in the "Programming >> Array" and "Programming >> Waveform" palette.
Hope this helps.
Barp - Control and Simulation Group - LabVIEW R&D - National Instruments -
Why i not has two analog outputs at same time ?
Hi, i am try to output two analog signal, which is trangle and sine waveform, with my pci 6036E. i code with Labview 7.1 and the vi is in single loop with both triangle and sine wave analog output to AO0 and AO1.
someguy can help me to figure out is there any problem in my vi or is there any other way.
thank you very much in advance.
scottHi All-
Dennis is exactly correct- only a single analog output (or input) task may be run at once on any DAQ board. To add one small bit of advice, CUHK, you will also need to choose the correct polymorphic instance of DAQmx Write to reflect "N Chan N Samples" as shown here:
You will also need to build an array of waveforms using the Build Array function. Hopefully this helps-
Message Edited by Tom W. on 10-17-2005 01:08 PM
Tom W
National Instruments
Attachments:
nchan_nsamp.JPG 25 KB -
Convert square wave to sinc wave
Can anyone please show me how to convert square wave to sinc wave?
Solved!
Go to Solution.Use the wave generator funtions found in palette Signal Processing - Waveform Generation. There are sine and triangle waveform generating functions there. You can set the number of samples and sample rate such that it would generate a partial waveform. Then you use Get Waveform Components to get the Y values, concat the values, then use Build Waveform to build it back to a waveform. You will get a back to back output. In the following example, I used a sine and square wave because a sine and triangle were too close in appearance and you could not readily see the effect.
As Smercurio says, I don't think this is a very good representation of an EKG signal. That signal has P, QRS, and T waves. There is no sine wave. The waves are like triangle waves, so just put DC waveforms (0 amplitude square wave) ahead of and in between triangle waves for P, QRS, and T, followed by DC.
- tbob
Inventor of the WORM Global -
Servohydra​ulic control with load cell feedback
Hello,
We are planning to build a tie rod fatigue test system with Labview and NI PCI-7344 4-Axis Motion Control Board. We have two linear servohydraulic actuators for applying linear force to tie rod and a servo motor for steering wheel movement. Tie rod must be vibrated by linear servo hydraulic actuators with constant force (+/- 50N , compression and tension direction) as 20 Hz while the steering turns (this is for road simulation) .
I think we can generate the 20 hz triangle waveform with 7344 motion control board for controlling servo hydraulic. But the main problem is to apply stable force with servo hydraulic actuators while steering wheel is turned by servo motor with constant frequency. There are two load cell as load link in the system so can we solve this problem with connect load cell to 7344 as feedback ?
Could you please share your opinions about hardware and software selection and application? What do you think about onboarb programming for this system?
I have attached two images regarding this systems which was build by some companies.
Best Regards
StewardSteward,
I think you should be able to use the analog feedback feature of the 7344 to accomplish your task. Please refer to this link where you can find an attachment that explains the details of using analog feedback.
I don't think that you will need any onboard programming for the control task but depending on your security needs you might want to use it for emergency stop actions (e. g. when something goes wrong and the speed or the force become too high).
Please note that the 7344 does provide 12 bit ADCs for analog feedback. If the accurracy of these ADCs is not enough for you you should consider to use a 7356 instead which provides 16 bit ADCs.
Please read the document linked above. If you find that for some reason analog feedback is not the solution for your task we can talk about other options.
Best regards,
Jochen Klier
National Instruments Germany -
First let me appologize for what will seem a very basic question, but I am new to InDesign and Scripting and just had this project laid on me, and I can't seem to get my head around it.
Lets say I have 4 pages in a document.
Page 1 has 1 textframe
Page 2 has 2 textframes
Page 3 has 3 text frames
Page 4 has 4 text frames
Does using myInDesign.Documents.Item(1) target a page, a document, or a textframe?
Does using myInDesign.Pages.Item(1) target a page, or a textframe?
How do I target Page 2?
How do I target Textframe 3 on page 4?
Next, how do I target XML Nodes. For example using the example XML from Adobe I have something like this:
<code>
<devices>
<device>
<name>Pulse/Triangle Voltage Controlled Oscillator</name>
<type>VCO</type>
<part_number>DS001</part_number>
<supply_voltage>
<minimum>3</minimum>
<maximum>18</maximum>
</supply_voltage>
<package>
<type>DIP</type>
<pins>16</pins>
</package>
<price>3.25</price>
<description>A wide range, temperature-compensated voltage controlled ocsillator featuring 1 volt per octave exponential response. Pulse and triangle waveform output.</description>
</device>
<device>
<name>MultiWave Voltage Controlled Oscillator</name>
<type>VCO</type>
<part_number>DS002</part_number>
<supply_voltage>
<minimum>3</minimum>
<maximum>15</maximum>
</supply_voltage>
<package>
<type>SOIC</type>
<pins>18</pins>
</package>
<package>
<type>DIP</type>
<pins>18</pins>
</package>
<price>3.79</price>
<description>A wide range, temperature-compensated voltage controlled ocsillator featuring 1 volt per octave exponential response. Pulse, triangle, and sine waveform output.</description>
</device>
</devices>
</code>
If I target myDocument.XMLElements.Item(1) I all the data in all the nodes, but if I try this: myDocument.XMLElements.Item(2) I get an error saying it doesn't exist.
So my question is, what is the best way to get the value of a node in the tree, for instance "<part_number>"?
thanks in advanceJongware - that was extremly helpful and exactly what I needed for the XML. I was able to write out nodes in newly created pages and textframes, so thank you very much.
Would it be possible to also give me a few examples for my first question, regarding pages and text frames. If it is similar to the XML I am assuming it would be something like this...
myInDesign.Pages.Item(1).TextFrame.Item(1) - target first frame created on first page
myInDesign.Pages.Item(1).TextFrame.Item(2) - target second frame created on first page
myInDesign.Pages.Item(2).TextFrame.Item(1) - target first frame created on second page
If the above is not correct, then I guess i am still not clear of what "Item" is refering to. So to go back to my original post...
Does "Item" in myInDesign.Documents.Item(1) refer to a page in the document, or the document itself?
Does "Item" myInDesign.Pages.Item(1) refer to a page, or a textframe on the page?
Thanks again
Update: ok I think I answered this after playing around with things today. So I think the short answer is that ITEM refers to whatever preceeds it, so myInDesign.Pages.Item(1) refers to pages, and TextFrame.Item(1) refers to textframes.
I still have to figure out how it orders things though. I tried creating two frames on a page then replacing the content in the second one I created with TextFrames.Item(2), but it replace the content in the first one I created instead.
Maybe you are looking for
-
How do I merge more than one PDF document into one singular pdf using adobe viewer touch on a microsoft surface?
-
Use Temporary File (File Receiver)
Hi All, I have a file format in the file receiver which has a special charecter(#0) that represents the end of the file. but i wanna append more than one message to the same file. if i do so, the content would be added after the end of the file chare
-
Data source name not found and no default driver specified.
Hi all, I am using Microsoft Accessas as backn'd. when I am starting my Presentation Services I am getting this error> Data source name not found and no default driver specified.
-
My Nano was STOLEN by some punk at school!
Would like some advice on how to recover my Nano that I registered. I've filed a police report and had an officer interrogate the person I suspect (who undoubtedly denied, denied, denied!), but I did register the serial number, in hopes that the idio
-
Should i install windows 7 ?
Hi. I have a Lenovo G550 . CPU - dual core - 2.20 gHz; RAM - 2 GB; Graphic card - 256 MB; Actually i use microsoft xp sp2, someone told me to install windows 7, should i install Windows 7 , which is better (faster), XP or Win 7 ??? Thanks.