您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第05章 S7200中断系统
S7-200中断系统中断连接中断分离•中断连接指令(ATCH)把一个中断事件(EVNT)和一个中断程序(INT)联系起来并允许这个中断事件。•中断分离指令(DTCH)截断一个中断事件(EVNT)和所有的中断程序的联系并禁止了该中断事件。中断允许中断禁止•中断允许指令(ENI)全局地允许所有被连接的中断事件•中断禁止指令(DISI)全局地禁止处理所有中断事件对中断连接和中断分离指令的理解•在激活一个中断程序前,必须在中断事件和该事件发生时希望执行的那段程序间建立一种联系,中断连接指令(ATCH)指定某中断事件(由中断事件号指定)所要调用的程序段(由中断程序号指定)。多个中断事件可调用同一个中断程序,但一个中断事件不能同时指定调用多个中断程序。在中断允许时,某个中断事件发生,只有为该事件指定的最后一个中断程序被执行,当为某个中断事件指定其所对应的中断程序时,该中断事件会自动被允许,如果用全局中断禁止指令(DISI),禁止所有中断,则每个出现的中断事件就进入中断队列,直到用全局中断允许指令(ENI)重新允许中断。•当把中断事件和中断程序连接时,自动允许中断,如果采用禁止全局中断指令不响应所有中断,每个中断事件进行排队,直到采用允许全局中断指令重新允许中断。可以用中断分离指令(DTCH)截断中断事件和中断程序之间的联系,以单独禁止中断事件,中断分离指令(DTCH)使中断回到不激活或无效状态。S7-200支持的中断•通讯口中断•I/O中断•时基中断通讯口中断•PLC的串行通讯口可由LAD或STL程序来控制,通讯口的这种操作模式称为自由端口模式。在自由端口模式下用户可用程序定义波特率、每个字符位数、奇偶校验和通讯协议,利用接收和发送中断可简化程序对通讯的控制,请参看发送/接收指令以了解更多的信息。I/O中断•I/O中断包含了上升沿或下降沿中断、高速计数器中断和脉冲串输出(PTO)中断。–S7-200CPU可用输入I0.0至I0.3的上升沿或下降沿产生中断,这些输入点捕获的上升沿或下降沿事件可被用来指示当某个事件发生时必须引起注意的错误条件。–高速计数器中断允许响应诸如当前值等于预置值、相应于轴转动方向变化的计数方向改变和计数器外部复位等事件而产生中断,每种高速计数器可对高速事件实时响应,而PLC扫描速率对这些高速事件是不能控制的。–脉冲串输出中断给出了已完成指定脉冲数输出的指示,脉冲串输出的一个典型应用是步进电机,可以通过将一个中断程序连接到相应的I/O事件上来允许上述的每一个中断。时基中断•时基中断包括定时中断和定时器T32/T96中断,CPU可以支持定时中断,可以用定时中断指定一个周期性的活动周期,以1ms为增量单位周期时间可从5ms到255ms。•对定时中断0把周期时间写入SMB34,对定时中断1把周期时间写入SMB35,每当定时器溢出时,定时中断事件把控制权交给相应的中断程序,通常可用定时中断以固定的时间间隔去控制模拟量输入的采样,或者执行一个PID回路。•当把某个中断程序连接到一个定时中断事件上,如果该定时中断被允许,那就开始计时,在连接期间系统捕捉周期时间值,因而后来的变化不会影响周期,为改变周期时间首先必须修改周期时间值,然后重新把中断程序连接到定时中断事件上。当重新连接时,定时中断功能清除前一次连接时的任何累计值,并用新值重新开始计时。例:用定时中断读取模拟量例子:利用I/O中断测量带式输送机的转速在带式输送机的驱动滚筒和改向滚筒上各安装一个磁铁,分别用接近开关来测量滚筒的转速。假设:驱动滚筒直径800mm,改向滚筒直径500mm输送机带速2.0m/s。则驱动滚筒每转时间约为1256ms(*5=8*)改向滚筒每转时间约为785ms。I0.0I0.1I0.3启动按钮I0.0驱动滚筒PNP型接近开关I0.4停止按钮I0.1改向滚筒PNP型接近开关M0.0M0.0I0.4I0.3Network1I0.4Network2Network3ENTONPTT32+30000M0.0I0.0Network4PSBR_0ENPDTCHENENOEVNTENTONPTT96+30000M0.0I0.1DTCHENENOEVNT02LDI0.3OM0.0ANI0.4=M0.0EUCALLSBR_0LDI0.4EUDTCH0DTCH2LDM0.0ANI0.0TONT32,30000LDM0.0ANI0.1TONT96,30000LDM0.0TONT40,400LDT40+I20,VW102MOVWVW102,VW104-IVW100,VW104AWVW104,200=Q1.0LDSM0.0ATCHINT_0,0ATCHINT_1,2ENI子程序中断子程序0LDSM0.0MOVWT32,VW100*I+5,VW100LDSM0.0MOVWT96,VW102*I+8,VW102中断子程序1程序控制指令•条件结束•条件结束指令(END)根据前面的逻辑关系终止当前扫描周期。可以在主程序中使用条件结束指令,但不能在子程序或中断服务程序中使用该命令。•停止•停止指令(STOP)导致CPU从RUN到STOP模式从而可以立即终止程序的执行。•如果STOP指令在中断程序中执行,那么该中断立即终止,并且忽略所有挂起的中断,继续扫描程序的剩余部分。完成当前周期的剩余动作,包括主用户程序的执行,并在当前扫描的最后,完成从RUN到STOP模式的转变。看门狗复位看门狗复位指令(WDR)允许S7-200CPU的系统看门狗定时器被重新触发,这样可以在不引起看门狗错误的情况下,增加此扫描所允许的时间。使用WDR指令时要小心,因为如果您用循环指令去阻止扫描完成或过度的延迟扫描完成的时间,那么在终止本次扫描之前,下列操作过程将被禁止:-通讯(自由端口方式除外)-I/O更新(立即I/O除外)-强制更新-SM位更新(SM0,SM5~SM29不能被更新)-运行时间诊断-由于扫描时间超过25秒,10ms和100ms定时器将不会正确累计时间。-在中断程序中的STOP指令-带数字量输出的扩展模块也包含一个看门狗定时器,如果模块没有被S7-200写,则此看门狗定时器将关断输出。在扩展的扫描时间内,对每个带数字量输出的扩展模块进行立即写操作,以保持正确的输出。For-Next循环指令•FOR和NEXT指令可以描述需重复进行一定次数的循环体。每条FOR指令必须对应一条NEXT指令。For-Next循环嵌套(一个For-Next循环在另一个For-Next循环之内)深度可达8层。•FOR-NEXT指令执行FOR指令和NEXT指令之间的指令。必须指定计数值或者当前循环次数INDX、初始值(INIT)和终止值(FINAL)。•NEXT指令标志着FOR循环的结束。•如果允许FOR/NEXT循环,除非在循环内部修改了终值,循环体就一直循环执行直到循环结束。当FOR/NEXT循环执行的过程中可以修改这些值。当循环再次允许时,它把初始值拷贝到INDX中(当前循环次数)。•当下一次允许时,FOR/NEXT指令复位它自己。例如,给定初值(INIT)为1,终值(FINAL)为10,那么随着当前计数值(INDX)从1增加到10,FOR与NEXT之间的指令被执行10次。•如果初值大于终值,那么循环体不被执行。每执行一次循环体,当前计数值增加1,并且将其结果同终值作比较,如果大于终值,那么终止循环。•如果程序进入FOR--NEXT循环时,栈顶值为1,则当程序退出FOR-NEXT循环时,栈顶值也将为1。例5-1......12WhenI2.0comeson,theoutsideloopindicatedbyarrow1isexecuted100times.Theinsideloopindicatedbyarrow2isexecutedtwiceforeachexecutionoftheoutsideloopwhenI2.1ison.FORENINDXINITFINALFORENINDXINITFINAL(NEXT)(NEXT)Network15Network20VW225Network2I2.11001VW100I2.0Network112ENOENONetwork1LDI2.0FORVW100,1,100Network2LDI2.1FORVW225,1,2…..Network15NEXT……Network20NEXT跳转指令•跳转到标号指令(JMP)执行程序内标号N指定的程序分支。•标号指令标记跳转目的地的位置N。•您可以在主程序、子程序或者中断服务程序中,使用跳转指令。跳转和与之相应的标号指令必须位于同一段程序代码(无论是主程序、子程序还是中断服务程序)。•不能从主程序跳到子程序或中断程序,同样不能从子程序或中断程序跳出。•可以在SCR程序段中使用跳转指令,但相应的标号指令必须也在同一个SCR段中。nLBLn(JMP)JMPnLBLnJumptoLabelExampleNetwork33(JMP)SM0.2Network144LBL4.....Iftheretentivedatahasnotbeenlost,jumptoLBL4.•SCR指令使您能够按照自然工艺段在LAD、FBD或STL中编制状态控制程序。•只要您的应用中包含的一系列操作需要反复执行,就可以使用SCR使程序更加结构化,以至于直接针对应用。这样可以使得编程和调试更加快速和简单。•装载SCR指令(LSCR)将S位的值装载到SCR和逻辑堆栈中。•SCR堆栈的结果值决定是否执行SCR程序段。SCR堆栈的值会被复制到逻辑堆栈中,因此可以直接将盒或者输出线圈连接到左限当侧使定的用能SC流R线时上,而请不注经意过下中面间的触限点定。•-不能把同一个S位用于不同程序中。例如:如果在主程序中用了S0.1,在子程序中就不能再使用它。•-在SCR段之间不能使用JMP和LBL指令,就是说不允许跳入、跳出。可以在SCR段附近使用跳转和标号指令或者在段内跳转。•-在SCR段中不能使用END指令。顺控继电器(SCR)指令顺序功能图所谓顺序控制,使生产过程按生产工艺的要求预先安排的顺序自动地进行生产的控制方式。10432启动15s10sSQ2SQ1起始状态压SQ1装料右行卸料左行顺序功能图的基本结构2.依据步之间的进展形式,顺序功能图有以下几种基本结构:(1)单序列结构(2)选择序列结构(3)并行序列结构(4)子步(microstep)(自学)1.单序列结构132abc单序列由一系列相继激活的步组成。每一步的后面仅有一个转换条件,每一个转换条件后面仅有一步。2.选择序列结构51268egf一个步的后面跟着若干后续步可供选择,但一般只允许选择其中的一个分支。NETWORKLSCRS3.4NETWORK……NETWORKLDM3.0SCRTS3.5NETWORKLDC50SCRTS6.5NETWORKSCREBeginningofStateLcontrolregion.TransitiontoStateM.TransitiontoStateN.EndofSCRregionforStateL.S3.4(SCRE)NetworkNetworkC50(SCRT)S6.5(SCRT)S3.5NetworkM3.0NetworkSCR......Network并行序列结构(条件分支)3.并列序列结构一个步的后面跟着若干后续步择,当转换实现时将后续步同时激活。StateK状态M状态L转换条件状态N分支—并列NETWORKLSCRS3.4NETWORK……NETWORKLDM2.3AI2.1SCRTS3.5SCRTS6.5NETWORKSCRE(SCRE)(SCRT)(SCRT)TransitiontoStateMTransitiontoStateNEndofSCRregionforStateL......NetworkNetworkM2.3I2.1NetworkSCRS3.4NetworkS6.5S3.5BeginningofStateLcontrolregion4.选择序列结构161
本文标题:第05章 S7200中断系统
链接地址:https://www.777doc.com/doc-3275883 .html