XScript マニュアル · Chapter 2
title: "言語の基本 — 変数・関数・Sequence・Step" chapter: 2 images:
- xscript-variable.png
- xscript-function.png
言語の基本
XScript のプログラムは 4 つの構成要素からなります。
| 要素 | 説明 |
|---|---|
| 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.pngSequence と 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 に記録されます。