下爪哇岛和三角洲
嘿,我正在尝试编写一个程序,从日历中获取一周中的某一天(baja:string),并根据动态设置的时间(baja:time)停止空气处理器。它需要输出一个时间值(baja:time)
如果是星期天,那么下午2点停止 如果是周一,那么就在晚上8点停下来
你可以在下面搜索框中键入要查询的问题!
嘿,我正在尝试编写一个程序,从日历中获取一周中的某一天(baja:string),并根据动态设置的时间(baja:time)停止空气处理器。它需要输出一个时间值(baja:time)
如果是星期天,那么下午2点停止 如果是周一,那么就在晚上8点停下来
# 1 楼答案
完成AHU每周调度的最简单方法是使用
BooleanSchedule
或EnumSchedule
对象(取决于占用率变量是枚举的还是布尔的)。两者都可以在“时间表”模块中找到这些时间表(以及类似的
NumericSchedule
和StringSchedule
对象)有一个“调度器”视图,允许您根据一周中的哪一天自定义转换发生的时间。有关如何有效使用调度程序视图的更多信息,请在尼亚加拉帮助中搜索“每周调度程序视图”通常,可以使用
EnumSchedule
或BooleanSchedule
的输出槽直接控制设备,但如果确定需要baja:Time
,则可以操纵来自任何调度对象的输出来获得它提取下一个“休息”时间将利用新日程上的两个时段:nextTime和nextValue
nextTime
是一个baja:AbsTime
对象,它总是显示下一次状态更改的时间,无论新状态是“关闭”还是“打开”nextValue
给出下一次转换后计划输出的值假设您使用的是尼亚加拉3.6。x或更高,您可以将nextTime插槽连接到
NumericLatch
(从kitControl调色板)的输入,尼亚加拉将自动将baja:AbsTime
对象转换为数字时间戳。然后可以使用逻辑将nextValue
连接到锁存器的“时钟”插槽,这样它只会在下一个“关闭”时间更新。每当你的周计划处于“开”状态时,这将用下一个“关”时间的timstamp更新闩锁的输出最后,要返回
baja:Time
,需要将数字时间戳转换回时间对象。同样,假设您使用的是3.6。x或更高版本,您可以使用Expr
(来自KIT控制模块)组件来执行以下操作:Expr
添加到你的接线板上,然后打开它的槽板李>baja:StatusNumeric
类型的槽,并确保选中了Summary和Execute On Change标志李>baja:AbsTime
的插槽,并确保选中了摘要和只读标志Expr
对象的属性页,在Expr属性中键入“timestain.value as'absTimeOut'”(不带双引号)此时,您有一个自定义的
Expr
,它将数字输入转换为baja:AbsTime
。将它连接到闩锁的输出,就可以得到每周计划的下一个计划活动时间的baja:AbsTime
baja:Time
和baja:AbsTime
不是完全一样的东西,但是AbsTime
实现了baja:Time
中的所有函数。但是,如果您确实需要baja:Time
,您可以向baja:Time类型的Expr
组件添加另一个插槽,然后在表达式中添加第二行,将baja:AbsTime
转换为baja:Time
(您不能直接转到baja:Time
,因为数字时间存储了日期和时间信息,无法正确转换为baja:Time
)。在第一行末尾加一个逗号,然后加一行