XScript 手册 · Chapter 2

title: "语言基础 — 变量 · 函数 · 时序 · 步骤" chapter: 2 images:

  • xscript-variable.png
  • xscript-function.png

语言基础

XScript 程序由四种构成要素组成。

要素说明
Variable全局/局部变量。保存设备状态、计数、标志等
Function可复用的逻辑单元,可在其他函数中调用
Sequence状态迁移单元,由主时序依次执行
StepSequence 内部的细分步骤,外部可追踪进入/结束
在 Variable 页声明变量

变量

声明方式与 C 系语言一致。全局变量在 Variable 编辑器中管理,局部变量在函数内部声明。

int    count = 0;
bool   initOk = false;
double targetPos = 100.0;
string jobName = "default";

常用类型:intuintdoubleboolstring

函数

以返回类型、名称、参数列表声明。

bool CheckLoad(void) {
    if (IO[LOAD_SENSOR] == ON) {
        return true;
    }
    return false;
}

函数之间可相互调用,并可自由使用 MotorCylinderIO 等内置对象。

Function 页

时序与步骤

Sequence 是由主时序按顺序执行的块。每个时序分为若干 Step,构成 "Idle → Loading → Working → Unloading" 之类的状态流。

Sequence[Main]
{
    Step[Idle]
    {
        if (StartSignal == true) {
            NextStep("Loading");
        }
    }
 
    Step[Loading]
    {
        Cylinder[LOADER].Forward(true);
        NextStep("Working");
    }
 
    Step[Working]
    {
        Motor[X].MoveAbs(100.0, true);
        NextStep("Unloading");
    }
 
    Step[Unloading]
    {
        Cylinder[LOADER].Backward(true);
        NextStep("Idle");
    }
}

NextStep("Name") 用于转入下一步。每一步的进入/结束时间会自动记录到 XLog。