电动机功率 | 4kW | 外形尺寸 | 5mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 4kg |
西门子S7-1200PLC系统有五种不同模块,分别为 CPU 1211C、CPU 1212C 、 CPU 1214C、CPU1215C和CPU1217C。其中的每一种模块都可以进行扩展,以*您的系统需要。可在任何 CPU 的前方加入一个信号板,轻松扩展数字或模拟量 I/O,同时不影响控制器的实际大小。
![]() |
参考价 | ¥322 |
订货量 | 1 |
更新时间:2019-08-08 11:01:22浏览次数:332
联系我们时请说明是化工仪器网上看到的信息,谢谢!
四川西门子S7-1200PLC代理经销优势价格
西门子S7-200 PLC的中断返回指令
如图3-108所示,有条件中断返回(Condition Return Interrupt,CRETI)指令可根据控制的条件从中断程序中返回到主程序。中断程序由位于中断程序标号和无条件中断返回指令RETI间的所有指令组成,用中断程序人口点处的中断程序标号来识别不同的中断程序,在响应与之关联的内部或外部中断事件时执行。可以用无条件中断返回指令RETI或有条件中断返回指令CRETI退出中断程序,从而将控制权交还给主程序。在中断程序中,必须用RETI指令来结束,程序编译时,由软件自动在中断程序结尾加上RETI指令。
图3-108 中断返回指令
中断处理提供了对特殊的内部或外部中断事件的快速响应,编写程序时应优化,使其简短,加快执行速度而且不要延时过长,否则,未预料条件可能引起主程序控制的设备操作异常,对于中断程序来说应“越短越好”。中断程序是为处理中断事件而事先编好的程序,不是由用户程序调用的,而是在中断事件发生时由操作系统调用的。在中断程序中不能改写其他程序使用的存储器,使用局部变量。所有中断程序必须放在主程序的无条件结束指令之后,中断程序内不能使用DISI、ENI、HDEF、LSCR、END等指令。
中断前后,系统保存和恢复逻辑堆栈、累加寄存器、特殊存储器标志位(SM),从而避免了中断程序返回后对用户主程序执行现场所造成的破坏。
【例3-38】 图3-109所示为中断指令的编程,PLC开机后*扫描SM0.1为1、标号为0的中断事件(即I0.0上升沿),引发连接4号中断程序INT_4,程序执行转入中断程序INT_4,如有I/O错误则SM5.0置1,返回中断并取消0号中断事件与中断程序的联系;若M5.0 =1,则全局性关闭所有中断事件。
在启动中断程序之前,必须使中断事件与发生此事件时希望执行的程序段建立联系,使用中断连接指令ATCH建立中断事件(由中断事件号码EVNT0~33)与程序段(由中断程序号码INT0~127)之间的联系;连接中断事件与中断程序时,该中断自动被启动。根据事件优先级组,PLC按照先来先服务的顺序对中断提供服务。
任何时刻只能激活一个用户中断,其他中断处于待激活状态,CPU发出中断暂时入队、等待处理的命令。如果发生的中断数目过多,队列无法处理,则设定队列溢出状态位,当队空时,重置这些位。
使用中断分离指令DTCH可取消某中断事件EVNT(0~33)与所有中断程序之间的连接,从而关闭单个中断事件;中断分离指令使中断返回未激活或被忽略状态。
中断连接和中断分离指令的梯形图、语句表如图3-107所示。
图3-107 中断连接和中断分离指令的梯形图、语句表
(a)中断连接指令;(b)中断分离指令
注意:一个中断事件只能连接一个中断程序,但多个中断事件可以调用同一个中断程序。
全局中断允许指令ENI又称开中断指令,全局性地允许所有被连接的中断事件。全局中断禁止指令DISI又称关中断指令,全局性地禁止所有中断事件,每次出现中断事件时均需排队等候,直至使用全局开中断指令重新启用中断。
PLC转换到RUN(运行)模式时,中断开始时被禁用,可以通过执行开中断指令,允许所有中断事件。执行关中断指令会禁止处理中断,但是现用中断事件将继续排队等候。
中断允许和中断禁止指令的梯形图、语句表如图3-106所示。
图3-106 中断允许和中断禁止指令的梯形图、语句表
(a)中断允许指令;(b)中断禁止指令
S7-200设置了中断功能,用于完成实时控制、高速处理、通信和网络等复杂和特殊的控制任务。中断就是使系统暂时终止当前正在运行的程序,去执行为立即响应的信号而编制的中断服务程序,去处理那些亟需处理的事件,执行完毕再返回原先终止的程序并继续执行。
S7-200可以引发中断的事件(称为中断源)总共有5大类34项,其中输入信号中断源8项、通信口中断源6项、定时器中断源4项、高速计数器中断源14项、脉冲输出指令中断源2项。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。
S7-200程序结构中有主程序(OB1)、子程序(SBRn)和中断程序(INTn)三类程序。实际应用中把可能被反复使用的程序编成一个独立的程序块,存放在程序的某一个区域中,程序的模块化是结构化程序设计方法的核心思想,通过程序块的组合来完成一个大的复杂的应用程序的编写。执行程序时可以随时反复调用这些程序块,避免重复输入,这些程序块可以带一些参数,也可以不带参数。这类程序块被称为子程序,它具有特定功能,并且可以多次重复使用。
子程序由子程序标号开始,到子程序返回指令结束,S7-200的STEP 7-Micro/WIN32编程软件为每个子程序自动加入子程序标号和子程序返回指令,在编程时,子程序开头不用编程者另加子程序标号,子程序末尾也不需另加返回指令。
子程序的优点在于它可以用于对一个大的程序进行分段及分块,使其成为较小的更容易管理的程序块,程序调试、检查、维护时可充分利用这项优势;通过使用较小的子程序块,对一些区域及整个程序检查及故障排除变得更加简单;子程序只有在需要时才被调用、执行,有利于有效使用PLC、充分利用CPU以缩短程序扫描时间。
(1)建立子程序。系统默认SBR_0为子程序,可采用下列方法中的一种方法建立子程序。
1)在“编辑”菜单中,选择“插入”→“子程序”命令。
2)在“指令树”中,右击“程序块”图标,并从弹出菜单选择“插入”→“子程序”命令。
3)在“程序编辑器”窗口中右击,并从弹出菜单选择“插入”→“子程序”命令。
只要插入了子程序,程序编辑器底部就会出现一个新标签( SBR_n),标志新的子程序,此时可对新的子程序编程。
(2)子程序调用与返回指令。子程序调用指令的梯形图由调用助记符SBR、使能端EN和标号n构成;返回指令由返回助记符RET构成。子程序调用指令的语句表由操作码CALL和子程序标号n(n:0~63,随着子程序个数的增加自动生成)构成,即CALL SBR_n;返回指令由返回条件、返回操作码CRET构成,如图3-104所示。
图3-104 子程序调用与返回指令
主程序用CALL来调用一个子程序,调用后程序控制权就交给了子程序SBR_n,程序扫描将转到子程序人口处执行,子程序结束后,必须返回主程序。每个子程序必须以无条件返回指令RET作为结束,STEP 7-Micro/WIN32为每个子程序自动加入了无条件返回指令RET;有条件子程序返回指令CRET,在使能端有效时,终止子程序SBR_n。子程序执行完毕,控制程序回到主程序中子程序调用指令CALL的下一条指令处。
子程序被调用时,系统会保存当前的逻辑堆栈,保存后再置栈顶值为1,堆栈的其他值为0,把控制权交给被调用的子程序;子程序执行完毕,通过返回指令自动恢复逻辑堆栈原调用点的值,把控制权交还给调用程序。主程序和子程序共用累加器,调用子程序时无须对累加器作存储及重装操作。在中断程序、子程序中也可调用子程序,但在子程序中不能调用自己,子程序的嵌套深度为8层。
(3)带参数的子程序(可移动子程序)调用。子程序调用可以带参数也可以不带参数,如带参数则可附上调用时所需的参数;子程序返回有条件和无条件之分。
子程序可能有要传递的参数(变量和数据),这时可以在子程序调用指令中包含相应参数,它可以在子程序与调用程序之间传送。为了移动子程序,应避免使用任何全局变量/符号(I、Q、M、SM、AI、AQ、V、T、C、S、AC内存中的地址),这样可以导出子程序并将其导入另一个项目。子程序中的参数由地址符号名、参数名称(多8个字符)、变量类型和数据类型来描述。子程序多可传递16个参数,传递的参数在子程序局部变量表中定义,见表3-16。
表3-16 STEP 7-Micro/WIN32局部变量表
局部变量表使用局部变量存储器,当在局部变量表中加入一个参数时,系统自动给该参数分配局部变量存储空间。子程序传递的参数放在子程序的局部存储器L中,局部变量表左列是系统的每个被传递参数的局部存储器地址。当调用子程序时,输入参数值被复制到子程序的局部变量存储器;当执行完子程序时,从局部变量存储器区复制输出参数值到的输出参数地址。在子程序中,局部变量存储器的参数值分配如下:按照子程序指令的调用顺序,将参数值分配给局部变量存储器,起始地址是L0.0,1~8连续位参数值分配一个字节,从Lx.0到Lx.7;字节、字和双字值按照字节顺序分配在局部变量存储器中( LBx、LWx、LDx)。系统保留局部变量存储器L内存的4个字节(LB60~LB63),用于调用参数。
子程序编程的步骤是:①建立子程序SBR_n;②在子程序SBR_n中编写应用程序;③在主程序或其他子程序或中断程序中编写调用子程序SBR_n指令。
四川西门子S7-1200PLC代理经销优势价格