Acquisition of data using C++ and cRIO-9066

Hello!

I want to write a C++ application that would make the acquisition of data from modules installed in the cRIO-9066 chassis and this application should work without LabView. How can I do? This chassis connect to my PC using NI-DAQmx? Is this possible?

Hi aanodin,

When you use a device that uses our architecture of RIO, it is usually best to use LabVIEW to develop your application. In this way, you can also program the FPGA with LabVIEW FPGA module and makes programming much easier real-time processor. In fact, your model of cRIO is officially supported by our LabVIEW programming language, as seen on page 4 of the Manual: (http://www.ni.com/pdf/manuals/376186a.pdf).

Due to the FPGA interface, you cannot use DAQmx with cRIO. I hope this helps.

Tags: NI Software

Similar Questions

  • If it's possible... desktop PC, I want to export data using expdp and dumpfile goes to his local directory?

    Scanario

    1 Server Machine (database software)

    2 oracle installed Client workstation

    If it's possible... desktop PC, I want to export data using expdp and dumpfile goes to his local directory?

    Rajesh

    Hello

    You can use this method

    http://dbaharrison.blogspot.de/2013/05/expdp-creating-file-on-my-local-machine.html

    But it depends on having you another instance on your workstation also.

    Otherwise, you will need to sort the database drive will appear on the desktop or vice versa using nfs/samba etc.

    See you soon,.

    Rich

  • Acquisition of data using the DAQ card

    Hello everyone

    I need assistance with the acquisition of data of the generator of signals through DAQ cards. I plugged the signal to the SCB-68 generator where the analog inputs of the generator are connected to AI CH5 and AIGRND of the Terminal Board. Then the output of the block is connected to the DAQ card. The maximum sampling frequency of the card is of 250 kech. / s. The problem is for reason that I am not able to see the waveform on the labview. I looked at other examples to find the problem, I am, but I am not able to understand this. I want to be able to choose the sampling frequency. I attatched my code as an attatchment for you all to help me know what the problem is. Any suggestions will be appreciated.

    There is no task!  You have not specified any hardware (i.e. your data acquisition card) anywhere.

    Here's a suggestion.  MAX aperture.  Find your DAQ hardware.  Open a Test Panel.  Implement a continuous sample of N Points to some sampling rate.  Press Run and convince yourself that you get the data.

    Now, while remaining in MAX, to create a task, using the same settings.  Call for example something sensible ("MyFirstDAQTask" is not a good reputation).

    Now, go back to your code.  Eliminate the first two functions DAQmx.  Wire a constant task to the DAQmx Start feature.  See the little triangle down?  Click it, and it should show you the tasks he 'sees', the only one should be the task that you created in MAX.

    Note that 'Samples Visible' is now 'hard coded' in the task.  To get its value back out, you need to put a property node Timing DAQmx after the task start and pull on the quantity of the sample, samples per channel (which, for reasons that escape me, is a Dbl, you need to convert to an I32 before importing it into the while loop).

    Bob Schor

    P.S. Thank you to join your code.

  • standalone application for the acquisition of data using the NI DAQ card

    I did a stand-alone application in labview GUI for data acquisition and processing of the signal. If I have to run this application in any other computer which should be all installed software other than the labview runtime engine... CD DEVICE DRIVERS OR alone must be installed or do I have to install any other software of data acquisition using the data acquisition card OR?

    Thanks and greetings

    You need only the racing of the engine, the device for the device drivers, maybe need pilots VISA if you make serial or something of this nature, you may need the channels or tasks created in the measures OR and automation if you created the it.

    There may be other things you'll need depending on what you include in your code and what tool kits that you have installed.

  • acquisition of data high-speed and simultaneous sampling

    I'm quite familiar with the coding for NOR-DAQ boards in Labview. What worries me with labview, is that each tick is about milliseconds. I intend to retrieve the data simultaneously from 32 channels at 2 MS/s/chan using SMU 6368 s. Wouldn't not possible to enter data, on average 20 to 50 samples to get a unique value, perform simple algebraic manipulations on it and send it to the PC / software to approximately tens of kHz? We already have labview code to perform similar tasks, but it is quite slow and limiting the rate of experience. I said that Simulink is slightly better than Labview in this regard, but suffers a poor user interface and that if something C/C++ offers the ability to perform at high speeds with the same cards OR data acquisition. Could someone advise me please on this issue?

    You can use your PC! You can use a PCI/PCI-e card as the interface to your computer and it should work perfectly. Take a look at these pages (http://sine.ni.com/nips/cds/view/p/lang/en/nid/10389) for more information.

  • Acquisition of data using the single cycle timed loop in labview fpga (7833R target)

    Hi all

    I want to acquire data of input analog of a generator using the loop of the timed cycle and DMA FIFO funtion. I want to use the acquired data to act as a process for my PID control variable. Can the attached code perform the goal? I'm skeptical about its features. Advice or suggestions please.

    Kind regards

    Opuk

    The SCTL does nothing for you here.  Just remove it and write directly from your analog read the DMA write.

    And on the side of the host, you must move the Run method for before the loop.

    You should also consider to the PID in the FPGA.  PIDs work best in a deterministic environment, and you get more deterministic than on an FPGA.

  • Extract PDF form data using JavaScript and write in the CSV file

    I received a PDF file with a form.  The form is * not * formatted as a table.  My requirement is to extract form field values and write into a CSV file that can be imported into Excel.  I tried using the menu item "Merge data from spreadsheet files" automated in Acrobat Pro, but the release includes both the labels and values.  I'm mostly just interested in the form field values.

    I would use JavaScript to extract the data from the form and learn JavaScript write CSV file (since I know what should look like the spreadsheet of end).  I got regarding the extraction of the fields in the form:

    this.getField("Today_s_Date").value;

    And the rest of this post: http://StackOverflow.com/questions/17422514/how-to-write-a-text-file-in-Acrobat-JavaScript , I tried to write to CSV using:

    var cMyC = "abc";

    var doc = this.createDataObject ({cName: "test.txt", cValue: cMyC});

    but I get the following error:

    "SyntaxError: syntax error".

    1:Console:Exec ".

    Ideally, I don't want to use a third-party tool online to make, because the data are sensitive.  But please let me know if you have any suggestions.  The ideal output is a CSV file that an end business user can open in Excel to see the format of spreadsheet of his choice.

    Did anyone done this before?  Open to hearing alternatives as well.  Thanks in advance!

    The code you have posted works fine for me in the JavaScript console, so I suspect the problem is something else. Where did he put the code and y at - he seized another code?

    In addition, if CSV is not a strong requirement, I would say that you use delimited by tabs instead. Fields normally cannot contain tab characters, this is a good qualifier to use. It will be also more reliable when you import in Excel. If you need to process the field data that may contain quotes, you need prepare correctly the string data and can use a JavaScript library like this: https://github.com/uselesscode/ucsv

  • data of cutting using substring and instring, and storage in a new table

    Hi all

    I have an emp_address 2tables, address as below:
    ---------------------------------------------------------------
    create the table emp_address (emp_id varchar2 (10), address varchar2 (100));

    Insert into EMP_ADDRESS
    (EMP_ID, ADDRESS)
    Values
    ('101', 'street1 fremont CA 94538');
    Insert into EMP_ADDRESS
    (EMP_ID, ADDRESS)
    Values
    ("102", "Street.2 fremont, CA 94537');
    COMMIT;


    create the address table (emp_id varchar2 (10), street varchar2 (20), city varchar2 (15), State varchar2 (10), zip varchar2 (10));

    -----------------------------------------------------------------------------
    Emp_address data as below:

    emp_id address

    street1 101 fremont CA 94538

    102 fremont, CA 94537 Street.2

    ------------------------------------------------------------------------------
    now I read data emp_address and split the data of the address column and record these data in the address table like as below

    emp_id Street City State Zip Code
    street1 101 fremont, ca 94538
    102 fremont, ca 94537 Street.2

    -------------------------------------------------------------------


    I'm trying to divide these data using substring and instring. Actually my problem was between the data a few times I have 1tab or 2tabs and sometimes 3tab. If the number of tab spaces is not constant.

    So can u help me in this case.

    Thanks in adavnce

    position of reference BluShadow

    WITH emp_address AS (SELECT   '101' emp_id,
                                  'street1 fremont CA 94538' address
                         FROM     DUAL
                         UNION ALL
                         SELECT   '102',
                                  'street2  fremont CA 94537'
                         FROM     DUAL),
        emp_address_list_temp AS
          (SELECT       emp_id,
                        SUBSTR (
                          address,
                          DECODE (LEVEL,
                                  1, 1,
                                  INSTR (address, ' ', 1, LEVEL - 1) + 1
                                 ),
                          DECODE (
                            INSTR (address, ' ', 1, LEVEL),
                            0,
                            LENGTH (address),
                            INSTR (address, ' ', 1, LEVEL)
                            - DECODE (LEVEL,
                                      1, 0,
                                      INSTR (address, ' ', 1, LEVEL - 1)
                                     )
                            - 1
                          )
                        )
                          address,
                        LEVEL rn
           FROM         emp_address
           CONNECT BY   LEVEL <=
                          LENGTH (address) - LENGTH (REPLACE (address, ' ')) + 1
           GROUP BY     emp_id, address, LEVEL),
        emp_address_list AS
          (SELECT   emp_id,
                    address,
                    ROW_NUMBER () OVER (PARTITION BY emp_id ORDER BY rn) rn
           FROM     emp_address_list_temp
           WHERE    TRIM (address) IS NOT NULL)
    SELECT     emp_id,
               (SELECT   address
                FROM     emp_address_list e2
                WHERE    e2.emp_id = e1.emp_id
                     AND rn = 1)
                 street,
               (SELECT   address
                FROM     emp_address_list e2
                WHERE    e2.emp_id = e1.emp_id
                     AND rn = 2)
                 city,
               (SELECT   address
                FROM     emp_address_list e2
                WHERE    e2.emp_id = e1.emp_id
                     AND rn = 3)
                 state,
               (SELECT   address
                FROM     emp_address_list e2
                WHERE    e2.emp_id = e1.emp_id
                     AND rn = 4)
                 zip
    FROM       emp_address_list e1
    GROUP BY   emp_id
    
  • Skip lines holder download data using SQLLDR

    Hi all

    I have a requirement where I need to download the data using SQLLDR and spend the first 3 lines.

    Can someone let me know SQLLDR flags to do.

    ~ Parag

    Use

    c:\sqlldr scott/tiger control = c:\q.ctl jump = 3

  • Signal acquisition of voltage AC using NI 9206 9205 and cRIO

    Hello.  I have difficulties accurately acquire a signal voltage AC using a module OR 9206 and cRIO.  I'm looking to acquire signals of tension of the two types of current transformers Magnelab: divide the rope and the base.  In Labview, I first fill out an array of size 2 500 with the signal of the sensor (DIFF mode), and then calculate the RMS of the table.  For the core of split CTs, I'm able to acquire exactly reading the correct voltage (verified by measuring the match on the line using a power Analyzer Fluke 434 amp.  For the CT string, however, using the same method of table/RMS, I am unable to gain precisely the correct voltage reading.  Measure the amp on the line using the Fluke 434 PA, good the CT string tension should be 0.05v.  Using the 9206 (DIFF mode), the RMS of the array gives a reading of 0.071 voltage.  Now the interesting part is when I measure the voltage by using two different True RMS DMM, I get two different readings.  A multimeter, a Klein CL2000, reads the voltage in 0.05v.  Other multi meter, a Fluke 189 reads wrong to 0.071, the same that I get using LabView and NI 9206 release.  I guess the question is how the Klein interprets the signal differently Fluke 189 and the NI 9206 via LabView module.  A difference between the split-core and rope CTs, is that the rope CTs require a power external power supply 12-30 v AC or DC.  I'm providing 12v DC.  I tried several AC and DC voltages and still get the same wrong result.  I am quite sure that it is not a question of power supply, although perhaps the integrator in the rope is the creation of a single signal.  Any ideas?  I appreciate any input.

    Thank you

    J.Grant

    AK2DM:

    Update - found solution

  • Acquisition of data from an external device that uses RS - 485

    I am currently using a device cDAQ 9174.  I'm trying to connect the cDAQ to an external source that communicates via a cable series RS-485.  I spoke with several representatives of Lawbview and they told me that there is no direct way to talk on the chassis with the serial cable.  I need to buy a USB-485 cable series and communicate in parallel in LabView.  If I go directly through the cDAQ chassis, so why do I still need?  And I'm lost as in how I communicate with an external source in Labview.

    My second question.

    I have a cRIO 9074.  And, through a lot of research, I noticed that it seems much easier to use this device for this situation.  My only problem is that I am new to LabVIEW and I think that working with the cRIO can be a little difficult for me at this stage.  My question is, it would be easier to make the acquisition with the above configuration, or use the cRIO and spend a little extra time.

    The application that I am trying to make is the following:

    I have a RS-485 of the external source.  Then, I want to broadcast the series of 2048 byte stream that is continuous in NEITHER and do review the serial data and assign a virtual indicator on a chart or display a message to tell me what will happen in the serial data stream.

    cRIO is certainly more complicated to go only a USB-485 cable.  cRIO is designed more for embedded applications, series No.  You must also cDAQ in the equation.  All you need is the following:

    NEITHER USB - 485

    http://sine.NI.com/NIPs/CDs/view/p/lang/en/NID/12845

    Someone suggested a cDAQ to you for this application?  cDAQ is a platform for flexible data acquisition for reading of the analog signals and digital bullies.  If your data flow conforms to the RS-485 standard, you don't want cDAQ for this.

    I have attached a sample program to help you get started.  There are examples that are included when you install the NI-VISA driver that supports communication with LabVIEW series with LabVIEW.  If you have installed NI-VISA it should appear on you NOR Finder example located in the main menu to help > examples find if you search for "serial".

  • Acquisition of data and filtering on FPGA

    Hi all

    I have trouble to design a FPGA program for acquisition of data and filtering.

    I have two NOR 9205 modules configured to work in terminal mode of DIFF, i.e. There are 32 entries this program must read every Ts seconds. (Ts is the time discretization, i.e. during the period of loop)

    With respect to the digital filter, I implemented a possible simple filter with transfer function G (s) = 1 /(1+sT), which is part of the field of discrete-time equal to y (k) = a * u (k - 1) + b * y (k-1), where u is the original signal, and there is filtered signal. The coefficients a and b are equal to: a = 1-exp(-Ts/T), b = exp(-Ts/T), and T is the time constant of the filter (usually T > 5 * Ts).

    The implementation of main program for the acquisition of data and filtering are:

    This application is for the digital filter:

    However, the problem is that this program cannot take the FPGA resources on cRIO-9114, and Yes, I tried to define the criteria of compilation for the area. I also tried to implement the multipliers in digital filter as lut and DSP, unfortunately without a bit of luck.

    Because I don't have that much experience in programming of FPGA, someone has any suggestions how to improve this code to adapt existing FPGA resources?

    Best regards

    Marko.

    Hey Norbert_B,

    I managed to solve the problem. First, I changed the reentrancy of Preallocated incoming execution clone to not reentrant execution. As no reentrant VIs have States, I had to use the node of the feedback to the main VI to get u(k-1) and y(k-1). Another important thing is to choose Ignore FPGA reset method in the node of the properties of FPGA implementationfeedback, since in this case, the feedback node uses less resources.

    Here is the new main program VI:

    And here's the 'filter' VI:

    Thanks for the help!

    Best regards

    Marko.

  • Edge counting and Source of Timing for timed loop on the request for Acquisition of data - not acquiring data on specified rising edge

    Operating system: Windows XP

    Hardware: PCI 6259

    Terminals used: PFI0 and PFI2

    Counters used: Ctr0 and Ctr1

    IM developing an application for the acquisition of data where timed loop synchronization source comes from my PFI2 (using the string A of an encoder).  IM basically trying to acquire data based on the number of ticks from my encoder.  For the synchronization source, I use counter 1 to capture the rising edge and have the loop time-acquisition of data.  At the same time, Im using the counter 0 to count the number of rising edges so I know exactly in what tick data was acquired.  PFI0 and PFI2 are connect to channel A of the encoder.

    Questions:

    Timed loop acquires data at each tick, because when I discover the data (text) file is missing count of my encoder value.  Is it because there is a limitation on the Windows operating system?  I used a noculars to measure the frequency at the maximum rotation of the channel encoder and 6,757 kHz.  All solutions?

    Also, is there anyway I can route the source channel internally an encoder to generate synchronization source instead of using another counter?  I have attached my VI.

    Hello

    All the samples that you acquire will be read by LabVIEW in a sequential manner. Figure 4-21 on the M-series on page 80 (4-34) shows that you will acquire all the samples you request all channels that you enjoy in sequentially.

  • Difficulty to read the instrument of series and acquisition of data simultaneously.

    Greetings,

    I have some trouble getting my VI read from my data acquisition and instrument of the series at the same time.  If I run the Subvi simultaneously (i.e. subANG runs in a window and subVEL is running in a second window) both return the correct values and behave as I expect.  However, if I call the Subvi in a society mother VI and try to run them both in the same loop structure subANG gets stuck and won't be reprobed with a signal change.

    I also tried to use a stacked sequence or plate to separate the execution of subVEL and subANG, but I still get no response to subANG.

    The point is is that, if I run Parent.VI in a single window and then creates a copy of subANG (call it '--copy' or other) and run it in a second window, Parent.VI behaves properly and will update the readings as they appear in '--copy '.

    I enclose 3 files.

    (1) subANG.VI - this bed an an inclinometer RS232 signal.  The signal is refreshed every 10ms or more.

    (2) subVEL.VI - this bed raw tension of a channel on the acquisition of data, calculates the average then that converts into a pressure difference and finally a speed based on the pressure and temperature inputs.

    (3) ParentVI.VI - they simply call and displays the Subvi

    My guess is that it's a buffer problem, but I am confused.  Someone out there in Labview Earth knows why this might be happening?  Suggestions welcom.

    It is not an instrument of series.  It is a UEI PowerDAq with their typical A/D and the cable.

    I found away to make it work by placing subANG and subVEL in some time different loops side by side in ParentVI.

  • What type of connections I do for the acquisition of data PCI 619 card pins? What I have to give it to the ground and the CCV on the pins of the connector myself? What should be the value of the SCR I need to give to the PIN?

    I have a PCI 6519 data acquisition card. I want to install it on the PC and use it outputs to control a robot. I have problems with the connections to the terminal block which is attached to the cable.

    What type of connections I do for the acquisition of data PCI 619 card pins? What I have to give it to the ground and the CCV on the pins of the connector myself? What should be the value of the SCR I need to give to the PIN?


Maybe you are looking for