第7章功能指令
数据传送指令编程举例
程序
说明 当输入 I0.0 为“1”时,传送指令将 实数 10 传送给 VD0,如果指令执行无误, 则输出 Q0.0 为“1”。
当输入 I0.0 为“1”时,实现:
VB10 23 VB11 45 VB12 67
VB20 23 VB21 45 VB22 67
当输入 I0.0 为“1”时,字节立即写 指令 MOV_BIR 指令将存储器 VB0 的数据 写入 QB0。
3)ENO = 0的错误条件:0006(间接寻址错误),
SM4.3(运行时间)。
3.任务解决方案
若开机运行时,字变量 VW0设初值1000、字节 变量VB0清0等。
分析:
1)当程序运行时,在第 一扫描周期,字节传送指 令将0传送给VB0,字传 送指令将1000传送至 VW0,完成程序初始化;
比如:若开机运行时,字变量VW0设初值1000、字节 变量VB0清0等,如何操作?这一节学习的数据传送指 令将实现此操作。
数据传送指令实现将输入数据IN(常数或某存储器中的数 据)传送到输出OUT(存储器)中的功能,传送的过程中 不改变数据的原值。
梯形图
语句表
功能
MOVB IN,OUT MOVW IN,OUT MOVD IN,OUT MOVR IN,OUT
动动手:若8盏灯分别接Q1.0~Q1.7,每间隔1个同时点亮,应如何操作?
例2 设液体混合控制中, 液体搅拌所需的时 间有两种选择,分 别为20分钟和10分 钟,分别设置两个 按钮选择所需控制 时间。
I/O分配:I1.0选择20分钟, I1.1选择10分钟,I0.2启 动搅拌,Q0.0控制液体 搅拌。梯形图程序如图 5-3所示,分析下面的梯 形图程序,能否实现上 述控制?
动脑筋: (1)如果将MOVW指令换做 MOVB指令,是否可行,为什么? (2)网络3中,分析I0.2什么情 况下可以这样使用?
任务二:数据的比较
1.任务提出
在实际的控制过程中,可能需要对两个操作数 进行比较,比较条件成立时完成某种操作,从 而实现某种控制。
比如:初始化程序时,在VW10中存放着数据 100,模拟量输入AIW0中采集现场数据,当 AIW0数值小于或等于VW10时,Q0.0输出; 当AIW0大于VW10时,Q0.1输出。如何操作?
比较指令格式及功能如下表所示。
梯形图
LDB= AB= OB=
LDW= AW= OW=
LDD= AD= OD=
LDR= AR= OR=
LDS= AS= OS=
语句表
说明
IN1,IN2(与母线相连) 字节比较指令,用于比较两个无
IN1,IN2(与运算) 符号字节数的大小。
IN1,IN2(或运算)
IN1,IN2(与母线相连) 字整数比较指令,用于比较两个
说明:
1)字节立即读MOV_BIR指令读取1个字节的物理输入 IN,将结果写入OUT,不刷新输入过程映像寄存器, IN只能是IB;字节立即写MOV_BIW指令将输入给出的 1个字节的数值写入到物理输入OUT,同时刷新相应的 输出过程映像寄存器,OUT只能是QB。
2)SWAP指令的操作数只能是字(W)型数据存储器。
数据传送指令:实现字节、 字、双字、实数的数据传送指令。
当使能输入 EN 为 1 时,把输 入端数据 IN 传送到输出端 OUT。
2 说明:
1)操作码中的B(字节)、W(字)、D(双字)和R (实数),代表被传送数据的类型;
2)操作数的寻址范围与指令码一致,比如字节数据传送 只能寻址字节型存储器,OUT不能寻址常数,块传送指令 IN、OUT皆不能寻址常数.
N 为字节变量,N=1~255
BIR IN,OUT BIW IN,OUT
SWAP IN
指 令 立 即 读 BIR ( Byte Immediate Read ); 指 令 立 即 写 MOV_BIW ( Byte Immediate Write)
字 节 交 换 SWAP ( Swap Bytes)指令:用来交换输入字 IN 的高字节与低字节。
第七章 PLC的数据处理功能
学习目标
掌握数据传送指令的格式、功能及应用; 掌握数据比较指令的格式、功能及应用; 掌握数据移位指令的格式、功能及应用; 掌握数据运算指令的格式、功能及应用; 掌握数据转换指令的格式、功能及应用; 了解表功能指令的格式和功能; 掌握时钟指令的使用。
IN1,IN2(与运算) 有符号整数的大小。 IN1,IN2(或运算)
IN1,IN2(与母线相连)
双字整数比较指令,用于比较两
IN1,IN2(与运算)
个有符号双字整数的大小。
IN1,IN2(或运算)
IN1,IN2(与母线相连) 实数比较指令,用于比较两个有
2)在为变量赋初值时, 为保证数据传送只执行一 次,数据传送指令一般与 SM0.1或跳变指令联合使 用。
4.其他数据传送类指令
梯形图
语句表
功能
BMB IN,OUT,N BMW IN,OUT,N BMD IN,OUT,N
块传送指令:实现字节、字、 双字的块传送。
当使能位 EN 为 1 时,把从 IN 存储单元开始的连续的 N 个数 据传送到从 OUT 开始的连续的 N 个存储单元中。
单元一 数据的传送和比较
教学课题 教学目标
数据的传送和比较 1、掌握数据的传送指令 2、熟悉数据的比较指令
教学重点 教学难点 教学方法 教学手段
数据的传送和比较指令的应用 数据传送和比较指令格式及功能 板书和多媒体结合 板书和多媒体结合
任务一:数据的传送
1.任务提出
在程序初始化的过程中常需要将某些字节、字或双字 存储器清0或设置初值,为后面的控制操作做准备。
VB0 01111100
QB0 01111100
当输入 I0.0 为“1”时,将 QW0 的高 低字节交换。 执行前: QW0 执行后: QW0 10100011 01111100
5.应用实例
例1 用数据传送指令 实现8个彩灯同时点 亮和熄灭
I/O分配:I0.0为起动信 号,I0.1为停止信号,8 个彩灯分别由0.0~Q0.7 驱动,对应的梯形图程 序如图5-2所示。