コードミックス ビジュアルプログラミング StateGo

新規作成からサンプル実行まで

新規作成からサンプル実行まで

 

はじめに

 

Rust用の新規ステートマシンを作成した時のサンプルを動かす方法を紹介します。

 

サンプルでは、LoopやGosub機能が使われています。StatGoを初めて使う方にはちょっと難しい内容となっています。
そういう方は、環境整備と実行確認のみに使用して下さい。

 

 

Rustサンプル用の作業フォルダの作成

 

あらかじめ、Rustの環境をセットアップしてださい。

 

コマンドラインにて テスト用 Hogeパッケージを作成します。

 

> cargo new hoge

 

main.rsが作成されます。

 

StateGoの新規作成

 

1.StateGoを起動
2.スタートダイアログの新規作成ボタンを押す
3.ステートキットからRustを選択
4.ステートマシン名をhoge_controlに決定
  rustの命名則に従うためスネル形式にします
5.main.rsと同じフォルダを指定
5.生成ボタンを押す

 

以下の2つのファイルが生成されます。

 

hoge_control.psgg --- StateGoデータファイル
hoge_control.rs --- 出力用のRustソースファイル

 

生成時のサンプルを動かす

 

生成時のサンプルを動かします。

 

(このサンプルはループとサブルーチン呼出しのサンプルです。)

 

1. Cargo.tomlに以下を書き足します。

 

※以下の内容はヘルプパネルにも記載されています。

 

[dependencies]
rand = "0.6"

 

2. main.rsを以下のように編集します

 

※以下の内容はヘルプパネルにも記載されています。

 

#[allow(dead_code)]
mod hoge_control;
use hoge_control::hoge_control::*;

 

fn main() {
  let mut hc = HogeControl::new();
  hc.run();
}

 

 

3. 実行します。

 

コマンドラインにて以下を入力します。

 

> cargo run

 

ビデオ

 

一連の操作をキャプチャしたものです。

 

 

 

サンプル動作説明

※高度な内容が含まれています。理解が難しい場合、次の"Step-by-step"チュートリアルにお進みください。

サンプルは、GOSUBとLOOPを使用しています。
GOUSBは、サブルーチンを呼び出します。
サブルーチンは、サブルーチン開始用のステートとリターン用のステートから成り立ちます。
LOOPは、初期値、条件、再初期化を指定してサブルーチンを呼出します。

 

 

サンプルのフローについて

 

1. ステート【0001】  StateGo is runningの表示
2. ステート【LOP000】 SBS001のサブルーチンを10回呼出し
3. ステート【GSB001】 SBS000のサブルーチン呼出し(1回)
4. ステート【0002】 ステート内で10回Update待ち
5. ステート【0003】 乱数を発生させ、奇数偶数で分岐

 

組込部分

 

右下に、乱数発生の関数を組込ステートで定義してあります。

 

【E_0000】 rand関数の実装

 

コメント

 

左上に、本サンプルの説明がコメントで定義してあります。

 

【C_0000】 説明

次のチュートリアル

トップへ戻る