APG for Windows - DDE Custom Programs

SAMPLE PROGRAMS
Date: 10/05/95
Program: SAMPLE PROGRAMS
Model: DDE Word Demo
Version: 2.6
Revision: A
Input Type: AC
Max V: 132.000 Max F: 0.000
Nom V: 115.000 Nom F: 0.000
Min V: 98.000 Min F: 0.000
Number of Outputs: 3
Name               NomV       MaxI      NomI       MinI     Load     Path     
+5V                5.000      20.000    10.000     1.000    1        1        
+12V               12.000     5.000     2.500      0.000    2        2        
-12V               12.000     1.000     0.500      0.000    3        3        

Variables:

t0              REAL          
t1              REAL          
bookmark[80]    STRING        
DataSheet$[80]  STRING        
date[80]        STRING        
elapse[80]      STRING        
final[80]       STRING        
led[80]         STRING        
lfd[80]         STRING        
lfi[80]         STRING        
model[80]       STRING        
remote[80]      STRING        
sn[8]           STRING        
temp[80]        STRING        
time[80]        STRING        
WORDexe[80]     STRING        
PassFail[6]     STRING        
min             INTEGER       
sec             INTEGER       
x               INTEGER       
v               INTEGER       

1 /*check if first time through*/
2 If (!IsVar(FirstTime))
3 /*if first time through define variable*/
4 Define Variable(FirstTime,INT,FALSE,0,0)
5 /*identify word .exe file and path*/
6 Format String(WORDexe,c:\\winword\\winword.exe)
7 /*identify custom printout .doc file and path*/
8 Format String(DataSheet$,c:\\apg\\log\\dataform.doc)
9 /*open word and load document*/
10 Run An Application(%WORDexe% /r %DataSheet$%,v,1)
11 /*associate 'bookmarks' with array elements*/
12 bookmark[0]="Inrush"
13 bookmark[1]="LineI"
14 bookmark[2]="Eff"
15 bookmark[3]="pf"
16 bookmark[4]="VoltV1"
17 bookmark[5]="VoltV2"
18 bookmark[6]="VoltV3"
19 bookmark[7]="LoadV1"
20 bookmark[8]="LoadV2"
21 bookmark[9]="LoadV3"
22 bookmark[10]="LineV1"
23 bookmark[11]="LineV2"
24 bookmark[12]="LineV3"
25 bookmark[13]="RMSV1"
26 bookmark[14]="RMSV2"
27 bookmark[15]="RMSV3"
28 bookmark[16]="PeakV1"
29 bookmark[17]="PeakV2"
30 bookmark[18]="PeakV3"
31 bookmark[19]="OVPV1"
32 bookmark[20]="OVPV2"
33 bookmark[21]="OVPV3"
34 bookmark[22]="ILimV1"
35 bookmark[23]="ILimV2"
36 bookmark[24]="ILimV3"
37 bookmark[25]="TotV1"
38 bookmark[26]="TotV2"
39 bookmark[27]="TotV3"
40 bookmark[28]="UpV1"
41 bookmark[29]="UpV2"
42 bookmark[30]="UpV3"
43 bookmark[31]="PowerGood"
44 bookmark[32]="lfd"
45 bookmark[33]="lfi"
46 PassFail[0]="<Fail>"
47 PassFail[1]="PASS"
48 EndIf
49 TestStart:
50 t0=time/1000
51 /*perform required tests using link names*/
52 /*link array=bookmark[#] contains "bookmark"*/
53 Init Analog Seq Comp(4,250,20,4.5,+5V Turn On Time,bookmark[25])
54 Init Analog Seq Comp(2,250,20,11.5,+12V Turn On Time,bookmark[26])
55 Init Analog Seq Comp(3,250,20,11.5,-12V Turn On Time,bookmark[27])
56 Test Sequencing(Up,PowerOn)
57 Test AC Inrush(5,1,bookmark[0])
58 PowerOff
59 Setup TimeInterval Test(Dual,Up,4.75,Up,2.5,4,150,100000,Single)
60 PowerOn
61 Report TimeInterval Results(1000000,Power Good Turn On Delay,50,10,uS,1,bookmark[31])
62 Test AC Line Current(5,1,bookmark[1])
63 Test Efficiency(85,65,0.65,AC,0,Aux,bookmark[2])
64 Test True Power Factor(90,50,bookmark[3])
65 Test Vout Setpoint(1,5.25,4.75,0,_NO,a$,_NO,bookmark[4])
66 Test Vout Setpoint(2,12.25,11.75,0,_NO,a$,_NO,bookmark[5])
67 Test Vout Setpoint(3,12.25,11.75,0,_NO,a$,_NO,bookmark[6])
68 Test Regulation Load(1,2,0,_PerCent,MinI(1),MaxI(1),0,_YES,bookmark[7])
69 Test Regulation Load(2,2,0,_PerCent,MinI(2),MaxI(2),0,_YES,bookmark[8])
70 Test Regulation Load(3,2,0,_PerCent,MinI(3),MaxI(3),0,_YES,bookmark[9])
71 Test Regulation Line(1,2,0,_PerCent,MinLV,MaxLV,0,_YES,LineV,bookmark[10])
72 Test Regulation Line(2,2,0,_PerCent,MinLV,MaxLV,0,_YES,LineV,bookmark[11])
73 Test Regulation Line(3,2,0,_PerCent,MinLV,MaxLV,0,_YES,LineV,bookmark[12])
74 Test Noise & Ripple(1,100,10,0,_HIGH,20,1,_NO,0,bookmark[13],bookmark[16])
75 Test Noise & Ripple(2,100,10,0,_HIGH,20,1,_NO,0,bookmark[14],bookmark[17])
76 Test Noise & Ripple(3,100,10,0,_HIGH,20,1,_NO,0,bookmark[15],bookmark[18])
77 Test OVP(1,1,5.5,7,25,0,6.5,5.8,2.5,1,_NO,bookmark[19])
78 Recycle Power(0,0,LineV)
79 Test OVP(2,2,12.5,15,25,0,14.5,13,2.5,1,_NO,bookmark[20])
80 Recycle Power(0,0,LineV)
81 Test OVP(3,3,12.5,15,25,0,14.5,13,2.5,1,_NO,bookmark[21])
82 Recycle Power(0,0,LineV)
83 Test OverLoad Constant I(1,28,25,23,30,1,0,10,0,_NO,0,Over I Pot,0,bookmark[22])
84 Test OverLoad Constant I(2,8,6,5.5,9,0.5,0,10,0,_NO,0,Over I Pot,0,bookmark[23])
85 Test OverLoad Constant I(3,2,1.5,1.3,2,0.1,0,10,0,_NO,0,Over I Pot,0,bookmark[24])
86 /*test remote shutdown*/
87 Pick a Relay(9)
88 Measure DC Voltage(PathFor(1),5.5,0)
89 Check Test Limits(Logic,Remote Shutdown,1,Meter<1,1,1,0)
90 remote=PassFail[_TESTSTATUS==_PASS]
91 Drop a Relay(9)
92 /*verify LED is lit*/
93 Message Box(Is the LED lit?,LED Visual Check,2,4)
94 Check Test Limits(Logic,LED Check,1,_MBRET==_YES,1,1,0)
95 led=PassFail[_TESTSTATUS==_PASS]
96 /*test line monitor setpoints*/
97 /*decreasing line*/
98 Test Line Monitor(5,-1.5,90,70,-0.5,0,85,80,bookmark[32])
99 /*increasing line*/
100 Test Line Monitor(5,1.5,80,90,0.5,0,88,83,bookmark[33])
101 Set Line Voltage(NomLV,0,1)
102 /*test holdup*/
103 Init Analog Seq Comp(4,100,20,4.5,+5V Holdup,bookmark[28])
104 Init Analog Seq Comp(2,100,20,11.5,+12V Holdup,bookmark[29])
105 Init Analog Seq Comp(3,100,20,11.5,-12V Holdup,bookmark[30])
106 Test Sequencing(Down,PowerOff)
107 /*retrieve other program data*/
108 sn=_UUTSERIALNBR$
109 model=_UUTMODEL$
110 date=GetDate$
111 time=GetTime$
112 final=PassFail[_UUTSTATUS==_PASS]
113 /*calculate and report elapse test time*/
114 t1=(time/1000)-t0
115 min=t1/60
116 sec=t1%60
117 Format String(elapse,%0(min)%:%0(sec)%)
118 TestEnd:
119 /*pass DDE Information to Word*/
120 For(x=0,x<34,x++)
121 /*place chklim data in temp variable*/
122 Request DDE Data(CHKLIM,RESULT,%bookmark[x]%,temp)
123 /*transfer temp to word bookmarks*/
124 Poke DDE Data(WinWord,%DataSheet$%,%bookmark[x]%,%2(temp)%)
125 /*end result of this request/poke cycle is*/
126 Next
127 /*transfer discrete data elements to Word*/
128 /*Item is literal bookmark name.*/
129 /*data string variable contains data to send*/
130 Poke DDE Data(WinWord,%DataSheet$%,model,%model%)
131 Poke DDE Data(WinWord,%DataSheet$%,sn,%sn%)
132 Poke DDE Data(WinWord,%DataSheet$%,date,%date%)
133 Poke DDE Data(WinWord,%DataSheet$%,time,%time%)
134 Poke DDE Data(WinWord,%DataSheet$%,remote,%remote%)
135 Poke DDE Data(WinWord,%DataSheet$%,led,%led%)
136 Poke DDE Data(WinWord,%DataSheet$%,final,%final%)
137 Poke DDE Data(WinWord,%DataSheet$%,elapse,%elapse%)
138 /*send the Print command to winword*/
139 Execute DDE Cmd(WinWord,%DataSheet$%,[FilePrint])
/***End of File***/ 

[BACK]

Copyright © 1995 - 2001, Autotest Company, All Rights Reserved.