ICTL

割り込み制御

ICTL命令は、割り込みの実行許可/禁止の指定を行います。ICTL命令が実行される毎に、割り込みプログラムの実行許可/禁止のパラメータを設定します。パラメータs1_Controls2_Conditionによって設定します。

  • s1_Control 割り込みの種類と制御する機能を指定する16ビットエリア

  • s2_Condition 割り込みプログラム実行許可/禁止を指定する16ビットエリア

パラメータ

入力

s1_Control (WORD, INT, UINT)

割り込みの種類と制御する機能を指定

s2_Condition (WORD, INT, UINT)

割り込みプログラム実行許可/禁止を指定

解説

制御可能な割り込みプログラム数:

16

割り込み入力による割り込み(INT 0~INT 15)

8

高機能モジュール(位置決めなどの特殊モジュール)による割り込み(INT 16~INT 23)

1

定時割り込みプログラム(INT 24) (FP2/2SH, FP10SHの場合: 0.5ms単位)

ICTL 命令は、ICTL トリガの立ち上がりで1度実行されるようにしてください。これにはDF 立ち上がりエッジ検出(微分)命令を使用します。

複数のICTL命令が同一のトリガを持つことができます。

ビット

15 .. 8

7 .. 0

s1_Control

16#

制御する機能の選択

00: 割り込み許可/禁止

01: 割り込みクリア(トリガリセット)

割り込みの種類の選択

00: 割り込み入力による割り込み(INT 0~15)

01: 高機能ユニットによる割り込み(INT 16~23)

02: 定時割り込み(INT 24)

s2_Condition

2#

ビット0: 割り込みプログラム 0 の実行を禁止するとき0 を指定

ビット0: 割り込みプログラム 0 の実行を許可するとき1 を指定

ビット1: 割り込みプログラム 1 の実行を禁止するとき0 を指定

...

ビット15: 割り込みプログラム 15 の実行を許可するとき1 を指定

例: s2 = 2#0000000000001010

注記
  • 割り込み入力の実行許可/禁止の状態は、システム変数sys_wInterruptMask_0_15で確認することができます。

  • 高機能ユニットによる割り込みの実行許可/禁止の状態は、システム変数sys_wInterruptMask_16_31で確認することができます。

  • 定時割り込みの時間間隔は、システム変数sys_iPeriodicInterruptIntervalで確認することができます。

  • 割り込みタスクにプログラムを書き込むと、プログラム開始時の初期化ルーチン中に、関連する割り込みが自動的に許可されます。

  • ICTL命令を使って、プログラムで割り込みタスクを許可/禁止することができます。

最終修正日: 2022-02-01このページに関するフィードバックお問い合わせ窓口