在S7-200PLC编程时,如何判断几个变量中哪个变量值最小?

有段小程序不知怎么做,要求需要判断出几个变量中,哪个变量值最小,哪个变量值最大;因为这几个变量都是动态变化的,所以要及时判断计算出来这几个变量的平均值。请教各位!谢谢

最佳答案

network1
LD     SM0.0
MOVW   0, #MAX:LW6
AENO
MOVW   0, #MIN:LW8
network2
LD     SM0.0
MOVD   #Startadd:LD0, AC1
+D     +2, AC1
network3
LD     SM0.0
LPS
AW>=   *AC1, *#Startadd:*LD0
MOVW   *AC1, #MAX:LW6
AENO
MOVW   *#Startadd:*LD0, #MIN:LW8
LPP
AW<    *AC1, *#Startadd:*LD0
MOVW   *#Startadd:*LD0, #MAX:LW6
AENO
MOVW   *AC1, #MIN:LW8
network4
LD     SM0.0
MOVW   #Datalen:LW4, LW12
-I     1, LW12
network5
LD     SM0.0
FOR    #temp_i:LW10, 1, LW12
network6
LD     SM0.0
LPS
AW>=   *AC1, #MAX:LW6
MOVW   *AC1, #MAX:LW6
LPP
AW<    *AC1, #MIN:LW8
MOVW   *AC1, #MIN:LW8
network7
LD     SM0.0
+D     2, AC1
network8
NEXT

以上是我以前项目中写子程序,可以直接转换为LAD查看。功能就是求出一段连续地址中的最大值和最小值。注意for循环长度,太长有可能超时。
平均值程序很好写,就是累加之后再除一下。
这类程序都是逻辑非常简单的,建议楼主如果有时间的话还是自己写。

提问者对于答案的评价:
谢谢各位的回复!此问题已解决!!!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:28
下一篇 2020年10月31日 下午3:28

相关推荐