浔之漫智控技术(上海)有限公司
西门子PLC , 西门子变频器 , 西门子数控系统 , 西门子伺服电机
西门子(通信处理器)一级总代理

PLC的工作方式是循环扫描执行用户程序。由于建立了输入/输出映像区,因此执行程序时系统工作只涉及充当映像区的存储器区,只是在扫描周期的适当时刻,在操作系统的组织下将输出映像区的信息全部倾卸给外设,同时也由所有外设读入信息。这种周期性地与外界交换信息,对一般外设是可以满足要求的。但是随着PLC功能的扩展,特别是许多特殊功能单元、智能单元被当作I/O外设以及中断控制的利用等,对响应的及时性,提出了新的要求。因此正常的周期性的输入/输出交换信息就满足不了要求。例如,某中断源提出中断申请被响应后机器就转向执行中断子程序,在执行中断子程序后的输出信息当然希望尽早送到相关外设,而不希望等到扫描周期的输入/输出阶段。又比如闭环控制系统,按照香农定理对系统确定了采样周期,它当然不可能与系统扫描周期一致,因此就希望在采样周期中系统能进行输入/输出的信息交换,以便及时采集到有关参数的数值进而实现控制。诸如此类,系统的周期性扫描与外设希望的及时响应矛盾的解决办法是设法将有关要输入/输出的信息分离出来,即这一部分信息的输入或输出与系统CPU的周期扫描脱离,利用专用的硬件单元(如快速响应I/O单元)或通过软件利用专门指令去执行某一I/O映像区的输入/输出(如利用定区I/O服务指令使定区的信息及时输入或输出,即取得立即执行)。5.中断输入处理

在可编程序控制器系统中,中断输入处理是由一块专用的特殊模板完成的。有关中断的概念及处理的思路和一般微机系统基本是一样的,即当有中断申请信号输入后,系统要中断正在执行的程序而转向执行相关的中断子程序;系统若有多个中断源时,它们之间按重要性有一个先后顺序的排队。系统由程序设定可以中断屏蔽等。此外,结合PLC工作的特点,中断的处理也有其特殊之处。

(1)中断的响应是在系统循环扫描周期的各个阶段。在可编程序控制器系统工作过程中,系统不仅对用户程序实行循环扫描,而且对输入、输出、编程器、通信单元及自诊断等,都实行循环扫描。因此对中断信号的响应也不限于用户程序的执行阶段,而是在循环扫描周期的各个阶段。那么,系统CPU是否也和一般微机系统CPU一样,在执行每一条指令结束时去查询有无中断申请呢?在可编程序控制器系统中,不是在每条指令执行结束后查询,而是在相关的程序块结束后查询中断申请,如有中断申请,则转入执行中断服务程序。如果用户程序是以块式结构组成的,则在每块结束或实行块调用时处理中断,见图1-61。

中断时间的决定因素有哪些?它应该包括:

① 等待响应时间t1。从外界中断源发出中断申请信息,到主CPU正在执行的程序块结束,CPU开始查询中断申请的时间。它与有关程序块的长短与中断申请发生的时刻有关,是一个在小范围内变化的随机量。

② 中断信号读入处理时间t2。从CPU查询出有中断申请至查清中断源并读入的时间③ 系统处理和中断服务程序的启动t3。它也是一个随机变量,与同时申请中断的中断源源数、中断排队及系统处理速度有关。

所以中断响应时间T=t1+t2+t3。

一般系统的中断响应时间为1~2ms。

(2)在可编程序控制器系统中,用户程序是循环扫描反复执行的。中断程序却不是每次扫描用户程序都要执行的,它只在中断申请被接受后执行一次,也就是说,中断申请只能使系统迅速去执行一次中断程序,而与中断程序中有关信息的状态及中断程序执行的结果无关,因此要想多运行几次中断子程序,则必须多进行几次中断申请。

(3)中断源先后排队顺序问题。在可编程序控制器系统中,中断源的信息是通过输入点而进入系统的,可编程序控制器扫描输入点是按顺序进行的,因此,中断源的先后顺序随它们占用的输入点编号的前后就自动排了顺序,因此在分配输入点时考虑一下中断源的主要性就可以解决中断源的排队问题。系统接到中断申请后,顺序扫描中断源,可能只有一个中断源申请中断,也可能同时有2个或多个中断源提出中断申请。系统在扫描中断源的过程中,就在存储器的一个特定区建立起“中断处理表”,按顺序存放中断信息,中断源被扫描过后,中断处理表亦建立完毕,系统就按照该表顺序先后转至相应的中断子程序入口地址。

在可编程序控制器系统中,中断程序的编制与一般微机系统基本一致。允许中断、禁止中断指令的使用,中断源与中断服务程序的对应关系等都是一样的,稍有不同的地方是:

① 在可编程序控制器系统中,多中断源可以有优先顺序(前面已指出可以通过占用输入点号来排队),根据处理器类型的不同可分为有嵌套关系和无嵌套关系两种,即中断程序执行中,如果系统处于允许中断的状态,若有新的中断发生,可以读取锁存器输出,确定中断输入源,有中断嵌套关系的处理器根据它们的优先顺序,若新中断的优先级高则将现在执行的中断挂起去执行新的中断;但无嵌套关系的处理器不论它们的优先顺序如何,都是将执行中的中断处理结束后,再进行新的中断处理。

② 在中断子程序结束后,返回主程序的方法有两种:其一是中断子程序正常结束,遇到中断处理结束指令(IEND);其二是遇到符合条件的中断处理中断指令(RETI),上述指令放在中断程序中的哪部分,只能根据该程序的具体情况而定。

③ 关于中断服务程序执行结果信息的输出问题,由于PLC执行的是循环扫描方式,正常的输入/输出是在扫描周期的一定阶段进行的,因此对中断子程序有关信息的输出必须进行特殊处理。


发布时间:2024-04-11
展开全文
优质商家推荐 拨打电话