ID : 576
ローカル変数
ローカル変数とはPacScriptプログラム(タスク)内でユーザが名称をつけて作成(宣言)する変数です。
ローカル変数のデータ型、個数、宣言
ローカル変数を使用するにはPacScriptで必要な種類(データ型)を指定し、変数名を命名規則に従って指定し、宣言することが必要です。宣言しなければ使用することはできません。
ローカル変数の宣言は以下の宣言ステートメントで宣言します。
- Dim
- 属性のないローカル変数を宣言します。
- Static
- Static属性つきのローカル変数を宣言します。
- Public
- Public属性つきのローカル変数を宣言します。自動的にStatic属性も付与されます。
下記のデータ型を宣言でき、配列も宣言できます。ただし配列には宣言時に初期値を設定することはできません。
データ型 | データ型キーワード | 備考 |
---|---|---|
整数型 | Integer | |
単精度実数型 | Single | |
倍精度実数型 | Double | |
文字列型 | String | Static属性の有無でデータサイズが異なります。 |
ベクトル型 | Vector | |
ポジション型 | Position | |
ジョイント型 | Joint | |
同次変換型 | Trans | |
I/O型 | - | DefIOで宣言します。Static属性、Public属性はともに付与できません。 |
バリアント型 | Variant |
<記述例>
Dim aaa As Integer
Dim bbb(3) As Position
DefIO ccc = Bit, 128
Static ddd As Position = P(100,0,200,180,0,180,-1)
Public eee(9) As Integer
使用するメモリについて
宣言可能な個数には制限はありませんが、メモリを圧迫しますので必要なものだけを宣言するようにしてください。
ローカル変数は属性によって確保されるメモリが異なります。
"Dim"で宣言する属性のないローカル変数は作業用メモリに確保され、動的に作成され、タスクまたはプロシージャの実行が終了すると消滅します。
"Static"または"Public"で宣言するStatic属性のついたローカル変数は保存用メモリ)に領域が確保され、コントローラの電源をOFFしても値が保存されます。
"システム情報の表示 (コントローラ タブ)"および"変数使用数の表示・設定"参照し、容量に余裕を持つように変数の個数を設定してください。
属性について
ローカル変数には"Static"と"Public"の属性をつけることができます。
Static属性
Static属性とはコントローラ電源を切っても変数の値が確保される属性です。宣言は"Static"ステートメントで行います。
Public属性
Public属性とは関数を使用して他のタスクからローカル変数へのアクセスを可能にする属性です。宣言は"Public"ステートメントで行います。自動的にStatic属性も付与されます。
ローカル変数へのアクセスと有効範囲(スコープ)
ローカル変数は宣言を記述する場所によって有効範囲が異なります。"ローカル変数の有効範囲"を参照してください。
- プロシージャ内に記述
- プロシージャ内に宣言を記述するとプロシージャ実行時に宣言されたローカル変数が作成(初期化)され、プロシージャの実行終了時に消滅します。プロシージャ内からのみアクセス可能です。Static属性のローカル変数は宣言できません。
- プログラムの宣言部に記述
- プログラムの宣言部に記述されたローカル変数はタスクの実行時に作成(初期化)され、タスクの実行終了時に消滅します。ただし、Static属性のローカル変数はコンパイル時に作成(初期化)され、プログラムを削除したときに消滅します。
コンパイル時にStatic属性のローカル変数に記述の変更がなければ初期化されません。また、プログラム内に記述されているStatic属性のローカル変数に1つでも記述の変更があったときはプログラム内のStatic属性の変数全てを初期化します。
ID : 576
- このページに関連する情報
- Static属性
- Public属性
- ローカル変数の有効範囲(スコープ)
- 変数の種類と使用上の注意