内容
1.異常フラグがONになっていると。それに対応したメッセージを表示する。 |
|
![]() |
・左の画像をクリックすると、大きい画像が表示されます。 2行目 :PLC起動時の初期化。 4行目 :1word単位でエラーフラグ[MR0xx]を[MR1xx]に記憶。タイマのカウント。 5行目 :エラー記憶が有⇒無に変化した時点で、表示文言を消去し、次に発生するエラー表示の為にタイマをリセット。 実質「LDA MR100」は不要です。 6行目 :エラー記憶が有れば、文言表示動作有効のフラグ[ACTIVE]を真に。このフラグは5行目のエッジ検出にも使用。 8行目 :[ACTIVE]が真なら、11行目のSTEまでを実行。 9行目 :タイマがアップしたら前回のエラー記憶を消去。INDEXが16以上(MASKで定義)で有ればオーバーフロー処理をして、INDEXに1を追加してイ ンデック スレジスタ[Z1]に代入。今回チェックするフラグが真ならば。 10行目 :タイマをリセット。[Z1]に転送文字数[SPAN]を掛けて、転送元オフセットを算出し、[Z2]に代入。 最後に、転送元アドレスからSPAN文字分を表示領域の[DM0]に転送。 転送元(ここではEM)の代わりにエラーフラグのコメントを転送してもおもしろいかもしれません。 15行目 :PLC起動時の初期化ルーチン。 17行目 :INDEXカウンタをクリア。今回フラグ数が16ビットなので、MASKにF(hex)を代入。 19行目 :転送文字数(32文字)を代入。 21行目 :表示時間をタイマに代入(今回は3秒)し、タイマをセット。 24行目 :フラグ[TEST_DATA]が偽なら、テストデータを生成します。テストデータが不要なら、PLC起動前に[TEST_DATA]を真にしておく。 インデックスレジスタ7[Z1]に0を代入。エラーフラグ0の数値を100にしたい(独断で決定)ため、[TM4]に100を代入。 エラー16個分のループを回すため、[MASK](15)に+1して[LOOP]に代入。 26行目:転送 元アドレスに初期値を代入。以降、転送元アドレスを32づつ、数値を1づつ増加させて16回分代入。 |
![]() |
・
左の画像をクリックすると、大きい画像が表示されます。 シミュレーションできる方は下欄からプログラムコードと登録モニタをダウンロードしてください。 MR000〜MR015の現在値にカーソルを合わせ、「ダブルクリック」または「スペースキー」押下でON-OFFさせて下さい。 エラーの位置に応じた数値がDM0に一定時間ごとに転送されます。 |
●PDFを表示 ●コードをダウンロード ●登録モニタをダウンロード |