【问题标题】:Pyserial and QUERY IssuesPyserial 和 QUERY 问题
【发布时间】:2013-09-10 21:47:11
【问题描述】:

我有一个带有 9 针 DB 连接器的 MKS 压力传感器。用户界面通过 RS-232 或 RS-485 串行通信。我目前正在使用 pyserial 和 python 开发代码,以通过可插入的 RS-232 到 USB 适配器查询传感器。我确信适配器可以正常工作,因为我已经使用它通过 pyserial 与另一台仪器进行通信。

换能器的相关引脚是:

3 - POWER +
4 - POWER -
6 - RELAY COMMON
7 - RS485 - / RS232 TXD
9 - RS485 + / RS232 RXD

我的适配器连接到 /dev/ttyUSB1。

传感器出厂默认波特率 = 9600,数据格式为 8 个数据位,无奇偶校验和 1 个停止位。根据手册,RS485 和 RS232 的查询和命令语法相同。

我遇到的问题是查询传感器。

查询所需的语法是:

@<device address><query>?;FF

例如查询当前波特率:@253BR?;FF

地点:

@ <attention charector>
253 <default address>
BR? <query for baud rate>
;FF <terminator>

我的python代码是:

import serial 

Piezo = serial.Serial(port ='/dev/ttyUSB1',
                         baudrate=9600,parity =serial.PARITY_NONE,
                         stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS, 
                         timeout =1)

print Piezo.isOpen()

Piezo.write('@253BR?;FF')
print Piezo.readall()
Piezo.close()

我的回应是:

%run /home/vivekd/Desktop/Software/Pressure/Piezon.py 是的

不幸的是,我没有得到回复,我假设它与写入序列和非传统终止符有关。我尝试过其他写组合,但没有得到任何回应。任何和所有建议都会有所帮助。

谢谢。

-V

【问题讨论】:

  • FF 是否可能是“换页”,即字符 '\f',或者可能是十六进制 ASCII 码,即字符号 0xFF?
  • 我确实相信 FF 是换页,我确实尝试使用 \f 使用:Piezo.write('@253BR?;' + '\f') print Piezo.readall()...没有回应

标签: pyserial


【解决方案1】:

已解决,问题是 rs232 发送和接收的引脚接线反向。

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    相关资源
    最近更新 更多