# 合成教学配置；请连同配套输入使用，数值仅用于复现本例。
config_version: 4                                     # 声明分析文件采用的字段结构版本；当前填写整数4
dataset:                                              # 设置本次分析名称及可选的对象、会话和时间范围
  name: rule_example                                  # 命名本次分析数据集；名称写入结果身份字段
sources:                                              # 列出输入来源；每项规定数据位置、格式和时间解释方式
  - paths: data/can/rule-window_delta-extended.asc    # 选择输入文件、连续分卷列表或目录；相对路径基于本配置，目录按自然序读取
    dbc_by_channel:                                   # 为每个CAN通道指定解码用DBC文件；键是通道编号的字符串
      '1': data/can/teaching.dbc                      # 为这个通道指定DBC文件；路径相对当前配置文件，通道键须为字符串
signals:                                              # 把输入字段定义为有名称、类型、单位和有效期的分析信号
  - field:                                            # 指定来源中的原始字段；CSV填表头，CAN填写通道/报文ID/DBC信号名
      frame_id: '0x11f'                               # 选择包含信号的报文ID；从对应DBC取得，可写整数或支持的进制文本
      signal: Voltage                                 # 填写DBC中的信号名称，大小写须一致
    measurement_location: pack_terminal               # 声明实际测点；pack_terminal表示电池包端，须依据接线和设备定义
    name: voltage                                     # 给分析信号取名称；后续表达式和计算通过此名称引用它
    valid_for: 20s                                    # 设置一次有效更新最多沿用多久；依据采样周期和允许数据陈旧程度填写
rules:                                                # 列出识别活动或瞬间变化的规则；每项产生有独立ID的事件
  - direction: rise                                   # 选择变化方向；rise检测上升，fall检测下降，any检测任一方向的幅度
    emit_initial: true                                # 控制初始已为真时是否发出初始事件；true发出，false等待实际变化
    name: detected                                    # 为规则取唯一名称；窗口rule和计算scope通过此名选择它的事件
    monotonic: true                                   # 控制窗口内是否要求持续同向变化；true检查，false仅检查规定的变化幅度
    rule_type: window_delta                           # 选择活动或变化识别算法；本例检查向前窗口内的变化幅度、方向及配置的单调性要求
    signal: voltage                                   # 选择用于变化量判断的分析信号；填写上方signals中的名称
    threshold: 5                                      # 设置触发变化的幅度门槛；数值单位与所选信号一致
    window: 4s                                        # 设置向前比较变化量的时间窗口长度；依据业务变化尺度填写
execution:                                            # 设置本次分析的并行处理方式
  process_count: 4                                    # 最多4个文件工作进程；实际并行数不超过输入文件数
