Skip to main content

第四步:创建子模块“Light”

正如之前所做的那样 SwitchSwitchSimple,对于模块 Light, 模块声明 Light, 一个功能块 Light 和一个接口 ILight 必须被创建。模块应由功能块实现,功能块本身应实现接口 ILight

为了能够添加 Light 我们下面的模块 Room 模块,模块声明 Room 必须用一个扩展 Slots 部分。在本节中有一个小节 Slot_Multi 必须被创建,这被称为 Lights 并且能够容纳该类型的模块 Light 。可以或必须添加到房间的灯的数量由参数定义 Cardinality (在本例中为 1 到 3 个灯)。此外还声明了两个变量: VariablepLights,它将保存添加到房间的灯光模块的功能块实例)和 Var_CountuiNumberOfLights,其中将填充添加到房间的灯光模块的数量)。

54. 节的定义 Slots
节的定义 Slots


变量 pLightsuiNumberOfLights 必须添加到模块“Lights”的功能块中,其中 uiNumberOfLights 是一个 UINTpLights 类型的 POINTER TO ILight 根据此定义,只有其功能块也实现了 ILight 接口可以添加到 Lights 投币口。

55. 声明于 Room 功能块
声明于 Room 功能块


与用于 Room模块现在用于 Light 模块。结果,声明 Light 包括一个插槽 Switch,这就是为什么这个插槽不是多插槽,而是简单插槽。的附加参数 Light 模块是调光器的速度 rSpeed 和最大亮度 uiMaxValue。最后,必须定义代表相关光亮度的输出。所有参数、槽和输出也必须作为变量添加到功能块中 Light 模块。

56. 模块声明 Light
模块声明 Light


57. 功能块的声明 Light
功能块的声明 Light


58. 文本列表和图像池
文本列表和图像池


第5步:创建子模块“Light simple”