3. 任务序列的基本概念与表示方法

星务系统要完成一次对地成像、一次姿态机动或一次数传,往往不是发一条指令就能结束的。地面测控人员真正上传给卫星的,是一段带有时间约束、依赖关系和分支逻辑的“任务序列”。理解任务、指令、序列、时间标签、依赖关系、条件分支与循环结构这六个概念,是读懂和编写星务任务脚本的基础。

从指令到任务:三个层次的抽象

指令是星务系统可执行的最小动作单元,例如“打开相机电源”“设置磁力矩器电流为 0.3 A”“启动数传发射机”。一条指令通常包含目标设备、操作码和参数三部分,执行后产生确定的硬件效果。

任务是面向一个业务目标的指令集合。例如“对某区域成像”这个任务,内部可能包含:调整姿态指向目标、稳定三轴、开相机电源、设置曝光参数、触发快门、关相机电源、恢复对日定向。任务是对指令的业务级封装,它回答“要达成什么”,而指令回答“具体怎么做”。

序列则是任务在时间轴上的有序排列。一个序列可以包含多个任务,也可以包含单条指令,它规定了“先做什么、后做什么、什么时候做”。序列是星务系统实际存储、上注和执行的对象。

时间标签:绝对、相对与窗口

序列中的每个动作都需要时间标签来定位。常见有三种:

  • 绝对时间标签:以星上时间(如 GPS 周内秒)给出,例如 T=345600.0s。适合与地面计划严格对齐的动作。
  • 相对时间标签:相对序列起点或前一动作的偏移,例如 +120s。适合动作间隔固定的组合,如“开机后 30 s 再采集”。
  • 时间窗口:给出允许执行的最早和最晚时刻,例如 [345600, 345660]。适合对测控弧段、光照条件有依赖的动作,窗口内满足条件即可执行。

时间标签的选择直接影响序列的鲁棒性。绝对时间精度高但缺乏弹性,相对时间灵活但误差会累积,窗口方式兼顾两者,是工程中常用的折中。

依赖关系:让动作按正确顺序发生

依赖关系描述动作之间的先后约束,常见有四类:

  • 顺序依赖:A 完成后 B 才能开始,如“相机电源开”先于“触发快门”。
  • 数据依赖:B 需要 A 的输出,如“姿态稳定标志置位”后“成像”才有效。
  • 资源依赖:两个动作不能同时占用同一资源,如数传发射机与测控应答机共用天线时需互斥。
  • 条件依赖:只有满足某状态才执行,如“电池 SOC > 60%”才允许开机。

依赖关系可以用有向无环图(DAG)表示,节点是动作,边是约束。星务软件在执行前会做依赖检查,若前置条件不满足,则挂起或跳过后续动作。

条件分支与循环结构

真实任务中,动作路径往往取决于星上状态。条件分支用 if-else 表达:若“姿态误差 < 0.1°”则进入成像分支,否则进入姿态修正分支。分支条件通常来自遥测参数或标志位。

循环结构用于重复动作,例如“每 10 s 采集一次温度,共 6 次”,或“持续加热直到温度 ≥ 5 ℃,最多循环 20 次”。循环必须带终止条件,否则可能造成星务机长时间占用或能源浪费。工程上常设置最大循环次数和超时保护。

表示方法:从文本脚本到状态图

任务序列的表示方法主要有三类:

  • 文本脚本:以行式指令加时间标签描述,便于上注和人工检查,例如 345600.0 CAM_PWR ON。
  • 表格:以“序号、时间、动作、参数、依赖、条件”列组织,适合地面计划编排与评审。
  • 图形化表示:用状态图或活动图表达分支与循环,直观展示执行路径,适合复杂序列的设计与验证。

下面这张图用状态图的方式,展示了一个“对地成像”任务序列的典型结构:从待机出发,经过姿态指向、稳定判断、成像、数传,最终回到待机,其中包含条件分支和循环等待。

对地成像任务序列状态图(示例) 待机 姿态指向目标 T+0s ~ T+90s 姿态误差 < 0.1° ? 相机开机并成像 T+90s ~ T+120s 数传下传数据 T+120s ~ T+300s 姿态修正 循环等待 启动 完成 是 否 循环 完成 结束返回 顺序动作 条件判断 成像/数传 修正分支 循环回边

一个可参考的序列描述表

在实际工程中,图形化表示适合评审,但上注前通常要落成结构化表格。下面给出一个与上图对应的序列描述示例,字段可根据任务复杂度增减。

序号 时间标签 动作 参数 依赖 条件/分支
1T+0s姿态指向目标经纬度——
2T+90s判断姿态误差< 0.1°1 完成是→3;否→6
3T+90s相机开机—2 为是—
4T+100s触发快门曝光 5 ms3 完成—
5T+120s数传下传通道 A4 完成—
6T+90s姿态修正—2 为否循环回 1,最多 5 次
提示:时间标签中的 T 为序列起点,示例中 T+0s 对应星上绝对时间 345600.0 s。实际编写时,绝对时间与相对时间不要混用在同一动作上,避免歧义。
注意:循环结构必须设置最大次数或超时退出条件。若“姿态修正”循环无上限,一旦姿态始终不满足,星务机可能长期占用,影响其他任务执行。