Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Zaber设备诊断通信问题_C#_Labview_Zaber - Fatal编程技术网

C# 使用Zaber设备诊断通信问题

C# 使用Zaber设备诊断通信问题,c#,labview,zaber,C#,Labview,Zaber,当我编写控制Zaber设备的软件时,有时会出现我不理解的奇怪行为。通常它是由我的脚本或其他软件中的错误引起的,有时是硬件问题,比如串行端口上的连接松动 我如何才能准确地看到我的软件发送的命令以及设备如何响应?我想要一种可以搜索的日志文件,看看是什么导致了错误 大多数情况下,我使用C#在Zaber控制台中编写脚本,但我也使用Zaber仪器驱动程序编写LabVIEW VIs。有几种技术可以查看向Zaber设备发送和从Zaber设备接收的原始数据。有些仅限于某些操作系统,有些仅与某些软件配合使用。大多

当我编写控制Zaber设备的软件时,有时会出现我不理解的奇怪行为。通常它是由我的脚本或其他软件中的错误引起的,有时是硬件问题,比如串行端口上的连接松动

我如何才能准确地看到我的软件发送的命令以及设备如何响应?我想要一种可以搜索的日志文件,看看是什么导致了错误


大多数情况下,我使用C#在Zaber控制台中编写脚本,但我也使用Zaber仪器驱动程序编写LabVIEW VIs。

有几种技术可以查看向Zaber设备发送和从Zaber设备接收的原始数据。有些仅限于某些操作系统,有些仅与某些软件配合使用。大多数选项都涉及查看原始数据,因此请在用户手册中查看有关的详细信息,以及一个列表

下面,我将尝试列出一些选项,并告诉您它们何时可用

Zaber控制台日志窗口 仅在Zaber控制台中,仅在Windows上

如果您使用的是Zaber控制台脚本或插件,这是最简单的技术。右上角的窗口为您记录所有请求和响应。如果在问题发生之前清除窗口,并在问题发生后立即停止脚本,您可能会发现跟踪问题更容易。一个缺点是没有显示一些损坏的消息,您只看到部分数据包超时错误。如果要从顶部滚动显示所需的消息,请更改“高级”选项卡上的日志大小

波特蒙 仅在32位Windows上

这是一个很棒的工具,我很遗憾它从未升级到64位Windows。如果您仍在运行32位版本的Windows,那么值得一试。我发现最新版本3.03对我来说不起作用,但3.02仍然起作用。如果不起作用,那么搜索通常会找到一些带有旧版本的站点

  • 在版本3.02中,打开“计算机”菜单并选择“连接本地”
  • 从Capture(捕获)菜单中,选择Ports(端口):COM1或任何要连接的串行端口。确保您的软件当前已关闭,否则Portmon将无法连接到串行端口。有时在使用Portmon后,您必须重新启动计算机,使其释放串行端口
  • 从编辑菜单中,选择筛选/高亮显示。。。并将Include设置为
    IRP_MJ_READ;IRP_MJ_写入
  • 在选项菜单上,启用显示十六进制和时钟时间
  • 尝试从软件发送一些命令,然后查看Portmon窗口。在加宽另一列后,您应该会看到类似的内容

在屏幕截图中,您可以看到正在发送两个命令(每个命令发送一个6字节的块),以及返回两个响应(每个响应发送6个1字节的块)。请记住,显示使用十六进制数字,因此第一个命令是14十六进制或20十进制(绝对移动)

*** 我为波特蒙找到的最好的替代品是。它不是免费的,但有试用期,而且许可证相当便宜。我认为它可能比Portmon更强大,但它不容易使用

以下是我发现对记录Zaber设备命令非常有用的设置。安装并启动Device Monitoring Studio后,我在端口列表中单击了要监视的串行端口。这将打开一个可用视图列表,我双击RequestView。在右侧,我单击开始按钮。这将打开“请求”视图,然后单击“完成”选项卡

现在,当我向设备发送一些命令时,我会看到读取和写入请求以及数据的十六进制和文本显示。这是上面的Portmon屏幕截图

同样,第一个命令是14十六进制或20十进制(绝对移动)

NI间谍或NI I/O跟踪 可从LabVIEW获得

这个选项并不容易阅读,但它随LabVIEW提供,您可以阅读如何启动它。这是NI间谍工具的截图。我认为它与旧版本的LabVIEW一起出现