中断控制
ICTL指令设置所有中断以启用或禁用。每次执行ICTL指令时,可以设置中断程序的类型和有效性等参数。可以通过s1_Control和s2_Condition指定设置。
用于中断控制设置的s1_Control16位等效常量或16位区域
用于中断触发条件设置的s2_Condition16位等效常量或16位区域
输入
中断控制数据设置
中断条件设置
可用中断程序的数量为:
中断模块初始中断程序(INT 0~INT 15)
高级模块(特殊模块,例如位置控制...)初始中断程序(INT 16~INT 23)
定时中断程序(INT 24)(对FP2/2SH, FP10SH可选择的时间基数0.5ms)
务必使用ICTL指令,以便在ICTL触发器的上升沿使用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:1中断程序0启用 位1:0中断程序1禁用 ... 位15:1中断程序15启用 例如:s2 = 2#0000000000001010 |
可通过监控系统变量sys_wInterruptMask_0_15检查各中断模块初始中断的当前启用/禁用状态。
可通过监控系统变量sys_wInterruptMask_16_31检查各非中断模块初始中断的当前启用/禁用状态。
可通过监控系统变量sys_iPeriodicInterruptInterval检查定时中断的当前中断间隔。
如果程序被写入中断任务,当启动程序时初始化例行程序期间,相关中断将自动启用。
使用ICTL指令可通过程序启用或禁用中断任务。