The brand-new PN400 Phase Noise Test System is available for purchase! →

Actively change reference levels in LabView

Forums › SA Series Discussions › Actively change reference levels in LabView

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #44356
    sarah.b
    Participant

    I am trying to write some API software for the SA44B using LabView. I would like to automate reference level changes so that it can actively change during signal sweeping.

    I currently have a loop that collects my sweep information. It outputs this info into a graph, and collects the maximum value. This maximum value is then used with case statements to determine if the reference level should be changed. I’m using the saConfigLevel function to change the reference level. I know the function works because I can set the reference level at the beginning of execution. However, when I use it inside the loop and case statements, it correctly updates the indicator used to see the current reference level, but fails to change the reference level for the device itself.

    Any ideas are welcome.
    Thanks

    #44363
    AndrewAndrew
    Moderator

    Hello Sarah.b,

    Just to clarify you are calling saInitiate() again after changing the reference level? This is required anytime you want to update any pending configuration changes.

    Regards,
    A.J.

    #44370
    sarah.b
    Participant

    A.J.

    I was not calling saInitiate after making my changes. I have added the call, and my program is working now.

    Thank you for your help,
    Sarah

    #45698
    sarah.b
    Participant

    Hello,

    I am now trying to make the saGetSerialNumberList function to work in my LabView program. I would like to be able to list the serial numbers of the devices I have plugged in to my computer. At the moment, I have 2 devices. According to the description in the API manual, I’m doing everything right, but I am never seeing a list of serial numbers. I don’t have the get serial number function connected to any of my other functions because it doesn’t appear to require it. I am giving it an 8D array of int 32 and an int 32 for the deviceCount. Both of these inputs have been defined as pointers as specified in the Manual.

    Thank you for your help

    #45718
    AndrewAndrew
    Moderator

    Hello Sarah,

    I do not have enough familiarity with Labview to resolve this I believe. My co-worker is the one familiar with Labview. He is on vacation and will be back next week. Email justin@teplus.com and he will get back to you.

    Some notes: The function should take a pointer to an array very similarly to the get sweep functions. Labview might treat integer arrays differently. You can see this function in action if you start the Spike software with no devices attached, then plug in both devices and go to the File -> Connect menu. You should see a list of your devices which is generated with the GetSerialNumberList function. The serial numbers will not appear if the devices have been opened with the saOpenDevice function. If either parameter is null then the function will return early as well.

    Regards,
    A.J.

    #45740
    sarah.b
    Participant

    Ok, I will experiment with it further.

    Thank you for your help.

    #46134
    Lior
    Participant

    Hello,
    Did you try the LV driver I posted few months ago? The SH_Init VI initializes the 1st Signal hound device, however, it is trivial to change it to return all the serial numbers present in a system.

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.