CM 1xDALI 数据存储模型CM1xDALI 数据存储模型DALI 设备可以是控制装置或输入设备。在本文档中,术语“传感器”是指输入设备。每个 CM 1xDALI 和DALI 设备都有自己的数据库用来存储状态和地址信息。下图显示了 CM 1xDALI 数据存储模型和数据流A CM 1xDALI数据库B DALI 设备数据库1 CPU 将数据发送到 CM 1xDALI,CM 1xDALI 存储数据。例如,CPU 使用DALI_ECG_SET_OPHOUR(页 67) 设置 CM 1xDALI 中控制装置的运行小时数。2 CPU 从 CM1xDALI 接收数据。例如,CPU 使用 DALI_DEV_QUERY_ADDR (页 40) 获取 CM1xDALI中保存的地址状态和设备状态。3 CM 1xDALI 向 DALI 设备发送数据。例如,CPU 使用DALI_DEV_DOWNLOAD (页 118) 将 CM1xDALI 中存储的组态参数部署到 DALI 设备。4 CM1xDALI 从 DALI 设备接收数据,并将数据存储在 CM 1xDALI 中。例如,CM 1xDALI 通过后台检测查询每个DALI 设备的设备状态。5 CPU 向 DALI 设备发送数据。例如,CPU 使用DALI_SENSOR_SET_INST_PARAM (页 112) 将实例组态参数发送到 DALI 设备。6 CPU 从 DALI设备接收数据。例如,CPU 使用 DALI_DEV_GTIN (页 58) 从 DALI设备查询全球贸易项目编号。控制装置的基本状态和扩展状态,以及传感器的设备状态。 总线上 DALI 设备的地址状态。CM1xDALI 通过后台检测循环 查询总线上 DALI 设备的所有地址状态,并检测以下结果:• 每个 DALI 设备是否都具有短地址•对于控制装置:检测基本状态、控制装置类型和扩展状态的信息•对于传感器:检测设备状态、实例数和各实例类型的信息控制装置的基本参数、扩展参数、组和场景参数以及传感器的设备参数和实例参数。CM1xDALI 不存储 DALI 设备的只读参数。控制装置的运行小时数CM 1xDALI存储已组态控制装置的运行小时数。 常规编程信息以下常规信息对编程 DALI 应用程序很有用:关于函数块 (FB)● CM1xDALI 库中的所有 FB 都是异步指令。建议在同一个循环组织块 (OB) 中使用FB。● 除了 DALI_CTRL (页28)和 DALI_ECG_SWITCH_DIM (页 46) 之外,CM 1xDALI 库中的大多数 FB 都由上升沿触发。●如果同时调用多个 FB,则会进行排队。可以检查每个 FB 中的输出参数。关于 DALI_CTRL● DALI_CTRL (页 28)是 CM 1xDALI 的基本 FB。DALI_CTRL 必须在循环 OB 中调用,并在每个循环中执行。不要将其用于中断 OB。●每个 CM 1xDALI 仅使用一个 DALI_CTRL FB 实例。● 在 DALI_CTRL FB 中指定所连接 CM1xDALI 的硬件 ID,然后通过以下内容的输入输出参数连接 DALI_CTRL DB 与其它 FB:CM_DALI.关于输出参数●完成作业处理过程后,保留 FB 的输出:– 对于具有 CANCEL 输入的 FB,仅当 CANCEL的触发信号和输入都变为零时,其输出才会复位。– 对于没有输入 CANCEL 的 FB,当触发信号变为零时,这些 FB 的输出会复位。●如果在 FB 完成之前复位触发输入,则输出参数至少在一个周期内保持置位。● DALI_ECG_SWITCH_DIM (页 46)的输出可由输入 ON_UP 或 OFF_DOWN 的正电平触发;此 FB 的输出始终不会复位。● 大多数 FB 都具有以下输出参数:–BUSY:显示 FB 是否正在提交。BUSY = 1 时,FB 会触发但尚未完成。– ACTIVE:显示 FB是否正在执行。ACTIVE = 1 时,FB 正在与 CM 1xDALI 进行通信。– DONE:显示 FB 是否无误执行。DONE= 1 时,FB 无误执行。可以在此 FB 的output 中检查执行结果。– ERROR: 显示在此过程中是否发生错误。若ERROR = 1, FB 会停止并出现错误。可以在此 FB 的 STATUS 中检查错误代码。– STATUS:显示 FB进度或详细错误代码。ERROR = 0 时,STATUS 显示 FB 进度;若 ERROR = 1, STATUS显示详细的错误代码。编程5.3 系统函数块ET 200SP 通信模块 CM 1xDALI (6ES7137-6CA00-0BU0)28设备手册, 06/2019, A5E46959469-AA5.3 系统函数块系统函数块是 CM 1xDALI的基本函数块,用于发送所有 DALI 命令。5.3.1 DALI_CTRL说明DALI_CTRL 用作 CM 1xDALI的接口。通过此函数块,所有其它 DALI 函数块都可以与CM 1xDALI 通信。● DALI_CTRL 是 CM 1xDALI的基本函数块。DALI_CTRL 必须在循环 OB 中调用,并在每个循环中执行。不要将其用于中断 OB。● 每个 CM 1xDALI仅使用一个 DALI_CTRL FB 实例。● 在 DALI_CTRL FB 中指定所连接 CM 1xDALI 的硬件ID,然后通过以下内容的输入输出参数连接 DALI_CTRL DB 与其它 FB:CM_DALI.● FB 接收并报告由 DALI-2输入设备发送的事件消息。● 当 CM_STATUS 的位 1 和位 2 显示“1”时,不能执行所有其它 DALI函数块。可选择以下任何操作来恢复 CM 1xDALI 的状态。– 将输入 CM_RESET 设置为 1。– 通过其它 DALI应用程序控制器将 DALI 命令“STOP QUIESCENT MODE”或“ENABLE APPLICATIONCONTROLLER”(参见 IEC 62386-103)发送到 CM1xDALI。● 一组已定义的消息及其内容显示在输入EVENT_MSG、EVENT_SCHEME、EVENT_SRC_1、EVENT_SRC_2 和 EVENT_INFO 中。●其它通用事件消息显示在输出 RSV_MSG、RSV_MSG_LEN 和 RSV_MSG_VAL 中。内容会显示在输出RSV_MSG_VAL 中,且无解释。编程5.3 系统函数块ET 200SP 通信模块 CM 1xDALI(6ES7137-6CA00-0BU0)设备手册, 06/2019, A5E46959469-AA29参数下表显示了函数块的参数。参数 声明 数据类型 存储区 说明HW_ID 输入 HW_IO I, Q, M, D, L或常数CM1xDALI 的硬件标识符CM_RESETBOOL I, Q, M, D, L或常数停止静态模式并在上升沿重新启用 DALI应用程序控制器。执行此操作后,CM_STATUS 的位 1 和位 2 将复位为 0。CONN_ERR 输出BOOL I, Q, M,D, L CPU 与 CM 1xDALI 通信的状态:• CONN_ERR = 0:CPU 与 CM 1xDALI 通信时无错误。•CONN_ERR = 1:CPU 与 CM 1xDALI 通信时发生错误。CM_STATUSDWORD I, Q, M, D, L指示 CM 1xDALI 的状态:16#00000000:CM 1xDALI 的状态正常。有关 CM_STATUS各个位的详细说明,请参见以下 "参数CM_STATUS" 部分。EVENT_MSGBOOL I, Q, M, D, L传感器事件的状态。当 CM 1xDALI 接收到传感器事件时,EVENT_MSG 在一个周期内保持为真:• EVENT_MSG =0:无传感器事件• EVENT_MSG = 1:接收到传感器事件。EVENT_SCHEMEUSInt I, Q, M, D, L识别事件源的事件特征描述:• 0~4:常规事件消息• 255:循环上电事件事件方案 0 1 2 3 4255EVENT_SRC_1USInt I, Q, M, D, L 第一个事件源信息实例类型短地址短地址设备组实例组组1EVENT_SRC_2USInt I, Q, M, D, L 第二个事件源信息实例编号实例类型实例编号实例类型实例类型短地址2EVENT_INFOWORD I, Q, M, D, L EVENT_SCHEME ≤ 4 时,EVENT_INFO 的低 10位指示事件数据。EVENT_SCHEME = 255 时,EVENT_INFO 显示“16#0000”。有关 DALI 标准中EVENT_INFO 的详细含义,请参见以下 "参数 EVENT_INFO" 部分。编程5.3 系统函数块ET 200SP 通信模块CM 1xDALI (6ES7137-6CA00-0BU0)30 设备手册, 06/2019, A5E46959469-AA参数 声明数据类型 存储区 说明RSV_MSGBOOL I, Q, M, D, L 保留消息的状态。CM 1xDALI接收到保留消息时,RSV_MSG 在一个周期内保持为真:• RSV_MSG = 0:无保留消息• RSV_MSG =1:接收到保留消息。RSV_MSG_LENUSInt I, Q, M, D, L 保留消息的位长度RSV_MSG_VALDWORDI, Q, M, D, L 保留消息的位流1 对于有效的设备组,EVENT_SRC_1 组表示Zui低组;否则会显示“16#FF”。2对于有效的短地址,EVENT_SRC_2 的短地址表示设备的短地址;否则会显示“16#FF”。参数CM_STATUSCM_STATUS 的每个位都表示不同的状态:位 状态说明位 0 CM 1xDALI 正在初始化。位 1 通过DALI 命令“START QUIESCENT MODE”将 CM 1xDALI 设置为静态模式。位 2 通过 DALI命令“DISABLE APPLICATION CONTROLLER”禁用 CM 1xDALI。3位 3通过模块参数禁用应用程序控制器。4位 4 DALI 总线过压。位 5 缺失模块输入的电压 (MV)5位 6 DALI 总线短路。位 7在 CM 1xDALI 中禁用集成 DALI 总线电源,DALI 总线上没有外部 DALI 总线电源。位 8 总线上有多个错误帧。位9 到位 31 预留编程5.3 系统函数块ET 200SP 通信模块 CM 1xDALI(6ES7137-6CA00-0BU0)设备手册, 06/2019, A5E46959469-AA 313 当模块由其它 DALI应用程序控制器禁用时,CM 1xDALI 不能向总线发送任何正向帧(16 位或 24位),但可以将响应帧(8 位)发送到其它 DALI应用程序控制器。4 当模块由模块参数禁用时,CM 1xDALI 不能向总线发送任何正向帧或响应帧。5 当输入电压 24 VDC 低于16V±1V 时,PWR LED 从绿色变为熄灭。6要为按钮组态实例相关参数,请参见“DALI_SENSOR_SET_INST_PARAM (页 112)”。juedui输入设备的EVENT_INFO(实例类型 2)事件信息 事件名称 说明positionEvent 位置报告位置报告包含传感器的实际位置。有关详细信息,请参见制造商提供的 DALI 设备手册。