LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

labview 7.1.1 rt application slows system clock by 1 second evry 25

Hi, I have an application that I'm trying to run on Dell 620 laptops.
It's running under Labview 7.1.1 RT and comunicates to a field point
1001 485 network module every 125 ms. via a NI ENET to RS 485 converter.
 My problem is that when the application is not running the laptop system clock
is fine. But, whenever I run the application, the system clock
slows so that it loses about 1 second out of every 20.
The problem is repeatable between 2 different machines, and does not
seem to be related to antivirus (disabled), firewall (disabled), cpu loading
(cpu use is less than 10%) , ram or video (one machine has onboard video,
the other has a video card).
Any ideas?
thanx
😆
tb

0 Kudos
Message 1 of 5
(2,911 Views)

Hi Terry,

This level of fluctuation of the internal clock is unexpected, so I would like to get some more information about the system:

  • How are you controlling the timing on the host machine (i.e. timed loops, specific wait functions, etc)?
  • How are you communicating data between the target and the host?
  • Is the Real-Time code running as an executable on the target, or are you controlling it from the laptop?
  • How are you monitoring the system time?
  • Can you narrow the code down to some specific functions that can reproduce the error? 

Let me know some of this specific information, and include a basic VI if it is reproducible on a small scale, so that I can investigate this behavior further.

Regards,

Lauren

Applications Engineering
National Instruments
0 Kudos
Message 2 of 5
(2,883 Views)
Do you have a 'wait until next ms' (wun) function?
If so try to understand the following:

Let's say you have a wun of 1000 ms and your code takes 900 ms.
The following happens
Iteration 1               Time 0
End Iteration 1         Time 900
Iteration 2                  Time 1000
End Iteration 2         Time 1900

All goes well, what if Itertion three takes 1010 ms (and this can will happen if you work on a user OS like Windows, Linux, MacOS).

Iteration 3               Time 2000
End Iteration 3         Time 3010
Iteration 4                  Time 4000
End Iteration 4         Time 4900.

Oops, a missing second.

Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 3 of 5
(2,874 Views)
Hi, I've been busy with other stuff, but finally I got back to chasing this problem

First a clarification, the laptops are running lv 7.1.1 but they are NOT running real
time.

Second Tonp suggested that it might be the timing method. This was not the case.
I used both a timed loop and a while loop with a "wait till next ms multiple", not a "wait".
The error was present indepent of the two timing methods.

After trying the application on a couple of systems with 485 cards and swapping the
enet to 485 box in and out it became apparent the problem was with the laptops.
Turns out I had to turn OFF "Dual Core" in the bios. Somehow, having the "Dual CORE"
enabled did not agree with using an older non multi core version of labview.
After disabling dual core in the bios, the application runs correctly and the system
does not drop time.

thanx
😆
tb
0 Kudos
Message 4 of 5
(2,816 Views)


@terry_bell wrote:
Turns out I had to turn OFF "Dual Core" in the bios. Somehow, having the "Dual CORE"
enabled did not agree with using an older non multi core version of labview.
After disabling dual core in the bios, the application runs correctly and the system
does not drop time.

thanx
😆
tb


Terry,

Good you solved it, how old is your LabVIEW? Since LabVIEW 5.x the compiler creates multiple threads.

Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 5 of 5
(2,791 Views)