ruandejin
有个问题 一直在困扰我 S7 200的模拟量输入/输出模块 为什么要将输出值进行整数变双整数处理
这样做的目的是什么 我想了一下 是不是只是进行符号位扩展 一般而言 在模拟量处理完成后 要将
双整数再转为整数 用于在显示屏上显示!
lgj3388
方便计算,保证精度。
例如两个模拟量相乘的结果会超过整数的取值范围,整数寄存器是放不下的。
gsja
引用 lgj3388 的回复内容:方便计算,保证精度。例如两个模拟量相乘的结果会超过整数的取值范围,整数寄存器是放不下的。
#天涯
glenxu
反对!
是因为要转换为实型,而转化为实型只有双整型转换为实型的指令,没有更好的办法。这是S7-200的短板。
S7-300有FC105和其它命令,所以有点区别。
chinacupor
支持你!要转实数,就非得转双整数。
我做了3个工具:
1、AIW(AQW)--->显示值,中间输出一个归一值,最后再输出一个显示值。
2、显示值---->归一值
3、归一值---->输出值AQW。
有了这三个偷懒工具,效率高多了。。。
ntplc2017
模拟量的原始值, AIW和AQW 都属于整数, 所以首先要使用整数进行运算, 在运算过程中, 有符号整数值的范围是-32768~ 32767 如果将一个整数32000直接做乘法计算 X 5 那么得到的值是16万,超出了整数所能显示的范围, 所以一般可以把计算做转换之后进行计算, 最好是转成浮点数后再计算, 显示在屏上显示那种,基本都可以的。