SCPI命令VB.net在循环中显示值
我通过GPIB-USB向信号发生器发送SCPI命令。我正在发送一个改变频率的命令,这个命令是循环的,所以频率会一直改变,直到循环完成。这是成功的。我还发送了一个命令来读取频率。我希望能够读取每一步的频率 我用它作为从信号发生器读写的参考 我遇到的问题是,在我完成循环之前,频率不会显示在我的文本框中。然后,我看到最后一个频率,是500。我在VisualStudio中插入了一个断点,我确实看到频率值正在更改,但是我的文本框(应该显示该值)没有正确更新。信号发生器上的值也在变化。我甚至尝试只显示F而不是sig gen的值。我的程序只是不想在我创建的文本框中显示频率,直到循环完成。 为什么我不能一步一步地阅读每个频率?我如何解决这个问题SCPI命令VB.net在循环中显示值,vb.net,visual-studio,gpib,Vb.net,Visual Studio,Gpib,我通过GPIB-USB向信号发生器发送SCPI命令。我正在发送一个改变频率的命令,这个命令是循环的,所以频率会一直改变,直到循环完成。这是成功的。我还发送了一个命令来读取频率。我希望能够读取每一步的频率 我用它作为从信号发生器读写的参考 我遇到的问题是,在我完成循环之前,频率不会显示在我的文本框中。然后,我看到最后一个频率,是500。我在VisualStudio中插入了一个断点,我确实看到频率值正在更改,但是我的文本框(应该显示该值)没有正确更新。信号发生器上的值也在变化。我甚至尝试只显示F而不
Dim F As Integer
Dim Frequency As Integer
Dim dblData As Double
Dim strReply As String
For F = 30 To 500 'MHz 30 to 500
System.Threading.Thread.Sleep(100) 'delay of 100 ms
Frequency = F
instrument.WriteString("FREQ" & Str$(F) & "MHZ") 'send SCPI command, with F being converted to string
System.Threading.Thread.Sleep(100)
instrument.WriteString("FREQ?") 'ask signal generator what frequency is
System.Threading.Thread.Sleep(100)
strReply = instrument.ReadString()
dblData = Val(strReply)
SigGenFreqValueLabel.Text = dblData 'display frequency from signal generator in text box
Console.WriteLine("Frequency" & F) 'Testing if this portion of the for loop is reached
Next
决议:
我在SigGenFreqValueLabel.Text=dblData下面插入了Application.DoEvents()