在实际工程应用中,中断是不可缺少的工作方式,循环工作过程可以被某些事件中断。S7-300和S7-400的CPU为用户提供了多种中断方式,以下是几种常用的中断方式。
① 中断源通过外部电路的输入进入系统,中断服务程序需事先存入组织块OB40。
② 系统提供了某些组织块为中断工作方式服务,有OB10(日期时间中断组织块)和OB20(延时中断组织块)。
CPU从第一条指令开始,逐条地执行用户程序,并且循环重复执行。执行指令时,从元件映像区中将有关编程元件的0/1状态读出来,并根据指令的要求执行相应的逻辑运算,实时更新映像区,*后的运算结果输出到生产过程的执行机构中。
1.4 S7系列PLC简介
德国西门子公司是世界上较早研制和生产PLC产品的主要厂家之一,其产品具有多种型号,以适应各种不同的应用场合,有适合于起重机械或各种气候条件的坚固型,也有适用于
小空间具有高处理性能的密集型,有的运行速度极快且具有优异的扩展能力。它包括从简单的小型控制器到具有过程计算机功能的大型控制器,可以配置各种I/O模块、编程器、过程通信和显示部件等。西门子公司的PLC发展到现在已有很多系列产品,如S5、S7、C7、M7系列等,本书主要以S7-300/400系列为例讲解PLC的理论和应用。
S7系列PLC是在S5系列基础上研制出来的,它由S7-200、S7-300/400 PLC组成。
浔之漫智控技术(上海)有限公司
本公司是西门子授权代理商 自动化产品,全新,西门子PLC,西门子屏,西门子数控,西门子软启动,西门子以太网西门子电机,西门子变频器,西门子直流调速器,西门子电线电缆我公司**供应,德国进口
内蒙古西门子触摸屏代理商
PLC的存储器可以分为系统程序存储器、用户程序存储器及系统RAM存储区。
(1)系统程序存储器
系统程序存储器用来存放由PLC生产厂家编写的系统程序,并固化在ROM内,用户不能直接更改。它使PLC具有基本的智能功能,能够完成PLC设计者规定的各项工作。系统程序的质量,很大程度上决定了PLC的性能。
(2)用户程序存储器
根据控制要求而编制的应用程序称为用户程序。用户程序存储器用来存放用户针对具体控制任务、用规定的PLC编程语言编写的各种程序。用户程序存储器根据所选用的存储器单元类型的不同,可以是RAM(用锂电池进行掉电保护)、EPROM或E2PROM存储器,存储内容可以由用户任意修改或增删。目前较先进的PLC采用可随时读写的快闪存储器(F1ash)作为用户程序存储器。快闪存储器不需后备电池,掉电时数据也不会丢失。
(3)系统RAM存储区
系统RAM存储区包括I/O映像区及各类软元件,如逻辑线圈、数据寄存器、计时器、计数器、变址寄存器、累加器等存储器。
1)I/O映像区。由于PLC投入运行后,只是在输入采样阶段才依次读入各输入状态和数据,在输出刷新阶段将输出的状态和数据送至相应的外设。因此,它需要一定数量的存储单元(RAM)以存放I/O的状态和数据,这些单元称做I/O映像区。一个开关量I/O占用存储单元中的一位(bit),一个模拟量I/O占用存储单元中的一个字节(16bit)。因此整个I/O映像区可看做两个组成部分:开关量I/O映像区和模拟量I/O映像区。
PLC的工作原理
下面以控制电动机正反转为例来说明PLC的工作原理,了解CPU是如何执行程序的输入I0.0、I0.1和I0.2分别采集电动机停止、正转和反转的输入信号,输出Q0.00和Q0.1控制电动机的正转和反转。
系统上电或由STOP模式切换到RUN模式时,CPU要执行一次复位操作,包含如下两个操作步骤。
① 清除没有保持功能的位存储器状态、定时器和计数器状态,清除中断堆栈和块堆栈的内容等。
② 执行系统启动组织块OB100。如果用户想使系统在上电后做一些初始化操作,就可以在OB100中编写程序,否则用户完全可以忽略这个组织块。需要注意的是OB100只在复位后被执行一次。
整个PLC的工作过程是以循环扫描的方式进行的,重复执行一个循环工作周期。以下四个步骤就是PLC程序执行的一个循环工作周期。
① 操作系统启动循环时间监控。
② CPU将输出映像区中的数据写到输出模块。
③ CPU读取输入电路的接通/断开状态并存入输入映像区。
④ CPU处理用户程序,执行用户程序中的指令,并实时更新内存映像区。
在①阶段,操作系统启动用户设置的监控循环时间。
在②阶段,CPU将输出映像区中的数据状态传送到输出模块,用于控制与输出点连接的继电器线圈。若上次循环工作周期中输出映像区中Q0.0状态为“0”,而这次Q0.0得电,其状态变为“1”时,控制电动机的继电器线圈通电,其常开触点闭合,电动机正转;反之,控制电动机的继电器线圈断电,其常开触点断开,电动机停止工作。
在③阶段,PLC通过输入模块采集外部电路的接通/断开状态,并写入到输入映像区中。若外部电路开关SBl闭合时,对应的输入映像位I0.0状态为“1”,在梯形图中对应的I0.0常开触点闭合,常闭触点断开,反之亦然。
在④阶段,当CPU执行程序指令时,从映像区特别是输入映像区中读出程序中所用元件的“0”、“1”状态,并执行指令,将运算结果实时写入到对应的映像区中。需要注意的是:在程序执行阶段,即使外部输入信号的状态发生了变化,输入映像区对应的元件位也不会随之立即改变,只能等到这个循环扫描周期结束,下个循环扫描周期开始时才能被更新。
在S7-300中,系统不断地调用组织块OB1(相当于C语言中的主函数),在主函数中调用其他子程序,包括用户自己编制的子程序(指逻辑块FC或FB)和系统自带的子程序(系统逻辑块SFC或SFB)。