产品描述
西门子模块6ES7231-7PD22-0XA8物优**
在有的PLC控制系统中,使用了 3级错误报警系统。1级设置在控制现场各控制柜面板,用 指示灯指示设备正常运行和错误情况,当设备正常运行时对应指示灯亮,当该设备运行有错误 时,指示灯闪烁。2级错误显示设置在中心控制室大屏幕监视器上,当设备出现错误时,有文字 显示错误类型,工艺流程图上对应的设备闪烁,历史事件表中将记录该错误。3级错误显示设置 在中心控制室信号箱内,当设备出现错误时,信号箱将用声、光报警方式提示工作人员,及时处理错误。
在处理错误时,又将错误进行分类,有些错误是要求系统停止运行的,但有些错误对系统工 作影响不大,系统可带错误运行,错误可在运行中排除,这样就大大减少整个系统停止运行时间,提髙系统可靠性运行水平。
当然,为了信息显示的准确,这些设备或指示灯必需保持完好无损。因此,应有相应的检査与测试程序。
在故障或出错报警的同时,做好故障记录,也是必要的。这也可与状态记录一起编程
CPU停止正常的用户程序执行循环转入中断程序的执行需要一定的条件,这一调用中断程序的 条件称为“中断事件(Interruptevent)”或“中断触发条件”。
中断事件只能在PLC所规定的范围内选择,不可以由用户进行任意编写,中断事件通过中断方 式进行选择。
—个中断事件只能调用一个中断程序,但不同的中断事件的中断程序可以相同,这一动作与结 构化编程相似。
在大多数情况下,需要PLC控制系统能够在多种条件下进行中断并进行不同的处理。如果这些 中断事件不是同时发生,那么,PLC遵循“时间**”的原则,首先处理的是较先发生的中断事件。
在PLC执行某一中断程序的过程中,不允许再转入其他中断程序,而不管所发生的中断有多么 重要,只有在执行中的中断程序完成后才能进行其他中断程序的处理。也就是说,PLC在任何时刻较多只能执行一个中断程序,中断程序不可以使用“嵌套”结构。
在PLC执行某一中断程序的过程中,如果连续发生了多起中断事件,或者在执行中断程序前的 同一时刻,同时发生了多起中断事件,那么,PLC必须对其重要度进行甄别,首先进行较重要的中 断处理;其余中断事件则需要进行“列队等候”,在较重要中断程序执行完成后,再进行其他次要的 中断裎序的处理。这一中断的“重要度”称为“中断**级”。
PLC主要按扫描方式进行工作,而且是周期扫描方式。
PLC的*处理器CPU与各外部设备之间的信息交换、用户程序的执行、输入信号的采集、控制量的输出等操作都是按固定的顺序进行的,而且是执行一遍后再执行下一遍,以循环扫描方式进行。
在正常状态下,从某一操作点开始,按顺序扫描各个操作流程,再返回到这一操作点的整个过程称为扫描周期,所用时间称为扫描周期时间。
PLC的扫描周期一般包括系统自检、外部设备服务、通信服务、输入采样、程序执行、输出刷新等六个阶段。
1.系统自检阶段
PLC的CPU要对系统的有关硬件进行自检。这类工作中的一部分,上电启动后只进行一次,不进入扫描周期;有的部分要周期循环的进行,归入扫描周期内,作为系统自检阶段。
这阶段的工作还包括对运行监控定时器WDT(Watch Dog Timer)的检查和复位。WDT监控定时器的功能是,通过时间设定来检测整个扫描周期是否有故障。
首先,由系统或用户对WDT定时器设定一个时间,这个时间与扫描周期时间相对应,略大于扫描周期时间,这个时间称为设定值;WDT定时器还有一个记录当前值的寄存器,它从扫描周期开始计时,一个扫描周期进行完毕后,当前值寄存器记录的当前值就是这个扫描周期时间。运行正常时扫描周期时间小于WDT定时器设定值。在PLC运行的整个过程中,WDT定时器当前值与设定值不断的进行比较。
进入系统自检阶段,标志上一个扫描周期结束,此时检查监控定时器WDT,若WDT定时器当前值小于设定值,则说明运行正常。在这种情况下,WDT检查后,再对WDT定时器复位,当前值寄存器归零,开始下一周期的计时。
若由于某些原因,PLC发生了故障,例如程序进入死循环,执行程序时间必然**时,这样,在WDT当前值比设定值小时,扫描循环周期不会进入系统自检阶段,而较终会出现WDT定时器当前值大于设定值的情况,此时WDT发出警告,再配合其他检测信息,系统判断故障性质,若属偶然因素所至,系统能够自动,则复位WDT定时器,循环扫描重新开始;否则,WDT定时器发出故障信号,系统将自动停止执行用户程序,封锁硬件,切断输出,以**设备和人身安全,并对外发出报警信号,等待处理。
有的PLC的WDT定时器的设定时间是固定的,不允许用户改变;有的允许用户用软件来设定,以适应用户控制程序的需要。
有的PLC虽然WDT定时器的设定时间是固定的,但指令系统中有WDT复位指令。如果用户程序过长而使周期扫描时间大于WDT定时器的设定时间,会出现非故障停机,为解决这一问题,可以把WDT复位指令插在程序中间,人为地让WDT及时复位而使当前值始终小于设定值而不会发出非故障的故障信号。
2.外设服务阶段
在PLC RUN(运行)时,可能通过编程器或**监控器或微机对运行状态进行监视,甚至强迫改变某些存储器的值,或输出某些数据。这就要求PLC与外部设备(编程器、监控器、微机、外部存储器、打印机等)进行信息交换,这就是外设服务。外设服务的时间和次序是确定的,也在周期扫描时间内。
3.通信服务阶段
当PLC不是单机控制而是形成控制网络时,PLC与PLC 之间,PLC与上位机之间要进行信息和数据交换,也就是通过通信处理器(通信接口)进行通信联系。这个时间也是固定在周期扫描时间内。在通信服务时间,PLC发出的信息和数据送到通信处理器,并从通信处理器中读取所需数据和信息。当数据交换完成或者通信服务时间到,服务就结束。PLC运行不需要通讯时,通信服务时间就是零。
4.输入采样阶段
这是体现PLC周期循环扫描方式重要优点的一个阶段。我们知道,外部输入开关的通断状态改变是随机地,这个改变随时地通过输入接口电路送到输入状态暂存器中,但不能随时地送到输入映像存储器中。
输入映像存储器中,一位(二进制)存储单元存储一个外部输入开关的状态,通,存“1”;断,存“0”。这里,一个二进制一位存储单元被称为一个“输入继电器”。全部“输入继电器”(或说整个输入映像存储器),可以称为输入状态表,因为它记录了所有的外部输入开关的状态。
什么时候把输入状态暂存器中的外部输入开关的状态送到输入映像存储器(输入状态表)中?在输入采样阶段。在这个阶段,PLC把输入状态暂存器中全部的数据,即外部输入开关的状态,不管有没有改变,都同时地(也可以说,一次性集中地),按外部点地址与内部位的对应关系,读入到内存中的输入映像存储器中,也就是在各输入继电器中存起来。这称为输入采样,也称为输入刷新,刷新输入状态表。输入状态表上所有的值在两次输入采样之间都不改变,不管对应输入点上的开关状态发生变化还是没有发生变化。这样处理的好处,在后面介绍。
5.程序执行阶段
这个阶段执行用户程序。从0000步程序开始,按顺序、按要求一条指令一条指令地执行,直到“END”指令出现,程序执行阶段结束。由于是周期循环扫描,所以用户程序也是一个周期从头到尾执行一次,并且,随着周期的循环,不断反复地执行。执行程序就要从内存各类存储器中读数据,进行要求的运算和操作,向有关存储器中写数据。向存储器中写入的数据当然是运算和操作的结果。需要控制外部输出开关量的数据一般由执行输出指令获得,写入到“输出继电器”,即输出映像存储器中。在一次程序执行过程中,程序得到的运算结果,可以马上被后面指令使用;后面程序得到的运算结果,在同一周期内不能被指令使用,但可以在下一周期被指令使用。这样,指令在程序中的前后位置是需要认真考虑的。
6.输出刷新阶段
在程序执行过程中,通过输出指令写到“输出继电器”中的“0”、“1”是控制输出接口中的输出开关的,进而控制外部输出器件的通电或断电。“输出继电器”的全体称为输出映像存储器,一个“输出继电器”占据输出映像存储器的一位。输出映像存储器又可看作为输出状态表。在程序执行阶段,执行一次对“输出继电器”的输出指令,就立即把得到的0、1数据写到输出映像存储器的对应位中,执行几次,写几次。也就是说,可以随时地即时刷新输出状态表。但是不能即时刷新输出状态锁存器,即输出状态锁存器的各位不能随时被改写。输出状态锁存器的各位是在输出刷新阶段被统一集中刷新。在这个阶段,CPU把内存中输出映像存储器,也就是输出状态表的内容一一对应地同时转存到输出接口电路的输出状态锁存器中,再经过光耦驱动,刷新输出开关,再使PLC输出口的执行器件的工作状态被刷新,实现PLC的控制目的。
当远程就地信号为1时,即表示现场的控制柜(箱)上的转换开关打到了远程位置,可进行PLC的自动控制;当其为0时,则表示是现场手动操作。为了实现程序内部的手动自动切换,就像远程就地信号一样,设置一个中间变量,这个中间变量作为程序手动单体设备操作的标志,是由上位机监控程序来赋值的,其值为1时,进行程序的单体设备手动操作;为0时PLC程序进行自动控制。由此可见,每一个自动控制中的设备都是在这两个条件下运行的。
我们用梯形图来实现一个电机和一个阀门的手自动切换功能,设置如下输入、输出IO标签和中间变量:
输出:电机启动START
电机停止STOP
阀门打开OPEN
阀门关闭CLOSE
输入:电机MCC柜远程就地信号RL_M
阀门控制柜远程就地信号RL_V 变量:电机启动条件A
电机停止条件B
阀门打开条件C
阀门关闭条件D
电机的上位机手动操作中间变量UP_MAN_M
电机的上位机手动操作启动UP_START_M
电机的上位机手动操作停止UP_STOP_M
阀门的上位机手动操作中间变量UP_MAN_V
阀门的上位机手动操作打开UP_OPEN_V
阀门的上位机手动操作关闭UP_CLOSE_V
使用美国A-B公司用于Logix 5000系列PLC的RSLogix 5000编程软件的梯形图,程序如图1:
其中(L)为置位指令,(U)为复位指令。这里之所以用置位、复位指令,主要是考虑到启动(打开)条件和停止(关闭)条件可能是脉冲型的(例如上升沿脉冲),需要保持(注:如果MCC中的控制回路使用了“启动-保持-停止”方式,那么采用脉冲输出比较合适,就像自复位式按钮一样。这里为了简化梯形图程序,没有这样做。有兴趣的读者不妨一试)。电机启动或停止条件是自动控制时的联锁条件,上位机进行手动操作时,自动控制程序不能执行。同样就地操作时,PLC的程序控制也不能执行,程序可以根据需要将此时的电机启动和停止控制信号复位。阀门的控制也是一样。这样各个设备均可根据情况进行自动运行或手动操作
在了解了PLC程序结构之后,就要具体地编制程序了。编制PLC控制程序的方法很多,这里主要介绍几种典型的编程方法。
1、图解法编程
图解法是靠画图进行PLC程序设计。常见的主要有梯形图法、逻辑流程图法、时序流程图法和步进顺控法。
(1)梯形图法:梯形图法是用梯形图语言去编制PLC程序。这是一种模继电器控制系统的编程方法。其图形甚至元件名称都与继电器控制电路十分相近。这种方法很容易地就可以把原继电器控制电路移植成PLC的梯形图语言。这对于熟悉继电器控制的人来说,是较方便的一种编程方法。
(2)逻辑流程图法:逻辑流程图法是用逻辑框图表示PLC程序的执行过程,反应输入与输出的关系。逻辑流程图法是把系统的工艺流程,用逻辑框图表示出来形成系统的逻辑流程图。这种方法编制的PLC控制程序逻辑思路清晰、输入与输出的因果关系及联锁条件明确。逻辑流程图会使整个程序脉络清楚,便于分析控制程序,便于查找故障点,便于调试程序和维修程序。有时对一个复杂的程序,直接用语句表和用梯形图编程可能觉得难以下手,则可以先画出逻辑流程图,再为逻辑流程图的各个部分用语句表和梯形图编制PLC应用程序。
(3)时序流程图法:时序流程图法使首先画出控制系统的时序图(即到某一个时间应该进行哪项控制的控制时序图),再根据时序关系画出对应的控制任务的程序框图,最后把程序框图写成PLC程序。时序流程图法很适合于以时间为基准的控制系统的编程方法。
(4)步进顺控法:步进顺控法是在顺控指令的配合下设计复杂的控制程序。一般比较复杂的程序,都可以分成若干个功能比较简单的程序段,一个程序段可以看成整个控制过程中的一步。从整个角度去看,一个复杂系统的控制过程是由这样若干个步组成的。系统控制的任务实际上可以认为在不同时刻或者在不同进程中去完成对各个步的控制。为此,不少PLC生产厂家在自己的PLC中增加了步进顺控指令。在画完各个步进的状态流程图之后,可以利用步进顺控指令方便地编写控制程序。
2.经验法编程
经验法是运用自己的或别人的经验进行设计。多数是设计前先选择与自己工艺要求相近的程序,把这些程序看成是自己的“试验程序”。结合自己工程的情况,对这些“试验程序”逐一修改,使之适合自己的工程要求。这里所说的经验,有的是来自自己的经验总结,有的可能是别人的设计经验,就需要日积月累,善于总结。
3.计算机辅助设计编程
计算机辅助设计是通过PLC编程软件在计算机上进行程序设计、离线或在线编程、离线和在线调试等等。使用编程软件可以十分方便地在计算机上离线或在线编程、在线调试,使用编程软件可以十分方便地在计算机上进行程序的存取、加密以及形成EXE运行文件。
产品推荐