西门子S7-200系列PLC实操(29 递增递减指令)
大家好,这节课我们来学习"递增递减指令"
先来学习一下,指令说明:
递增递减指令
增、减指令,又称自增和自减,是对无符号或有符号整数进行自动增加或减少1单位的操作,数据长度可以是字节、字或双字。以指令盒形式编程,执行结果为:IN+1->OUT;IN-1->OUT。
字节增和字节减指令:INCB,DEC
使能输入有效时,把一字节长的无符号输入数IN加1或减1,得到一个字节的无符号输出结果OUT.
字增和字减指令:INCW,DECW
使能输入有效时,把一字长的有符号输入数IN加1或减1,得到一个字长的有符号输出结果OUT.
双字增和双字减指令:INCD,DECD
使能输入有效时,把一双字长的有符号输入数IN加1或减1,得到一个双字长的有符号输出结果OUT.如图所示:
由于在输入过程中,扫描周期非常短.为了避免按一下,计入多次的情况.我们在程序设计时,要考虑与"沿指令"结合使用.如下图:
字节递增
字的递增
其余指令,请大家自己实操练习.下节课,我们学习"用PLC解整数运算1 "
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?
位逻辑指令是PLC编程中最基本、使用最频繁的指令,按不同的功能和用途具有不同的形式,总的来说可以分为下述几大类:标准位逻辑指令、置位/复位指令、立即位逻辑指令、其他位逻辑指令。
位逻辑指令分类
标准位逻辑指令包括常开触点、常闭触点和输出线圈指令;置位/复位指令包括置位指令、复位指令、置位优先RS触发器指令和复位优先RS触发器指令;立即位逻辑指令包括立即常开或立即常闭触点指令、立即输出线圈指令、立即置位指令、立即复位指令,指令中都带有I标识;其它位逻辑指令包括取反指令、上升沿指令、下降沿指令和空操作指令。
标准位逻辑指令
下面我们以起保停控制程序为例来讲解一下位逻辑指令的使用。要求编写起保停控制程序,即按下瞬动按钮I0.0启动电动机Q0.0,按下瞬动按钮I0.1停止电动机Q0.0。首先,我们双击桌面上的STEP7-Micro/WIN SMART编程软件图标,启动编程软件,从指令树的位逻辑指令选项中选择一个常开触点,拖放到程序编辑器的程序段1中,输入地址I0.0作为启动触点,拖动一个常闭触点与其串联,输入地址I0.1作为停止触点,拖放一个输出线圈,输入地址Q0.0作为起保停电路的输出线圈。
拖放触点和线圈
在常开触点I0.0的下方拖放一个Q0.0的常开触点,单击工具栏中的插入向上垂直线按钮与其并联,作为自锁触点,这样一个简单的起保停控制程序的编写就完成了。编译、下载程序到S7-200 SMART。单击菜单中的下载按钮,在打开的通信对话框中选择要访问的CPU,单击确定进行下载,下载完成后关闭对话框。
下载程序
我们可以在线查看程序的运行情况。单击PLC菜单下的运行按钮,运行项目,单击调试菜单下的程序状态按钮,在线观察程序的执行情况。按下启动按钮I0.0,可以看到输出线圈Q0.0接通,按下停止按钮I0.1,可以看到输出线圈Q0.0断开。
在线查看程序运行
S7-200 SMART逻辑运算指令按照操作类型可以分为四种:取反指令、逻辑与指令、逻辑或指令和逻辑异或指令。如下图所示,四列对应四种操作类型:
逻辑运算指令按操作类型可分为四种
S7-200 SMART逻辑运算指令按照操作数长度可以分为三种:字节逻辑运算指令、字逻辑运算指令、双字逻辑运算指令。如下图所示,三行对应三种操作数长度类型:
逻辑运算指令按操作数长度可分为三种
字节逻辑运算指令是对单字节数据进行逻辑操作,其操作数为八位无符号数。
字节逻辑运算指令
字逻辑运算指令是对字数据进行逻辑操作,其操作数为十六位无符号数。
字逻辑运算指令
双字逻辑运算指令是对双字数据进行逻辑操作,其操作数为三十二位无符号数。
双字逻辑运算指令
下面我们来介绍不同操作类型的逻辑运算指令。取反指令将输入端IN操作数的二进制数逐位取反,并将结果送到输出端OUT中,例如将VW0中的数据逻辑取反后送到MW10,我们可以发现,执行逻辑取反指令后,每一位由0变为1、1变为0。
逻辑取反指令
逻辑与指令将输入端IN1、IN2两个操作数的对应位执行“与”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑与后送到MB0中,我们可以发现,执行逻辑与运算指令后,如果两个操作数的对应位都为1,则运算结果的对应位为1,否则为0。
逻辑与指令
逻辑或指令将输入端IN1、IN2两个操作数的对应位执行“或”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑或后送到MB1中,我们可以发现,执行逻辑或运算指令后,如果两个操作数的对应位都为0,则运算结果的对应位为0,否则为1。
逻辑或指令
逻辑异或指令将输入端IN1、IN2两个操作数的对应位执行“异或”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑异或后送到MB2中,我们可以发现,执行逻辑异或运算指令后,如果两个操作数的对应位不同,则运算结果的对应位为1,否则为0。
逻辑异或指令
下面我们将通过一个实例来说明逻辑运算指令在程序中的使用方法。要求将VW2和VW4中的数据进行逻辑与后,送到VW6。首先我们双击电脑桌面上的STEP7-Micro/WIN SMART图标,打开编程软件,从指令树的位逻辑中选择一个常开触点拖放到程序编辑器的程序段1中,输入地址I0.0,从指令树逻辑运算指令中选择字与指令拖放到常开触点后,在IN1处输入地址VW2,在IN2处输入地址VW4,在OUT处输入地址VW6,这样一个简单的逻辑运算指令的应用程序就完成了。
逻辑运算指令应用实例
将应用程序编译下载到S7-200 SMART PLC。单击菜单中的下载按钮,在打开的通信对话框中选择要访问的CPU,单击确定进行下载,下载完成后关闭对话框。查看程序的运行情况,单击PLC菜单下的运行按钮,运行项目,单击调试菜单下的程序状态按钮,在线观察程序的执行情况。在状态图表中输入地址VW2,格式选择十六进制。选中VW2单元格按回车键,地址列自动递增,添加地址VW4和VW6,格式和上一行相同。
在线观察程序执行
单击状态图表工具栏中的状态图表按钮,可以看到VW2、VW4和VW6的当前值都为0,在新值列中分别输入十六进制3456和十六进制00FF,单击状态图表工具栏中的写入按钮,则VW2和VW4变为相应的值,而VW6中的值不变。
写入相应数值
按下I0.0可以看到VW6的值变为十六进制0056,为VW2和VW4逻辑与的结果。
逻辑运算结果
关注本号学习更多PLC编程知识。
相关问答
plc怎么把一个实数赋值给双字?
在PLC编程中,通常会使用特定的指令将一个实数赋值给双字数据类型。具体的操作取决于所使用的PLC编程语言和PLC品牌。以下是一种常见的方法来实现这个操作:1...
plc中的位字字节双字谁能够给我详细的解释下还有他们是用来...
[最佳回答]八个位是一个字节,两个字节是一个字,两个字就是双字.比如一个位用I0.0表示,就代表输入的第一位.IB0表示一个字节;W表示一个字,DW表示一个双字.八个...
plc编程中的字节,字,双字,整数,双整数,实数,之间到底是什么关系?
1字节=8位1字=2字节=16位1双字=2字=32位整数一般是1字,双整数是2字,不能表示小数实数是32位,浮点数1字节=8位1字=2字节=16位1双字=2字=32位整数一般是1字,双...
西门子PLCS7-200编程中位与字节、字双字的关系。初学者拜师?
1,双字如DW0(12345678)2,双字又由两个字组成WORD0(1234)与WORD1(5678)3,双字又由4个字节组成IB0(12)与IB1(34)与IB2(56)与...
modbus协议怎样读取PLC双字16进制浮点数将其转化为十进制,急?
这与MODBUS无关,你的要求是把两个字的单精度浮点,转换成数,其实就是类型的转换而已,数本身不要转换。这C++语言最灵活,处理这种类型改变很简单:charbuf...
三菱PLC中的位、字、双字在程序中怎样应用理解?
一、三菱PLC中的位、字、双字学习三菱PLC编程,理解位(bit)、字(WORD)双字(DWORD)有助于对PLC工作原理的理解。8位=1字节(8bit=1byte)、2byte=1字、...一...
西门子plc中字节字双字各能存储多少个数字?
不管是有符号数还是无符号数字节:8位》》》2的八次方256个----0-255字:16个位》》》2的16次方65536个就是0-65535的整数或者是-32768---32767双字:3...
三菱plc双字存储范围?
直接创建以个双字的变量:三菱PLC存储指令,使用DMOV指令可使数据寄存器D存放32位数据,可以存储更多数据。MOV指令存储数据是单字节的16位数据,范围是-32765...
plc位、字节、字、双字什么意思?
位就是0或1,二进制的一个位0或1字节是8个位,二进制00000000到11111111字是16个位,二进制0000000000000000到1111111111111111双字...
PLC中cf113什么意思-ZOL问答
也就是PLC运行时一直闭合的一个位。也叫常通位。用于执行需要一直执行的命令...所谓浮点数就是指带小数点的数为双字类型占用32为的空间使用前需要进行浮...