Forums › SA Series Discussions › Actively change reference levels in LabView
- This topic has 6 replies, 3 voices, and was last updated 9 years, 9 months ago by
Lior.
- AuthorPosts
sarah.bParticipantI 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
AndrewModeratorHello 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.
sarah.bParticipantA.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
sarah.bParticipantHello,
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
AndrewModeratorHello 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.
sarah.bParticipantOk, I will experiment with it further.
Thank you for your help.
LiorParticipantHello,
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.- AuthorPosts
You must be logged in to reply to this topic.