文档库 最新最全的文档下载
当前位置:文档库 › 移位指令编程实验

移位指令编程实验

移位指令编程实验
移位指令编程实验

实验七移位指令编程实验

一、实验目的

1、掌握移位指令的使用方法。

2、学会移位指令在编程中的应用。

二、实验设备

电脑一台,实验箱一台,AB接口的USB连线一条,电源线两条。

三、实验步骤

1、把实验箱的电源及各个输入端的拨动按钮置于“OFF”位,即向下,再用AB

接口的USB连线把PLC与电脑连接起来,然后给PLC上电。

2、启动CP—X软件,新建工程,进入CP—X软件编程环境。

3、根据实验内容在CP—X软件编程环境里进行编程,然后进行相关的操作。

4、程序运行调试并修改。

5、保存好的文件,做好各项记录。

6、把实验箱的电源及各个输入端的拨动按钮置于“OFF”位,切断实验箱的电

源,盖好实验箱的盖子。

7、写实验报告。

四、实验内容

1、用PLC控制喷泉程序

(1)控制要求:

有十个喷泉头“一”字排开。系统启动后,喷泉头要求每间隔1秒从左到右依次喷出水来,全部喷出10秒后停止,然后系统又从左到右依次喷水,如此循环。

十个喷泉头由十个继电器控制,继电器得电,相应的喷泉头喷水。

(2)I/0分配表:

(3)参考梯形图程序如图7-1所示:

(注:为了节省编幅,梯形图程序只编出四个输出。同学们在实验验证时要把其余的补上。)

(4)程序分析:

启动后w0.00得电(逻辑值用“1”表示),当P_1s上升沿脉冲来时,移位开始通道w1至结束通道w1(这里用的是同一通道)里的所有的位的值均向左移动一位,第一位的值则由数据输入端w0.00移入。所以系统启动后P_1s第一个脉冲上升沿过后,w1的值为“0000000000000001B”,即仅有w1.00得电,其余的均不得电,这样输出端100.00得电,喷泉头1喷水。当P_1s第二个脉冲上升沿过后,w1的值为“0000000000000011B”,即w1.00和w1.01得电,其余的不

得电,输出端100.00保持得电状态不变,喷泉头1继续喷水,100.01得电,喷泉头2喷水。依此类推,当P_1s第十个脉冲上升沿过后,w1.09得电,十个喷泉头全部喷水,此时计数器C0开始计数。C0计十个P_1s脉冲后得电,对SFT 进行复位,w1的值被复位为“0000000000000000B”,所有喷泉头停止喷泉,等待下一个周期的开始。

(5)思考:

如果该系统的控制要求改为每一时刻只能有一个喷泉头在喷水,喷水的次序不变,试修改图7-1梯形图程序以满足控制要求。

图`7-1 用SFT指令控制喷泉梯形图

2、用SFTR指令实现喷泉控制系统

(1)控制要求:

有十个喷泉头“一”字排开。系统启动后,喷泉头要求每间隔1秒从左到右依次喷出水来,全部喷出10秒后停止,然后系统从右到左依次喷水,如此循环。十个喷泉头由十个继电器控制,继电器得电,相应的喷泉头喷水。

(2)I/0分配表:

(3)参考梯形图程序如图7-2所示:

(注:为了节省编幅,梯形图程序只编出四个输出。同学们在实验验证时要把其余的补上。)

(a)

(b)

图7-2用SFTR 指令控制喷泉梯形图

(4)程序分析:

本程序编程的关键就是控制字w2高4位(即w2.15、w2.14、w2.13、w2.12)的编程控制。

系统启动时及喷泉一趟后(即C0得电)都对SFTR 进行复位。

W2.14作SFTR 的脉冲输入时,一定要注意,如果w2.14的脉冲宽度等于或超过了两个扫描周期,SFTR 将在一个脉冲时间里作多次移位。为了避免这种情况,P_1s 后加了一个上升沿微分指令,使得w2.14的脉冲宽度仅为一个扫描周期,保证了SFTR 在一个脉冲时间里只作一次移位。

W2.13作SFTR 的数据输入端,系统启动后为“1”。

编程控制SFTR 向左移还是向右移是本程序的难点。系统启动后,SFTR 应向左移,因此程序中w0.00上升沿脉冲使w2.12得电为“1”,w2.12自锁。系统喷泉一趟后C0得电,解除了w2.12的自锁,w2.12由“1”变为“0”,SFTR 向右移。当系统喷泉两趟后(即一个周期)C1得电,w2.12得电为“1”,

SFTR

向左移。如此循环控制。

这里要注意,C0和C1的得电时间不能相同,C1的得电时间必须大于C0的得电时间,否则无法使w2.12得电。所以为了延长C1的得电时间,在它的复位端串上了w1.00。

3、产品检测控制程序

(1)控制要求:

如图7-3所示,图中传感器0.01用于检验产品好坏,当0.01为“ON”时,表示产品是好的,否则为坏的。速度检测器0.00测量流水线的速度,每得到个脉冲,代表产品向前移动一段距离d。速度检测器与传感器0.01的共同作用,可以决定那个产品好坏。若是坏的产品, 100.00为“OFF”,并控制推杆将坏的产品推到滑道上去,同时传感器0.02会检测到这个坏的产品已经到了滑道上,并使推杆退回。

(2)编写PLC梯形图程序。

图7-3 产品检测装置示意图

五、实验报告

本次实验报告的内容主要是:

1、实验目的。

2、实验设备。

4、实验具体步骤。

5、实验程序上机验证:写出运行后得到的结果,并分析与预习中的结果是否相同。

6、心得体会:本次实验中遇到的问题、解决方法及收获。

移位与循环移位指令--习题

课堂练习: 22.设AX=3762H,CL=5,执行“SHR AX,CL”后,AX=()。 A.0376H B.01BBH C.01BB D.0376 28.执行“DIV BX”指令后,()寄存器中存放商。 A.AL B.AH C.AX D.DX 24.若移位指令的移位位数大于1时,其移位位数必须放在中。 25.如果AL=85H,CL=4,执行“SAR AL,CL”时,AL= ,CF= 。 6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么? SHR BX,1 SAR BX,1 6.现有程序段如下: MOV BL,AL MOV CL,4 SHR BL,CL MOV A,BL AND AL,0FH MOV B,AL 请回答:(1)该程序段完成的功能是什么? (2)如果AL的初值为56H,则A= ,B= 。 8.现有程序段如下: MOV AX,M MOV DX,N SHR DX,1 RCR AX,1 请回答:(1)该程序段完成的功能是什么? (2)若M=1234H,N=5678H,程序运行后DX= ,AX= 。

9.现有程序段如下: XOR AX,AX MOV AX,6342H MOV CX,0404H ROL AH,CL XCHG CH,CL ROR AL,CL 请回答:(1)该程序段执行后AX= 。 (2)CF= 。 11.现有程序段如下: MOV CX,16 MOV BX,0 MOV DX,1 L:MOV AX,9AB8H AND AX,DX JZ N INC BX N:SHL DX,1 LOOP L MOV M,BX 请回答:(1)该程序段完成的功能是什么? (2)该程序段执行完后(M)= 。 14.现有程序段如下: MOV AL,0 MOV BL,1 MOV CX,10 L:ADD AL,BL

s7-200_传送及移位指令(MOV_SHL)

案例7相关背景知识 关于:数据处理指令 一、传送类指令 传送类指令用于在各个编程元件之间进行数据传送。根据每次传送数据的数量,可分为单个传送指令和块传送指令。 1.单个传送指令MOVB,BIR,BIW,MOVW,MOVD,MOVR 单个传送指令每次传送l个数据,传送数据的类型分为字节传送、字传送、双字传送和实数传送。 (1)字节传送指令MOVB,BIR,BlW 字节传送指令可分为周期性字节传送指令和立即字节传送指令。 ①周期性字节传送指令MOVB。 在梯形图中,周期性字节传送指令以功能框的形式编程,指令名称为MOV_B。当允 许输入EN有效时,将一个无符号的单字节数据IN传送到0UT中。 影响允许输出EN0正常工作的出错条件为:SM4.3(运行时问),0006(问接寻址)。 在语句表中,周期性字节传送指令MOVB的指令格式为:MOVB IN,OUT。IN和0UT的寻址范围。 操作数类型寻址范围 IN BYTE VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常数 OUT BYTE VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD ②立即字节传送指令BIR,BIW。 立即读字节传送指令BIR:当允许输入EN有效时,BIR指令立即读取(不考 虑扫描周期)当前输入继电器区中由IN指定的字节,并传送到OUT。在梯形图 中,立即读字节传送指令以功能框的形式编程,指令名称为:MOV_BIR。 当允许输入EN有效时,将1个无符号的单字节数据IN传送到0UT中。 在语句表中,立即读字节传送指令BIR的指令格式为: BIR IN,OUT。 IN和0UT的寻址范围如下表所示. 操作数类型寻址范围 IN BYTE IB OUT BYTE VB,IB,QB,MB,SB,SMB,LB,AC,。VD,8AC,。LD (2)字传送指令MOVW 字传送指令MOVW将1个字长的有符号整数数据IN传送到OUT。在梯形图中,字传送指令以功能框的形式编程,当允许输入EN有效时,将1个无符号的单字长数据IN传送到0UT中。 影响允许输出EN0正常工作的出错条件为:SM4.3(运行时间),0006(间接寻 址)。在语句表中,字传送指令MOVW的指令格式为MOVW IN,OUT。IN和0UT的 寻址范围. 操作数类型寻址范围 IN WORD VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD和常数 OUT WORD VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD (3)双字传送指令MOVD 双字传送指令MOVD将1个双字长的有符号整数数据IN传送到0UT。 在梯形图中,双字传送指令以功能框的形式编程,指令名称为:MOV_DW。 当允许输入EN有效时,将1个有符号的双字长数据IN传送到0UT中。 影响允许输出EN0正常工作的出错条件为SM4.3(运行时间),0006(问接 寻址)。在语句表中,双字传送指令MOVD的指令格式为:MOVD IN,OUT。 IN和0UT的寻址范围如下表所示。 操作数类型寻址范围 IN DWORD VD,ID,QD,MD,SMD,LD,AC,HC,*VD,*AC,*LD和常数 OUT DWORD VD,ID,QD,MD,SMD,LD,AC,*VD,*AC,*LD (4)实数传送指令MOVR

相关文档
相关文档 最新文档