利用python向modbus RTU设备(RS485串口通信)发送16进制指令

import serial
import time

# 配置串口通信参数
serial_port = 'COM1'
baudrate = 9600

# 创建串口连接
ser = serial.Serial(
    port=serial_port,
    baudrate=baudrate
)

# 检查串口是否已打开
if ser.is_open:

    try:

        hex_data = bytes.fromhex('01 10 00 10 00 01 02 00 05 64 C3')
        ser.write(hex_data)
        # print(f'Sent hex data: {hex_data.hex()}')

        time.sleep(1)

    except KeyboardInterrupt:
        # 捕获Ctrl+C,用于停止循环
        pass

    # 关闭串口连接
    ser.close()
    # print(f'Serial port {serial_port} is closed.')
else:
    print(f'Failed to open serial port {serial_port}.')

在向实际设备发送指令时,可能需要设置一个延迟来接收指令,用到了time包。

你可能感兴趣的:(python,开发语言)