当前课程知识点:电气控制技术与PLC > 第6章 功能指令的应用 > 6.6 逻辑运算指令及其应用 > 逻辑运算指令及其应用
大家好
之前课程我们学习了功能指令
功能指令的种类比较多
我们学习过数据处理指令
和算术运算指令
今天我们来学习逻辑运算指令
逻辑运算指令主要实现对
无符号数按位进行与或
异或和取反等操作
S7-200 PLC 的逻辑运算指令
按照操作类型
可以分为四种
逻辑“与”运算指令
逻辑“或”运算指令
逻辑“异或”运算指令和取反指令
首先我们来看
逻辑“与”运算指令
逻辑“与”运算指令的梯形图
和语句表如图所示
包括字节“与”运算指令
字“与”运算指令
双字“与”运算指令
“与”运算如果两个操作数的同一位均为1
运算结果的对应位为1
否则为0
字节“与”运算指令的梯形图如图所示
语句表为
ANDB 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入字节IN1和IN2按位进行相“与” 操作
结果存入OUT所指定的地址单元
字“与”运算指令的梯形图如图所示
语句表为
ANDW
空格
IN1
逗号
OUT
功能为
当EN=1时
将输入字
IN1和IN2按位进行相“与” 操作
结果存入OUT所指定的地址单元
双字“与”运算指令的梯形图如图所示
语句表为
ANDD
空格
IN1
逗号
OUT
功能为
当EN=1时
将输入双字IN1和IN2按位进行相“与” 操作
结果存入OUT所指定的地址单元
那么
逻辑“或”运算指令如何表示呢
逻辑“或”运算指令的梯形图和语句表如图所示
包括字节“或”运算指令
字“或”运算指令
双字“或”运算指令
“或”运算时
如果两个操作数的同一位均为0
运算结果的对应位为0
否则为1
字节“或”运算指令的梯形图如图所示
语句表为
ORB 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入字节IN1和IN2按位进行相“或” 操作
结果存入OUT所指定的地址单元
字“或”运算指令的梯形图如图所示
语句表为
ORW 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入字IN1和IN2按位进行相“或” 操作
结果存入OUT所指定的地址单元
双字“或”运算指令的梯形图如图所示
语句表为
ORD 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入双字IN1和IN2按位进行相“或” 操作
结果存入OUT所指定的地址单元
如图所示
要求在I0.3的上升沿
用字节逻辑“或”运算将QB0的低3位置为1
其余各位保持不变
图中
WOR_B指令的输入参数IN1
16#07的最低3位为1
其余各位为0
QB0的某一位与1作“或”运算
运算结果为1
与0作“或”运算
运算结果不变
不管QB0最低3位为0或1
逻辑“或”运算后
QB0的这几位总是1
其他位不变
要求在I0.3的上升沿
用IW4的低12位
用来读取3位拨码开关的BCD码
IW4的高4位另作他用
图中
WAND_W指令的输入参数IN2
16#0FFF的
最高4位二进制数为0
低12位为1
IW4的某一位与1作“与”运算后
运算结果不变
与0作“与”运算后
运算结果为0
WAND_W指令的运算结果
VW12的低12位
与IW4的低12位的值相同
VW12的高4位为0
在学习逻辑“或”运算指令的基础上
我们来看看逻辑“异或”运算指令
逻辑“异或”运算指令的梯形图
和语句表如图所示
包括字节“异或”运算指令
字“异或”运算指令
双字“异或”运算指令
“异或”运算时
如果两个操作数的同一位不同
运算结果的对应位为1
否则为0
字节“异或”运算指令的梯形图如图所示
语句表为
XORB 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入字节IN1和IN2按位进行相“异或” 操作
结果存入OUT所指定的地址单元
字“异或”运算指令的梯形图如图所示
语句表为
XORW 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入字IN1和IN2按位进行相“异或” 操作
结果存入OUT所指定的地址单元
双字“异或”运算指令的梯形图如图所示
语句表为
XORD 空格 IN1 逗号 OUT
功能为
当EN=1时
将输入双字IN1和IN2
按位进行相“异或” 操作
结果存入OUT所指定的地址单元
右图中
VB14中
是上一个扫描周期IB0的值
如果IB0至少有一位的状态发生了变化
前后两个扫描周期IB0的值
的异或运算结果VB15的值非0
图中的比较触点接通
将M10.0置位
状态发生了变化的位的异或结果为1
异或运算后将IB0的值保存到VB14
供下一个扫描周期异或运算时使用
取反指令包括字节取反指令
字取反指令
双字取反指令
数据取反时
将多位二进制数逐位取反
各位由0变为1
由1变为0
字节取反指令的梯形图如图所示
语句表为
INVB 空格 OUT 功能为
当EN=1时
将输入字节IN按位进行“取反”操作
结果存入OUT所指定的地址单元
字取反指令的梯形图如图所示
语句表为
INVW 空格 OUT 功能为
当EN=1时
将输入字IN按位进行“取反”操作
结果存入OUT所指定的地址单元
双字取反指令的梯形图如图所示
语句表为
INVD 空格 OUT
功能为
当EN=1时
将输入双字IN按位进行“取反”操作
结果存入OUT所指定的地址单元
假设逻辑运算指令的梯形图如图所示
分析之后
可以得到运算结果
当EN=1时
AC1的数据
0001
1111
0110
1101
与AC0的数据
1101
0011
1110
0110按位相与
得到AC2的数据为
0001
0011
0110
0100
AC1的数据
0001
1111
0110
1101
与VW100的数据
1101
0011
1010
0000
按位相或
得到VW102的数据为
1101
1111
1110
1101
AC1和AC0 的数据按位相“异或”
得到AC2的数据为
1100
1100
1000
1011
下面我们通过设计数据处理电路
来巩固本次课程内容
数据处理电路的硬件电路如右图所示
其中1个输入
为按钮SA
分配地址为I0.0
16个输出
指示灯HL1~HL16
分配地址为Q0.0~Q1.7
设计程序如图所示
IN1的数据为20
与IN2的数据40执行加法指令
得到OUT所指定的地址单元
VW0的数据为60
二进制表示为
0000
0000
0011
1100
执行结果VW0
与IN1的数据40按位相与
得到OUT所指定的地址单元
VW2的数据为
0000
0000
0010
1000
将VW2的数据传送到QW0
则QW0的最终数据为
0000
0000
0010
1000
所以Q0,5 Q0.3为1
剩下各位均为0
可以用指示灯直观的展现运算结果
今天我们学习了逻辑运算指令及其应用
主要包括字节
字和双字的逻辑“与”运算指令
逻辑“或”运算指令
逻辑“异或”运算指令和取反指令
大家要注意
逻辑运算指令一定是按位来对位逻辑进行运算
并且只影响零标志位
本讲到此结束
谢谢大家
期待下次课程再见
-1.1 低压电器简介
--低压电器简介
-1.2 低压开关电器
--低压开关电器
-1.3 主令电器
--主令电器
-1.4 接触器
--接触器
-1.5 熔断器
--熔断器
-1.6 继电器(一)热继电器和速度继电器
-1.7 继电器(二)时间继电器
-小测验
-2.1 三相异步电动机的直接起动控制
-2.2 三相异步电动机点动控制和长动控制
-2.3 三相异步电动机降压起动控制(一)
-2.4 三相异步电动机降压起动控制(二 )
-2.5 三相异步电动机的多点控制和顺序控制
-2.6 三相异步电动机的调速控制
-2.7 三相异步电动机的制动控制(一)
-2.8 三相异步电动机的制动控制(二)
-2.9 三相异步电动机正反转控制(一)
-2.10 三相异步电动机正反转控制(二)
-2.11 电气控制线路的设计方法
-小测验
-3.1 电气控制电路图的绘制(一)
-3.2 电气控制电路图的绘制(二)
-3.3 电气控制电路图的绘制(三)
-3.4 电气控制电路的设计方法 (一)
-3.5 电气控制电路的设计方法 (二)
-小测验
-4.1 认识PLC
--认识PLC
-4.2 PLC组成及工作原理
-4.3 S7-200 SMART PLC硬件介绍(上)
-4.4 S7-200 SMART PLC硬件介绍(下)
-4.5 STEP 7-Micro/WIN SMART编程软件(上)
--STEP 7-MicroWIN SMART编程软件(上)
-4.6 STEP 7-Micro/WIN SMART编程软件(下)
--STEP 7-MicroWIN SMART编程软件(下)
-小测验
-5.1 PLC编程语言与程序结构
-5.2 指令基础
--指令基础
-5.3 位逻辑指令
--位逻辑指令
-5.4 PLC编程规则与技巧
-5.5 定时器指令的工作原理
-5.6 定时器指令应用举例
-5.7 计数器指令的工作原理
-5.8 计数器指令的应用
--计数器指令应用
-小测验
-6.1 功能指令概述
--功能指令概述
-6.2 数据处理指令(一):比较指令与数据传送指令
-6.3 数据处理指令(二):数据转换指令
--数据转换指令
-6.4 数据处理指令(三):表格指令和时钟指令
-6.5 算术运算指令及其应用
-6.6 逻辑运算指令及其应用
-6.7 程序控制指令:跳转指令、循环指令
-6.8 子程序的编写与调用
-6.9 中断程序与中断指令
-6.10 高速计数器指令与高速脉冲输出指令(一)
-6.11 高速计数器指令与高速脉冲输出指令(二)
-小测验(一)
-小测验(二)
-小测验(三)
-7.1 梯形图的经验设计法
-7.2 顺序控制设计法与顺序功能图概述
-7.3 顺序功能图的基本结构和绘制方法
-7.4 使用SCR指令的顺序控制梯形图设计方法
-7.5 使用起保停电路的顺序控制梯形图设计方法
-7.6 使用置位复位指令的顺序控制梯形图设计法
-小测验
-8.1模拟量控制概述
--模拟量控制概述
-8.2模拟量输入输出配置及数值的规范化
-8.3PID控制指令
--PID控制指令
-8.4水箱水位PID控制程序举例
-小测验