西门子S7-200 SMART编程实例,逻辑运算指令如何使用?

简介: 本节我们来介绍一下西门子S7-200 SMART逻辑运算指令。

上节我们学习了整数运算指令,本节我们来介绍一下西门子S7-200 SMART逻辑运算指令。S7-200 SMART逻辑运算指令按照操作类型可以分为四种:取反指令、逻辑与指令、逻辑或指令和逻辑异或指令。如下图所示,四列对应四种操作类型:


640.jpg

逻辑运算指令按操作类型可分为四种

   

S7-200 SMART逻辑运算指令按照操作数长度可以分为三种:字节逻辑运算指令、字逻辑运算指令、双字逻辑运算指令。如下图所示,三行对应三种操作数长度类型:


640.jpg逻辑运算指令按操作数长度可分为三种

   

字节逻辑运算指令是对单字节数据进行逻辑操作,其操作数为八位无符号数。


640.jpg

字节逻辑运算指令

   

字逻辑运算指令是对字数据进行逻辑操作,其操作数为十六位无符号数。


640.jpg

字逻辑运算指令

   

双字逻辑运算指令是对双字数据进行逻辑操作,其操作数为三十二位无符号数。


640.jpg

双字逻辑运算指令

   

下面我们来介绍不同操作类型的逻辑运算指令。取反指令将输入端IN操作数的二进制数逐位取反,并将结果送到输出端OUT中,例如将VW0中的数据逻辑取反后送到MW10,我们可以发现,执行逻辑取反指令后,每一位由0变为1、1变为0。


640.jpg

逻辑取反指令

   

逻辑与指令将输入端IN1、IN2两个操作数的对应位执行“与”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑与后送到MB0中,我们可以发现,执行逻辑与运算指令后,如果两个操作数的对应位都为1,则运算结果的对应位为1,否则为0。


640.jpg

逻辑与指令

   

逻辑或指令将输入端IN1、IN2两个操作数的对应位执行“或”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑或后送到MB1中,我们可以发现,执行逻辑或运算指令后,如果两个操作数的对应位都为0,则运算结果的对应位为0,否则为1。


640.jpg

逻辑或指令

   

逻辑异或指令将输入端IN1、IN2两个操作数的对应位执行“异或”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑异或后送到MB2中,我们可以发现,执行逻辑异或运算指令后,如果两个操作数的对应位不同,则运算结果的对应位为1,否则为0。


640.jpg

逻辑异或指令

   

下面我们将通过一个实例来说明逻辑运算指令在程序中的使用方法要求将VW2和VW4中的数据进行逻辑与后,送到VW6。首先我们双击电脑桌面上的STEP7-Micro/WIN SMART图标,打开编程软件,从指令树的位逻辑中选择一个常开触点拖放到程序编辑器的程序段1中,输入地址I0.0,从指令树逻辑运算指令中选择字与指令拖放到常开触点后,在IN1处输入地址VW2,在IN2处输入地址VW4,在OUT处输入地址VW6,这样一个简单的逻辑运算指令的应用程序就完成了。


640.jpg

逻辑运算指令应用实例

   

将应用程序编译下载到S7-200 SMART PLC。单击菜单中的下载按钮,在打开的通信对话框中选择要访问的CPU,单击确定进行下载,下载完成后关闭对话框。查看程序的运行情况,单击PLC菜单下的运行按钮,运行项目,单击调试菜单下的程序状态按钮,在线观察程序的执行情况。在状态图表中输入地址VW2,格式选择十六进制。选中VW2单元格按回车键,地址列自动递增,添加地址VW4和VW6,格式和上一行相同。


640.jpg

在线观察程序执行

   

单击状态图表工具栏中的状态图表按钮,可以看到VW2、VW4和VW6的当前值都为0,在新值列中分别输入十六进制3456和十六进制00FF,单击状态图表工具栏中的写入按钮,则VW2和VW4变为相应的值,而VW6中的值不变。


640.jpg写入相应数值

   

按下I0.0可以看到VW6的值变为十六进制0056,为VW2和VW4逻辑与的结果。


640.jpg

逻辑运算结果

   

本篇我们介绍了S7-200 SMART的逻辑运算指令,并通过简单的实例讲解了逻辑运算指令在程序中的应用。学习更多西门子PLC编程知识,欢迎持续关注本号。

相关文章
|
安全 物联网 测试技术
物联网平台的优势与价值
物联网平台的优势与价值
1204 49
物联网平台的优势与价值
|
存储 缓存 固态存储
HBase 性能调优第一弹:内存篇
这是使用 HBase 最不可避免的一个话题,就是 HBase 的性能调优,而且通常建立在我们对 HBase 内部运行机制比较了解的基础上进行的,因此无论怎么说,调优这块都是一个相对复杂的事情。这一篇我们先来介绍与 HBase 内存最相关的调优内容。 1. 合理配置 JVM 内存 这里首先涉及 HBase 服务的堆内存设置。一般刚部署的 HBase 集群,默认配置只给 Master 和 RegionServer 分配了 1G 的内存,RegionServer 中 MemStore 默认占 0.4 即 400MB 左右的空间,而一个 MemStore 刷写阈值默认 128M,所以一个 Regi
1120 0
|
11月前
|
存储 缓存 资源调度
Vue3状态管理新选择:Pinia安装与使用详解,以及与Vuex的对比分析
Vue3状态管理新选择:Pinia安装与使用详解,以及与Vuex的对比分析
380 0
|
12月前
|
SQL 网络协议 数据库连接
已解决:连接SqlServer出现 provider: Shared Memory Provider, error: 0 - 管道的另一端上无任何进程【C#连接SqlServer踩坑记录】
本文介绍了解决连接SqlServer时出现“provider: Shared Memory Provider, error: 0 - 管道的另一端上无任何进程”错误的步骤,包括更改服务器验证模式、修改sa用户设置、启用TCP/IP协议,以及检查数据库连接语句中的实例名是否正确。此外,还解释了实例名mssqlserver和sqlserver之间的区别,包括它们在默认设置、功能和用途上的差异。
|
监控 安全 Ubuntu
CentOS Linux 7 将于下周终止使用!
【7月更文挑战第29天】
200 0
CentOS Linux 7 将于下周终止使用!
|
Java 监控
用java代码实现三菱PLC与上位机的连接
"初学者入门Java编程,开始探索代码世界。学习基础语法、类、对象及异常处理,逐步构建程序思维。#Java学习之路"
612 1
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈开发的技术生态
本文将探讨如何在全栈开发中构建完整的技术生态,从前端到后端各个层面进行深入剖析,讨论不同技术之间的协作与整合,为开发人员提供全面的指导与启示。
|
SQL Java 数据库连接
如何使用TDengine?
【5月更文挑战第13天】如何使用TDengine?
377 0
|
C语言 Perl
西门子S7-200 SMART编程实例,整数运算指令如何使用?
本节我们来学习西门子S7-200 SMART整数运算指令,并通过一个实例还讲解整数运算指令如何使用。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。
西门子S7-200 SMART编程实例,整数运算指令如何使用?
|
C语言 Perl
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?
位逻辑指令是PLC编程中最基本、使用最频繁的指令,按不同的功能和用途具有不同的形式,总的来说可以分为下述几大类:标准位逻辑指令、置位/复位指令、立即位逻辑指令、其他位逻辑指令。
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?