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

  • Build an ARINC 429 waveform

    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 KB

    what 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 KB

    Hello 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
    thanks

    You 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,
    Moor

    Hi 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
    spoertsch

    I 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 KB

    Hi 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.
    scott

    Hi 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
    Steward

    Steward,
    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

  • Targeting basics

    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 advance

    Jongware - 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