5.4.3 SET WATCH/RESET WATCH(データ監視条件の設定と解除)
(1) SET WATCH(データ監視条件の設定)
プログラムの実行を中断する条件を設定します。
- 形式
-
-
WATCH(監視識別子)
データ監視条件を識別するための名称を指定します。
-
DATA(データ名指定)
監視対象とするデータ名を指定します。値の変化を監視します。詳細については,「2.2.1 プログラムの中断」の「(2) データ監視条件の設定による中断」を参照してください。
-
CONDITION(比較条件式)
監視対象となるデータの値に対しての比較条件式を指定します。条件式の評価を監視します。
比較条件式の指定の詳細については,「2.3.1 データの比較・代入規則」の「(2) データの比較規則」を参照してください。
条件式の監視については,「2.2.1 プログラムの中断」を参照してください。
-
SINGLETHREAD
単一のスレッドのデータを監視します。
-
SINGLEINSTANCE
単一のオブジェクトのデータを監視します。
-
COUNTER(カウンタ変数)
カウンタ変数は,プログラムの開始時に0が設定され,DO〜ENDDOオペランドで指定したTDコマンド群が実行されるたびに1ずつ値が増加します。
-
MESSAGE | NOMESSAGE
監視条件の成立を知らせるメッセージを表示するかどうかを指定します。
-
DO 〔 TDコマンド群 〕 ENDDO
中断時に実行するTDコマンド群を指定します。
-
- 注意事項
-
-
データ名指定または比較条件式のデータ名に,カウンタ変数は指定できません。
-
データ名指定または比較条件式のデータ名に添字付きのデータ名を指定するときの添字は,整数定数でなければなりません。また,添字の範囲指定はできません。
-
データ名指定または比較条件式のデータ名に部分参照のデータ名を指定するとき,最左端位置と長さ指定は整数定数でなければなりません。
-
すでに設定された監視識別子を指定して,再度,データ監視条件を設定した場合は,以前の設定が無効となり,新しい設定が有効となります。
-
オブジェクトに属するデータ項目の領域がオブジェクトごとに生成されるときは,生成されたオブジェクトの領域ごとに監視が行われます。カウンタ変数は,オブジェクトのデータごとにカウントされます。SINGLEINSTANCEオペランドは,その一つのデータを指定して監視できます。
-
データ項目の領域が再帰によって複数生成されるときは,生成された領域ごとに監視が行われます。カウンタ変数は,データごとにカウントされます。
-
マルチスレッドで実行するプログラムで,指定したデータ名の領域がスレッドごとに生成されるときは,生成されたスレッドの領域ごとに監視が行われます。カウンタ変数は,スレッドのデータごとにカウントされます。SINGLETHREADオペランドは,その一つのデータを指定して監視できます。
-
連絡節で定義したLIMIT指定がない動的長基本項目への部分参照指定は,プログラムの起動前には指定できません。指定すると,KCCC3434T-Eのメッセージが出力されて,処理が中止されます。
-
比較条件式の両辺にデータ名を指定する場合は,データ名の定義場所や属性などによって指定できる条件が異なります。比較条件式に指定できるかどうかの組み合わせを次に示します。ここでは「NORMAL」や「RECURSIVE」などをグループ名の例として説明します。
表5‒10 監視の条件式に指定できる組み合わせ 左辺
右辺
NORMAL
RECURSIVE
FACTORY
INSTANCE
NORMAL
○
×
×
×
RECURSIVE
×
△
×
×
FACTORY
×
×
△
×
INSTANCE
×
×
×
△
表5‒11 グループの内容 グループ名
データ名
NORMAL
-
ファイル節,作業場所節,画面節,通信節で定義されたデータ名
-
再帰不可能なソース要素の連絡節で定義されたデータ名および特殊レジスタ
RECURSIVE
再帰可能なソース要素の連絡節または局所場所節で定義されたデータ名,および特殊レジスタ
FACTORY
ファクトリデータ
INSTANCE
インスタンスデータ
-
-