Common ResourceID and IsViewerFile
Enable process-data-standard-format for HgCV and Tencor
This commit is contained in:
parent
dcb61e220c
commit
bf82640ed2
@ -398,10 +398,10 @@ Service ImportMetrologyFiles(Machine)
|
|||||||
|
|
||||||
Begin Case
|
Begin Case
|
||||||
Case Machine _EQC 'Tencor'
|
Case Machine _EQC 'Tencor'
|
||||||
SearchPattern = '*.txt';
|
SearchPattern = '*.pdsf';
|
||||||
DataPath = Environment_Services('GetApplicationRootPath') : '\Metrology\MET08DDUPSFS6420\Source\MET08DDUPSFS6420\'
|
DataPath = Environment_Services('GetApplicationRootPath') : '\Metrology\MET08DDUPSFS6420\Source\MET08DDUPSFS6420\'
|
||||||
Case Machine _EQC 'HgCV'
|
Case Machine _EQC 'HgCV'
|
||||||
SearchPattern = '*.txt';
|
SearchPattern = '*.pdsf';
|
||||||
DataPath = Environment_Services('GetApplicationRootPath') : '\Metrology\MET08RESIHGCV\Source\MET08RESIHGCV\'
|
DataPath = Environment_Services('GetApplicationRootPath') : '\Metrology\MET08RESIHGCV\Source\MET08RESIHGCV\'
|
||||||
Case Machine _EQC 'CDE'
|
Case Machine _EQC 'CDE'
|
||||||
SearchPattern = '*.pdsf';
|
SearchPattern = '*.pdsf';
|
||||||
@ -647,21 +647,42 @@ Service ImportMetrologyRunData(Machine, DataPath, FileName, RunData)
|
|||||||
|
|
||||||
// Scan the run data for machine specific information. Then call the relevant update service for the specific
|
// Scan the run data for machine specific information. Then call the relevant update service for the specific
|
||||||
// machine.
|
// machine.
|
||||||
|
ResourceID = Field(FileName, ' ', 1, 1)
|
||||||
|
IsViewerFile = Index(FileName, 'Viewer', 1)
|
||||||
Begin Case
|
Begin Case
|
||||||
Case Machine _EQC 'Stratus'
|
Case Machine _EQC 'Stratus'
|
||||||
Metrology_Services('ImportStratusData', RunData)
|
PSN = RunData<9>
|
||||||
|
Metrology_Services('ImportStratusData', RunData, ResourceID, PSN)
|
||||||
MachineType@ = 'Stratus'
|
MachineType@ = 'Stratus'
|
||||||
|
|
||||||
Case Machine _EQC 'Biorad'
|
Case Machine _EQC 'Biorad'
|
||||||
Metrology_Services('ImportBioRadData', RunData, FileName)
|
PSN = RunData<7>
|
||||||
|
QualFile = ( (PSN EQ 'T-Low') or (PSN EQ 'T-Mid') or (PSN EQ 'T-High') or (PSN EQ 'T_LOW') or (PSN EQ 'T_MID') or (PSN EQ 'T_HIGH') )
|
||||||
|
IF QualFile THEN
|
||||||
|
Metrology_Services('ImportBioRadQualData', RunData, ResourceID, PSN)
|
||||||
|
END ELSE
|
||||||
|
Metrology_Services('ImportBioRadData', RunData, ResourceID, IsViewerFile, PSN, FileName)
|
||||||
|
END
|
||||||
MachineType@ = 'Bio-Rad'
|
MachineType@ = 'Bio-Rad'
|
||||||
|
|
||||||
Case Machine _EQC 'CDE'
|
Case Machine _EQC 'CDE'
|
||||||
Metrology_Services('ImportCDEData', RunData, FileName)
|
PSN = RunData<8>
|
||||||
|
QualFile = ( (PSN EQ 'RLOW_STD') or (PSN EQ 'RMID_STD') or (PSN EQ 'RHI_STD') or (PSN EQ 'THINSPC') )
|
||||||
|
IF QualFile THEN
|
||||||
|
Metrology_Services('ImportCDEQualData', RunData, ResourceID, PSN)
|
||||||
|
END ELSE
|
||||||
|
Metrology_Services('ImportCDEData', RunData, ResourceID, IsViewerFile, PSN)
|
||||||
|
END
|
||||||
MachineType@ = 'CDE'
|
MachineType@ = 'CDE'
|
||||||
|
|
||||||
Case Machine _EQC 'HgCV'
|
Case Machine _EQC 'HgCV'
|
||||||
Metrology_Services('ImportHgCVData', RunData, FileName)
|
PSN = RunData<5>
|
||||||
|
QualFile = ( (PSN EQ 'Low') or (PSN EQ 'Mid') or (PSN EQ 'High') or (PSN EQ 'Thin') )
|
||||||
|
IF QualFile THEN
|
||||||
|
Metrology_Services('ImportHgCVQualData', RunData, ResourceID, PSN)
|
||||||
|
END ELSE
|
||||||
|
Metrology_Services('ImportHgCVData', RunData, ResourceID, IsViewerFile, PSN)
|
||||||
|
END
|
||||||
MachineType@ = 'HgProbe'
|
MachineType@ = 'HgProbe'
|
||||||
|
|
||||||
Case Machine _EQC 'SP1'
|
Case Machine _EQC 'SP1'
|
||||||
@ -692,7 +713,7 @@ Service ImportMetrologyRunData(Machine, DataPath, FileName, RunData)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service ImportStratusData(RunData)
|
Service ImportStratusData(RunData, ResourceID, PSN)
|
||||||
|
|
||||||
Machine = 'Stratus'
|
Machine = 'Stratus'
|
||||||
ParseArray = ''
|
ParseArray = ''
|
||||||
@ -707,7 +728,6 @@ Service ImportStratusData(RunData)
|
|||||||
Recipe = RunData<6>
|
Recipe = RunData<6>
|
||||||
Reactor = RunData<7>
|
Reactor = RunData<7>
|
||||||
RDSNo = RunData<8> ; // If Non-EpiPro this will be an RDS Key, otherwise it will be a work order key.
|
RDSNo = RunData<8> ; // If Non-EpiPro this will be an RDS Key, otherwise it will be a work order key.
|
||||||
PSN = RunData<9>
|
|
||||||
BatchID = RunData<10>
|
BatchID = RunData<10>
|
||||||
Cassette = RunData<11>
|
Cassette = RunData<11>
|
||||||
ThickAvg = RunData<12>
|
ThickAvg = RunData<12>
|
||||||
@ -866,18 +886,9 @@ Service ImportStratusData(RunData)
|
|||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service ImportBioRadData(RunData, FileName)
|
Service ImportBioRadQualData(RunData, ResourceID, PSN)
|
||||||
|
|
||||||
Machine = 'BioRad'
|
Machine = 'BioRad'
|
||||||
IsProdTest = False$
|
|
||||||
ParseArray = ''
|
|
||||||
FieldPos = 13
|
|
||||||
FieldPosIncrement = 2
|
|
||||||
Offset = 1
|
|
||||||
Decimals = 2
|
|
||||||
PSN = RunData<7>
|
|
||||||
QualFile = ( (PSN EQ 'T-Low') or (PSN EQ 'T-Mid') or (PSN EQ 'T-High') or (PSN EQ 'T_LOW') or (PSN EQ 'T_MID') or (PSN EQ 'T_HIGH') )
|
|
||||||
If QualFile then
|
|
||||||
ResourceID = Field(FileName, ' ', 1, 1)
|
|
||||||
URL = "https://oi-metrology-viewer-prod.mes.infineon.com/api/InfinityQSV3/":ResourceID:"/header"
|
URL = "https://oi-metrology-viewer-prod.mes.infineon.com/api/InfinityQSV3/":ResourceID:"/header"
|
||||||
TimeoutDuration = HTTPClient_Services('GetTimeoutDuration')
|
TimeoutDuration = HTTPClient_Services('GetTimeoutDuration')
|
||||||
If TimeoutDuration NE 30 then Httpclient_Services('SetTimeoutDuration', 30)
|
If TimeoutDuration NE 30 then Httpclient_Services('SetTimeoutDuration', 30)
|
||||||
@ -908,9 +919,20 @@ Service ImportBioRadData(RunData, FileName)
|
|||||||
end else
|
end else
|
||||||
Metrology_Services('LogResults', PSN, Machine, 'UID002', Service : ' : ' : 'Null response from IQS API.')
|
Metrology_Services('LogResults', PSN, Machine, 'UID002', Service : ' : ' : 'Null response from IQS API.')
|
||||||
end
|
end
|
||||||
end else
|
|
||||||
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
Service ImportBioRadData(RunData, ResourceID, IsViewerFile, PSN, FileName)
|
||||||
|
|
||||||
|
Machine = 'BioRad'
|
||||||
|
IsProdTest = False$
|
||||||
|
ParseArray = ''
|
||||||
|
FieldPos = 13
|
||||||
|
FieldPosIncrement = 2
|
||||||
|
Offset = 1
|
||||||
|
Decimals = 2
|
||||||
// RDS Biorad metrology file
|
// RDS Biorad metrology file
|
||||||
IsViewerFile = Index(FileName, 'Viewer', 1)
|
|
||||||
Timestamp = RunData<2>
|
Timestamp = RunData<2>
|
||||||
RDSKeyID = RunData<6>
|
RDSKeyID = RunData<6>
|
||||||
RunDataLayer = RunData<8>
|
RunDataLayer = RunData<8>
|
||||||
@ -1226,28 +1248,13 @@ Service ImportBioRadData(RunData, FileName)
|
|||||||
Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage'))
|
Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service ImportCDEData(RunData, FileName)
|
Service ImportCDEQualData(RunData, ResourceID, PSN)
|
||||||
|
|
||||||
Machine = 'CDE'
|
Machine = 'CDE'
|
||||||
ParseArray = ''
|
|
||||||
FieldPos = 23
|
|
||||||
FieldPosIncrement = 5
|
|
||||||
Offset = 3
|
|
||||||
Decimals = 3
|
|
||||||
Timestamp = RunData<3>
|
|
||||||
RDSKeyID = RunData<7>
|
|
||||||
RunDataLayer = RunData<9>
|
|
||||||
RunDataZone = RunData<10>
|
|
||||||
ReactorID = RunData<6>
|
|
||||||
ScanRecipe = RunData<5>
|
|
||||||
PSN = RunData<8>
|
|
||||||
QualFile = ( (PSN EQ 'RLOW_STD') or (PSN EQ 'RMID_STD') or (PSN EQ 'RHI_STD') or (PSN EQ 'THINSPC') )
|
|
||||||
If QualFile then
|
|
||||||
ResourceID = Field(FileName, ' ', 1, 1)
|
ResourceID = Field(FileName, ' ', 1, 1)
|
||||||
URL = "https://oi-metrology-viewer-prod.mes.infineon.com/api/InfinityQSV3/":ResourceID:"/header"
|
URL = "https://oi-metrology-viewer-prod.mes.infineon.com/api/InfinityQSV3/":ResourceID:"/header"
|
||||||
TimeoutDuration = HTTPClient_Services('GetTimeoutDuration')
|
TimeoutDuration = HTTPClient_Services('GetTimeoutDuration')
|
||||||
@ -1276,9 +1283,24 @@ Service ImportCDEData(RunData, FileName)
|
|||||||
Metrology_Services('LogResults', PSN, Machine, 'UID002', Service : ' : ' : 'Null response from IQS API.')
|
Metrology_Services('LogResults', PSN, Machine, 'UID002', Service : ' : ' : 'Null response from IQS API.')
|
||||||
end
|
end
|
||||||
|
|
||||||
end else
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
Service ImportCDEData(RunData, ResourceID, IsViewerFile, PSN)
|
||||||
|
|
||||||
|
Machine = 'CDE'
|
||||||
|
ParseArray = ''
|
||||||
|
FieldPos = 23
|
||||||
|
FieldPosIncrement = 5
|
||||||
|
Offset = 3
|
||||||
|
Decimals = 3
|
||||||
|
Timestamp = RunData<3>
|
||||||
|
RDSKeyID = RunData<7>
|
||||||
|
RunDataLayer = RunData<9>
|
||||||
|
RunDataZone = RunData<10>
|
||||||
|
ReactorID = RunData<6>
|
||||||
|
ScanRecipe = RunData<5>
|
||||||
// Regular metrology file
|
// Regular metrology file
|
||||||
IsViewerFile = Index(FileName, 'Viewer', 1)
|
|
||||||
ToolClassID = '4PP'
|
ToolClassID = '4PP'
|
||||||
PatternNameIndex = RDS_TEST_SPEC_RES_MPATTERN$
|
PatternNameIndex = RDS_TEST_SPEC_RES_MPATTERN$
|
||||||
ToolClassIndex = RDS_TEST_SPEC_RES_MTOOL$
|
ToolClassIndex = RDS_TEST_SPEC_RES_MTOOL$
|
||||||
@ -1473,27 +1495,13 @@ Service ImportCDEData(RunData, FileName)
|
|||||||
end else
|
end else
|
||||||
Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage'))
|
Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage'))
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
|
||||||
Service ImportHgCVData(RunData, FileName)
|
Service ImportHgCVQualData(RunData, ResourceID, PSN)
|
||||||
|
|
||||||
Machine = 'HgCV' /* Resistivity */
|
Machine = 'HgCV' /* Resistivity */
|
||||||
FieldPos = 53
|
|
||||||
FieldPosIncrement = 9
|
|
||||||
Offset = 5
|
|
||||||
PhaseOffset = 7
|
|
||||||
Decimals = 3
|
|
||||||
Timestamp = RunData<11>
|
|
||||||
RDSKeyID = RunData<4>
|
|
||||||
LayerZonePair = RunData<8>
|
|
||||||
ReactorID = RunData<3>
|
|
||||||
PSN = RunData<5>
|
|
||||||
QualFile = ( (PSN EQ 'Low') or (PSN EQ 'Mid') or (PSN EQ 'High') or (PSN EQ 'Thin') )
|
|
||||||
If QualFile then
|
|
||||||
ResourceID = Field(FileName, ' ', 1, 1)
|
|
||||||
URL = "https://oi-metrology-viewer-prod.mes.infineon.com/api/InfinityQSV3/":ResourceID:"/header"
|
URL = "https://oi-metrology-viewer-prod.mes.infineon.com/api/InfinityQSV3/":ResourceID:"/header"
|
||||||
TimeoutDuration = HTTPClient_Services('GetTimeoutDuration')
|
TimeoutDuration = HTTPClient_Services('GetTimeoutDuration')
|
||||||
If TimeoutDuration NE 30 then Httpclient_Services('SetTimeoutDuration', 30)
|
If TimeoutDuration NE 30 then Httpclient_Services('SetTimeoutDuration', 30)
|
||||||
@ -1520,9 +1528,23 @@ Service ImportHgCVData(RunData, FileName)
|
|||||||
end else
|
end else
|
||||||
Metrology_Services('LogResults', PSN, Machine, 'UID002', Service : ' : ' : 'Null response from IQS API.')
|
Metrology_Services('LogResults', PSN, Machine, 'UID002', Service : ' : ' : 'Null response from IQS API.')
|
||||||
end
|
end
|
||||||
end else
|
|
||||||
|
end service
|
||||||
|
|
||||||
|
|
||||||
|
Service ImportHgCVData(RunData, ResourceID, IsViewerFile, PSN)
|
||||||
|
|
||||||
|
Machine = 'HgCV' /* Resistivity */
|
||||||
|
FieldPos = 53
|
||||||
|
FieldPosIncrement = 9
|
||||||
|
Offset = 5
|
||||||
|
PhaseOffset = 7
|
||||||
|
Decimals = 3
|
||||||
|
Timestamp = RunData<11>
|
||||||
|
RDSKeyID = RunData<4>
|
||||||
|
LayerZonePair = RunData<8>
|
||||||
|
ReactorID = RunData<3>
|
||||||
// Regular metrology file
|
// Regular metrology file
|
||||||
IsViewerFile = Index(FileName, 'Viewer', 1)
|
|
||||||
ToolClassID = 'HGCV'
|
ToolClassID = 'HGCV'
|
||||||
PatternNameIndex = RDS_TEST_SPEC_RES_MPATTERN$
|
PatternNameIndex = RDS_TEST_SPEC_RES_MPATTERN$
|
||||||
ToolClassIndex = RDS_TEST_SPEC_RES_MTOOL$
|
ToolClassIndex = RDS_TEST_SPEC_RES_MTOOL$
|
||||||
@ -1816,7 +1838,6 @@ Service ImportHgCVData(RunData, FileName)
|
|||||||
end else
|
end else
|
||||||
Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage'))
|
Metrology_Services('LogResults', RDSKeyID, Machine, 'UID001', Service : ' : ' : Error_Services('GetMessage'))
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
end service
|
end service
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user