FPGA @ NI cRIO 9074 - working period

Hello all!
I'm using cRIO 9074 and its FPGA for data acquisition of a DC/DC converter. Since switching frequency of the converter is 30 kHz (~ 33.33 us), I need a microsecond domain. Because of that I use FPGA instead of RT, along with NI I/O modules which can achieve speed of 100 kS/s (i.e., period of 10 us). In order to be able to see what is actually happening in the converter, data acquisition frequency has to be greater than its switching frequency, so I tried to set 10 us period for my FPGA VI, since this is the refresh rate of I/O modules. However, it seems that the data are recorded with 37 us (constant period between two samples in whole data set) rather than with 10 us. If I set e.g. 50 us acquisition period, cRIO will record data with 50 us - in fact, if I set anything greater than 37 us, cRIO will respect that period!
My question: is this kind of behaviour due to the how I wrote the FPGA VI, or this 37 us period is just an inherent limitation of FPGA on cRIO 9074? Since I use only I/O modules and DMA FIFO for communication with a PC, I don't know what could be the bottleneck here.
Colleague of mine also experienced a similar issue, but in his case it is 15 us period (his FPGA VI just can't go below this). Worth noting, he uses a different cRIO, but unfortunately I'm not quite sure which one.
Thanks!!
Best regards,
Marko.

Greetings Marko
Could you be so kind as to provide us a little more information? For example, which C Module are you using? Also, could you upload a screenshot of you LabVIEW FPGA VI? After seeing that, I think the problem will be clearer and we will have a better understanding of what is happening.
Regards
Luis J.
Applications Engineer
National Instruments

Similar Messages

  • Shared Variables stop working on cRIO-9074

       I have a Dell E5540 laptop running W7 and LV 2013.  The project talks to a cRIO-9074.  I use a handful of shared variables to communicate some of the data between the two platforms.  I have gotten this all working fine.  Then twice, something has gone wrong.  The shared variables just stop communicating.  They are hosted on the laptop.  The host program sets them just fine.  The Distributed System Manager can monitor them and sees them change.  But the RT program never gets the new values.  The RT connection is fine.  I can probe into the running RT VI, and I see that the shared variables do not get the correct values.
        The firewall is off.  I've undeployed and redeployed everything over and over.  Cycled power, rebooted, etc.
        In both cases, I finally was able to fix the issue by re-installing the entire suite of NI software on the cRIO.  After I did that, the program started up and behaved fine.  I have no idea what triggered the failure in either case.  Also, I have a second laptop that I've used to verify that the problem is with the cRIO and not with the laptop.  When things are broken, it fails with both laptops.   As soon as I reinstall the software on the cRIO, both laptops work with it fine.
        Has anyone seen this before?  Any ideas how the cRIO might be failing?  It seems like some software component on the cRIO must be getting corrupted, since the software reinstall is the only thing that fixes this.  Perhaps the cRIO is bad?  The one other possible clue I have is that during the second fix, I even went so far as to reformat the cRIO disk using MAX.  After the format worked for a while, it popped up an error saying that the format had failed.  But I was able to reconnect and reinstall the software and get things running.  I just wonder if that error code is another symptom of a bad piece of hardware...
    Thanks,
        DaveT
    David Thomson Original Code Consulting
    www.originalcode.com
    National Instruments Alliance Program Member
    Certified LabVIEW Architect
    There are 10 kinds of people: those who understand binary, and those who don't.

    Hello Dave,
    You can try to pinpoint where the problem is with some tests. First, you could try running the real-time VI on your host instead and seeing if the problem with communication still occurs. Then if this seems to work fine, try running a LabVIEW shipping example for network shared variables on the host and target. One such example is Analog Input - Getting Started - Scan Mode.lvproj from the NI RIO driver.  If this succeeds, the problem is most likely with the LabVIEW application you have. However, if it fails there is a much higher chance that there is a problem with the cRIO.
    Have a good day,
    Siana A.
    Application Engineering
    National Instruments

  • How to store data from Host.vi in cRIO-9074

    TejasKumar Patel
    I implemented a advance Measurement and Control system using cRIO-9074
    with c-Series I/O cards( NI 9217, 9411, 9264)
    I have some questions about it,
    (1)- Data rate from FPGA targate to host vi is too low. how can I increase
    it, when I run my host VI, sometimes all temperature sensor update at
    same time and sometimes one by one, can you please give me some hint, how
    can I correct it, I used two FIFOs for NI-9411 digital pulses, I put all
    Digital input and all analog output and input in a seperate while loop in
    FPGA targate VI.
    (2)- I have to write that data to analyse for further result. I tried all
    possible way to write data including wite to spreadsheet.vi, write to
    text.vi, Data storage.vi, Write to measurement.vi. All this VI work
    efficientlywhen it run individualy, But when I connect this VI to
    writedata from FPGA host VI. than it always give empty file.
    I saw your post in NI discussion forum about how to write data from
    Host.vi, But still I am confuse that how can I creat a protocol between
    host VI and Fpga target vi. to write the data in a file. I have nearabout
    38 channel to write data.
    (3)- I have to measure time difference between two digital pulses, to find
    a flow rate. I am using counter for it with risisng edge shot.vi, but when
    i get a timestemp when there is risisng edge for the second rising edge
    how can I get timestemp. Its like i have to measure time between two
    pulses, I triend waveform measurement.vi to find cycle period. but it not
    worked. any other was to measure it.
    I am stuck in this question since from last one month. I already followed
    NI-discussion forum solution but it doesnt work. I think the way I applied
    is may be wrong. 
    Looking forward to hear from you soon.
    Plese send an additional email copy to [email protected]
    Thank you and Best Regards, 

    Thanks Joseph for your support,
    1-      If I count the ticks between the pulses it always seems different ….because this method I already tried, but it does not work,  like some times it shows 9099 tick and at the second pulse it shows like some more or less ticks not the same ticks every time. To complete my project, the biggest problem is the data storage.
    2-      As you gives the solution in NI forum, “low level file I/O Vis such as Write to text file” FPGA target not support this VI. And mainly I want to write data from HOST.vi, because I am process those data …and I need to store it. For to figure out my result.
    3-      If I use “Write to text file. VI (Sub-VI ) to FPGA.vi, it not support because it support string data and I have FIXpoint data. And can you explain me what is low level file IO, and how can I use in fpga.vi??
    4-      Yes, for my project time stamp it really necessary, for data analysis.
    5-      I need the time stamp to find out what was the system response at the time.  As our project based on weather temperature, I need time stamp.
    Waiting for your reply,
    Thanks and Regards,
    Patel

  • MAX will not display any installed modules mounted to cRIO-9074 chassis WinXP SP3 LV2010 developer

    MAX will not display any installed modules mounted to cRIO-9074 chassis WinXP SP3 LV2010 Developer Suite.
    I can see the backplane in MAX and Project explorer but none of the modules show up for configuration in the drop down lists.  The LV was just installed on the PC with RT/FPGA/Sound and Vibration. I have Admin and am accessing through a PCMCIA Ethernet card. I have to disable normal wireless Ethernet just to see the cRIO unit at all.

    Well, you actually won't be able to see the C-series modules for a cRIO in MAX.  Take a look at this KnowledgeBase article for a little more information.
    As far as not being able to see them in the Project explorer, are you trying to run in FPGA or Scan Interface?  If you're using the FPGA Interface, you'll have to make sure to expand the FPGA Target tree in the Project explorer to see these modules.
    Regards,
    Austin S.
    National Instruments
    Academic Field Engineer

  • CRIO application works in interactive mode but broken VIs reported in error log when run built application on target

    I have been getting more than my fair share of grey hairs the past few days because of this. Over the past few months this almost never happened. Lately, after a seemingly minor change to some serial communications code, hardly a single build works without throwing errors like this:
    #OSVers: 6.3
    #OSBuild: Jun 6 2014, 09:14:16
    #AppName: /c/ni-rt/system/lvrt.out
    #Version: 14.0
    #AppKind: AppLib
    #AppModDate:
    InitExecSystem() call to GetCurrProcessNumProcessors() reports: 1 processors
    InitExecSystem() call to GetNumProcessors() reports: 1 processors
    InitExecSystem() will use: 1 processors
    starting LabVIEW Execution System 306708506 Thread 0 , capacity: 1 at [3507679466.00933790, (19:24:26.009337710 2015:02:24)]
    starting LabVIEW Execution System 306708507 Thread 0 , capacity: 1 at [3507679470.59560204, (19:24:30.595601929 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 0 , capacity: 24 at [3507679481.25993776, (19:24:41.259937648 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 1 , capacity: 24 at [3507679481.25993776, (19:24:41.259937648 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 2 , capacity: 24 at [3507679481.25993776, (19:24:41.259937648 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 3 , capacity: 24 at [3507679481.25993776, (19:24:41.259937648 2015:02:24)]
    Thread consumption suspected: 3 Try starting 4 threads
    starting LabVIEW Execution System 2 Thread 4 , capacity: 24 at [3507679515.59324312, (19:25:15.593243004 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 5 , capacity: 24 at [3507679515.59324312, (19:25:15.593243004 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 6 , capacity: 24 at [3507679515.59324312, (19:25:15.593243004 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 7 , capacity: 24 at [3507679515.59324312, (19:25:15.593243004 2015:02:24)]
    Thread consumption suspected: 8 Try starting 1 threads
    starting LabVIEW Execution System 2 Thread 8 , capacity: 24 at [3507679515.73854351, (19:25:15.738543576 2015:02:24)]
    and 
    #Date: TUE, FEB 24, 2015 04:47:22 PM
    #OSName: VxWorks
    #OSVers: 6.3
    #OSBuild: Jun 6 2014, 09:14:16
    #AppName: /c/ni-rt/system/lvrt.out
    #Version: 14.0
    #AppKind: AppLib
    #AppModDate:
    InitExecSystem() call to GetCurrProcessNumProcessors() reports: 1 processors
    InitExecSystem() call to GetNumProcessors() reports: 1 processors
    InitExecSystem() will use: 1 processors
    starting LabVIEW Execution System 306708506 Thread 0 , capacity: 1 at [3507670087.84041262, (16:48:07.840412710 2015:02:24)]
    starting LabVIEW Execution System 306708507 Thread 0 , capacity: 1 at [3507670092.45153570, (16:48:12.451535843 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 0 , capacity: 24 at [3507670103.11840487, (16:48:23.118404925 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 1 , capacity: 24 at [3507670103.11840487, (16:48:23.118404925 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 2 , capacity: 24 at [3507670103.11840487, (16:48:23.118404925 2015:02:24)]
    starting LabVIEW Execution System 2 Thread 3 , capacity: 24 at [3507670103.11840487, (16:48:23.118404925 2015:02:24)]
    VI_BROKEN (0): [VI "NC serial comms protocol.lvlibet Lower Temperature Limit.vi" (0x04667310)]
    VirtualInstrument:etOrClearBadVILibrary - now VI is bad on [VI "NC serial comms protocol.lvlibet Lower Temperature Limit.vi" (0x04667310)]
    this->flags=33563136, compilerError=6
    VI_BROKEN (0): [VI "Heater Control HAL.lvclass:Write Heater Control Active.vi" (0x058c4e98)]
    VirtualInstrument:etOrClearBadVILibrary - now VI is bad on [VI "Heater Control HAL.lvclass:Write Heater Control Active.vi" (0x058c4e98)]
    this->flags=50340352, compilerError=6
    VI_BROKEN (0): [VI "NI_LVConfig.lvlibave Config File.vi" (0x047b7e90)]
    VirtualInstrument:etOrClearBadVILibrary - now VI is bad on [VI "NI_LVConfig.lvlibave Config File.vi" (0x047b7e90)]
    this->flags=33563136, compilerError=6
    and so on.
    This is using a cRIO 9074 running CompactRIO recommended software set  14.0.1 .
    These errors happen right at startup. Memory use is steady in interactive mode, about 20 MB contiguous memory is unallocated out of 128 MB. I have taken pains to prevent allocation and follow cRIO besta practices non concatenated strings array building in loops etc). CPU is 50-60% when running interactive mode.
    Really at my whit's end here, I have tried the various combination of enabling / disabling debugging in the RTEXE, disconnecting typedefs etc. I have not noticed a pattern. 
    Regards,
    MarkCG

    Hello MarkCG,
    What minor changes did you make to the serial communication code? Posting the VI or a screenshot of the VI with the modifications which caused the RTEXE to stop functioning could be useful to troubleshoot the issue. 
    Regards,
    J_Bou

  • I have downloaded the most recent version of Iphoto and it no longer works period. I lost all photos, and the app crashes every time I try to open it. How can this be fixed?

    I have downloaded the most recent version of Iphoto and it no longer works period. I lost all photos, and the app crashes every time I try to open it. How can this be fixed?

    Post the first 50 lines only of the crash report
    Regards
    TD 

  • I am having problems with my optical corded mouse that came with my iMac (it's about 2 years old) It stops working periodically, and I can't figure out how to fix it; doesn't look like I can open it to clean it, or anything like that.

    My corded optical mouse (model A 1152),which came with my desktop  iMac, stops working periodically.  The little tracball may work scrolling down a page, but not up, sometimes, and I have yet to figure out how to fix it, or why it happens at all.  Is there someone who has had that problem, and what did you do?

    Hello:
    Turn the mouse upside down and run it (vigorously) over a piece of paper.  Better yet, run it over a microfiber cloth.
    Barry

  • Access to serial and ethernet port in FPGA for cRIO-9068

    hi
    i want to know if i can Access to serial and ethernet port in FPGA for cRIO-9068 like camera IP
    thanks for help

    dalyto wrote:
    thanks
    but how i can i acquire image with IP camera and fpga ???
    The Ethernet hardware interface in the cRIO is not directly connected to the FPGA backplane in a way that you could directly access it. Even if you could it would be a pretty bad idea to try to do. A fully operational TCP/IP network stack implementation in the FPGA would not leave much resources for anything else even on the biggest FPGAs available. That doesn't include support for the typical image compression algorithmes which are even more complicated to implement on FPGA. Even if you would go to highly optimized VHDL code directly it would be a pretty difficult thing to do!
    In fact implemenintg the MAC and PHY of an ethernet interface on the FPGA is totally trivial in comparison. The IP level could also be implemented fairly easily in the FPGA but anything above that is going to give you bad headaches and still will be very limited in number of connections and packet sizes it can support.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to get the real time controller download file for cRIO 9074

    Hello
    I am a beginner of LabView. Now I do a project in school with cRIO 9074.  
    My problem is that I have deleted the embedded controller system by fault. But in the Measurement and Automation software I didn't find the controller sysyem which have the fonction of monitor on line. How can I download the load file?
    Wait for your help, and  thank you for your help very much.
    Solved!
    Go to Solution.

    Even if you format the cRIO system it should be found by the MAX and by opening the Software config you can reinstall the system files assuming that they are installed on the connecting system (PC).
    So you have to use the MAX to setup the cRIO. Maybe it is of help to set the DIP switches to NoApp and IPReset first.
    Hope it helps
    Christian

  • I cannot get any of the zoom functions to work, period. When Firefox starts up it begins to display the page then it stops and redisplays it. So its like it flashes on for a second then completely regoes to the site, any site. The text zooms dont work eve

    I cannot get any of the zoom functions to work, period. When Firefox starts up it begins to display the page then it stops and redisplays it. So its like it flashes on for a second then completely regoes to the site, any site. The text zooms dont work even when i try to change the font on the content tab, nothing. I have reinstalled firefox still no luck help,!!!!!
    == This happened ==
    Every time Firefox opened
    == this month ==
    == User Agent ==
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; InfoPath.2)

    Do you have that problem when running in the Firefox SafeMode?
    [http://support.mozilla.com/en-US/kb/Safe+Mode]
    ''Don't select anything right now, just use "Continue in SafeMode."''
    If not, see this:
    [http://support.mozilla.com/en-US/kb/troubleshooting+extensions+and+themes]

  • Attendance/absence 03.04.2010 - 03.04.2010 during non-working period

    Hi,
    When we are entering absences through PA61, getting an error message - Attendance/absence 03.04.2010 - 03.04.2010 during non-working period (att./abs.type CL01).
    I think this is the holiday day calendar problem...or any other problem??
    Plz guide..

    Yes,
    Check the work schedule of the employee for whom you are trying to enter the leave on that day.
    Check if the date type is other than 0 or blank.
    check through SCAL if any public holiday is assigned on that day.
    check your absense type CL01's config for more details.
    cheers
    Ajay

  • Accéder/déployer des applications sur des cRIO-9074 aux travers d'un VPN

    Bonjour,
    Je suis basé en France est je voudrais accéder à des cRIO-9074 situés en Chine (Shanghai) via notre VPN d'entreprise.
    Via notre VPN d'entreprise les cRIO sont dans le même réseaux, je "ping" les cRIO Chinois depuis la  France.
    Impossible des les voir dans NI-MAX, donc impossible de déployer mes applications sur ces équipements.
    Ma question : y-a-t-il des ports informatiques spéciaux à ouvrir sur nos passerelles et routeurs pour pouvoir communiquer avec les cRIO ?
    Merci d'avance pour votre support.
    Stephane M. 

    Bonjour,
    Normalement, il est possible de communiquer entre un pc et un cRIO à distance via un réseau VPN.
    Attention quand même au Firewall qui peut cependant bloquer certaines connexions.
    Voici une liste de ports qui doivent être ouvert:
    3079 
    3537 
    3580* 
    44525 
    44516* 
    44517 
    Les ports 3580 et 44516 sont les plus importants.
    Attention ceci n'est pas une liste officielle mais il est propbable que l'ouverture de ces ports corrige votre problème.
    Cordialement.
    Aurélien Corbin
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Cahiers de vacances de NI
    Présentations en ligne : 12 fondamentaux à réviser, du 9 juillet au 29 aoû...

  • Image processing with cRIO-9074

    Hii...
           I am working on Image Processing. Can anybody send an example of cRIO (fpga interface mode) for Image processing applications.
    I need example for how to use DMA FIFO for sending an image to FPGA, and back to host VI after processing on FPGA.
    Thanks
    Prashanth 

    hey sorry,
      It is job openings board.  Ignore the above thread
    Thanks 

  • Fpga wavefrom chart not working

    Compact rio using fpga. 9014/9114
    In a fpga interface project if I create array and then connect it directly to a waveform chart it says the array needs to be of a fixed size.
    However I have tested using a constant arrary of fixed size, initialise arrary to fixed size...etc but it always comes up with this error when trying to run the VI,
    I have autopreallocate arrays and strings as indicated in the help file but still it comes up with the error.
    Labview 11, sp1 (completely up to date)
    I am running as "execute on development computer"
    The arrary is of type fixed point 27bit integer(output from fft)
    Solved!
    Go to Solution.

    First of all, in your code you are using a Waveform Graph, not a Waveform Chart as what you wrote in your posts before!
    Then DBL is currently a not supported datatype at the LV FPGA platform. There is also a strange issue with Graphs and Charts regarding their type propagation to the FXP datatype.
    So the issue I found is that if you place a Waveform Graph or Chart from the palette, it's DBL. If you then connect a FXP Array you get the error you see since the Graph or Chart does not propagate to the FXP datatype. If you change the datatype of the Array to e.g. I32, the Graphs or Charts datatype changes to I32. If you change the I32 back to FXP then, everything works as it should.
    This means for you, first create an I32 Array and connecti it to the Graph or Chart to get rid of the Fixed Size error. Then change the Array to FXP.
    I need to do some more investigation regarding this issue and will post back.
    Christian

  • Multiple Modbus Servers with Different Unit ID running in cRIO 9074. Possible ?

    Hello
    I want to create an application such that i can create two Modbus I/O slave server (TCP/IP) with different unit ID and can communicate with the slave through Clients. I created this application but only unit ID 1 is working. Is it like this that at a time two modbus slaves cannot work together ? Also I tried with one server and giving different Unit ID but then also it's not working. I found one thread, here is the link.
    http://208.74.204.114/t5/LabVIEW/how-do-i-get-multiple-tcp-ip-modbus-to-work-together/td-p/2239130 
    Are there any updates on this issue.
    Labview 2012 sp1
    cRIO 9074

    I don't fully understand your issue (but I'm trying).
    Traditionally Modbus TCP/IP slaves cannot talk to each other, also the UnitID is mostly moot for MODbus/TCP since ports and IP addresses exist (unless you are building custom applications that will handle UnitID internally, because you have can't have 2 servers running on the same port).
    If you can clarify your first sentence that would help a lot.
    Varun_ECK wrote:
    Hello
    I want to create an application such that i can create two Modbus I/O slave server (TCP/IP) with different unit ID and can communicate with the slave through Clients.
    You want to create 2 MODbus/TCP slave servers, that can talk to other slaves? Or do you want the Master to automatically do things based on the slaves response? Are the TCP slaves on different computers, IP, etc?

Maybe you are looking for

  • In a bit of a pickle and I need some guidance...

    I'm what you call a "Jack of all trades, Master of none". I've dabled in technology since I was a kid, but have never taken any formal classes or had any training on anything. I learned how to use Photoshop, Fireworks and Dreamweaver on my own over t

  • IMP-00017: following statement failed with ORACLE error 2304

    Hi, in 9i DB when importing I have : IMP-00017: following statement failed with ORACLE error 2304: "CREATE TYPE "T_NUMBER" TIMESTAMP '2007-04-02:10:02:26' OID '6B4C21C0310143B" "A97211E5E8301C09E' " " as table of number" IMP-00003: ORACLE error 2304

  • Posting date for MB52 and MB58 transactions

    Hi, I want to add posting date on the selection screen of standard transaction MB52 and MB58 for selecting the stocks within the posting period. I want the table name and the field name for the posting date. Helpful answers will be rewarded. Thanks a

  • CRM_COPY_BADI For Followup Transaction

    Hi, I am currently trying to copy one field from the interaction record in teh IC Webclient to a followup transaction. (These transactions are both business activities).  I believe the field I want to copy is in the SUBJECT method.  I have created an

  • Missing Text in Spotlight and ITunes

    I have an eMac G4 with 10.5.1. Spotlight piles results atop one another at the bottom of the drop-down window (using the menu bar) and cuts off the "Spot" part of spotlight. Additionally, there is no text in the iTunes store OR any license agreement