# ブロックの種類

ブロックは、トリガーブロック、オペレーションブロック、値ブロック、ロジックブロック、および式に分類されます。ライブラリからブロックをドラッグ&ドロップしてスクリプトを作成できます。

ブロックはスクリプト/グローバルスクリプトで使用します。

カテゴリー | スクリプト | グローバルスクリプト
トリガー |  |
オペレーション |  |
値 |  |
ロジック |  |
式 |  |

#### 制限事項

- 1 画面、1 コンテンツ、1 グローバルスクリプトあたり最大 1000 アクション。

- 1 アクションまたは 1 スクリプトセクションあたり最大 1000 オペレーション。

## トリガーブロック

トリガーとは、オペレーションを実行させるイベントです。1 つのトリガーに対して、実行するオペレーションを複数設定することもできます。

詳細については、トリガー一覧を参照してください。

MEMO: 各スクリプトで使用できるトリガーは 1 つです。

ブロック | 説明
| [When] - トリガー条件を設定します。 [Do] - 実行するオペレーションブロックを追加します。 MEMO: 各トリガーごとにブロックは異なります。 トリガーブロックに応じて、条件に値ブロックの内容を設定します。

(例 1)

5 秒ごとにオペレーションが実行されます。

(例 2)

Var1 値が変更するとオペレーションが実行されます。

## オペレーションブロック

オペレーションブロックは、定義された機能を実行するためのブロックです。

詳細については、オペレーション一覧を参照してください。

ブロック | 説明
| 実行するオペレーションを設定します。 MEMO: 各オペレーションごとにブロックは異なります。 オペレーションブロックに応じて、値ブロックとロジックブロックを組み合わせて実行できます。

(例 1)

オペレーションが実行されると、ブザー音が鳴ります。

(例 2)

オペレーションが実行されると、Var1 に 1 が割り当てられます。

MEMO:

- オペレーションブロックでは、クオリティが「bad」の変数を含む値ブロックまたはロジックブロックを使用した場合、オペレーションは以下のように動作します。
  - 変数が書き込みオペレーションの対象として使用された場合、そのオペレーションが実行されオペレーションの結果は True になります。

  - 変数の値が読み出しオペレーションで使用された場合、そのオペレーションは実行されず、オペレーションの結果は False になります。

- スクリプトのオペレーションは順番に 1 つずつ実行されます。ただし、以下のオペレーションは完了するまでに時間が掛かるため、別のトリガーオペレーションによって中断され、オペレーションが同時に実行されることがあります。
  - [アラームデータのエクスポート]

  - [ログデータをエクスポート]

  - [操作ログをエクスポート]

  - [データロギング] - [ClearLogging]

  - [レシピ]

  - [セキュリティー] - [Export]

  - [セキュリティー] - [Import]

  - [配列]*

  - [アズビル]

  - [自己ダウンロード]

  - [ファイル管理]

  - [遠隔ファイル管理]

  - [遅延]

  - [ブロックトレンド] - [Clear And Draw]*

  - [ブロックトレンド] - [Draw]*

  - [機器]

  - [PDF 表示器]

*ローカル変数のみが使用されている場合は、別のトリガーオペレーションによって中断されることなく実行を完了します。

- 通常、以下のオペレーションは中断できません。ただし、オペレーションのうちの 1 つが間接的に指定された配列要素で使用された場合、別のトリガーオペレーションによって中断され、オペレーションが同時に実行されることがあります。

  - [値の変更]

  - [文字列の変更]

  - [数値から文字列に変換]

  - [浮動小数から文字列に変換]

  - [文字列から数値/浮動小数に変換]

  - [文字列の長さを取得]

  - [文字列抽出 (左/右)]

  - [文字列抽出 (中央)]

  - [文字列検索]

  - [画面切替]

  - [コンテンツ切替]

  - [カスタムメッセージ記録]

  - [言語切替]

  - [ファイル管理]

  - [デバッグ表示]

同じオペレーションを実行するトリガーが複数ある場合、オペレーションが他のトリガーのオペレーションによって中断され、オペレーションの実行順序が変わってしまうことで結果的に異なる出力になる場合があります。

例えば、下の図ではTrigger 2の Operation 2 は Trigger 1 の Operation 2 より前に実行されています。Trigger 1 の Operation 2 は、Export Log が完了した後にのみ実行されます。

## 値ブロック

値ブロックは、指定した変数またはプロパティの値を参照します。値ブロックを使用して、格納されている値を読み込みまたは上書きできます。

詳細については、値を参照してください。

MEMO: 値ブロックでプロパティを指定するには、ピリオド (.) を使用します。例えば、NumericDisplay1 で文字列の色を指定するには、"NumericDisplay1.TextColor" を設定します。

## ロジックブロック

If / If Else ブロックは、指定した条件に応じてオペレーションを実行します。

以下のロジックブロックは、定義された計算または論理比較を実行し結果を出力します。

- Math
- 比較条件
- 論理的条件
- Not

詳細については、ロジックを参照してください。

## 式

式ブロックは、式の結果を返します。式ブロックについての詳細は、式を参照してください。

式コンバーターについての詳細は、式を参照してください。