广东湘恒智能科技有限公司
主营产品: 西门子PLC,西门子模块,西门子触摸屏,西门子变频器,西门子伺服电机驱动,电缆,西门子全系列
SIEMENS西门子(授权)中国一级总代理商-广东省

导读: 

西门子S7-200smart V2.8软件更新以后多了很多的功能,需要CPU固件升级到V2.8才可以使用,这篇文章接着介绍西门子S7-200smart V2.8数学运算的新指令,西门子的S7-200smart V2.8新指令介绍分为上、中、下三篇,想了解更多内容可以关注“电工小青年”。


一、数学运算指令


1.取最大值或最小值



指令如图1所示,“取最大值或最小值”指令比较可用输入的值,然后将最小值和最大值的值及索引写入 MinValue, MinValueIndex, MaxValue 和 MaxValueIndex 的输出。


如果数组中有多个最小值或最大值,则会输出第一个最小值或最大值的索引号,数组的索引从 0 开始。


这四个指令引脚功能都是一样的,除了部分数据类型不一样,把鼠标放到指令处停顿2s左右,既可以看到对应的引脚的数据类型。

图片

图1 

这里以MIN_MAX_B指令为例:取源 6 字节地址序列(VB0 到 VB5)中的 MinValue、MinValueIndex、MaxValue 和 MaxValueIndex,并将其写入到目标字地址序列(VB100 到 VB103)。


数据值

1

2

3

4

5

6

源数据地址

VB0

VB1

VB2

VB3

VB4

VB5

数组索引

0

1

2

3

4

5

表1

PLC RUN模式,则执行 MIN_MAX_I 获取 MinValue、MinValueIndex、MaxValue 和 MaxValueIndex,并将其写入到目标地址

目标数据值

1

0

6

5

目标地址

Vb100

Vw101

Vb103

Vw105

表2


执行结果如图2所示,其他的指令都是一样的原理,引脚数据类型不一致。

图片

图2



2.取随机数


指令如图3所示,随机指令向 OUT 输出生成所设定范围内的一个随机值。


取 lowerBound 和 Upper Bound 之间的两个封闭区间间的随机数,执行 RAND_R 以获取源数据值中的随机值,并将其写入到OUT目标地址。

图片

图3

测试如视频1所示,对vb0—vb9赋值1-10的数值,M0.0为1时,随机输出1-10范围内任意数值到VB10中。

,时长00:20

视频1


3.取平均值


指令如图4所示,取平均值指令计算从StartAddr引脚地址开始,数据长度位Len引脚地址的数组,求和并输出平均值到OUT引脚地址。


例如:从VB0开始的10个数据,求和输出到VB500中,其他几个指令都是一样的,不同的指令是数据类型不一样,使用过程中需要特别注意你需要进行运算的数据类型。


指令数据类型如下:AVG_B是Byte的数据类型,AVG_W是Int的数据类型,AVG_DI是Dint的数据类型,AVG_R是Real的数据类型。如果不太清楚指令的数据类型,可以把鼠标放在指令处不动2s即可看到指令对应引脚的数据类型。

图片

图4


测试如图5所示,在状态图表中分别对AVG_B指令StartAddr引脚地址VB0开始10个字节(VB0—VB9)进行赋值,并把平均值结果输出到VB500。    

图片

图5


展开全文
拨打电话 微信咨询 发送询价