与科学仪器的串行通信

Posted

技术标签:

【中文标题】与科学仪器的串行通信【英文标题】:Serial communication with scientific instrument 【发布时间】:2015-12-25 23:43:20 【问题描述】:

我有一台由运行 SCO Unix 的旧计算机控制的科学仪器。我想写一个Windows应用程序来控制仪器摆脱旧的Unix机器。

我已经能够监控 Unix PC 和仪器之间的串行通信,并确定了串行端口的设置(波特率、数据位、停止位等)。 PC 和仪器之间的初始通信是 PC 发送一串 18 个空 (00) 字符,仪器响应另一串空字符。

然后我将我的 Windows PC 直接连接到仪器并向仪器发送了 18 个空字符的字符串(使用 Eltima 软件串行端口监视器),但仪器没有响应。我已经尝试了各种流量控制和奇偶校验设置,但仍然无法从仪器中得到响应。

我错过了什么吗?

【问题讨论】:

【参考方案1】:

请研究 DTR 或 RTS 硬件流控制信号的状态,因为设备可能会控制它。

【讨论】:

另外,软件可能要求字符具有特定的字符间延迟时间。 当我打开硬件流控制 DTR 和 RTS 在打开仪器时显示为非活动状态。使用 XOn/XOff 流控制 DTR 和 RTS 处于“开启”状态。 尝试在发送数据时将 RTS 设置为“开启”,在等待回复时将其设置为“关闭”。 杰夫是正确的。我发现了一些字符间的延迟。 18 个空字符的字符串实际上是由 9 个空字符组成的两个字符串,它们之间有 40 毫秒的延迟。我将我的软件配置为以这种格式将琴弦发送到乐器,但我仍然没有得到乐器的回复。

以上是关于与科学仪器的串行通信的主要内容,如果未能解决你的问题,请参考以下文章

LabVIEW串口通信

工业机器人-串口通信技术与MODBUS协议

工业机器人-串口通信技术与MODBUS协议

串行通信与并行通信

基于Quartus II软件FPGA与PC之间的串行通信系统开发(9000+字)

并行与串行的区别及并行通信的系统同步方式