Java 下爪哇河和三角洲

Java 下爪哇河和三角洲,java,Java,嘿,我正在尝试编写一个程序,从日历中获取一周中的某一天(baja:string),并根据动态设置的时间(baja:time)停止空气处理器。它需要输出一个时间值(baja:time) 如果是星期天,那么下午2点停止 如果星期一在晚上8点停止,完成AHU每周计划的最简单方法是使用BooleanSchedule或EnumSchedule对象(取决于占用率变量是枚举的还是布尔的)。两者都可以在“时间表”模块中找到 这些计划(以及类似的NumericSchedule和StringSchedule对象)具

嘿,我正在尝试编写一个程序,从日历中获取一周中的某一天(baja:string),并根据动态设置的时间(baja:time)停止空气处理器。它需要输出一个时间值(baja:time)

如果是星期天,那么下午2点停止
如果星期一在晚上8点停止,完成AHU每周计划的最简单方法是使用
BooleanSchedule
EnumSchedule
对象(取决于占用率变量是枚举的还是布尔的)。两者都可以在“时间表”模块中找到

这些计划(以及类似的
NumericSchedule
StringSchedule
对象)具有“计划程序”视图,允许您根据一周中的哪一天自定义转换发生的时间。有关如何有效使用调度程序视图的更多信息,请在尼亚加拉帮助中搜索“每周调度程序视图”

通常,您可以使用
EnumSchedule
BooleanSchedule
的输出槽直接控制设备,但如果您确定需要
baja:Time
,则可以操纵来自任何调度对象的输出以获得它

提取下一个“休息”时间将利用新日程上的两个时段:nextTime和nextValue
nextTime
是一个
baja:AbsTime
对象,它总是显示下一次状态更改的时间——新状态是“关闭”还是“打开”
nextValue
给出下一次转换后计划输出的值

假设您使用的是尼亚加拉3.6.x或更高版本,您可以将下一个时间插槽连接到
NumericLatch
(从kitControl调色板)的输入,尼亚加拉将自动将
baja:AbsTime
对象转换为数字时间戳。然后,您可以使用逻辑将
nextValue
连接到锁存器的“时钟”插槽,这样它只会在下一个“关闭”时间更新。每当您的每周计划处于“打开”状态时,这将使用下一个“关闭”时间的timstamp更新闩锁的输出

最后,要返回
baja:Time
,需要将数字时间戳转换回时间对象。同样,假设您使用的是3.6.x或更高版本,您可以使用
Expr
(来自KIT控制模块)组件来执行以下操作:

  • 将一个
    Expr
    添加到您的接线板,然后打开它的插槽板
  • 添加一个名为“timestain”的baja:StatusNumeric类型的插槽,并确保选中了Summary和Execute-On-Change标志
  • 添加一个名为“absTimeOut”的baja:AbsTime类型的插槽,并确保选中了摘要和只读标志
  • 打开
    Expr
    对象的属性页,并在Expr属性中键入“timestampIn.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
    )。在第一行末尾添加逗号,然后添加一行

    absTimeOut as 'timeOut'