【问题标题】:What syntax does labview use when communicatinglabview在通信时使用什么语法
【发布时间】:2018-01-09 23:10:48
【问题描述】:

我使用的代码仍然适用于公司购买的新版本设备。

我无法与 Visual Studio 中的 vb 中的设备通信(我写的最后一个代码的语言)。但是我可以在LabVIEW中编写一个简单的代码来查看设备是否正在通信。

那么,我的问题是labview 向设备发送什么代码? 我从 LabVIEW GUI 中看到的唯一内容是 *IDN?\n

这和我写的一样吗?

mySerialport.WriteLine("*idn?" + Chr(10))

【问题讨论】:

  • 这与your last post 有何不同,除了更广泛之外?
  • 如果您没有任何帮助,至少发布labview代码(框图)。

标签: vb.net labview


【解决方案1】:
*IDN?\n

不等于:

mySerialport.WriteLine("*idn?" + Chr(10))

前者大写,后者不大写,可能会因工具而异。

您使用的是串行端口,所以要考虑的最重要的事情是波特率。您公司购买的较新型号设备的波特率可能与以前使用的设备不同。

如果您想准确查看 LabVIEW 发送的数据,可以使用 NI IO Trace 或非 NI 串行端口监视器,例如列出的here

【讨论】:

    【解决方案2】:

    问题不在于 LabVIEW 使用什么语言。 LabVIEW 是一个编程环境,其库 API 可与大量硬件对话,并且任何人都可以编写代码与更多硬件对话。问题是“硬件说什么语言?”要回答这个问题,您需要发布它是什么类型的硬件,并且可能会访问制造商的网站以获取规格表。

    “*IDN?/n”看起来像一个GPIB命令,它只是一个框架串行协议。您需要硬件规格表才能了解您的硬件可以理解的特定命令。

    PS:LabVIEW 没有显示任何有关硬件通信的 GUI。您有一个用 LabVIEW 编写的应用程序,它有一个显示信息的 GUI。如果需要,您可以编辑程序以打印出更多信息,就像在 VB 中一样。在这种情况下抱怨“LabVIEW GUI”就相当于抱怨Visual Studio GUI 的问题出在你用VS 编写的程序上!

    【讨论】:

    • 感谢您的输入...不确定我在labview 中做什么(如您所见)...我可以与它交流。
    • *来自制造网站:发送 *IDN? (只是为了确保您的应用程序发送回车和/或换行).....这是我的想法我在做。
    • Chr(10) 与 CR+LF 不同。十只是回车符。 WriteLine("*idn?" + Chr(10) + Chr(13)) 就是你需要的。
    • \n 是平台换行符,在 Windows 上是 2 个字符,CR 和 LF。
    【解决方案3】:

    “我从 labview GUI 看到的唯一内容是 *IDN?/n”

    这听起来更像是在使用 MAX(Measurement and Automation eXplorer)中的 VISA 测试面板。它与 LabVIEW 的相关之处在于它也是美国国家仪器 (NI) 开发的工具。但听起来您并没有真正接触过 LabVIEW 本身。

    如前所述,*IDN?\n 是遵循 SCPI 消息传递标准的仪器的典型命令。在 Windows 系统上,这通常与“*idn?”相同。 + Chr(13) + Chr(10)。

    【讨论】:

      【解决方案4】:

      正如 SeanJ 指出的那样,*IDN?\n 与“idn?”不同。此外,请确保调用方法中的空格字符可见。有时机器需要您手动输入“\r\n”来完成回车。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-11
        • 1970-01-01
        相关资源
        最近更新 更多