weixin_44668047 2023-03-10 16:03 采纳率: 0%
浏览 67
已结题

用CMD界面通过RS232获取电子称数据

img


有一台安衡电子称,有个RS232接口,想获取数显数据,每增加5g时候记录一个克重一个时间点,是不是可以通过CMD界面撰写代码,实现我想要的功能。
附图是淘宝给的通讯协议

因为是公司电脑 安装不了其他软件

  • 写回答

7条回答 默认 最新

  • Mr_刘贵宾 2023-03-10 16:11
    关注

    你可以使用Python编写代码,然后在CMD界面中运行。以下是一个示例代码,可以获取安衡电子秤的数显数据,并记录每次称量的时间点,希望能帮到你。
    安衡电子秤通常采用Modbus RTU协议进行通信,并支持一系列的指令集,包括读取重量、校准秤等。

    在编写代码之前,你需要确保你的电脑已经连接到了安衡电子秤的串口,并且串口的参数已经设置正确。通常,安衡电子秤的串口参数包括波特率、数据位、停止位和校验位等,你需要将这些参数设置与电子秤一致。

    import serial
    import time
    
    ser = serial.Serial('COM1', 9600, bytesize=8, parity='N', stopbits=1, timeout=1)  # 串口通信初始化
    
    # 读取重量指令
    READ_WEIGHT_CMD = [0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x0A]
    
    while True:
        ser.write(READ_WEIGHT_CMD)  # 发送读取重量指令
        data = ser.read(8)  # 从串口读取8字节的数据
        if data and len(data) == 8:
            weight = (data[3] * 256 + data[4]) / 1000.0  # 将读取到的数据转换为重量值
            if weight % 5 == 0:  # 如果重量增加了5g
                timestamp = time.time()  # 记录时间点
                print(f"{weight:.3f} kg at {timestamp:.3f}")  # 输出重量值和时间点
                time.sleep(0.5)  # 延时一段时间,避免重复读取
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 修改了问题 3月10日
  • 修改了问题 3月10日
  • 赞助了问题酬金15元 3月10日
  • 展开全部