如何在 STEP 7-Micro/WIN 中对数值求绝对值和求反(反号)?

n

解答
STEP 7-Micro/WIN 的标准库函数中不包括对数据值求绝对值(ABS)和求负值(NEG)的函数,但您可以用可集成的附加指令库编程实现此功能。 您可以下载下面的“Sign Operation”符号处理指令库,并添加到STEP 7-Micro/WIN V3.2.4.27 以上版中。n

“Sign Operation”指令库说明
“Sign Operation”库包括几个分别对浮点数(实数)、整数和双整数数值求绝对值和求负值的功能块。n

如何在 STEP 7-Micro/WIN 中对数值求绝对值和求反(反号)?
图 01: 集成到 STEP 7-Micro/WIN 中“Sign Operation”库n

绝对值 (ABS)
求绝对值的功能块 ABS_R,ABS_I 和 ABS_DI 分别用来求 REAL,INTEGER 和 DOUBLE INTEGER 类型数据的绝对值。
公式: y = |x|n

如何在 STEP 7-Micro/WIN 中对数值求绝对值和求反(反号)?
图 02:程序块中的 ABS_R,ABS_I 和 ABS_DI 功能块

函数 参数 数据类型 操作数
ABS_R IN [REAL] VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *LD, *AC
OUT [REAL] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC
ABS_I IN [INT] VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, Constant, AC, *VD, *AC, *LD
OUT [INT] VW, T, C, IW, QW, SW, MW, SMW, LW, AC, *VD, *AC, *LD
ABS_DI IN [DINT] VD, ID, QD, MD, SD, SMD, LD, AC, HC, Constant, *VD, *LD, *AC
OUT [DINT] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

表 01: ABS_R,ABS_I 和 ABS_DI 函数的配置 n

负值 (NEG)
求负值的功能块 NEG_R,NEG_I 和 NEG_DI 分别用来求 REAL,INTEGER 和 DOUBLE INTEGER 类型数据的负值:
公式: y = - xn

如何在 STEP 7-Micro/WIN 中对数值求绝对值和求反(反号)?
图 03: 序块中的 NEG_R,NEG_I 和 NEG_DI 功能块

函数 参数 数据类型 操作数
NEG_R IN [REAL] VD, ID, QD, MD, SD, SMD, LD, AC, Constant, *VD, *LD, *AC
OUT [REAL] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC
NEG_I IN [INT] VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, Constant, AC, *VD, *AC, *LD
OUT [INT] VW, T, C, IW, QW, SW, MW, SMW, LW, AC, *VD, *AC, *LD
NEG_DI IN [DINT] VD, ID, QD, MD, SD, SMD, LD, AC, HC, Constant, *VD, *LD, *AC
OUT [DINT] VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *LD, *AC

表 02: NEG_R,NEG_I 和 NEG_DI 函数的配置

使能位
二进制位 EN (使能位) 置位时将执行此功能的操作。

输出使能位 ENO
由于数据范围定义的不对称,整型 (INTEGER) 和双整型 (DOUBLE INTEGER) 数的最小边界值(最小负值)不能被转换为正值!
因此为这些函数功能块提供了输出位 ENO (使能输出) 用来给出无错化处理的信息:功能块因 EN 置位而调用并且运算无误是,ENO 位置位(为真);如果发生了错误(例如溢出),则 ENO 不置位(为假),同时输出值不做运算。

ABS_I,ABS_DI,NEG_I 和 NEG_DI 函数功能块的运算结果限制如下:

整型(INTEGER): -2^15-1 = -32.767 <= x <= 32.767 = 2^15-1
双整型(DOUBLE INTEGER): -2^31-1 = -2.147.483.647 <= x <= 2.147.483.647 = 2^31-1

以 ZIP 文件形式保存的 STEP 7-Micro/WIN 库
拷贝“SignOperation.zip”文件到一个单独的文件夹中并解压缩,然后您就可以集成“Sign Operation.mwl”库到 V3.2.4.27 及以上版本的 of STEP 7-Micro/WIN 中,并且在您的 S7-200 项目中使用。

注意

  • 有关在 STEP 7-Micro/WIN 中添加库的信息可以在条目 ID: 16689345 中找到。

如何在 STEP 7-Micro/WIN 中对数值求绝对值和求反(反号)? SignOperation.zip ( 3 KB )

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc330450.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论