项目1--传送比较指令基本应用`
- 格式:ppt
- 大小:663.50 KB
- 文档页数:1
实验六数据的传送、转换、比较及运算指令编程实验一、实验目的1、掌握数据的传送、转换、比较及运算指令的使用方法。
2、学会数据的传送、转换、比较及运算指令在编程中的应用。
二、实验设备电脑一台,实验箱一台,AB接口的USB连线一条,电源线两条。
三、实验步骤1、把实验箱的电源及各个输入端的拨动按钮置于“OFF”位,即向下,再用AB 接口的USB连线把PLC与电脑连接起来,然后给PLC上电。
2、启动CP—X软件,新建工程,进入CP—X软件编程环境。
3、根据实验内容在CP—X软件编程环境里进行编程,然后进行相关的操作。
4、程序运行调试并修改。
5、保存好的文件,做好各项记录。
6、把实验箱的电源及各个输入端的拨动按钮置于“OFF”位,切断实验箱的电源,盖好实验箱的盖子。
7、写实验报告。
四、实验内容1、可调多谐振荡器控制程序(1)控制要求:多谐振荡器输出的脉冲宽度及点空比可以调整。
(2)参考梯形图程序(图6-1)(3)程序分析:①画出0.00、0.01、T0、T1、100.00的时序图(图6-2)②当0.00为“on”、0.01为“off”时,数据传送指令MOV分别把立即数10传送给D0、D1,则T0、T1的设定值均为10,100.00输出的脉冲宽度为1秒,点空比为1:1;当0.00为“off”、0.01为“on”时,数据传送指令MOV分别把立即数20和40传送给D0、D1,则T0、T1的设定值分别为20和40,100.00输出的脉冲宽度为4秒,点空比为2:1。
(3)把图6-1梯形图程序中的“MOV”指令改为“@MOV”,然后再观察它们的运行情况,并与图6-1梯形图程序进行比较,看是否相同,说明原因。
程序中的“MOV”能否用“MOVB”或“MOVD”替代,如果可以,请在程序中修改,如果不行,说明原因。
图6-1 可调多谐振荡器控制梯形图100.000.000.01T0T1图6-2 时序图2、BCD 、CMP 及数据运算指令的验证运行图6-3梯形图程序,认真观察,回答下面几个问题:(1)说说“BCD ”指令在程序中的作用,能不能把该指令省去?(2)程序中两个“MOV”指令,它们传送的立即数是否相同?计时器T0、T1的设置值是否相同?(3)程序中的“CMP”指令起着什么作用?说说为什么D0会小于D2。
PLC传送比较指令的基本用途
MOV、CMP指令,SMOV、CML、BMOV、FMOV、XCH、BCD、BIN 和ZCP指令系统称为传送比较指令,它们是应用指令中使用最频繁的指令。
它们的基本用途有以下几个方面。
(1)用来获得程序的初始工作数据。
一个掌握程序总是需要初始数据。
这些数据可以从输入端口上连接的外部器件获得,然后通过传送指令读取这些器件上的数据并送到.内部单元;初始数据也可以用程序设置,即向内部单元传送马上数;另外,某些运算数据存储在机内的某个地方,等程序开头运行时通过初始化程序传送到工作单元。
(2)用来进行机内数据的存取管理。
在数据运算过程中,机内的数据传送是不行缺少的。
由于数据运算可能要涉及不同的工作单元,数据需在它们之间传送;同时,运算还可能会产生一些中间数据,这些数据也需要传送到适当的地方临时存放;另外,有时机内的数据需要备份保存,这就要找地方把这些数据存储妥当。
总之,对一个涉及数据运算的程序,数据管理是很重要的。
(3)用来运算处理结果并向输出端口传送。
运算处理结果总是要通过输出实现对执行器的掌握。
对于与输出口连接的离散执行器件,可成组处理后看做是整体的数据单元,按各口的目标状态送入相应的数据,以实现对这些器件的掌握。
(4)用来比较指令以建立掌握点。
掌握现场常有将某个物理量的量值或变化区间作为掌握点的状况。
如温度低于某设定值打开电热器,
通过高于或低于某值就报警等。
作为一个掌握“阀门”,比较指令常消失在工业掌握程序中。
传送及比较指令总结传送指令是计算机系统中常用的一类指令,用于将数据从一个位置移动到另一个位置。
这些指令通常用于数据的复制、转移和重排等任务。
在本文中,我将总结一些常见的传送指令,并比较它们的异同。
1.MOV指令:MOV (Move) 指令用于将数据从一个位置复制到另一个位置。
它可以在寄存器之间、寄存器和内存之间、寄存器和端口之间进行数据的传送。
MOV 指令通常具有两个操作数,一个目标操作数和一个源操作数。
例如,`MOV AX, BX` 将寄存器 BX 中的值复制到寄存器 AX 中。
MOV 指令在大多数计算机体系结构中都是支持的,因为它是一种非常基本和常见的操作。
2.LDR和STR指令:LDR (Load) 和 STR (Store) 指令用于将数据从内存中加载到寄存器或将数据从寄存器存储到内存中。
这些指令主要在ARM架构中使用。
LDR指令将内存中的数据加载到寄存器中,例如,`LDR R0, [R1]` 将 R1 寄存器中的地址所对应的内存单元中的数据加载到 R0 寄存器中。
STR 指令则将寄存器中的数据存储到内存中,例如,`STR R0, [R1]` 将 R0 寄存器中的数据存储到 R1 寄存器中的地址所对应的内存单元中。
3.PUSH和POP指令:PUSH指令用于将数据压入栈中,而POP指令用于从栈中弹出数据。
这两个指令通常用于实现函数调用和中断处理等操作。
PUSH指令将数据放入栈顶,然后栈指针下移;而POP指令则将栈顶数据读取到寄存器中,并将栈指针上移。
例如,`PUSHAX`将AX寄存器中的数据压入栈中,`POPAX`将栈顶数据弹出到AX寄存器中。
4.XCHG指令:XCHG (Exchange) 指令用于交换两个操作数的值。
这个指令可以用于两个寄存器之间的值交换,或者寄存器和内存之间的交换。
例如,`XCHG AX, BX` 将寄存器 AX 和 BX 中的数据进行交换。
XCHG 指令常用于实现数据交换、排序和互斥访问等场景。
三菱PLC传送与比较指令的用法1、比较指令CMPCMP指令有三个操作数:两个源操作数[S1.]和[S2.],一个目标操作数[D.],该指令将[S1.]和[S2.]进行比较,结果送到[D.]中。
CMP指令使用说明如图所示。
2、区间比较指令ZCPZCP指令是将一个操作数[S.]与两个操作数[S1.]和[S2.]形成的区间比较,且[S1.]不得大于[S2.],结果送到[D.]中。
ZCP指令使用说明如图所示。
3、传送指令MOVMOV指令将源操作数的数据传送到目标元件中,即[S.]→[D.]。
MOV指令的使用说明如图所示。
当X0为ON时,源操作数[S.]中的数据K100传送到目标元件D10中。
当X0为OFF,指令不执行,数据保持不变。
4、移位传送指令SMOV首先将二进制的源数据(D1)转换成BCD码,然后将BCD码移位传送,实现数据的分配、组合。
源数据BCD码右起从第4位(m1=4)开始的2位(m2=2)移送到目标D2/的第3位(n=3)和第2位,而D2/的第4和第1两位BCD码不变。
然后,目标D2/中的BCD码自动转换成二进制数,即为D2的内容。
BCD码值超过9999时出错。
5、取反传送指令CMLCML指令使用说明如图所示。
将源操作数中的数据(自动转换成二进制数)逐位取反后传送。
6、块传送指令BMOVBMOV指令是从源操作数指定的元件开始的n个数组成的数据块传送到指定的目标。
如果元件号超出允许的元件号范围,数据仅传送到允许的范围内。
BMOV指令的使用说明如图所示。
7、多点传送指令FMOVFMOV指令是将源元件中的数据传送到指定目标开始的n个目标元件中,这n个元件中的数据完全相同。
FMOV指令使用说明如图所示。
8、数据交换指令XCHXCH指令是将两个目标元件D1和D2的内容相互交换。
使用说明如图所示。
9、BCD变换、BIN变换指令BCD是将源元件中的二进制数转换为BCD码送到目标元件中。
对于l 6位或32位二进制操作数,若变换结果超出0-9999或0-99999999的范围就会出错。
传送比较指令说明(一)传送比较指令说明1、比较指令(FNC10)比较指令CMP(Compare)比较源操作数[S1]和[S2],比较的结果送到目标操作数[D]中去。
下图6-1中的比较指令将十进制常数100与计数器C10的当前值比较,比较结果送到M0~M2。
X1为OFF时不进行比较,M0~M2的状态保持不变。
X1为ON时进行比较,如果比较结果为[S1]>[S2],M0 ON;若[S1]=[S2],M1 ON;若[S1]<[S2],M2 ON.2. 区间比较(FNC11)区间比较指令的助记符为ZCP (Zone Compare),下图中的X2为ON时,执行ZCP指令,将T3的当前值与常数100和150相比较,比较结果送到M3~M5,源数据[S1]不能大于[S2]。
3、触点形比较指令触点形比较指令是使用触点符号进行数据[S1.]、[S2.]比较的指令,根据比较的结果确定触点是否允许能流通过,触点形指令直观简便、很受使用者欢迎。
触点形比较指令依触点在梯形图中的位置分为LD类、AND类及OR类,其触点在梯形图中的位置含义与普通触点相同。
如LD即是表示该触点为支路上与左母线相连的首个触点。
三类触点形比较指令每类根据比较内容又分为6种,共18条。
表1、表2、表3及图1、图2、图3分别给出了这三类比较指令的使用要素及梯形图应用例。
表1图1 从母线取出触点比较指令应用说明表2图2 串联形触点比较指令应用说明表3图3 并联形触点比较指令应用说明4、传送指令该指令的助记符、指令代码、操作范围、程序步如下表所示。
传送指令的要素传送指令MOV(Move)是将源操作数内的数据传送到指定目标操作数内,即[S.]-[D.]。
传送指令MOV的说明如图4。
当X000=ON时,源操作数[S.]中的常数K100传送到目标操作元件D10中。
当指令执行时,常数K100自动换成二进制数。
当X000断开时,指令不执行,数据保持不变。
传送比较指令的应用例1 用程序构成一个闪光信号灯,改变输入口所接置数开关可改变闪光频率。
设定开关4个,分别接于X000-X003,X010为起停开关;信号灯接于Y000。
梯形图如图1所示。
图中第一行为变址寄存器清零,上电时完成。
第二行从输入口读入设定开关数据,变址综合后送到定时器T0的设定值寄存器D0,并和第三行中的定时器T1配合产生D0时间间隔的脉冲。
频率可变的闪光信号灯梯形图及说明例2、电动机的星形--三角形启动控制设置启动按钮为X000,停止按钮为X001;电路主(电源)接触器KM1接于输出口Y000,电动机Y接法接触器KM2接于输出口Y001,电动机三角形接法接触器KM3接于输出口Y002。
依电动机星形/三角形启动控制要求,通电时,Y000、Y001为ON(传送常数为1+2=3),电动机星形启动;当转速上升到一定程度,断开Y000、Y001,接通Y002(传送常数为4)。
然后接通Y000、Y002(传送常数为1+4=5),电动机三角形运行。
停止时,应传送常数为0。
另外,启动过程中的每个状态间应有时间间隔。
本例使用向输出端口送数的方式实现控制。
梯形图土图2所示。
电动机星-三角启动控制梯形图及说明上述两例中用传送指令控制输出口状态,比起用基本指令进行的程序设计有了较大的简化。
例3、彩灯的交替点亮控制有一组灯L1-L8。
要求隔灯显示,每2S变换一次,反复进行。
用一个开关实现启停控制。
设置启停开关接于X000,L1-L8接于Y000-Y007。
梯形图如图3所示。
这又是一个以向输出口送数的方式实现控制要求的例子。
彩灯交替点亮控制梯形图及说明例4、密码锁用比较器构成密码锁系统。
密码锁有12个按钮,分别接入X000-X013,其中X000-X003代表第一个十六进制数;X004-X007代表第二个十六进制数;X010-X013代表第三个十六进制数。
根据设计,每次同时按四个键,分别代表三个十六进制数,共按4次,如与密码锁设定值都相符合,3S后,锁可开启。