动机
对于包含许多本质上结构相同的拷贝的设备以及可配置结构而言,传统的ETS数据模型起不到效果。 这种数据经常出现在具有多个通道的设备(例如网关)或高度可配置的设备(如具有触摸显示的传感器)中。
这里的问题是,所有可能的数据都必须明确包含在项目数据中,这有如下缺点:
- 不必要的大型应用程序(ETS中的导入和加载时间长,资源消耗高,甚至内存不足)
- 在MT中手动复制数据时存在引入错误的风险。
- 浪费设备资源(例如,在对象表中),因为每个通道(或类似结构)必须适应所包含数据的最大长度。
- 本文提出了改进ETS数据模型的建议,以通过更模块化的方法来利用规则地结构化的应用程序。
这还有一个优点,即可以更容易地从现有的、经过测试的、可能经过翻译的构建块来构建新的应用程序。
这些主题大多直接影响产品成本和质量。
示例
带内存映射参数的通用触摸显示屏
想象一种能够显示多达100个控件的触摸屏,每个控件可以是开闭功能、调光功能或窗帘功能。
OnOff功能是FB“灯光开关传感器基础”的实现,具有两个组对象(SwitchOnOff and InfoOnOff)以及一些参数。 其中一个参数是要在UI中的按钮上显示的标签。
调光功能是 FB '调光传感器基础' 的实现,它具有三个组对象(SwitchOnOff、InfoOnOff、Relative Setvalue Control)和一些参数。 其中一个参数是要在UI中的按钮上显示的标签。
窗帘功能是 FB '百叶窗和遮阳帘传感器基础' 的实现,有两个组对象(Move Up Down 和 StopStep Up Down)和一些参数。 其中一个参数是要在UI中的按钮上显示的标签。
网关
在 DCA 或 按钮处理程序脚本的帮助下,数量以及连接到网关的设备类型就可以确定。 对于每个发现的设备,都会实例化一个模块:对于类型 1 的设备,实例化类型 1 模块,依此类推。
厂商工具& 演示
这个视频是MT的一个演示。
该下载包含一个 MAP 专用演示,它包括一个 MT (v5.7.2) 项目和一个专用的 KNX 虚拟版本。
这个MT工程包含3个应用程序,它们具有完全相同的功能、完全相同的内存布局和完全相同的ETS参数对话框,它用于应用代码为0201h的调光器:
- 应用程序版本01h:这是一个“常规”应用程序,即它不使用任何模块
- 应用程序版本02h:这是一个模块化应用程序,即它包含一个模块的8个手动创建的实例
- 应用程序版本03h:此模块化应用程序使用与版本02h相同的模块,但8个实例是通过1个重复和3个分配器元素创建的
通过ETS测试工程结合专用KNX虚拟版本,可以测试调光器。