各位大侠,压力值从AIW4采集得到存入VD6中,采样时间为30秒。请问,该如何编程求取30秒内的实时压力的最大值啊,谢谢!数据采集及存入VD6我已编好,但是对求最大值不会,麻烦给出一段程序,不甚感激!
最佳答案
西门子200中断定时器SMB34/SMB35的定时时间是1-255mS,在实际使用时,需要在中断程序中增加时间累积程序,以满足30秒中断定时器的使用。
求最大值,可以用冒泡法:
程序(转摘)
//Main主程序对5个数进行排序从VW4500至Vw4508进行排序,任意多个数可以在SM0.1中初始化;
NETwork1
LDSM0.1
MOVW1,VW2000
MOVW1,VW1000
MOVD&VB4498,VD3000
MOVW700,VW4500
MOVW210,VW4502
MOVW110,VW4504
MOVW510,VW4506
MOVW5110,VW4508
MOVW1,VW600
Network2
LDM1.0
CALLS0:SBR0
//SO:SBR0子程序,采用内外两个For循环及VD1118与VD1008双指针进行排序操作
Network1
LDM1.0
FORVW2000,VW600,4
Network2
LDM1.0
FORVW1000,VW2000,3
Network3
LDM1.0
LPS
MOVWVW1000,VW1002
AENO
*I+2,VW1002
AENO
ITDVW1002,VD1004
LPP
MOVDVD1004,VD1114
+D+2,VD1114
Network4
LDM1.0
MOVDVD3000,VD1008
+DVD1004,VD1008
MOVDVD3000,VD1118
+DVD1114,VD1118
Network5
LDM1.0
MOVW*VD1008,VW3500
MOVW*VD1118,VW3502
Network6
LDM1.0
AW>VW3500,VW3502
MOVW*VD1008,VW3004
MOVW*VD1118,*VD1008
MOVWVW3004,*VD1118
Network7
NEXT
Network8
NEXT
提问者对于答案的评价:
歇息