西门子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中,其操作数为十六位有符号整数,需要注意字递增、递减运算带符号。


640.jpg

字递增递减指令

 

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



双字递增递减指令

 

下面我们举例来说明整数运算指令在程序中的应用。在实际应用中,经常需要将现场采集的模拟量信号数据值进行转换,得到对应的工程量数值,假设得到的转换公式如下图所示,为了便于演示,将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整数运算指令的应用实例就讲解完了,下篇我会继续讲解S7-200 SMART的有关内容,欢迎关注!

相关文章
|
监控 数据处理
基于STC89C52RC单片机的MODBUS RTU协议从机的实现
基于STC89C52RC单片机的MODBUS RTU协议从机的实现
914 0
|
存储 编译器
什么是数据块?西门子S7-200SMART数据块如何使用?
今天我们来学习在西门子S7-200 SMART中如何使用数据块。在讲解数据块的使用之前我们先来看一下什么是数据块:数据块用来对V存储区也叫变量存储区赋初始值;可以对字节、字或双字来分配数据值。
什么是数据块?西门子S7-200SMART数据块如何使用?
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
1385 2
|
人工智能 自然语言处理 安全
已解决:Poe AI国内能用吗?国内用户如何使用Poe AI?亲测有效的方法来了!
人工智能正在重塑我们的世界,而Poe AI作为AI聊天机器人平台的佼者,更是引领着这场变革。它集成了众多顶尖AI模型,如OpenAI的GPT系列、Anthropic的Claude系列以及Google的PaLM等,为用户提供了一个探索AI无限可能的开放平台
1263 12
西门子S7-200 SMART如何使用状态图表,如何创建、监视、强制、趋势显示
上篇文章中我们学习了S7-200 SMART系统块的组态,本篇我们来介绍在编程软件STEP7-Micro/WIN SMART中如何使用状态图表,以及如何创建、监视、强制、趋势显示。在STEP7-Micro/WIN SMART与PLC之间成功建立通信,并且将程序下载到PLC后,就可以监控和调试程序了。程序状态监控可以监视程序的运行情况,但是如果需要监控的变量较多,不能在程序编辑器中同时显示的时候就需要使用状态图表监控。接下来我们来介绍在STEP7-Micro/WIN SMART如何使用状态图表监控和调试程序。
西门子S7-200 SMART如何使用状态图表,如何创建、监视、强制、趋势显示
|
人工智能 安全 量子技术
大疆DJI无人机等你来拿,蚂蚁集团agentUniverse 多智能体框架有奖征文
agentUniverse有奖征文活动来啦!分享agentUniverse的实践经验、亦或是剖析市面上各路智能体技术理念、对比开源框架的洞见,都有机会获得大疆无人机!
大疆DJI无人机等你来拿,蚂蚁集团agentUniverse 多智能体框架有奖征文
|
存储 监控 关系型数据库
如何升级MySQL版本?
如何升级MySQL版本?
1100 2
|
Linux 调度 Windows
【操作系统】线程、多线程模型
【操作系统】线程、多线程模型
545 1
|
网络协议
技术笔记:modbus通讯协议详解
技术笔记:modbus通讯协议详解
1131 0
|
C语言 Perl
西门子S7-200 SMART编程实例,整数运算指令如何使用?
本节我们来学习西门子S7-200 SMART整数运算指令,并通过一个实例还讲解整数运算指令如何使用。S7-200 SMART的整数运算指令主要包括加、减、乘、除运算指令和递增、递减运算指令。
西门子S7-200 SMART编程实例,整数运算指令如何使用?