开关
模块 "Switch" 功能的实现我们通过替换 "Module" 中的CallPrioMediumStart实现我们自己的模块。我们选择这个功能,因为模块 "Room" 定义为一个 MEDIUM 任务, 这意味着,功能块 "Switch" 的模块CallPrioMediumStart将会在每个中间任务的时候进行调用。详细的信息可以在示例工程中查看。然而开关的主要功能是用于区分调节和点击功能。在开关点击之后,将会启动一个给定时间的定时器。当定时器结束的时候并且没有调节作用的开关被使用,通过变量xPushLong声明。变量xPush为真,如果开关仅仅被点击。对于所有的xPushLong 和 XPush" 属性都将添加到功能块 "Switch" 以及接口 "ISwitch",所以他们可以用于灯功能块的父类。
灯
然后,功能块"Light" 是通过覆盖方法CallPrioMediumStart实现。基于潜在开关的输入变量,灯将会被调暗或者关闭或者打开。对于调光器,速度值是通过参数rSpeed进行定义的。当到达最大或者最小调节值,调光器将会停止。如果灯现在位于调光器状态并且开关再次被点击,灯将会被打开。 "(详细的实现代码位于相关的示例工程中)
检查代码
代码实现之后,需要通过命令 ⇘ “编译”对代码进行检查。如果没有错误显示声明将会通过。