示例:面向对象编程(扩展)
产品: CODESYS Development System
此示例展示了如何使用面向对象来实现具有不同功能的不同房间的建筑物。所包含的可视化说明了实现方式。
![]() |
描述
这个例子展示了一种面向对象的编程方法。为此,建造了一座具有各种房间和功能的建筑。白天,所有灯泡均关闭,空调温度设为 21°C。晚上,所有灯泡都打开,温度设置为 15°C。手动模式下,可以单独打开和关闭灯光。这 CellarRoom
有一盏灯,但不提供任何服务。这 CheapRoom
也有一盏灯,但额外提供在灯泡使用寿命结束时更换灯泡的服务。这 BetterRoom
拥有双灯,其使用寿命是普通房间的两倍,并且 ClimateBetterRoom
另外还有一台空调,其过滤器必须在特定次数的温度变化后更换。
附加信息
Main
:创建所有四个房间并调用所需的函数,具体取决于模式(daytime
,nighttime
,manual
)clsRoom
:房间的基本功能块。这里提供了每个房间所需的必要功能。所有四个房间都继承自该功能块。clsCellarRoom
:扩展基础房间并拥有一个实例clsLight
实现灯泡的功能块clsCheapRoom
:扩展基础房间并包括一个实例clsLight1min
功能块,它实现了一个寿命为一分钟的灯泡。它还包括服务功能。clsBetterRoom
:扩展基础房间并包括一个实例clsDuoLight1min
,具有两倍的寿命,还包括服务功能clsClimateBetterRoom
: 延长clsBetterRoom
并添加了空调FB_AirCondition
:此功能块调节白天和夜间的温度。clsLight
:检测灯是否打开或关闭的基本功能块clsLight1min
: 延长clsLight
功能块并实现IService
界面。此功能用于监控灯泡的使用寿命。clsDuoLight1min
: 延长clsLight1min
通过第二个定时器实现功能块,使使用寿命加倍FB_LifeTimer
:倒计时打开的灯泡的使用寿命Visualization
:主要可视化包括不同的房间。每个房间由以下元素组成:1 个灯泡
1 条服务消息
1个服务显示屏(显示是否需要服务)
1 个按钮用于打开和关闭灯
1 个按钮重置服务
顶部房间还显示温度。这
OpMode
滑块可用于将模式设置为“白天有光”、“夜间无光”或“手动”。
系统要求和限制
编程系统 | CODESYS Development System (版本3.5.14.0或更高版本) |
运行时系统 | CODESYS Control Win (版本3.5.14.0) |
附加组件 | - |
注意
下载 项目