4,定时中断个数不够怎么办?每个定时中断服务程序不一定只能处理一项定时服务,可以把几个任务放在一个定时中断服务程序中,对于定时间隔不同的任务,可以计算出它们的定时长度的*大公约数,以此作为定时中断的时间设置。
在中断服务程序内部对中断事件进行计数,据此编程别处理不同的任务。
5,使用子程序时,为何动作只能执行一次或者某些状态不能结束,如果发生动作不能重复执行或者状态不能结束(像锁死了一样)而这些功能都与子程序有关时,请检查是否有条件调用子程序,调用子程序的条件在上述动作执行后或者进入某个状态后不再有效,无法
“激活”而脱离上述状态或复位的指令正好在子程序内,必然造成上述的现象。
6,带形式参数的子程序,定义为OUT类型的变量为何会在多次调用子程序时互相干扰,那是因为定义为OUT类型的形式参数又在子程序内部参与了运算,凡是此类参数都应当定义为IN_OUT类型。
7,与中断服务程序有关的计算任务,为何会偶尔得出不正确的结果,出现这种现象的原因多是在主(子)程序和中断程序之间传递数据的机制不当中断程序可能在任何时刻执行,如果此时主程序(或子程序)正在对中断程序使用的数据进行操作,其中间结果可能带入中断程序,造成计算结果的变化同样地在中断程序中产生数据也对主(子)程序中的计算有类似影响。
8,中断服务程序看起来没有执行,可以在中断程序中加一个测试程序段,如使用SM0.0(常为“1”)将一个输出点置为(使用Set指令)观察是否进入中断服务程序,中断程序不执行多数原因是初始化(连接中断事件和中断程序)的问题或者没有“开中断”应该使用SM0.1(或沿触发)执行一次初始化开中断。