西门子S7-200 SMART逻辑运算指令及应用实例

简介: 本篇我们来介绍一下西门子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的逻辑运算指令,并通过简单的实例讲解了逻辑运算指令在程序中的应用,下篇我们继续学习西门子S7-200 SMART的相关内容,请您持续关注。

相关文章
西门子S7-1200编程实例,比较指令如何使用?
西门子S7-1200中的比较指令包括了值大小比较指令、是否在范围内指令以及有效性无效性检查指令。使用值大小比较指令,可以比较两个数据类型相同的数值的大小。
西门子S7-1200编程实例,比较指令如何使用?
西门子S7-200 SMART整数运算指令概述及应用举例
本篇文章我们来学习西门子S7-200 SMART整数运算指令。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。
西门子S7-200 SMART整数运算指令概述及应用举例
西门子S7-1200基本位逻辑指令编程实例,如何编写起保停控制程序
今天我们来学习一个西门子S7-1200基本位逻辑指令的编程实例,给大家介绍一下如何编写起保停控制程序。
西门子S7-1200基本位逻辑指令编程实例,如何编写起保停控制程序
|
编解码
西门子S7-200 SMART中断及中断指令概述
上篇文章我们学习了西门子S7-200 SMART如何使用存储卡复位CPU到出厂设置、固件升级和程序传输,本篇我们来介绍西门子S7-200 SMART的中断及中断指令。中断就是中止当前正在运行的程序,去执行为立刻响应的信号而编写的中断服务程序,执行完毕后再返回原来中止的程序并继续执行。西门子S7-200 SMART CPU最多支持38个中断事件,其中8个为预留。为了便于识别,系统给每一个中断事件都分配了一个编号,又称中断事件号。
西门子S7-200 SMART中断及中断指令概述
西门子S7-200 SMART PID回路控制,如何调用向导生成的子程序编程
在编程软件STEP7-Micro/WIN SMART的指令树中,展开调用子例程文件夹,选择初始化PID向导子程序拖放到主程序中,该子程序有多个接口参数,切换到该子程序窗口,程序注释中指出需要在每个扫描周期使用SM0.0从主程序中调用该子程序,变量表给出有关接口参数的含义和取值范围。
西门子S7-200 SMART PID回路控制,如何调用向导生成的子程序编程
|
C语言 Perl
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?
位逻辑指令是PLC编程中最基本、使用最频繁的指令,按不同的功能和用途具有不同的形式,总的来说可以分为下述几大类:标准位逻辑指令、置位/复位指令、立即位逻辑指令、其他位逻辑指令。
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?
|
C语言 Perl
西门子S7-200 SMART编程实例,逻辑运算指令如何使用?
本节我们来介绍一下西门子S7-200 SMART逻辑运算指令。
西门子S7-200 SMART编程实例,逻辑运算指令如何使用?
|
C语言 Perl
西门子S7-200 SMART位逻辑指令概述及应用实例
本篇文章我们来学习西门子S7-200 SMART的位逻辑指令。
西门子S7-200 SMART位逻辑指令概述及应用实例
|
C语言 Perl
西门子S7-200 SMART编程实例,整数运算指令如何使用?
本节我们来学习西门子S7-200 SMART整数运算指令,并通过一个实例还讲解整数运算指令如何使用。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。
西门子S7-200 SMART编程实例,整数运算指令如何使用?
|
监控 C语言 Perl
西门子S7-1200编程实例,基本逻辑运算指令如何使用?
西门子S7-1200中的逻辑运算指令包括逻辑与、逻辑或、逻辑异或、取反、编码、解码、选择、多路复用等。下面我们来介绍基本逻辑运算指令的使用方法。
西门子S7-1200编程实例,基本逻辑运算指令如何使用?