Skip to main content

プログラミングオブジェクトでのコールモニタリング

アプリケーションがコントローラーで実行されている場合、プログラミングブロックのエディターに変数の実際の値が表示されます。これにより、タグ値を監視できます。

要件:で ツール→オプション カテゴリの下で テキストエディタ タブ内 モニタリング オプションです インラインモニタリングを有効にする 起動しました。

  1. コントローラにアプリケーションをロードし、アプリケーションを起動します。

  2. コマンドを選択します デバッグ→外観→10進数

    実際の値の表示形式が設定されます。

  3. ビューのプログラミングオブジェクトをクリックします 装置 また POU

    関連するエディターが開きます。変数の実際の値は、宣言と実装の両方で常に更新されます。

宣言エディタで監視する

_cds_img_declaration_editor_online.png

式(1)の実際の値は、列に示されています。 価値 (3)が表示されます。

変数に関するコメントは、に表示されます [コメント] コラム (6)。

表示されるコメントのロジックと優先順位の詳細については、以下を参照してください。 STコメント

あなたはコラムでそれを見つけることができます 準備された価値 (4)入力した値を書き込んで強制します。強制中、実際の値は赤い記号でマークされます _cds_icon_forced_variable.png 飾られた。

インターフェイス参照のプリントアウトは拡張できます。インターフェイスがグローバルインスタンスを指している場合、そのグローバルインスタンスは参照の下の最初のエントリとして表示されます。その後、インターフェイス参照が変更されると、表示されている参照が折りたたまれます。

実装の監視(インライン監視)

実装における現在の変数値の表現は、インライン監視と呼ばれます。

プログラミング言語に応じて、実装部分には次の表現があります。

  • 変数には、名前の後ろに現在の値が表示されたウィンドウがあります _cds_img_ex_inline_monitoring_window.png 表示されます。

    変数の強制または書き込み用の値を準備している場合、これらはインライン監視ウィンドウ内の現在の値の後に山かっこで囲まれて表示されます。

    強制した後、影響を受ける値は記号でマークされます _cds_icon_forced_variable.png マークされた。

  • ネットワークエディタとCFCエディタ

    接続線(信号線)は、実際のブール値に従って色分けされています。青は TRUE、は黒を意味します FALSE

  • ラダーエディタ

    さらに、接点要素とコイル要素がマークされています。

    接点またはコイルの場合、準備された値(TRUE また FALSE)アイテムの横にある小さなウィンドウ。

  • ASエディター

    値のある遷移 TRUE ブール値の実際の値に従って色分けされています:青は TRUE、は黒を意味します FALSE

    アクティブなステップは青色でマークされています。

    実装では、強制遷移値は赤でマークされています。

  • ILテーブルエディタ

    現在の値は別の列に表示されます。

39. STエディターでの監視
_cds_img_inline_monitoring_st.png


40. LDエディターでの監視
_cds_img_monitoring_in_ld.png


41. ASエディターでの監視
_cds_img_monitoring_in_sfc.png


ヒント

ここでインライン監視機能を無効にできます。 ツール→オプション、 カテゴリー テキストエディタ、 タブ モニタリング

アレイを部分的に監視する

展開された配列は、最大1000要素の実際の値を示します。ただし、これは混乱を招く可能性があります。また、配列には1000を超える要素を含めることができます。次に、表示されるアイテムの範囲を制限すると便利です。これは、オンライン中に次の方法で実行できます。

手順. 監視エリアを制限する

要件:アプリケーションが実行されている。 1000を超える要素を持つ多次元配列変数が宣言されています。

例: arrBig : ARRAY [0..100, -9..10, -19..20] OF INT;

  1. 変数をクリックします arrBig 列のフィールドで データ・タイプ

    対話 監視エリア 開きます。

  2. 送信 始める[1, -9, -19] 1。

  3. 送信 終わり[1, 10, 20] 1。

    800個の配列要素の実際の値が宣言エディターに表示されます。スコープはインデックスの要素に限定されます [1, <i>, <j>] iは-9から10、jは-19から20です。

モニタ汎用モジュール

オンライン操作中に汎用ブロックのエディタビューをダブルクリックすると、基本実装のビューまたは特定のインスタンスのいずれかを選択できるダイアログが表示されます。

基本的な実装を選択した場合、コードは現在の値が表示されずにエディターに表示されます。次に、基本実装にブレークポイントを設定します。そこで実行が停止すると、プログラムフローで最初に処理されたインスタンスの現在の値が表示されます。これで、すべてのインスタンスを連続してステップスルーできます。

インスタンスの1つを選択すると、汎用ブロックインスタンスのコードでエディタが開きます。現在の値は、宣言と、必要に応じて実装に表示され、常に更新されます。

プロパティを監視する

プロパティオブジェクトでできます _cds_icon_interface_property.png オンライン中に関数にブレークポイントを設定するときに変数を監視します。そこで停止すると、現在の値が表示されます。

独自の値に加えて、上位レベルのインスタンスの変数の値が自動的に表示されます。プロパティの宣言部分の最初の行にポインタが表示されます THIS、現在のデータ型の仕様と値を持つ親インスタンスを指します。

42.

コード

FUNCTION_BLOCK FB_BaseAlfa
VAR
        iBaseLocal : INT;
        sBaseLocal : STRING;
END_VAR
iBaseLocal := iBaseLocal + 1;
sBaseLocal := 'Testing Text';

FB_BaseAlfa.PorpBeta.Get
iBaseLocal := iBaseLocal + 1;
IF iBaseLocal > 0 THEN
        PropBeta := TRUE;
END_IF

FB_BaseAlfa.PorpBeta.Set
IF PropBeta = TRUE THEN
        iBaseLocal := 0;
        sBaseLocal := 'Tested IF';
END_IF


PROGRAM PLC_PRG
VAR
        fb_BaseAlfa : FB_BaseAlfa;
END_VAR

fb_BaseAlfa();

IF fb_BaseAlfa.PropBeta = TRUE THEN
        xResult := TRUE;
END_IF
IF xReset THEN
        fb_BaseAlfa.PropBeta := TRUE;
        xReset := FALSE;
END_IF
_cds_img_monitoring_property.png


親プログラミングオブジェクトのプロパティアクセスを監視する

変数値に加えて、機能ブロックまたはプログラムで従属プロパティの値を使用することもできます _cds_icon_interface_property.png モニター。

これを行うには、宣言の子プロパティオブジェクトに、いずれかのプラグマを追加します {attribute 'monitoring' = 'variable'} またはプラグマ {attribute 'monitoring' = 'call'} 1。実行時に上位レベルのプログラムインスタンスまたは上位レベルの関数ブロックインスタンスを開くと、現在のタグ値に加えて、現在のプロパティ値がエディターに表示されます。

監視方法

メソッドオブジェクトでできます _cds_icon_method.png オンライン中にメソッドにブレークポイントを設定するときに変数を監視します。そこで停止すると、現在の値が表示されます。

独自の値に加えて、上位レベルのインスタンスの変数の値が自動的に表示されます。メソッドの宣言部分の最初の行にポインタが表示されます THIS、現在のデータ型の仕様と値を持つ親インスタンスを指します。

43.

コード

FUNCTION_BLOCK FB_BaseAlfa
VAR
        iBaseLocal : INT;
        sBaseLocal : STRING;
END_VAR
iBaseLocal := iBaseLocal + 1;
sBaseLocal := 'Testing Text';

METHOD MethBaseAlfa : BOOL // Method of FB_BaseAlfa
VAR_INPUT
END_VAR
VAR
        iMethLocal : INT;
END_VAR
iMethLocal := iMethLocal + 1;


PROGRAM PLC_PRG
VAR
        fb_BaseAlfa : FB_BaseAlfa;
END_VAR
fb_BaseAlfa();
fb_BaseAlfa.MethBaseAlfa();
_cds_img_monitoring_method.png


モニター機能

オンライン中に関数にブレークポイントを設定すると、関数オブジェクトの変数を監視できます。そこで停止すると、現在の値が表示されます。

関数呼び出しの戻り値を監視する

POUのSTエディターでは、関数が呼び出された時点で、現在の戻り値がインラインモニタリングとして表示されます。

. このためには、次の条件を満たす必要があります。
  • これは、4バイトの数値として解釈できる値です。例えば INTSINT また LINT

  • 関数にはプラグマがあります {attribute 'monitoring' := 'call'} 挿入されました。