定时执行简介

用于定时执行指定的程序, 可以指定每天/特定日期/星期等周期定时运行程序.

  • 注意: 为确保时间准确,中控WAN口必须接入互联网进行NTP时间同步.
  • 如果没有外网,也可以使用一台时间准确的电脑,给中控授时,点这里查看

定时执行方法

定时执行有多种方法实现,下面主要介绍 2 种简单常用的方法,注意2种方法只使用一种,不要混合使用.

方法1 适合单定时任务

  • 1.在中控管理页面中,编辑要定时执行的程序
  • 2.点开[更多选项]在时间控制栏填入定时参数(如下图所示)

timer_set.png

注意: 通过局域网连入中控设置的参数立即有效,通过远程设置的定时参数不会立即生效,直到中控重启!

定时任务参数如下:

---定时参数格式如下: 年-月-日 周 小时:分钟:秒
-- 例如: 2018-10-01 * 12:00:00
 -- 其中 *代表任何数值,周:1-7 , 时:1-24 ,分秒: 00-59
-- 每 1 秒: ****-**-** * **:**:**
-- 每 10 秒: ****-**-** * **:**:*0
-- 每分钟: ****-**-** * **:**:00
-- 每小时: ****-**-** * **:00:00
-- 每天 8 点:****-**-** * **:08:00
-- 每天 17 点:****-**-** * 17:00:00
-- 每周 2 的 8 点: ****-**-** 2 08:00:00

方法2 适合多定时任务

  • 1 . 从代码市场导入下面程序,搜索关键字: 定时执行程序

timer0.png

  • 2 . 编辑导入的程序 [用户定时器任务]

timer2.png

  • 3 . 修改红框的定时任务,一行一个时间+任务,逗号结束,时间是 时:分 (不要秒)

timer3.png

  • 4 . 定时任务数据格式
4.1 一行一个定时任务,逗号结束
4.2 每行的格式是 "时间 -> 执行的程序", 请参照上面例子, 双引号引住定时数据,逗号结束.
4.2 注意每行要以逗号结束,逗号是英文符号的逗号.
4.3 时间是 24 小时制,时间的分或秒不足 2 位的,前面补 0, 只输入时和分,秒不要输入
4.4 如果需要指定星期几,时间的格式是: "星期数 时间 -> 执行的程序",
其中星期数范围是:1234567 可以多选几天例如: 12345 或者 135 或者 67 或者 1357 等
4.5 执行的程序,是指 程序识别码(APPID) 格式是 xxx.tsk (可在我的程序中查看)
4.6 定时任务行数支持 1 到 65535 行
4.7 除了定时器任务数据,其它地方的代码不要修改, 记住要用英文输入法,数字和符号要半角输入.

测试

修改好数据后,点调试界面的 运行按键 测试,检查是否有错误,
检查无误后保存关闭,定时任务便立即生效.

时间轴

时间轴的概念是,当您执行该程序后,可以指定时间轴中某一节点(每一帧是秒)执行其它不同的程序,如下图,整个时间过程中,在不同的节点运行下面6个程序.
======1=====2======3================4===============================5=====6

可以从代码市场搜索例子,关键字是: 时间轴 导入就可以使用.

2025-01-25T02:57:49.png

时间轴任务

时间轴任务列表每一行的格式: "第N秒->执行程序A.tsk", ,这行任务的意思是: 第N秒执行程序A ,可以定义多个任务.
2025-01-25T05:38:23.png
例子如下:

---------------时间轴任务开始--------------
  "1->19370777.tsk",
  "3->19339673.tsk",
  "78->1934258.tsk",
--------------时间轴任务结束------------
运行结果:
`第1秒执行程序19370777.tsk` 
`第3秒执行程序19339673.tsk` 
`第78秒执行程序1934258.tsk` 

注意: 时间轴用户程序是专家模式.

2025-01-25T03:03:06.png

时间轴长度

修改上述代码中 timelines.length=20; --时间轴长度(单位秒) 中的20,改成您需要的时间轴长度.

如果您的视频时长是380秒,那么就把20改成380: timelines.length=380; --时间轴长度(单位秒)

时间轴帧长度

上面程序默认最小的一帧是1秒, 如果需要更高的精度,可以改成ms为单位,可以加一个参数 timelines.ms=true; --改用一帧为一毫秒

这样,所有的参数单位都是以 ms为单位,包括 timelines.length等.

2025-01-25T07:05:30.png

终止时间轴

时间轴没有跑完,可以通过指令 SetKV("timelines_BREAK","YES"); 退出正在运行的时间轴.
2025-02-15T10:41:06.png