当我编写软件来控制Zaber设备时,我有时会遇到一些我不理解的奇怪行为。通常它是由我的脚本或其他软件中的错误引起的,有时这是一个硬件问题,如串口上的连接松动。
如何准确查看我的软件发送的命令以及设备的响应方式?我想要一种我可以搜索的日志文件来查看导致错误的原因。
通常,我使用C#在Zaber Console中编写脚本,但我也使用Zaber仪器驱动程序编写LabVIEW VI。
答案 0 :(得分:2)
有几种技术可以查看发送到Zaber设备和从Zaber设备接收的原始数据。有些仅限于某些操作系统,有些仅适用于某些软件。大多数选项都涉及查看原始数据,因此请查看用户手册以获取有关message format的详细信息以及command numbers列表。
下面,我将尝试列出一些选项并告诉您它们何时可用。
仅限Zaber控制台,仅限Windows。
如果您使用Zaber Console脚本或插件,这是最简单的技术。右上角的窗口会记录您的所有请求和响应。如果在问题发生之前清除窗口,您可能会发现更容易找到问题,并在之后立即停止脚本。一个缺点是没有显示某些损坏的消息,您只看到部分数据包超时错误。如果您想要的邮件从顶部滚动,请在高级选项卡上更改日志大小。
仅适用于32位Windows。
Portmon是一个很棒的工具,我很遗憾它从未升级到64位Windows。如果您仍在运行32位版本的Windows,那么值得尝试。我发现3.03的最新版本对我不起作用,但3.02仍然可以。如果official version不起作用,那么搜索"portmon 3.02"通常会找到一些带有旧版本的网站。
IRP_MJ_READ;IRP_MJ_WRITE
在屏幕截图中,您可以看到发送的两个命令(每个命令有1个6字节的块),还有两个响应(每个响应有6个1字节的块)。请记住,显示器使用的是十六进制数字,因此第一个命令是14十六进制或20十进制(绝对移动)。
我发现Portmon的最佳替代品是HHD Serial Monitor。它不是免费的,但它有试用期,许可证非常便宜。我认为它可能比Portmon更强大,但它并不容易使用。
以下是我发现用于记录Zaber设备命令的设置。安装并启动Device Monitoring Studio后,我在端口列表中单击了要监视的串行端口。这将打开一个可用视图列表,然后双击“请求视图”。在右侧,单击“开始”按钮。这将打开请求视图,然后单击“完成”选项卡。
现在,当我向设备发送一些命令时,我会看到使用十六进制读取和写入请求以及数据的文本显示。这相当于上面的Portmon截图。
同样,第一个命令是14十六进制或20十进制(绝对移动)。
可用于LabVIEW
此选项不易阅读,但它附带LabVIEW,您可以阅读the documentation如何启动它。这是NI Spy工具的屏幕截图。我认为它带有旧版本的LabVIEW。