XScript 手册 · Chapter 2
title: "语言基础 — 变量 · 函数 · 时序 · 步骤" chapter: 2 images:
- xscript-variable.png
- xscript-function.png
语言基础
XScript 程序由四种构成要素组成。
| 要素 | 说明 |
|---|---|
| Variable | 全局/局部变量。保存设备状态、计数、标志等 |
| Function | 可复用的逻辑单元,可在其他函数中调用 |
| Sequence | 状态迁移单元,由主时序依次执行 |
| Step | Sequence 内部的细分步骤,外部可追踪进入/结束 |
캡처 대기
public/manual/gui/xscript-variable.png变量
声明方式与 C 系语言一致。全局变量在 Variable 编辑器中管理,局部变量在函数内部声明。
int count = 0;
bool initOk = false;
double targetPos = 100.0;
string jobName = "default";常用类型:int、uint、double、bool、string
函数
以返回类型、名称、参数列表声明。
bool CheckLoad(void) {
if (IO[LOAD_SENSOR] == ON) {
return true;
}
return false;
}函数之间可相互调用,并可自由使用 Motor、Cylinder、IO 等内置对象。
캡처 대기
public/manual/gui/xscript-function.png时序与步骤
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。