XScript マニュアル · Chapter 2

title: "言語の基本 — 変数・関数・Sequence・Step" chapter: 2 images:

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

言語の基本

XScript のプログラムは 4 つの構成要素からなります。

要素説明
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

Sequence はメインシーケンスから順に実行されるブロックです。各 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") で次の Step に遷移します。各 Step の開始/終了時刻は自動的に XLog に記録されます。