它是编制、调试可编程序控制器用户程序的外部设备,是人机交互的窗口。通过编程器可以把新的用户程序输入到可编程序控制器的RAM中,或者对RAM中已有程序进行编辑。通过编程器还可以对可编程序控制器的工作状态进行监视和跟踪,这对调试和试运行用户程序是非常有用的。编程器分为简易型和智能型两类。筒易型的编程器只能连在可编程序控制器上使用,一般由简易键盘和发光二极管矩阵或液晶显示器组成。而智能型的编程器可以联机,也可以脱机使用。近年来,智能型的编程器一般采用微型计算机加上相应的应用软件构成。它既可用于编制调试用户程序,又可完成彩色图形显示、通信联网、打印输出控制和事务管理等多项功能。
2)彩色图形显示器
大中型可编程序控制器通常配接彩色图形显示器,用于显示模拟生产过程的流程图、实时过程参数、趋势参数及报警参数等过程信息,使得现场控制情况一目了然。
3)打印机
可编程序控制器也可以配接打印机等外部设备,用于打印记录过程参数、系统参数及报警事故记录表等。
可编程序控制器还可以配置其他外部设备。例如,配置盒式磁带机或磁盘驱动器,用于存储用户的应用程序和数据;配置EPROM写入器,用于将程序写入EPROM中。
可编程序控制器除了硬件系统外还需要软件系统的支持,它们相辅相成,缺一不可,共同构成可编程序控制器。可编程序控制器的软件系统由系统程序(又称系统软件)和用户程序(又称应用软件)两大部分组成。1.系统程序
系统程序由可编程序控制器的制造厂编制,固化在PROM或EPROM中,安装在可编程序控制器上,随产品提供给用户。系统程序包括系统管理程序、用户指令解释程序和供系统调用的标准程序模块等。
1)系统管理程序
系统管理程序的主要功能如下。
(1)时间分配的运行管理,即控制可编程序控制器输入/输出运算、自检及通信时序。
(2)存储空间的分配管理,即生成用户环境,规定各种参数、程序的存放地址,将用户使用的数据参数存储地址转化为实际的数据格式及物理存放地址。
(3)系统的自检程序,即对系统进行出错检验、用户程序语法检验、句法检验、警戒时钟运行等。在系统管理程序的控制下,整个可编程序控制器能正确、有效地工作。
2)用户指令解释程序
用户指令解释程序将用户用各种编程语言(梯形图、语句表等)编制的应用程序翻译成中央处理单元能执行的机器指令。
3)供系统调用的标准程序模块
供系统调用的标准程序模块是由许多独立的程序块组成的,各自完成包括输入、输出、特殊运算等不同的功能。可编程序控制器的各种具体工作都由这部分完成。
由于通过改进系统程序可以在不改变硬件系统的情况下大大改善可编程序控制器的性能,所以制造厂商对系统程序的编制极为重视,其产品的系统程序也在不断升级和完善。2.用户程序
用户程序是根据生产过程控制的要求由用户使用制造厂商提供的编程语言自行编制的应用程序。用户程序包括开关量逻辑控制程序、模拟量运算程序、闭环控制程序和操作站系统应用程序等。
(1)开关量逻辑控制程序是可编程序控制器用户程序中重要的一部分,一般采用梯形图、助记符或功能表图等编程语言编制,不同可编程序控制器的制造厂商提供的编程语言的形式不同,至今还没有一种能全部兼容的编程语言。
(2)模拟量运算程序及闭环控制程序通常是在大中型可编程序控制器上实施的程序,由用户根据需要按可编程序控制器提供的软件和硬件功能进行编制。编程语言一般采用语言或汇编语言,一些制造厂商为方便用户编程,也有提供相应编程软件供用户进行编制模拟量运算和PID控制等程序。
(3)操作站系统应用程序是大型可编程序控制器系统经过通信联网后由用户为进行信息交换和管理而编制的程序。它包括各类画面的操作显示程序,一般采用语言实现,一些制造厂商也提供了人机界面的有关软件,用户可以根据制造厂商提供的软件使用说明进行操作站的系统画面组态和编制相应的应用程序。
1.3.3 可编程序控制器的工作原理1.可编程序控制器的工作过程
可编程序控制器上电后就在系统程序的监控下周而复始地按固定顺序对系统内部各种任务进行查询、判断和执行,这个过程实质上是一个不断循环的顺序扫描过程。一个循环扫描过程称为扫描周期。
西门子S7-1200授权一级供应商
浔之漫智控技术(上海)有限公司(s)
本公司是西门子授权代理商 自动化产品,全新,西门子PLC,西门子屏,西门子数控,西门子软启动,西门子以太网西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆我公司**供应,德国进口
可编程序控制器采用周期扫描机制,简化了程序设计,提高了系统的可靠性。具体表现在:在一个扫描周期内,前面执行的任务结果马上就可被后面将要执行的任务所用;可以通过设定一个监视定时器来监视每个扫描周期的时间是否超过规定值来避免某个任务进入死循环而引起的故障。
可编程序控制器在一个扫描周期内基本上要执行以下6个任务。
(1)运行监控任务。为了保证系统可靠工作,可编程序控制器内部设置了系统定时计时器WDT(Watch Dog Timer),由它来监视扫描周期是否超时。可编程序控制器在每个扫描周期内都要对WDT进行复位操作,如果不能执行该任务,则WDT的计时会超过设定值,也就是扫描周期超过了规定时间,这表明系统的硬件或用户软件发生了故障。当WDT超时后,它会自动发出故障报警信号,并停止可编程序控制器的运行。WDT的时间设定值一般为扫描周期的2~3倍,通常在l00~200ms之间,很多可编程序控制器可以由用户根据实际应用情况通过硬件或软件来设定。
(2)与编程器交换信息任务。编程器是可编程序控制器的外部设备,它与主机的外部设备接口相连。作为编制、调试用户程序的外部设备,编程器在可编程序控制器的外部设备中占有非常重要的地位,所以在主机的扫描周期中把与编程器交换信息的任务单独列出而不包括在与外部设备信息交换的任务中。编程器是人机交互的设备,用户把应用程序输入到可编程序控制器中,或对应用程序进行在线运行监视和修改都要用到它。这就要求可编程序控制器能与编程器进行信息交换。当可编程序控制器执行到与编程器交换信息任务时,就把系统的控制权交给编程器,并启动信息交换的定时器。在编程器取得控制权后,用户就可以利用它来修改内存中的应用程序对系统的工作状态进行修改,如读微处理器的状态、读或写数字变量和逻辑变量、封锁或开放输入/输出,以及控制微处理器等。编程器在完成处理任务或达到信息交换的规定时间后就把控制权交还给可编程序控制器。在每个扫描周期内都要执行此项任务。
(3)与数字处理器(DPU)交换信息任务。一般大中型可编程序控制器多为双处理器系统。一个是字节处理器CPU,另一个是位处理器DPU。CPU是系统的主处理器,由它处理字节操作指令,控制系统总线,统一管理各种接口和输入/输出单元。DPU是系统的从处理器,它的作用是处理位操作指令,协助主处理器加快整个系统的处理速度。当可编程序控制器为双处理器系统时,就会有与数字处理器交换信息的任务。该任务主要是数字处理器DPU的寄存器信息与主系统的寄存器信息和开关量信息的交换。这个任务占用的时间随信息交换量而变化。在一般小型可编程序控制器中是没有这个任务的。
(4)与外部设备接口交换信息任务。该任务主要是可编程序控制器与上位计算机、其他可编程序控制器或一些终端设备,如彩色图形显示器、打印机等设备进行信息交换。这一任务的大小和占用时间的长短随主机外接设备的数量和数据通信量而变化。如果没有连接外部设备,则该任务跳过。
(5)执行用户程序任务。用户程序是由用户根据实际应用情况而编制的程序,存放在RAM或EPROM中。可编程序控制器在每个扫描周期都要把用户程序执行一遍,用户程序的执行是按用户程序的实际逻辑关系结构由前向后逐步扫描处理的,并把运行结果装入输出信号状态暂存区中,系统的全部控制功能都在这一任务中实现。
(6)输入/输出任务。可编程序控制器内部开辟了两个暂存区:输入信号状态暂存区和输出信号状态暂存区。用户程序从输入信号状态暂存区中读取输入信号状态,运算处理后将结果放入输出信号状态暂存区中。输入/输出状态暂存区与实际输入/输出单元的信息交换是通过输入/输出任务实现的。输入/输出任务还包括对输入/输出扩展接口的操作,通过输入/输出扩展接口实现主机的输入/输出状态暂存区与简单输入/输出扩展环节中的输入/输出单元或与智能型输入/输出扩展环节中的输入/输出状态暂存区之间的信息交换。可编程序控制器在每个扫描周期都执行该任务。2.可编程序控制器的输入/输出过程
可编程序控制器的工作方式是周期扫描方式,所以其输入/输出过程是定时进行的,即在每个扫描周期内只进行一次输入和输出的操作。在输入操作时,首先启动输入单元,把现场信号转换成数字信号后全部读入,然后进行数字滤波处理,后把有效值放入输入信号状态暂存区;在输出操作时,首先把输出信号状态暂存区中的信号全部送给输出单元,然后进行传送正确性检查,后启动输出单元把数字信号转换成现场信号输出给执行机构。对用户程序而言,要处理的输入信号是输入信号状态暂存区的信号,而不是实际的信号。运算处理后的输出信号被放入输出信号状态暂存区,而不直接输出到现场,所以在用户程序执行的这一周期内,其处理的输入信号不再随现场信号的变化而变化;与此同时,虽然输出信号状态暂存区中的信号随程序执行的结果不同而不断变化,但是实际的输出信号是不变的,在输出过程中,只有后一次操作结果对输出信号起作用。可编程序控制器周期性的输入/输出处理方式对一般控制对象而言是能够满足的,但是对那些要求响应时间小于扫描周期的控制系统则不能满足,这时可以用智能输入/输出单元或专门的软件指令通过与扫描周期脱离的方式来解决。3.可编程序控制器的中断输入处理过程
可编程序控制器的中断输入处理方法同一般计算机系统基本相同,即当有中断申请信号输入后,系统要中断正在执行的相关程序而转向执行中断子程序;当有多个中断源时,它们将按中断的优先级有一个先后顺序的排队处理。系统可以通过程序设定中断允许或禁止中断。可编程序控制器对中断的响应不是在每条指令执行结束后进行的,而是在扫描周期内某一个任务完成后进行。
可编程序控制器的中断源信息通过输入单元进入系统,由于可编程序控制器扫描输入点是按顺序进行的,因此中断源的先后顺序根据其占用的输入点位置而自动排序,当系统接到中断申请后,顺序扫描中断源,可能只有一个中断源申请中断,也可能同时有两个或多个中断源申请中断。系统在扫描中断源的过程中,在存储器的一个特定区里建立中断处理表,按顺序存放中断信息,然后系统按照该表顺序先后转至相应的中断子程序去处理。
可编程序控制器的中断源有优先顺序,一般无嵌套关系,即在中断程序执行中如果有新的中断发生,则无论它的优先顺序如何,都不能中断正在执行的中断程序,只有在原中断处理程序结束后再进行新的中断处理。