Jump to content

CompactRIO RT freeze when I use "Set Time.vi"


Recommended Posts

Hi everyone,

 

I'm using a compactRIO and need to update the internal time of the device to be clock synchronized with my whole system. Everything seemed to work perfectly but when I try to apply an offset between 0 and -30 seconds, my compactRIO freeze. Nothing happen if I apply a positive offset or an offset "higher" (in a negative way) than -30 sec.

 

The duration of the freeze equals the offset I apply on my device and after this delay, everything comes back to normal. The freeze affects all my RT code (other processus as well) and not only the VI where I use the "Set Time.vi". The FPGA seems to be working during the freeze time because I got "DMA is full" error after the freeze and some LEDs keep blinking during the whole time.

 

Has any of you already noted something similar on compactRIO 9068 (Linux) ? Or do you have any idea of what is going on ?

 

Thanks for you help.

Nicolas

 

Additionnal informations :

   - LabVIEW 2013 SP1

   - NI RIO 14.0.1

   - CompactRIO 9068

   - Linux Embedded

   - LavBIEW Real-Time 13.0.1

Edited by azerty
Link to post
Share on other sites

Are you using timed loops with the time source set to absolute time? Since the loop is tied to absolute time I've seen this cause issues when the system time is modified.

Do regular while loops freeze too?

How are you determining that things have frozen? Are you running in interactive mode? If so, does it disconnect when you trigger this change?

Are there any other sections of your code where you are changing behavior based on a timestamp?

Link to post
Share on other sites

Hi smithd,

 

Are you using timed loops with the time source set to absolute time? Since the loop is tied to absolute time I've seen this cause issues when the system time is modified.

 

Off course not. I was using simple "Tick Count.vi" or "Wait.vi" but the problem occures even without any timing function.

 

Do regular while loops freeze too?

 

Yes.

 

How are you determining that things have frozen? Are you running in interactive mode? If so, does it disconnect when you trigger this change?

 

I'm using the compactRIO in interactive mode yes but it also happen with an rtexe.

 

I make the RT LED blink every 200ms and the LED stop blinking during the freeze, then blink again.

 

No the compactRIO stay connected during the freeze.

 

Are there any other sections of your code where you are changing behavior based on a timestamp?

 

Only one process changes the timestamp of the compactRIO and several processes are based on this timestamp. But this is not a problem because I detect internal clock modifications and inhibit any malfunction related to this modification.

Edited by azerty
Link to post
Share on other sites
  • 2 weeks later...

After many tests, using LabVIEW 2014 & NI Real Time 14.0.1 seems to "solve" the issue.

 

I don't have informations or explanations about the behavior described above, but I will update this topic if I got somes from NI. Meanwhile, Linux compactRIO users should consider to use NI RT 14.0.1 instead of 13.0.1.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By grjgrj
      Hello. I need change some code for SbRIO-9626 with LabVIEW 2018. I have code from LabVIEW 2015. Right now I have only LabVIEW 2018. And I worked with it for SbRIO-9627.
      LabVIEW FPGA, LabVIEW Real-Time, NICRIO1800 driver istalled.
      And I install Xilinx ISE 11.5 Compilation Tool too. 
      When I start compilation FPGA VI I got error about problem with compilation too (see attachment picture).
      Could you tell me how I can solve this problem? 
      It is very important. 

    • By Marcos dos Santos
      Hello!
      I'm trying to use AMQP protocol to send data from a CRIO.
      I've tried using LabbitMQ and zeroMQ libraries, and when I test it from my computer (windows), it works with no problems.
      But when I try to put the code on CRIO, there's a lot of errors caused by broken wires. It looks like a .dll or .NET incompatibility.
      Is there any compatible library for CRIO or some clues about how to make it works?

    • By PLeVasseur
      Some background: I'm trying to use the name of the library my VI is executing in as part of a string which will be used in the name of a Rendezvous, to keep it distinct from other Rendezvous I will create.
       
      When attempting to use the VI Property Node to access the Library property on the CompactRIO, error code 1 is returned. Running the same code on my computer runs as expected and returns the Library. Accessing the VI Name using the Property Node appears to work no problem on the RT, though.
       
      Does anyone know what could be causing the problem? I tried searching the documentation, but didn't turn up anything. Is this error part of some general behavior wherein some VI properties are not accessible when a VI is running on a real-time target?
       
      Code is attached. Please see attached pictures:
       
      Project Explorer:

       
      Block Diagram:

       
      Front Panel - RT Results:

       
      Front Panel - Computer Results:

      Experiment with VI Property Node Error.zip
    • By PLeVasseur
      I would like to use programmatic access to manipulate shared variables on a computer and an NI cRIO 9033, but cannot get programmatic access to shared variables on the cRIO.
      I have boiled the situation down to a simple example to try to explain what I am seeing. The shared variables are hosted on the cRIO. I am using the same VI to perform the accesses on the computer and the cRIO. On the computer, access to the shared variable via a shared variable node and programmatic access both work. On the cRIO, access to the shared variable via a shared variable node is functional, but programmatic access to the shared variable does not work.
      The error code received when trying to to a Read Variable or Open Variable Connection on the cRIO to the shared variable is -1950678943. The error text reads "Timed out while attempting to open a connection to the variable."
      I'm quickly becoming confused as to why the cRIO should have trouble reading a shared variable programmatically that is hosted on itself. The web searches I have done haven't turned up such a simple scenario causing this error, so I'm wondering if I've stumbled into a beginner mistake. I have attached the source code to this post, so if someone could please take a look that would really help!
      Block Diagram:

      Result of running on computer (programmatic and shared variable node access both work):

      Result of running on NI cRIO 9033 (programmatic shared variable access does not work, shared variable node access does work):

      Test Access to Shared Variable from cRIO.zip
    • By jpeg
      Hello, everyone!
      I wanted to introduce the new MH-LCD-216, the very first cRIO display module. This is something that we know a lot of people have been asking for, so we are very excited to offer this new module to the LabVIEW community. We debuted the MH-LCD-216 at NI Week 2012 and the positive feedback was overwhelming. The website below has additional information and don't hesitate to give me a call or post here with any questions.
      MH-LCD-216 cRIO Display Module
      Happy compiling!
      Jpeg
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.