您好,欢迎访问三七文档
S7-200的程序控制指令1.条件结束指令有条件结束(END)指令根据前一个逻辑条件终止用户用户程序;只能用在主程序中使用,不能在子程序或中断程序中使用。当I0.2=0时,I0.0接通,Q0.0和Q0.1都会接通;当I0.2=1时,I0.0接通,Q0.0接通,Q0.1不会接通。2.停止指令停止指令将CPU从run状态转换为stop模式终止程序执行。如果在中断程序中执行stop指令,中断指令立即终止,并忽略全部待执行的中断,转到扫描循环中的剩余程序,包括执行主用户程序和子程序,在当前扫描结束时从run转换至stop模式。3.FOR-NEXT循环指令FOR指令是控制执行FOR和NEXT之间的指令次数的操作;使用FOR指令必须指点当前循环计数(INDX)、起始值(INIT)和结束值(FINAL)。NEXT指令是FOR循环结束标记,并将堆栈顶值设为1。FOR指令和NEXT指令必须成对使用;嵌套深度可达八级;每次启用FOR指令时,它将初始值复制至循环计数(INDX);假定初始值(INIT)等于1,结束值(FINAL)等于10,FOR与NEXT之间的指令被执行10次。INDX值递增“1”:1、2、3…10。如果起始值大于结束值,则不执行循环。每次执行FOR和NEXT指令之后,INDX值递增“1”,并将结果与结束值比较,如果循环计数(indx)大于结束值,循环则终止。4.跳转指令跳转(JMPn)指令是控制程序指针跳转到程序指定标签(n)处执行操作,满足跳转时,堆栈顶值始终为逻辑1。标签(LBLn)指令是标记跳转到目的地(n)的位置。举例如果I0.0没有接通,程序执行顺序由上往下运行;如果I0.0接通,程序执行时将跳过I0.1程序段。编程时允许往程序前面跳转当I0.0接通上升沿那个扫描周期,程序执行的流程:网络1-网络2-网路3-网络1-网络2-网络3-网络4-网络5..思考:当I0.2接通时程序执行的流程注意当I0.2接通超过50ms时,产生监视错误。5.子程序指令在S7-200PLC中,有4种程序:OB系统程序、OB1主程序、SBR子程序和INT中断程序。OB1主程序、SBR子程序和INT中断程序也称为用户程序。当CPU工作在stop状态,只运行OS系统程序。当CPU工作在run状态时,既运行OS系统程序,也运行OB1主程序;当满足调用SBR程序状态时,会暂停现在执行的用户程序进入执行SBR子程序,执行完SBR子程序后,再返回原来的地方继续执行原来的程序;当声明允许开中断,有中断源产生,会暂停执行现在的用户程序(包括OB1主程序、SBR子程序和级别较低的中断程序),进入声明与该中断源有联系的INT中断程序。中断程序执行完毕自动返回到原来的地方继续执行原来的程序。1.建立子程序可用编程软件Edit菜单中的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。可以从OB1主程序、另一个子程序或中断程序调用子程序,但不能从子程序本身调用子程序。当I0.0和i0.1都没有接通时,执行用户的程序流是:主程序网络1-主程序网络2-主程序网络3-主程序网络4-主程序网络1...当I0.0接通上升沿时会调用子程序0,在I0.0接通上升沿扫描周期执行用户程序流程是:主程序网络1-子程序0网络1-子程序0网络2-主程序网络2-主程序网络3-主程序网络4。当I0.1接通上升沿时会调用子程序1,在I0.1接通上升沿扫描周期执行用户的程序流程是:主程序网络1-主程序网路3-子程序1网络1-子程序1网络2-主程序网络4。子程序有条件返回在子程序中不能使用END指令,每一个子程序在编译时编译器自动在子程序的最后加入无条件返回指令,当用户需要编程实现有条件返回时,可以在子程序使用有条件返回RET指令;当I0.0和I0.1都没有接通时,执行用户程序流程:主程序1-2-1;当I0.0上升沿和I0.1=0时,在I0.0接通上升沿扫描周期执行用户的程序流程是:主程序1-子程序1-子程序2-子程序3-主程序2;当I0.0上升沿和I0.1=1时,在I0.0接通上升沿扫描周期执行用户的程序流程是:主程序1-子程序1-子程序2-主程序2。6.中断指令1.中断源中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有最多可达34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。2.中断优先级中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。2.中断调用即调用中断程序,使系统对特殊的内部或外部事件作出响应。系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保护现场。中断处理完成时,又自动恢复这些单元原来的状态,即恢复现场。中断调用,中断程序为INT0,事件号为2全局开中断SM0.5检查I/0错,若有错断开本中断全局中断禁止练习在I0.0的上升沿通过中断使Q0.0立即置位,在I0.1的下降沿通过中断使Q0.0复位,并解除中断。这是I/O中断服务程序,I0.1-I0.3的上升沿或下降沿可产生中断,I0.0上升沿中断其中断事件号为0;I0.1下降沿中断,其中断事件号为3。使用ATCH指令进行中断连接,使用DTCH指令分离中断用定时中断0实现每隔4S时间QB0加1这是定时中断服务程序,定时中断0和定时中断1的1-255ms时间分隔可分别写入特殊存储器SMB34和SMB35中,修改SMB34或SMB35中的数值就改变可时间间隔。将定时中断的时间间隔设为250ms,在定时器0的中断程序中,每当一次定时中断到时,VB10加1,然后再使用比较触点指令“LD=”判断VB10是否等于16.如果正好等于16时,表示中断了16次,QB0加1.定时中断0的中断事件号为10.
本文标题:11程序控制指令
链接地址:https://www.777doc.com/doc-3140755 .html