PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Error using SWITCH 'No Action' mode

I'm getting the following error from my PXI-2532B:

 

Invalid Scan List string.

 

'Invalid identifier after the device identifier in the list entry'

 

Invalid Identifier: ~

Line Number: 1

Position in Line: 12

 

After doing the following:

 

  1. Configure an immediatly triggered scan to connect both C0 and C1 to R0 ("No Action" mode).
  2. Start the scan. This executes immediatly and seems to work fine.
  3. Configure an externally triggered software scan ("No Action" mode) to:
    1. Disconnect C1 from R0, and then connect it to R1 instead
    2. Wait for trigger
    3. Disconnect C1 from R1, and connect it back to R0 instead.
  4. Start the scan (so the device is waiting for a trigger). This is when the error is thrown.

Here are the two scan strings:

Scan List String 1 (immediate trigger, No Action): C0 -> R0; C1 -> R0

Scan List String 2 (external trigger, No Action): ~C1->R0 && C1->R1; ~C1->R1 && C1->R0

 

There seems to be a problem with Scan List String 2, if the error is to be believed, but I can't work out what it is.

 

Thanks,

 

Christian.

0 Kudos
Message 1 of 4
(3,994 Views)

Hello,

 

Are the scans performed sequentially? If so, do they loop?

 

If you are only performing the immediately triggered scan once per run, you could try to change the scan mode for the second scan and change the Scan List String 2 to accomodate this.

 

I have managed to recreate the error, and for me it disappears when I remove the first part of Scan List String 2, making it into: "C1->R1; ~C1->R1 && C1->R0

 

Perhaps there is some way to reformat the scan strings, while still maintaining the functionality of your application?

 

 

Would it be possible for you to provide the code?

 

 

Thank you,

 

Christopher

 

0 Kudos
Message 2 of 4
(3,933 Views)

Hi, thanks for the reply. Good to know it's reproducible. At the moment the two scans are performed sequentially, just once. I'm configuring and software-triggering the first scan with one button click, waiting to check that it was successful, and then configuring and 'arming' the second scan with another button click. Eventually this will all happen programatically and the second scan will be retriggered several times (also in the real application, a lot more channels will be used).

 

I've managed to make it work based on what you suggested - I've merged the two scans into one scan so that all of the original first scan occurs before the first semicolon of the new combined scan. I was using scan 1 as a kind of default state setter, and hoping to only have to run it once at the start of the program. Then scan 2 would run repeatedly after that, changing things from and returning them to the default state. Now the two scans are combined, I guess there's a bit of extra overhead in that I'm running the default-setting part multiple times unnecessarily, but that's OK for now.

 

Thanks again,

 

Christian.

 

0 Kudos
Message 3 of 4
(3,919 Views)

Glad to know that you managed to get it working, even if there is some extra overhead.

 

 

You could also try the initial approach with the second scanlist starting with a semicolon. This will require an extra trigger, but I do not think that it would result in much overhead. I have not tested this, but you could try it out when expanding your application.

 

Like this:

Scan List String 1: C0 -> R0; C1 -> R0

Scan List String 2: ;~C1->R0 && C1->R1; ~C1->R1 && C1->R0

 

0 Kudos
Message 4 of 4
(3,908 Views)