如何在 LabVIEW 中诊断 VISA/RS-232 通信故障?

How to diagnose VISA/RS-232 communication failure in LabVIEW?

我一直在编写 LabVIEW 程序来驱动 3 轴 Newport SMC-100 步进电机控制器进行水平、垂直和旋转运动。我已经实现了一个 for 循环,它重复执行 0.3 度转弯,然后进行 5 次单独的水平移动,直到它转完一个完整的圆圈。该程序总是在 tellcontrollerstatus.vi 失败,并给我 VISA 1073807339 超时错误。当我重新启动程序时,它会告诉我没有可用的 RS-232 连接。奇怪的是,它发生在各种循环迭代中。

我确定COM端口设置是正确的。如果它是一个简单的程序,告诉旋转台以 1000 步为单位转一整圈,它没有任何问题。只有当我尝试在每个循环中控制两个轴时,我才会遇到问题。

我尝试使用平面序列实现延迟,但它并没有真正帮助。最终,我放弃了改程序,只是尝试了另一条USB-RS-232转接线。然后问题就解决了。

虽然问题已解决,但并非基于良好的诊断程序,似乎纯粹是运气问题。我想知道是否有正确的方法来诊断此类问题?

我总是使用addrcom 来诊断端口。 http://www.ontrak.net/adrcom.htm

此外,您可以将 DB9 上的引脚 2 与引脚 3 短接,看看您是否收到了通过 COM 发送的相同数据。如果这样做,则表示您的 USB-RS-232 适配器电缆工作正常。