Vektrex ATLAS TPS to ATML Extractor

ATLAS TPS
to
TestDescription Extractor
Mark Skiba
Vektrex Electronic Systems, Inc.
www.vektrex.com
www.vektrex.com - slide 1
1
Project Objectives
• Extract TestDescription information from ATLAS
TPS
• Output extracted information in ATML
TestDescription draft 10 format
• Provide feedback to ATML working group on
discoveries
• Demonstrate the capability to interchange ATML
TestDescription from ESTS ATLAS TPS
www.vektrex.com - slide 2
Vektrex
www.vektrex.com - slide 2
2
Demonstration
ATLAS
ATLAS
TPS
Parser
TPS
Family
Analyzer
ATML
TestDescription
• Extract Test Information from ATLAS TPS
– Parse using TYX parser
– Analyze using ESTS TPS family analyzer
• View Test Information
• Generate ATML TestDescription
– Export ATML TestDescription
– Examine TestDescription output
www.vektrex.com - slide 3
Vektrex
www.vektrex.com - slide 3
3
TPS->ATML Mapping (TPS Source)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F|
|
|
|
C
##################################################
#BGN_NEWTEST
#TEST_NO
2000
#LAST_TEST_NO
#UUT
"INTERFERENCE BLANKER"
#TEST_TYPE
PERFORMANCE TEST
#TEST_OBJ
"UUT SIGNATURE RESISTOR TEST"
#HEADER
##################################################$
C
#POWER
$
C
None
$
C
#STIM
$
C
None
$
C
#OTHER
$
. . .
C
#NOGO_REPL Check UUT config or R/R R1
002790
IF, 'GO_FLAG', THEN
002800
ELSE
C
Check UUT config. or R/R R1
+ 002810
PERFORM, 'REPLACE', C'R1', 1
002820
LEAVE, 'UUT_SIGNATURE'
002830
END, IF
C
#END_TEST
www.vektrex.com - slide 4
Vektrex
www.vektrex.com - slide 4
4
$
$
$
$
$
$
$
$
TPS->ATML Mapping (Test Info & outcomes)
<DetailedTestInformation>
<EntryPoints>
<TestGroupEntryPoint testGroupID="seq1"/>
…
</EntryPoints>
<Tests>
<Test ID="2000" name="Test2000" type="Performance">
<Description>UUT SIGNATURE RESISTOR TEST</Description>
<Outcomes>
<Outcome ID=“Test200o1 value="Failed" qualifier="NOGO">
<Description>Replace R1</Description>
</Outcome>
<Outcome ID=“Test2000o2" value="Passed” />
</Outcomes>
…
www.vektrex.com - slide 5
Vektrex
www.vektrex.com - slide 5
5
TPS->ATML Mapping (TestGroup Sequence)
…
<TestGroups>
<TestGroup xsi:type="TestGroupSequence" ID="seq1" name="Seq1">
<Outcomes>
<Outcome ID="s1o1" value="Failed">
<Description>Replace R1</Description>
<DetectionIsolation>
<Faults>
<Fault faultID="c1f1"/>
</Faults>
</DetectionIsolation>
</Outcome>
<Outcome ID="s1o2" value="Passed">
<Description>No Fault</Description>
</Outcome>
</Outcomes>
….
www.vektrex.com - slide 6
Vektrex
www.vektrex.com - slide 6
6
TPS->ATML Mapping (TestGroup steps)
…
<Steps>
<Step ID="step1" testID="2000">
<Results>
<Result testOutcomeID="t2000o1">
<SequenceOutcome sequenceOutcomeID="s1o1"/>
</Result>
<Result testOutcomeID="t2000o2">
<SequenceOutcome sequenceOutcomeID="s1o2"/>
</Result>
</Results>
</Step>
…..
www.vektrex.com - slide 7
Vektrex
www.vektrex.com - slide 7
7
TPS->ATML Mapping (TPS behavior source)
. . .
. .
M
M
M
M
. .
|
C
Connect J3-12 to DMM thru SMUX8 CH5
|
002590
CLOSE, PATH USING 'MUX',
|
CNX COM-HI X200 CHANNEL-HI X047
|
002600
IF, 'LRU_REV' EQ C'-10', THEN
|
C
-10 Configuration
|
C
Ulim = 31518
|
002610
CALCULATE, 'ULIM' = 31518
. More Calculate statements . . .
|
002710
CALCULATE, 'REPEAT_TEST' = TRUE
|
C
#MEAS
|
002720
WHILE, 'REPEAT_TEST', THEN
|
C
Measure ID resistor
|
002730
MEASURE, (RES INTO 'MEASVAL'),
|
IMPEDANCE USING 'DMMRES',
|
TWO-WIRE,
|
CNX HI J3-12 LO J3-11
|
+ 002740
PERFORM, 'PRELIM_COMPARE', 'ULIM', 'LLIM'
|
+ 002750
PERFORM, 'EVAL', 2000, C'UL', 'NOMINAL', 'ULIM', 'LL
|
'MEASVAL', C'OHMS', C'J3-12', C'J3-11'
|
002760
END, WHILE
|
C
Remove DMM
|
002770
REMOVE, (RES),
|
IMPEDANCE USING 'DMMRES',
|
TWO-WIRE,
|
CNX HI J3-12 LO J3-11
|
C
Open J3-12 from DMM thru SMUX8 CH5
|
002780
OPEN, PATH USING 'MUX',
|
CNX
COM-HI X200 CHANNEL-HI X047
www.vektrex.com - slide 8
.
Vektrex
www.vektrex.com - slide 8
8
TPS->ATML Mapping (behavior ...)
<Behavior>
<Actions>
<Action xsi:type="ActionSetup">
<Sensor ID="t2000sens1" name="IMPEDANCE RES SENSOR">
<SignalMeasurement>
<DatumDescription xsi:type="StdSignalMeasurement">
<std:Signal>
<vek:IMPEDANCE name="IMPEDANCE"/>
<std:Measure name="MEASURE_IMPEDANCE" As="IMPEDANCE" attribute="RES"/>
</std:Signal>
</DatumDescription>
</SignalMeasurement>
</Sensor>
</Action>
<Action xsi:type="ActionConnect">
<Connection ID="t2000conn1"/>
<Signal>
<SignalRef signalID="t2000sens1"/>
<SignalConnection>
<c:Datum xsi:type="StdSignalConnection">
<std:Signal>
<std:TwoWire name="conn1" hi="J3-12" lo="J3-11"/>
</std:Signal>
</c:Datum>
</SignalConnection>
</Signal>
</Action>
www.vektrex.com - slide 9
...
Vektrex
www.vektrex.com - slide 9
9
STDSTF Lib Extension
<?xml version="1.0" encoding="UTF-8"?>
<!-- Schema for extension TSF Library -->
<xs:schema xmlns="STDBSC" xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="VektrexTSFLib" elementFormDefault="qualified" version="1.0">
<xs:import namespace="STDBSC" schemaLocation="STDBSC.xsd"/>
<xs:element name="IMPEDANCE" nillable="false">
<xs:annotation>
<xs:documentation>An electrical quantity determined by the voltage/cu
</xs:annotation>
<!-- corresponds to ATLAS noun "IMMPEDANCE" -->
<xs:complexType mixed="false">
<xs:complexContent mixed="false">
<xs:extension base="SignalFunctionType">
<xs:attribute name="CAP" type="Physical" use="o
<xs:annotation>
<xs:documentation>Capacitan
</xs:annotation>
</xs:attribute>
<xs:attribute name="IND" type="Physical" default=
<xs:annotation>
www.vektrex.com - slide 10
<xs:documentation>Inductanc
Vektrex
www.vektrex.com - slide 10
10
TPS->ATML Mapping (behavior cont.)
<Action xsi:type="ActionRead">
<Measurement ID="t2000meas1"/>
<SensorSignalRef sensorSignalID="t2000sens1"/>
</Action>
<Action xsi:type="ActionDisconnect">
<ConnectionRef connectionID="t2000conn1"/>
</Action>
<Action xsi:type="ActionReset">
<SignalRef signalID="t2000sens1"/>
</Action>
<Action xsi:type="ActionCompare">
<MeasurementRef measurementID="t2000meas1"/>
<CompareLimits>
<Limit>
<c:SingleLimit comparator="LE">
<c:Datum xsi:type="c:double" value="31518"/>
</c:SingleLimit>
</Limit>
</CompareLimits>
<Results>
<Result comparisonResult="InTolerance" testOutcomeID="t2000o1"/>
<Result comparisonResult="FailHigh" testOutcomeID="t2000o2"/>
</Results>
</Action>
</Actions>
</Behavior>
...
www.vektrex.com - slide 11
Vektrex
www.vektrex.com - slide 11
11
TestDescription Validation
• High level TPS information generally mapped well to ATML
TestDescription
• STDTSFlib extension mechanism used with IMPEDANCE
signal
• ActionOther element recommended to hold descriptions of
other actions (e.g Calculation statements)
• ActionRepeat element recommended
• Minor issues discovered:
– ActionConnect/toUutPin is 1..unbounded should be 1..1
– ActionRead/MeasuredAttributeName is 1..unbounded should
be 1..1
www.vektrex.com - slide 12
Vektrex
www.vektrex.com - slide 12
12
Summary
• Test Extraction from TPS possible with TPS
family specific Analyzer
• Demonstrated ATML TestDescription usage case
of representing high level test information
• Next step to validate TestDescription as
interchange format to generate an ATLAS TPS
www.vektrex.com - slide 13
Vektrex
www.vektrex.com - slide 13
13