【问题标题】:SCPI Command VB.net negative integer to string errorSCPI 命令 VB.net 负整数到字符串错误
【发布时间】:2018-02-27 19:35:31
【问题描述】:

在 VB.net 中,我通过 GPIB-to-USB 将 SCPI 命令发送到安捷伦/是德科技设备。我正在使用此示例将数据写入仪器。 https://www.keysight.com/main/editorial.jspx?cc=BR&lc=por&ckey=492255&nid=-33170.1090751.08&id=492255

这是我遇到问题的部分代码。

Dim P As Integer
    Dim Power As Integer
    For P = -50 To 0 Step 10
        System.Threading.Thread.Sleep(500)
        Power = P
        instrument.WriteString("POW" & Str$(P) & "dbm")
        Console.WriteLine("Power" & P) 'Testing if this portion of the for loop is reached

我的代码构建成功,但我与之通信的设备显示一条错误消息,指出“分隔符无效”。我认为问题在于 P 以负数开头。如果我要做类似的事情,对于 P=0 到 10 步骤 1,它将在接收命令的设备上工作。但是, Str$ 似乎不适用于负数。使用 Console.WriteLine,我确实看到我的循环在控制台输出中正常工作。根据控制台输出,循环的结构不是问题。

如何使 P 从负数开始工作?我测试了代码和设备,看看它是否可以通过简单地使用 instrument.WriteString("POW -5 dbm") 来获取负数,并且可以。我真的相信问题涉及 Str$。我也尝试过 ("POW" & P.​​ToString() & "dbm") 但这也不起作用。我也用 CStr 替换了 Str$ ,但这也不起作用。另请注意,睡眠/延迟不是问题,因为我在另一个 for 循环中实现了它并且它没有错误地工作。

【问题讨论】:

    标签: vb.net visual-studio gpib


    【解决方案1】:

    我刚刚想通了。 POW 后面必须有一个空格。它应该看起来像“POW”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多