Error 5002 lagging?

Post Reply
eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Error 5002 lagging?

Post by eegquestion »

I'm trying to run Actiview 605 Laptop along with a data-collecting program for motion monitors on the same computer. The Actiview runs fine until I start trying to record from the other program, and then I get:

Error 5002 occurred at ActiveTwo Synchronization
Possible reason(s):

Unsupported speedmode (check version of ActiVIEW)
or
Intermittent data loss (check optical fiber)
or
USB driver not properly closed on exit (restart LABVIEW and ActiVIEW)

I'm pretty sure we have the most recent version of Actiview. I tried changing the optical fiber and restarting LABVIEW/ActiVIEW--no luck. Since there's no problem at all when I run Actiview alone, all signs point to the simultaneous running of both programs as the problem. I was wondering, does this error come up because the computer is doing too much processing to keep the EEG collecting up to speed? And is there anyway to get around this?

Any advice would be appreciated. Thanks in advance!

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

The buffer clock in the right lower corner of ActiView indicates the writing/reading out of ActiveTwo data in/out the ringbuffer. The red needle indicates writing data from the USB into the buffer. The green needle indicates reading data out of the buffer by ActiView. Normally, the green needle (reading) is able the track the red needle (writing) closely. If ActiView cannot keep up with the incoming data (processor too slow), the green needle increasing lags behind the red needle (until an error pops up when the lag has become a full revolution).

How is the behavior of the buffer clock between the moment that you start the motion program, and the moment that ActiView shows an error ?

How much time passes between starting the motion program, and the popup of an error in ActiView ?

Are you able to run ActiView Light (http://www.biosemi.com/download/ActiView604-Light.zip) simultaneously with the motion program ?

Can you run other programs (such as video streaming etc.) simultaneously with ActiView ?

Can you run other programs (such as video streaming etc.) simultaneously the motion software ?

Best regards, Coen (BioSemi)

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Hi Coen,

Thanks so much for your speedy response. I'm not sure if the problem is lagging anymore after your explanation of how the buffer clock works. As an answer to your questions:

How is the behavior of the buffer clock between the moment that you start the motion program, and the moment that ActiView shows an error ?
The green needle is able to keep up with the red needle with no problem (they are pretty much right on top of each other).

How much time passes between starting the motion program, and the popup of an error in ActiView ?
Around 2-3 seconds (starting the motion program works fine, it's just when I try streaming from the monitors that the problem occurs).

Are you able to run ActiView Light (http://www.biosemi.com/download/ActiView604-Light.zip) simultaneously with the motion program ?
Yes! Would this give the same data as the Laptop version?

Can you run other programs (such as video streaming etc.) simultaneously with ActiView ?
Yes, I tried streaming some videos from Youtube and it works fine.

Can you run other programs (such as video streaming etc.) simultaneously the motion software ?
Yes

Please let me know if these results give a hint as to what the problem is.

Thank you in advance,
Renee

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

ActiView-Light is the basic acquisition core of ActiView (communication with USB driver, reading data from the ring-buffer). The numbers you see flashing on screen are the direct incoming data words from the ADCs in the AD-box. In full ActiView, the same data words are further processed into scrolling charts and BDF files. However, this display of the signals on screen and streaming to disk takes quite a lot of memory and processing power (much more than the basic acquisistion core). So, the observation that ActiView-Light runs, whereas full ActiView crashes, suggest that it is some sort of PC performance problem. The good news is that apparently the problem is not in the USB driver or basic data acquisition.

Your description of buffer-clock behavior indeed suggest that the problem is not simply a CPU that can't keep up (in that cased you would surely see lagging of the green needle, and the time between start of motion streaming and error popup would be at least 10-20 seconds). I suspect a memory problem (overflow ?) but must admit that I do not understand currently what exactly is going wrong.

Please observe the CPU and Physical Memory usage in the Windows Task Manager with both the full ActiView and ActiView-Light cases during the start of motion streaming. If Physical Memory usage is close to the maximum, then I would try things on a PC with more memory.

I assume that you are now working with 32-bit Windows XP. Things would maybe work better with 64-bit Windows 7, LabVIEW Run-Time-Engine 8.6.2, and ActiView 7.00 or higher (and ample memory).

Best regards, Coen (BioSemi)

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Hi Coen,

Thanks so much for your help! Sorry I just realized Biosemi came out with Actiview version 705, and that seems to be working with the motion capture program; I apologize for the confusion. May I ask you one more question? I added a little code to allow for external triggering from the USB driver in Actiview 605, and I noticed the new code has a similar set up in the code already-just inside the while loop of case 4 (though I set my trigger as a control and there it seems to be just a uint16.) Will it be alright if I copy and paste my other code that causes the trigger? I'm not sure what this trigger setup in Actiview 705 is doing.

Thanks in advance,
Renee

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Hi again Coen,

Actually, with further testing of Actiview 705, I've noticed that it's having this 5002 error intermittently just by itself (without me trying to run the motion program). It does seem to be due to lag (when I try to move the front panel, it often gives this error), but the buffer clock still is showing identical behavior.

I checked out my computer's memory while Actiview is running and it seems to be ok (please see attached image). I'm using a 64-bit Windows 7 professional. LabVIEW Run-Time-Engine is only useful if we want to run the original Actiview code without any modifications, correct? I've added some minor things into the code to trigger other programs, but I'm still experiencing this error 5002 with the original code.

Do you know of anyone else who has experienced this error with the new Actiview? Any help is appreciated.

Thanks,
Renee
Attachments
computer usage during error.PNG
computer usage during error.PNG (54.6 KiB) Viewed 20573 times

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

A sync error (5002) is usually caused by a bad optical link or USB link (hardware problem causes intermittent data loss). Please carefully test again whether the error is linked to a certain repeatable software action in your case. If the error occurs intermittently, than a hardware problem is most likely. The reason that we discussed software issues above, is that you seemed certain initially that the error was linked to a specific software action (starting streaming of motion data). Now that this does not seem the case anymore, a hardware problem is by far the most probably cause (actually, we have not yet seen any error 5002 occurrence caused by software issues yet). Lagging problems cause a 5001 (buffer overflow) error.

The basic acquisition (and error handling) of ActiView 6.05, 7.05 and Light-6.04 is exactly the same. The code differences between ActiView 6.05 and 7.05 are very small (and everything related driver communication and error handling is the same). ActiView 6.05 loaded with ActiView 8.6.1 or higher is basically 7.05. Different behavior with respect to error 5002 is very difficult to imagine.

I understand that you are running the VI version under the full LabVIEW programming environment (which version ?). In order to test whether the problem is linked to a specific LabVIEW version, please test the exe version of ActiView 7.05 under Run-Time-Engine 8.6.1 (this give similar behavior as running the VI under LabVIEW 8.6.1).

An example of properly sending outgoing triggers is found in ActiView-Light. However, it is quite easy to make programming mistakes that would lead to sync errors when sending triggers. So, the main question is now: do you see sync errors when running unmodified ActiView code, or only with versions modified by you ?

Best regards, Coen (BioSemi)

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Hi Coen,

Sorry for the late reply; I got sidetracked on some other projects. I think you may have pinpointed the problem though; I'm using Labview 2012 and I tested the exe version of Actiview 7.05 under Runtime Engine 8.6.1 and that one doesn't seem to have the error 5002 or this other error I recently noticed that happens when the unmodified code is running as well (see attached image-electrodes in the G/H area appear to be coming ungrounded; this happens when no electrodes are actually attached to the Biosemi system).

I'm currently trying to obtain Labview version 8.6.1 to see if that solves the issues. I'll update here after I see how that goes.

Thanks so much,
Renee
Attachments
ungrounded2.PNG
ungrounded2.PNG (133.33 KiB) Viewed 20372 times

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

It is extremely unlikely that the version of LabVIEW has anything to do with it. I think that it is either a hardware problem (unmodified code) or a problem with how you sent out triggers (modified code).

Your screenshot shows intermittent data loss (bad optical link, bad USB link, etc).

Best regards, Coen

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Sorry, did I misunderstand what you were saying? When I run the unmodified code in Labview (Actiview 7.05), I see these errors. When I run the same code using the Labiew runtime engine 8.6.1, I don't see these errors. So I don't think it's a hardware problem (I've changed the fiber optic cable, USB cable, etc. with seeing the same results).

Thanks,
Renee

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

Very strange ! If LAbVIEW 2012 would be the cause, then the 5002 errors would also occur when you run (unmodified) ActiView-Light in LabVIEW 2012. You stated above that ActiView-Light runs without errors.

How often do the errors occur ?

Best regards, Coen (BioSemi)

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Hi Coen,

Actually after you mentioned that, I realized that we may have installed Labview 2012 in between my last forum post and my most recent reply. So I tested the Actiview Light version again and that also throws the 5002 error when I start the Motion Studio software.

To summarize my round of testing since we've gotten Labview 2012,

Testing Actiview 705 Lores/Laptop in Labview: the "ungrounding" error appears occasionally (not regularly, maybe every 3-7 screen passes) when not running any other software, and I get error 5002 when I try running the motion tracking software

Testing Actiview 705 Lores/Laptop using the executable with Labview Runtime Version 8.6.1: no ungrounding error occurs when running executable by itself. No error 5002 occurs when I try running the motion tracking software

Testing Actiview 605 Light-ABR: get error 5002 when I try running the motion tracking software. Can't see if the ungrounding error occurs, but it seems to continue to run fine if I don't open the motion tracking software.

I ran these tests both without any electrodes attached to the Biosemi equipment and also with the electrodes in a saltwater solution and got the same results both times.

Do you have any other suggestions? I really appreciate your advice troubleshooting this; I'll keep testing on my end and see if I can find any helpful patterns.

Thanks,
Renee

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

Hi Coen,

I haven't been able to pinpoint what is causing the errors, but I was trying to brainstorm some work-arounds to using live Labview to run the program. Do you think if I build an executable of my file with modifications and use the Run-Time Engine to run that, it would work similarly to the provided Actiview application? I know this seems weird because running the VI and using the Run-Time Engine should be doing the same thing, but I'm not sure what else to try at this point. That's how the Actiview application was created, correct? By building an executable of the corresponding VI?

We don't actually have the Labview Application Builder software, so I want to make sure I'm making sense before we buy it.

Thanks,
Renee

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

We have never seen any functionality differences between the VI (running under LabVIEW) and the executable (running under the Run-Time-Engine). I am very sure that buying the Application Builder is a waste of money in your case.

It is difficult to imagine how a changing to a different LabVIEW version can cause these kind of erratic and random loss of bits (the sync errors are caused because of lost bits in the data stream). If you are sure that the problems are present with the UNMODIFIED versions of ActiView, then I am still convinced that the cause of the errors is a hardware problem. I would recommend swapping the USB receiver, and replacing the optical transmitter in the AD-box.

Best regards, Coen (BioSemi)

eegquestion
Posts: 10
Joined: Tue Feb 05, 2013 3:20 am

Re: Error 5002 lagging?

Post by eegquestion »

I know, I agree that it's very strange that we're seeing these differences in running the VI and the executable, but I've tested this over ten times now and I'm definitely consistently seeing this random loss of bits when running the VI and error 5002 when I start the motion tracking system and none of these when just running the executable. I haven't touched the hardware at all when running these different tests. I'd love to try your suggestions of switching out the USB receiver and optical transmitter, but unfortunately we only have one set of hardware in the lab here and since I'm the only one not running the executable, I don't think we could buy a new set just for me.

I noticed in the FAQ section, "Do we need LabVIEW to be able to run the BioSemi acquisition software?" that it says:
"In addition, we can develop custom-made real time analysis modules according to your specifications, or even integrate calls to subroutines provided by you into our programs, and then compile the end-result into an executable."

Does this mean you could help me out and compile my modified VI into an executable so I can test to see if we still see these errors? I'd appreciate it so much. Please let me know.

Thanks,
Renee

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Re: Error 5002 lagging?

Post by Coen »

It´s no problem to build an 8.6.1 exe for you, but it is a problem that my LabVIEW 8.6.1 cannot load your code written in LabVIEW 2012. I doubt that the "Save for Previous Version" in 2012 will allow to go back as far as 8.6.1. If the additions are only minor changes and additions, then just sent me screenshots of the diagrams, and I will try to redraw your changes in LabVIEW 8.6.1, and build the executable.

Best regards, Coen (BioSemi)

Post Reply