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

简介: 本节我们来学习西门子S7-200 SMART整数运算指令,并通过一个实例还讲解整数运算指令如何使用。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。

本节我们来学习西门子S7-200 SMART整数运算指令,并通过一个实例还讲解整数运算指令如何使用。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。


640.jpg

加减乘除运算指令


640.jpg

递增、递减运算指令

   

整数的加、减、乘、除运算指令分别实现了将两个十六位整数相加、相减、相乘和相除,从而产生一个十六位的整数运算结果,其中除法指令只得到商,不保留余数。


640.jpg

整数的加减乘除指令

   

双整数的加、减、乘、除指令分别实现了将两个三十二位的双整数相加、相减、相乘和相除,从而产生一个三十二位的双整数结果,其中除法指令只得到商,不保留余数。


640.jpg

双整数的加减乘除指令

   

当两个十六位整数相乘,所得的结果可能溢出十六位整数范围时,可以使用整数相乘得双整数指令,它将两个十六位整数IN1和IN2相乘,从而产生一个三十二位的双整数结果。


640.jpg

整数相乘得双整数指令

   

带余数的整数除法指令,将两个十六位的整数IN1和IN2相除从而产生一个三十二位的结果,其中操作数IN1和IN2是十六位有符号整数,三十二位的结果OUT中,高十六位为余数,低十六位为商。


640.jpg

带余数的整数除法指令

   

字节递增、递减指令将输入字节IN加一或者减一,并将运算结果送到OUT中,其操作数为八位无符号数,需要注意字节递增、递减运算不带符号。


640.jpg


字节递增递减指令

   

字递增、递减指令将输入字IN加一或者减一,并将运算结果送到OUT中,其操作数为十六位有符号整数,需要注意字递增、递减运算带符号。




字递增递减指令

 

双字递增、递减指令将输入双字IN加一或者减一,并将运算结果送到OUT中,其操作数为三十二位有符号双整数,需要注意双字递增、递减运算带符号。


640.jpg

双字递增递减指令

   

下面我们举例来说明整数运算指令在程序中的应用。在实际应用中,经常需要将现场采集的模拟量信号数据值进行转换,得到对应的工程量数值,假设得到的转换公式如下图所示,为了便于演示,将AIW0的地址更改为VW0,需要注意,为了保证精度,运算时应该先进行乘法运算再进行除法运算。


640.jpg

整数运算指令应用举例

   

我们来编写程序。双击电脑桌面上的STEP7-Micro/WIN SMART图标,打开编程软件,首先从指令树的位逻辑中选择一个常开触点,拖放到程序编辑器的程序段1中,输入地址SM0.0,在指令树整数计算选项中拖动整数相减指令到刚刚添加的常开触点后面,在IN1处输入地址VW0,在IN2处输入数值6400,在OUT处输入地址VW2。


640.jpg


添加整数相减指令

   

单击工具栏插入向下垂直线按钮,产生一个程序分支。因为乘法运算的结果可能超出十六位整数的范围,所以需要使用整数相乘得到双整数指令,插入该指令,在IN1处输入地址VW2,在IN2处输入数值100,在OUT处输入地址VD4。


640.jpg

添加整数相乘得到双整数指令

   

再次单击工具栏插入向下垂直线按钮,继续产生程序分支。因为VD4是双整数,所以需要双整数相除指令,插入该指令,在IN1处输入地址VD4,在IN2处输入数值25600,在OUT处输入地址VD8。这样,一个用整数运算指令编写的模拟量运算程序就编写完成了。


640.jpg

添加整数相除指令

   

编译并下载程序到S7-200 SMART PLC。单击菜单中的下载按钮,在打开的通信对话框中选择要访问的CPU并点击确定进行下载,下载完成后关闭对话框。在线查看程序运行情况。单击PLC菜单下的RUN按钮运行项目,单击调试菜单下的程序状态按钮在线观察程序的运行情况,在状态图表中输入地址VW0,格式为有符号整数,再输入VD8。单击状态图表的工具栏图表状态按钮,可以看到VW0和VD8的当前值。


640.jpg

在线查看程序运行情况

   

在VW0的新值列中输入20000,单击状态图表的工具栏写入按钮,则VW2变为相应的值,此时VD8自动计算为相应的数值。


640.jpg


自动计算相应的数值

   

本篇关于西门子S7-200 SMART整数运算指令的应用实例就讲解完了,学习更多PLC编程知识,欢迎关注本号!

相关文章
西门子S7-1200编程实例,比较指令如何使用?
西门子S7-1200中的比较指令包括了值大小比较指令、是否在范围内指令以及有效性无效性检查指令。使用值大小比较指令,可以比较两个数据类型相同的数值的大小。
西门子S7-1200编程实例,比较指令如何使用?
|
5月前
|
存储 C语言
【学习笔记】verilog HDL之二:数据类型与表达式
本文介绍了Verilog语言中的常量、变量和表达式。Verilog有四种基本值:0、1、x(未知)和z(高阻)。整型常量有十进制和基数两种格式,实数型常量包括浮点数,字符串常量由双引号括起的字符序列构成。变量分为线网型和寄存器型,线网型包括wire、tri等11种类型,寄存器型有reg、integer、time等,其中reg可声明存储器。表达式中的操作数包括常数、参数、线网等8种类型,操作符包括算术、关系、逻辑等9种类型。
|
C语言 异构计算
【FPGA】Verilog 基础速览 | 数据类型 | HDL常数声明 | Timescale | 操作符 | 阻塞语句 | 非阻塞语句
【FPGA】Verilog 基础速览 | 数据类型 | HDL常数声明 | Timescale | 操作符 | 阻塞语句 | 非阻塞语句
57 0
西门子S7-1200编程实例,移位和循环移位指令如何使用?
西门子S7-1200的移位指令包括左移位指令和右移位指令,循环移位指令包括循环左移位指令和循环右移位指令。
西门子S7-1200编程实例,移位和循环移位指令如何使用?
|
小程序 前端开发 JavaScript
小程序实战入门009---小程序表格实现,小程序做加减乘除简单运算
小程序实战入门009---小程序表格实现,小程序做加减乘除简单运算
229 0
西门子S7-200 SMART整数运算指令概述及应用举例
本篇文章我们来学习西门子S7-200 SMART整数运算指令。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。
西门子S7-200 SMART整数运算指令概述及应用举例
|
C语言 Perl
西门子S7-200 SMART编程实例,逻辑运算指令如何使用?
本节我们来介绍一下西门子S7-200 SMART逻辑运算指令。
西门子S7-200 SMART编程实例,逻辑运算指令如何使用?
|
监控 C语言 Perl
西门子S7-1200编程实例,基本逻辑运算指令如何使用?
西门子S7-1200中的逻辑运算指令包括逻辑与、逻辑或、逻辑异或、取反、编码、解码、选择、多路复用等。下面我们来介绍基本逻辑运算指令的使用方法。
西门子S7-1200编程实例,基本逻辑运算指令如何使用?
|
C语言 Perl
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?
位逻辑指令是PLC编程中最基本、使用最频繁的指令,按不同的功能和用途具有不同的形式,总的来说可以分为下述几大类:标准位逻辑指令、置位/复位指令、立即位逻辑指令、其他位逻辑指令。
西门子S7-200 SMART位逻辑指令、逻辑运算指令如何使用?
西门子S7-200 SMART逻辑运算指令及应用实例
本篇我们来介绍一下西门子S7-200 SMART逻辑运算指令。S7-200 SMART逻辑运算指令按照操作类型可以分为四种:取反指令、逻辑与指令、逻辑或指令和逻辑异或指令。如下图所示,四列对应四种操作类型:
西门子S7-200 SMART逻辑运算指令及应用实例