发布于 2009-06-22 09:53:59
0楼
原先的例子是这样的:
当我机器运行时调用子程序1
LD SM0.0
CALL Data_CVT:SBR4, 1, VD100
XMT VB60, 0
子程序1调用子程序2(Data_CVT)
网络1
LD SM0.0
LPS
MOVR #speed:LD1, VD110
*R 50.0, VD110
ROUND VD110, VD120
AD> VD120, +12000
MOVD +12000, VD120
LRD
MOVB 16#3A, VB61
LRD
HTA #InvertNum:LB0, VB62, 2
LRD
MOVB 16#30, VB64
LRD
MOVB 16#36, VB65
LRD
MOVB 16#32, VB66
LRD
MOVB 16#30, VB67
LRD
MOVB 16#30, VB68
LPP
MOVB 16#31, VB69
网络2
LD SM0.0
HTA VB122, VB70, 2
HTA VB123, VB72, 2
MOVW +0, VW52
MOVD &VB62, VD124
网络3
LD SM0.0
FOR C1, +1, +6
WDR
网络4
LD SM0.0
ATH *VD124, VB54, 2
INCD VD124
INCD VD124
BTI VB54, VW148
+I VW148, VW52
网络5
NEXT
网络6
LD SM0.0
MOVB VB53, VB56
INVB VB56
MOVB VB56, VB57
INCB VB57
网络7
LD SM0.0
HTA VB57, VB74, 2
MOVB 16#0D, VB76
MOVB 16#0A, VB77
网络8
LD SM0.0
MOVB 16#3A, VB81
HTA #InvertNum:LB0, VB82, 2
MOVB 16#30, VB84
MOVB 16#36, VB85
MOVB 16#32, VB86
MOVB 16#30, VB87
MOVB 16#30, VB88
MOVB 16#30, VB89
MOVW +0, VW114
MOVD &VB82, VD130
网络9
LD M0.0
AN I0.2
MOVB 16#30, VB90
MOVB 16#30, VB91
MOVB 16#31, VB92
MOVB 16#32, VB93
网络10
LD M0.0
A I0.2
MOVB 16#30, VB90
MOVB 16#30, VB91
MOVB 16#32, VB92
MOVB 16#32, VB93
网络11
LDN M0.0
MOVB 16#30, VB90
MOVB 16#30, VB91
MOVB 16#30, VB92
MOVB 16#31, VB93
网络12
LD SM0.0
FOR C2, +1, +6
WDR
网络13
LD SM0.0
ATH *VD130, VB108, 2
INCD VD130
INCD VD130
BTI VB108, VW158
+I VW158, VW114
网络14
NEXT
网络15
LD SM0.0
MOVB VB115, VB58
INVB VB58
MOVB VB58, VB59
INCB VB59
网络16
LD SM0.0
HTA VB59, VB94, 2
MOVB 16#0D, VB96
MOVB 16#0A, VB97
这是原来设备的程序,在子程序1中,
1:在子程序1中,CALL Data_CVT:SBR4, 1, VD100是怎么来的?听说它不是一条PLC指令,而是组态软件中的内容,它在PLC中是怎么调出来的?是不是起一个“写速度”作用?
2:能否解释下子程序2中各个网络的程序的作用?
谢谢!
成功并不是拥有更多,而是能否将拥有的挖掘出最大价值。