第四步:创建子模块“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

