第四步:创建子模块“Light”
正如之前所做的那样 Switch 和 SwitchSimple,对于模块 Light, 模块声明 Light, 一个功能块 Light 和一个接口 ILight 必须被创建。模块应由功能块实现,功能块本身应实现接口 ILight。
为了能够添加 Light 我们下面的模块 Room 模块,模块声明 Room 必须用一个扩展 Slots 部分。在本节中有一个小节 Slot_Multi 必须被创建,这被称为 Lights 并且能够容纳该类型的模块 Light 。可以或必须添加到房间的灯的数量由参数定义 Cardinality (在本例中为 1 到 3 个灯)。此外还声明了两个变量: Variable (pLights,它将保存添加到房间的灯光模块的功能块实例)和 Var_Count (uiNumberOfLights,其中将填充添加到房间的灯光模块的数量)。
Slots
变量 pLights 和 uiNumberOfLights 必须添加到模块“Lights”的功能块中,其中 uiNumberOfLights 是一个 UINT 和 pLights 类型的 POINTER TO ILight 根据此定义,只有其功能块也实现了 ILight 接口可以添加到 Lights 投币口。
Room 功能块
与用于 Room模块现在用于 Light 模块。结果,声明 Light 包括一个插槽 Switch,这就是为什么这个插槽不是多插槽,而是简单插槽。的附加参数 Light 模块是调光器的速度 rSpeed 和最大亮度 uiMaxValue。最后,必须定义代表相关光亮度的输出。所有参数、槽和输出也必须作为变量添加到功能块中 Light 模块。
Light
Light
