コンピュータプログラミングにおいて、変数とは異なる条件に応じて変化する可能性のある値をいいます。処理フロー変数も同様に機能します。処理フローに変数を作成すると、さまざまな条件下で定期的に変化する可能性のあるシミュレーションモデルの各側面をより詳細にコントロールできます。
処理フロー変数は以下の目的で使用できます。
処理フロー変数はやや抽象的な概念であるため、これが役立つ例をいくつか説明します。
処理フロー内のさまざまなアクティビティの複数のプロパティで、特定の設定を参照しなければならない場合があります。その場合、これらのプロパティすべての共通参照ポイントとして処理フロー変数を使用すると便利です。処理フロー変数を使用すると、一元化された場所で設定の値を編集でき、一度に複数のプロパティを更新する必要がなくなります。
たとえば、AGVテンプレート処理フローを使用して、無人搬送車(AGV)を使用するシミュレーションモデルをコントロールするとします。AGVのブランドまたはモデルによって、バッテリー寿命が異なる可能性があります。AGVがフローアイテムを降ろすまたは取得する時間は、特定のモデルに固有の要因によって変わる可能性があります。そのため、AGVテンプレートでは、処理フローに接続されているすべてのAGVのこうした設定を簡単にコントロールできるよう、3つの異なる処理フロー変数を使用できます。
複数のプロセッサすべてが同じ固定リソース処理フローから同じ基本ロジックを実行するシミュレーションを作成するとします。ただし、各プロセッサにはそのプロセッサ専用の単一オペレーターが必要であり、モデル内の他のプロセッサと共有することはできません。また、各プロセッサに独自の処理時間が必要であるとします。
固定リソース処理フローに、処理時間を計算し各プロセッサに割り当てる特定のオペレーターを指定する、ローカル処理フロー変数を追加できます。
各プロセッサを固定リソース処理フローにアタッチした後、プロセッサの[クイックプロパティ]でこれらの変数のデフォルト値を設定できます。たとえば溶接ステーションを、処理時間を60とし、タスク実行者が必要とされるときに溶接オペレーターを使用するよう設定できます。
組み立てステーションには、同じ処理フロー変数に対して異なる設定ができます。
最後に、関連する処理フローアクティビティが処理時間変数を参照するよう設定すると、任意のタスクシーケンスがオペレーター変数に割り当てられます。シミュレーションモデルが実行されると、アタッチされた各プロセッサはその処理フローの別のインスタンスとして実行されます。各プロセッサは、[クイックプロパティ]で処理フロー変数の値を参照します。
処理フロー変数は、一般処理フローを含むあらゆるタイプの処理フローに追加できます。処理フロー変数を追加するには、次のようにします。
作業が終了すると、[クイックプロパティ]で、処理フローの一般的なプロパティの処理フロー変数グループに新しい変数が表示されます。通常、クイックプロパティペインの下部(ラベルグループの後)にあります。たとえば、デフォルト値15の[MyProcessTime]という処理フロー変数を作成すると、次の画像のようになります。
処理フロー変数を処理フローに追加した後で、その変数を処理フローアクティビティの任意のプロパティにリンクできます。シミュレーション実行中にそのプロパティの処理フロー変数の値を使用します。たとえば、処理フロー変数の値を使用して遅延時間を設定するように[遅延]アクティビティを設定できます。
処理フローアクティビティを変数にリンクするには、次のようにします。
作業が終了すると、次の例のように、アクティビティに処理フロー変数の名前が表示されます。
変数の値を設定は、その変数がグローバルに定義されているかローカルに定義されているかによって異なります。(詳細については、「変数を処理フローに追加する」のステップ7を参照してください)。
グローバルに定義された変数を変更するには、次のようにします。
ローカルに定義された変数を変更するには、次のようにします。