西门子PLC实验指导书之实例二.doc
8页西门子 PLC 实验指导书之实例二实验一 数字运算指令实验一、实验目的1.掌握数学运算指令中的加、减、乘、除指令的设置2.进一步熟悉 PLC 程序的输入二、实验内容数学运算指令:加、减、乘、除指令加法 减法1N1+1N2=OUT 1N1-1N1=OUT LAD 和FBD1N1+OUT=OUT OUT-1N1=OUT STL整数加法(+1)或者整数减法(-1)指令,将两个 16 位整数相加或者相减,产生一个16 位结果双整数加法(+D )或者双敕数减法(-D )指令,将两个 32 位整数相加或者相减,产生一个 32 位结果实数加法(+R)和实数减法(-R )指令,将两个 32 位实数相加或相减,产生一个 32 位实数结果乘法 除法1N1*1N2=OUT 1N1/1N2=OUT LAD 和FBD1N1*OUT=OUT OUT/1N1=OUT STL整数乘法(*1)或者整数除法(/1 )指令,将两个 16 位整数相乘或者相除,产生一个 16位结果。
(对于除法,余数不被保留)双整数乘法(*D )或者双整数除法(/D)指令,将两个 32 位整数相乘或者相除,产生一个 32 位结果 (对于除法,余数不被保留 )实数乘法(*R)或实数除法(/R )指令,将两个 32 位实数相乘或相除,产生一个 32 位实数结果SM 标志位和 EMOSM1.1 表示溢出错误和非法值如果 SM1.1 置位,SM1.0 和 SM1.2 的状态不再有效而且原始输入操作数不会发生变化如果 SM1.1 和 SM1.3 没有置位,那么数字运算产生一个有效的结果,同时 SM1.0 和 SM1.2 有效在除法运算中,如果 SM1.3 置位,其它数学运算标志位不会发生变化使 ENO=0 的错误条件: 受影响的特殊存储器位:SM1.1(溢出) SM1.0(结果为 0)SM1.3(被 0 除) SM1.1(溢出,运算过程中产生非法数值或者输入参数非法)0006(间接寻址) SM1.2(结果为负)SM1.3(被 0 除) 整数运算指令梯形图指令说明:加法:40(AC1)+60 (AC0 )=100 (AC0)乘法:40(AC1)*20(VW100)=800 (VW100)除法:4000(VW200)/40 (VW10)=100(VW200)实验二 中断指令实验一、实验目的1.掌握中断允许指令的设置。
2.掌握中断条件返回指令(CRETI) 、中断连接指令(ATCH) 、中断分离指令(DTCH)的使用方法二、实验内容1.中断允许和中断禁止中断允许指令(ENI)全局地允许所有被连接的中断事件中断禁止指令( DISI)全局地禁止处理所有中断事件当进入 RUN 模式时,中断被禁止在 RUN 模式,您可以执行全局中断允许指令(ENI )允许所有中断全局中断禁止指令(DSI)不允许处理中断服务程序,但中断事件仍然会排队等候2.中断条件返回中断条件返回指令(CRETI)用于根据前面的逻辑操作的条件,从中断服务程序中返回3.中断连接中断连接指令(ATCH)将中断事件 EVNT 与中断服务程序号 INT 相关联,并使能该中断事件4.中断分离中断分离指令(DTCH)将中断事件 EVNT 与中断服务程序之间的关联切断,并禁止该中断事件5.清除中断事件清除中断事件指令从中断队列中清除所有 EVNT 类型的中断事件使用此指令从中断队列中清除不需要的中断事件如果此指令用于清除假的中断事件,在从队列中清除事件之前要首先分离事件否则,在执行清除事件指令之后,新的事件将被增加到队列中中断指令梯形图图 9-1 中断指令梯形图语句表说明 表 9-1实验三 程序控制指令实验一、实验目的1.掌握条件结束指令在程序控制中的作用。
2.熟悉跳转指令的使用方法3.掌握如何使用顺控指令(SCR ) 二、实验内容1.条件结束指令(1)条件结束指令(END)根据前面的逻辑关系终止当前扫描周期可以在主程序中使用条件结束指令,但不能在子程序或中断服务程序中使用该命令2)停止指令(STOP)导致 CPU 从 RUN 到 STOP 模式从而可以立即终止程序的执行如果 STOP 指令在中断程序中执行,那么该中断立即终止,并且忽略所有挂起的中断,继续扫描程序的剩余部分完成当前周期的剩余动作,包括主用户程序的执行,并在当前扫描的最后,完成从 RUN 到 STOP 模式的转变3)看门狗复位指令(WDR)允许 S7--200 CPU 的系统看门狗定时器被重新触发,这样可以在不引起看门狗错误的情况下,增加此扫描所允许的时间使用 WDR 指令时要小心,因为如果您用循环指令去阻止扫描完成或过度的延迟扫描完成的时间,那么在终止本次扫描之前,下列操作过程将被禁止:(1)通讯(自由端口方式除外)(2)I/O 更新(立即 I/O 除外)(3)强制更新(4)SM 位更新( SM0,SM5~SM29 不能被更新)(5)运行时间诊断(6)由于扫描时间超过 25 秒,10ms 和 100ms 定时器将不会正确累计时间。
7)在中断程序中的 STOP 指令(8)带数字量输出的扩展模块也包含一个看门狗定时器,如果模块没有被可编程控制器写,则此看门狗定时器将关断输出在扩展的扫描时间内,对每个带数字量输出的扩展模块进行立即写操作,以保持正确的输出请按照这段描述后,对下面的程序进行实验图 10-1 停止、条件结束和看门狗复位指令程序梯形图语句表说明 表 10-12.跳转指令跳转到标号指令(JMP)执行程序内标号 N 指定的程序分支标号指令标记跳转目的地的位置 N您可以在主程序、子程序或者中断服务程序中,使用跳转指令跳转和与之相应的标号指令必须位于同一段程序代码(无论是主程序、子程序还是中断服务程序) 不能从主程序跳到子程序或中断程序,同样不能从子程序或中断程序跳出可以在 SCR 程序段中使用跳转指令,但相应的标号指令必须也在同一个 SCR 段中实验梯形图如下:3.顺控继电器(SCR)指令SCR 指令使您能够按照自然工艺段在 LAD、FBD 或 STL 中编制状态控制程序只要您的应用中包含的一系列操作需要反复执行,就可以使用 SCR 使程序更加结构化,以至于直接针对应用这样可以使得编程和调试更加快速和简单。
装载 SCR 指令(LSCR)将 S 位的值装载到 SCR 和逻辑堆栈中SCR 堆栈的结果值决定是否执行 SCR 程序段SCR 堆栈的值会被复制到逻辑堆栈中,因此可以直接将盒或者输出线圈连接到左侧的能流线上而不经过中间触点当使用 SCR 时,请注意下面的限定:(1)不能把同一个 S 位用于不同程序中例如:如果在主程序中用了 S0.1,在子程序中就不能再使用它2)在 SCR 段之间不能使用 JMP 和 LBL 指令,就是说不允许跳入、跳出可以在 SCR段附近使用跳转和标号指令或者在段内跳转3)在 SCR 段中不能使用 END 指令实验梯形图。





