src.transport.client package

Submodules

src.transport.client.log module

src.transport.client.rtu_client module

RTU 客户端模块。

本模块实现了 DLT645 协议的 RTU(串口)客户端功能。

class src.transport.client.rtu_client.RtuClient(port='', baud_rate=9600, data_bits=8, stop_bits=1, parity='N', timeout=1.0)[源代码]

基类:object

RTU 客户端类,用于与 DLT645 设备进行串口通信。

该类实现了 RTU(Remote Terminal Unit)客户端功能, 支持与 DLT645 协议设备进行串口通信。

变量:
  • port -- 串口名称。

  • baud_rate -- 波特率。

  • data_bits -- 数据位。

  • stop_bits -- 停止位。

  • parity -- 校验位。

  • timeout -- 超时时间(秒)。

  • conn -- 串口连接对象。

初始化 RTU 客户端。

参数:
  • port (str) -- 串口名称(如 "COM1" 或 "/dev/ttyUSB0")。

  • baud_rate (int) -- 波特率,默认 9600。

  • data_bits (int) -- 数据位,默认 8。

  • stop_bits (int) -- 停止位,默认 1。

  • parity (str) -- 校验位,默认无校验。

  • timeout (float) -- 超时时间(秒),默认 1.0。

connect()[源代码]

连接到串口

建立与指定串口的连接,配置为DLT645协议通信所需的参数。

返回类型:

bool

Returns:

bool: 连接成功返回True,失败返回False

disconnect()[源代码]

断开与串口的连接

关闭串口连接并释放资源。

返回类型:

bool

Returns:

bool: 断开连接成功返回True,失败返回False

send_request(data, retries=1)[源代码]

发送请求并接收响应

向DLT645设备发送请求数据,并接收响应。支持超时处理和自动重试机制。

返回类型:

Optional[bytes]

Args:

data: 要发送的请求数据 retries: 失败重试次数,默认1次

Returns:

bytes: 成功接收的响应数据 None: 失败时返回

src.transport.client.tcp_client module

TCP 客户端模块。

本模块实现了 DLT645 协议的 TCP 客户端功能。

class src.transport.client.tcp_client.TcpClient(ip='', port=0, timeout=5.0)[源代码]

基类:object

TCP 客户端类,用于与 DLT645 设备进行 TCP 通信。

变量:
  • ip -- 服务器 IP 地址。

  • port -- 服务器端口号。

  • timeout -- 连接超时时间(秒)。

  • conn -- socket 连接对象。

初始化 TCP 客户端。

参数:
  • ip (str) -- 服务器 IP 地址(如 '0.0.0.0')。

  • port (int) -- 服务器端口号。

  • timeout (float) -- 连接超时时间(秒),默认 5.0。

connect()[源代码]

连接到服务器

返回类型:

bool

disconnect()[源代码]

断开与服务器的连接

返回类型:

bool

send_request(data, write_timeout=2.0, read_timeout=5.0, total_timeout=10.0, min_response_len=1, retries=1)[源代码]

增强版TCP请求-响应(支持超时控制和分片数据处理)

返回类型:

Optional[bytes]

Args:

data: 要发送的请求数据 write_timeout: 数据写入超时(秒) read_timeout: 单次recv操作的超时(秒) total_timeout: 整个请求-响应的总超时(秒) min_response_len: 最小有效响应长度 retries: 失败重试次数

Returns:

bytes: 成功接收的响应数据 None: 超时或失败时返回

Module contents