可编程序控制器在一个扫描周期内基本上要执行以下6个任务。
(1)运行监控任务。为了保证系统可靠工作,可编程序控制器内部设置了系统定时计时器WDT(Watch DogTimer),由它来监视扫描周期是否超时。可编程序控制器在每个扫描周期内都要对WDT进行复位操作,如果不能执行该任务,则WDT的计时会超过设定值,也就是扫描周期超过了规定时间,这表明系统的硬件或用户软件发生了故障。当WDT超时后,它会自动发出故障报警信号,并停止可编程序控制器的运行。WDT的时间设定值一般为扫描周期的2~3倍,通常在l00~200ms之间,很多可编程序控制器可以由用户根据实际应用情况通过硬件或软件来设定。
(2)与编程器交换信息任务。编程器是可编程序控制器的外部设备,它与主机的外部设备接口相连。作为编制、调试用户程序的外部设备,编程器在可编程序控制器的外部设备中占有非常重要的地位,在主机的扫描周期中把与编程器交换信息的任务单独列出而不包括在与外部设备信息交换的任务中。编程器是人机交互的设备,用户把应用程序输入到可编程序控制器中,或对应用程序进行在线运行监视和修改都要用到它。这就要求可编程序控制器能与编程器进行信息交换。当可编程序控制器执行到与编程器交换信息任务时,就把系统的控制权交给编程器,并启动信息交换的定时器。在编程器取得控制权后,用户就可以利用它来修改内存中的应用程序对系统的工作状态进行修改,如读微处理器的状态、读或写数字变量和逻辑变量、封锁或开放输入/输出,以及控制微处理器等。编程器在完成处理任务或达到信息交换的规定时间后就把控制权交还给可编程序控制器。在每个扫描周期内都要执行此项任务。
(3)与数字处理器(DPU)交换信息任务。一般大中型可编程序控制器多为双处理器系统。一个是字节处理器CPU,另一个是位处理器DPU。CPU是系统的主处理器,由它处理字节操作指令,控制系统总线,统一管理各种接口和输入/输出单元。DPU是系统的从处理器,它的作用是处理位操作指令,协助主处理器加快整个系统的处理速度。当可编程序控制器为双处理器系统时,就会有与数字处理器交换信息的任务。该任务主要是数字处理器DPU的寄存器信息与主系统的寄存器信息和开关量信息的交换。这个任务占用的时间随信息交换量而变化。在一般小型可编程序控制器中是没有这个任务的。
(4)与外部设备接口交换信息任务。该任务主要是可编程序控制器与上位计算机、其他可编程序控制器或一些终端设备,如彩色图形显示器、打印机等设备进行信息交换。这一任务的大小和占用时间的长短随主机外接设备的数量和数据通信量而变化。如果没有连接外部设备,则该任务跳过。
(5)执行用户程序任务。用户程序是由用户根据实际应用情况而编制的程序,存放在RAM或EPROM中。可编程序控制器在每个扫描周期都要把用户程序执行一遍,用户程序的执行是按用户程序的实际逻辑关系结构由前向后逐步扫描处理的,并把运行结果装入输出信号状态暂存区中,系统的全部控制功能都在这一任务中实现。
西门子OP77A
浔之漫智控技术(上海)有限公司(sqw-xzm-ssm)
本公司是西门子授权代理商自动化产品,全新,西门子PLC,西门子屏,西门子数控,西门子软启动,西门子以太网西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆我公司**供应,德国进口
(6)输入/输出任务。可编程序控制器内部开辟了两个暂存区:输入信号状态暂存区和输出信号状态暂存区。用户程序从输入信号状态暂存区中读取输入信号状态,运算处理后将结果放入输出信号状态暂存区中。输入/输出状态暂存区与实际输入/输出单元的信息交换是通过输入/输出任务实现的。输入/输出任务还包括对输入/输出扩展接口的操作,通过输入/输出扩展接口实现主机的输入/输出状态暂存区与简单输入/输出扩展环节中的输入/输出单元或与智能型输入/输出扩展环节中的输入/输出状态暂存区之间的信息交换。可编程序控制器在每个扫描周期都执行该任务。2.可编程序控制器的输入/输出过程
可编程序控制器的工作方式是周期扫描方式,其输入/输出过程是定时进行的,即在每个扫描周期内只进行一次输入和输出的操作。在输入操作时,启动输入单元,把现场信号转换成数字信号后全部读入,进行数字滤波处理,后把有效值放入输入信号状态暂存区;在输出操作时,把输出信号状态暂存区中的信号全部送给输出单元,进行传送正确性检查,后启动输出单元把数字信号转换成现场信号输出给执行机构。对用户程序而言,要处理的输入信号是输入信号状态暂存区的信号,而不是实际的信号。运算处理后的输出信号被放入输出信号状态暂存区,而不直接输出到现场,在用户程序执行的这一周期内,其处理的输入信号不再随现场信号的变化而变化;输出信号状态暂存区中的信号随程序执行的结果不同而不断变化,实际的输出信号是不变的,在输出过程中,只有后一次操作结果对输出信号起作用。可编程序控制器周期性的输入/输出处理方式对一般控制对象而言是能够满足的,对那些要求响应时间小于扫描周期的控制系统则不能满足,这时可以用智能输入/输出单元或专门的软件指令通过与扫描周期脱离的方式来解决。3.可编程序控制器的中断输入处理过程
可编程序控制器的中断输入处理方法同一般计算机系统基本相同,即当有中断申请信号输入后,系统要中断正在执行的相关程序而转向执行中断子程序;当有多个中断源时,它们将按中断的优先级有一个先后顺序的排队处理。系统可以通过程序设定中断允许或禁止中断。可编程序控制器对中断的响应不是在每条指令执行结束后进行的,而是在扫描周期内某一个任务完成后进行。
可编程序控制器的中断源信息通过输入单元进入系统,由于可编程序控制器扫描输入点是按顺序进行的,中断源的先后顺序根据其占用的输入点位置而自动排序,当系统接到中断申请后,顺序扫描中断源,可能只有一个中断源申请中断,也可能有两个或多个中断源申请中断。系统在扫描中断源的过程中,在存储器的一个特定区里建立中断处理表,按顺序存放中断信息,系统按照该表顺序先后转至相应的中断子程序去处理。
可编程序控制器的中断源有优先顺序,一般无嵌套关系,即在中断程序执行中如果有新的中断发生,则无论它的优先顺序如何,都不能中断正在执行的中断程序,只有在原中断处理程序结束后再进行新的中断处理。
可编程序控制器是以循环扫描方式工作的,正常的输入/输出处理在扫描周期内的某一个阶段进行,对于中断处理子程序中有关信息的输出必须采取特殊处理,即这部分输出信息不通过周期扫描方式输出,而利用专门的硬件或软件去立即执行。4.可编程序控制器的工作原理
可编程序控制器的工作原理与计算机的工作原理基本一致,它通过执行用户程序来实现控制任务,在时间上,可编程序控制器执行的任务是串行的,与继电器逻辑控制系统中控制任务的执行有所不同。
可编程序控制器的工作过程如上所述。可以看到,整个工作过程是以循环扫描的方式进行的。循环扫描方式是指在程序执行过程的周期中,程序对各个过程输入信号进行采样,对采样的信号进行运算和处理,并把运算结果输出到生产过程的执行机构中。在这个执行周期中,有些输入变量可能有变化,而有些输入变量可能没有发生变化,相应地有些输出变量有变化,有些输出变量没有变化。在可编程序控制器中,采用循环扫描的方式不断地对输入和输出变量进行采样和输出,使得变量满足程序条件时及时有相应的输出使执行机构动作。这里,与计算机程序执行过程的区别是,在计算机的工作过程中,如果变量的条件没有满足,程序将等待,直到该条件满足为止。而在可编程序控制器中,程序执行时,如果这一个扫描周期变量的条件未满足,则程序将继续执行下去,到下面的某一个扫描周期,变量的条件满足时,满足条件的运行结果就被执行。采用循环扫描的方式,由于扫描周期的时间很短,只要变量满足条件的时间大于扫描周期,则该变量的满足条件就能被可编程序控制器的程序执行。
可编程序控制器中断处理的原理与计算机中断处理的原理也是基本一致的,上面已经进行了讨论。可以看到,中断的处理过程是在每个任务结束后进行的,在每个任务执行的过程中,可编程序控制器对中断是不响应的,这是与计算机的中断响应有所区别的点。在用户程序的任务执行过程中,可编程序控制器也需要程序块执行完成后才能执行中断子程序,这是与计算机中立即执行中断子程序的方式有所区别的第二点。中断的优先级处理和输出的区别是与计算机中断处理不同的第三点。产生区别的主要原因是由于可编程序控制器采用循环扫描工作方式,在系统软件的编制过程中,对中断处理采用了与计算机不同的处理方法。在应用时要注意它与计算机的不同点,并在编程时加以注意。
可编程序控制器的输入/输出处理也因可编程序控制器采用循环扫描的工作方式而与计算机的处理方式有所区别,即只有在程序扫描到该变量时,才进行采样,而该变量可能在扫描前的某一时刻已经发生了变化。为了及时得到变量的变化信息,缩短扫描周期是可以采取的一个措施,也可以采用智能输入/输出模块,它有独立的微处理器和存储器,与中央处理单元分别进行处理。
1.4 可编程序控制器的国内外状况及发展趋势
1.4.1 可编程序控制器的国内外状况
可编程序控制器的发展与计算机技术、半导体集成技术、控制技术、数字技术、通信网络技术等高新技术的发展息息相关。这些高新技术的发展推动了可编程序控制器的发展,而可编程序控制器的发展又对这些高新技术提出了更高、更新的要求,促进了它们的发展。1.国外可编程序控制器的发展
从控制功能来分,可编程序控制器的发展经历了下列4个阶段。
阶段从台可编程序控制器问世到20世纪70年代中期,是可编程序控制器的初创阶段。这一阶段的产品主要用于逻辑运算和计时/计数运算,它的CPU由中小规模的数字集成电路组成,它的控制功能较简单。典型产品有MODICON公司的084、ALLEN-BRADLEY公司的PDQII、DEC公司的PDP-14、日本日立公司的SCY-022等。由于这些产品主要完成逻辑运算功能,被称为可编程序逻辑控制器(ProgrammableLogic Controller),缩写为PLC。