FOLDER  (ステートメント)  【RC7_Ver.2.2 以降】


外部プログラムからアクセス可能なローカル変数を宣言します。


FOLDER DEFINT <変数名>[=<定数>] [,<変数名> [=<定数>]…]
FOLDER DEFSNG <変数名>[=<定数>] [,<変数名> [=<定数>]…]
FOLDER DEFDBL <変数名>[=<定数>] [,<変数名> [=<定数>]…]
FOLDER DEFSTR <変数名>[=<定数>] [,<変数名> [=<定数>]…]
FOLDER DEFVEC <変数名>[=<ベクトル定数>] [,<変数名> [=<ベクトル定数>]…]
FOLDER DEFPOS <変数名>[=<ポジション定数>] [,<変数名> [=<ポジション定数>]…]
FOLDER DEFJNT <変数名>[=<ジョイント定数>] [,<変数名> [=<ジョイント定数>]…]
FOLDER DEFTRN <変数名>[=<同次変換型定数>] [,<変数名> [=<同次変換型定数>]…]
FOLDER DIM <変数名> <後置子>[(<要素数>[,<要素数>[,<要素数>]])][AS<変数型>][,<変数名>…]


FOLDERステートメントでローカル変数を宣言すると、ローカル変数を外部のプログラムからEXTERNステートメントを使用して参照可能となります。
  • プログラム内で同一変数名は定義不可                       
    リスト1
    説明
    PRO1
    FOLDER DEFINT AA
    FOLDER DEFSNG AA
    DEFINT AA
    END
    リスト1ではAAの宣言3行とも変数2重定義エラーになります。

  • フォルダー内で、同一フォルダー変数名は定義不可
    リスト2
    (PRO1とPRO2は同一フォルダー内)
    説明
    PRO1
    FOLDER DEFINT AA
    END
    PRO2
    FOLDER DEFSNG AA
    END
    リスト2は同一フォルダー内でAAフォルダー変数を別のプログラムで定義しているのでエラーになります。

    リスト3
    (PRO1とPRO2は別のフォルダー)
    説明
    PRO1
    FOLDER DEFINT AA
    END
    リスト3は別々のフォルダーで同じAAフォルダー変数を定義可能(異なる変数となる)
    PRO2
    FOLDER DEFINT AA
    END

  • 別プログラムでフォルダー変数名とローカル変数名が同一の時は宣言可能
    リスト4
    (PRO1とPRO2は同一フォルダー内)
    説明
    PRO1
    FOLDER DEFINT AA
    END
    PRO2
    DEFINT AA
    END
    PRO1のAAとPRO2のAAは別変数になります。

ペンダントでプログラム編集や、WINCAPSⅢから<マップ/実行プログラム>をコントローラに送信するとFOLDER変数はクリアされます。



  1. 同一フォルダー内に下記3つのプログラムが存在する場合
    • PRO1を実行後にPRO3を実行すると"STOP"(プログラム終了)します。
    • PRO2を実行後にPRO3を実行すると"HOLD "STOP""(プログラムを一時停止)します。
    • 3つのプログラムで宣言されているAA変数は3つとも同じ値になります。
  2. 下記のフォルダー構造にプログラムが存在する場合
    注1:I100に33が代入されます。
    注2:I100に55が代入されます。
  3. FOLDER変数で初期値を宣言した場合
    注:PRO1を実行しないと初期値は代入されません。
    • PRO1を実行後にPRO3を実行するとI1には3が入り、I2にも3が入る。
    • PRO2を実行後にPRO1を実行するとI1には3が入り、I2には0が入る。