src.model.data package

Subpackages

Submodules

src.model.data.data_handler module

数据项处理模块。

本模块提供了数据项的获取和设置功能,用于管理 DLT645 协议中各类数据项的值。

src.model.data.data_handler.clone_data_map()[源代码]

为单个客户端或服务端创建隔离的数据项快照。

返回类型:

Dict[int, Union[DataItem, List[DataItem]]]

src.model.data.data_handler.get_data_item(di, data_map=None)[源代码]

根据数据标识 (DI) 获取数据项。

参数:

di (int) -- 数据标识,4字节整数。

返回:

对应的数据项,可能是单个 DataItem 或 DataItem 列表。 如果未找到则返回 None。

返回类型:

Optional[DataItem | List[DataItem]]

src.model.data.data_handler.set_data_item(di, data, data_map=None)[源代码]

设置指定数据标识 (DI) 的数据项值。

根据 DI 的类型自动处理不同的数据格式: - 需量数据 (Demand): 验证值后直接设置 - 事件记录 (0x03xxxxxx): 批量设置事件记录值 - 参变量时段表 (0x04xxxxxx): 批量设置时段表值 - 其他数据: 验证后直接设置

参数:
  • di (int) -- 数据标识,4字节整数。

  • data (Union[int, float, str, Demand, list, tuple]) -- 要设置的数据值,类型取决于数据项类型。

返回:

设置成功返回 True,失败返回 False。

返回类型:

bool

src.model.data.data_handler.is_value_valid(data_format, value, min_value=None, max_value=None)[源代码]

检查值是否符合数据项定义的上下限及数据格式。

校验规则: - 数值类型的值且点位配置了上下限(min_value/max_value 均非 None)时,

校验数值是否在范围内;

  • 字符串类型检查长度是否与格式一致;

  • 元组递归验证(多段格式)。

参数:
  • data_format (str) -- 数据格式字符串。

  • value (Union[int, float, str, tuple]) -- 待验证的值。

  • min_value (Optional[float], 可选) -- 数据项允许的最小值,None 表示不限制。

  • max_value (Optional[float], 可选) -- 数据项允许的最大值,None 表示不限制。

返回:

值有效返回 True,无效返回 False。

返回类型:

bool

Module contents