Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ragnar Engnes, Virinco Martin Lentz, Virinco. Client overview (Ragnar).NET Converter in C# (Ragnar) LabVIEW Toolkit (Martin)

Similar presentations


Presentation on theme: "Ragnar Engnes, Virinco Martin Lentz, Virinco. Client overview (Ragnar).NET Converter in C# (Ragnar) LabVIEW Toolkit (Martin)"— Presentation transcript:

1 Ragnar Engnes, Virinco Martin Lentz, Virinco

2 Client overview (Ragnar).NET Converter in C# (Ragnar) LabVIEW Toolkit (Martin)

3 Client overview WATS User Interface WATS TDM Interface WATS MES Interface WATS Client Service (Transfer Agent) Converters.xml Converters Teststand Standard Text Format Custom Drop Folders WATS Server

4 TDM Interface Build UUT reports – Sequences – Measures (Numeric, String, PassFail...) – Charts – Attachments Submit Query

5 TDM api Class model

6 .NET Converter In Visual Studio, create new Class Library (assembly/.dll) Reference the TDM api dll (Program Files\Virinco\WATS\Designsupport) Write the converter class that implements IReportConverter: – class MyConverter : IReportConverter – public Report ImportReport(TDM api, System.IO.Stream file) – Complete example on: https://virinco.zendesk.com/entries/23872588-Create-custom-WATS-Client-converter Primary input is a file in any format – Delimited Text, XML, Binary – Can also fetch data from database, web-services etc. (.NET is the limit) Planned improvements: GUI for configuration, examples database

7 MES Interface Production (active units, batches) Product (product / revision information) Workflow (validate, checking, start test) Software (Download software)

8 internal void SubmitToWATS() { try { if (_tdm.Status != Virinco.WATS.Interface.APIStatusType.Online) _tdm.InitializeAPI(true); if (unitinfo == null) { messageEvent("No person registered, scan barcode", MessageTypes.Error); return; } WorkflowResponse resp = _mesWorkflow.Validate(unitinfo.SerialNumber, unitinfo.PartNumber, ActivityMethod.StartTest, "Height Measure",null,wfUseStatus); if (!resp.ok || resp.InstanceStatus != WorkflowInstanceStatus.ActiveWorkflowExist) { messageEvent(String.Format("Workflow not ok: {0}\r\n{1}", resp.ErrorMessage, resp.Description),MessageTypes.Error); return ; } if (HeadPosition == 0) { messageEvent(String.Format("No measure obtained, try again"), MessageTypes.Error); return; } resp = _mesWorkflow.StartTest(unitinfo.SerialNumber, unitinfo.PartNumber, "Height Measure", null, false, false, wfUseStatus); messageEvent("Starting test: " + resp.Description, MessageTypes.Info); UUTReport uut = _tdm.CreateUUTReport("oper", unitinfo.PartNumber, unitinfo.Revision, unitinfo.SerialNumber, "80", "WATSUp2014", "1.1.1.1"); uut.AddMiscUUTInfo("Name", PersonName); uut.GetRootSequenceCall().AddNumericLimitStep("Height").AddTest(HeadPosition, Virinco.WATS.Interface.CompOperatorType.GELE, 150, 220, "cm"); _image.WritePngFile(@"c:\Tmp\Person.png"); using (FileStream fs = new FileStream(@"c:\Tmp\Person.png", FileMode.Open, FileAccess.Read)) { BinaryReader r = new BinaryReader(fs); byte[] buff = r.ReadBytes((int)fs.Length); uut.GetRootSequenceCall().AddGenericStep(GenericStepTypes.Action, "Picture").AttachByteArray("Image", buff, "image/png"); } _tdm.Submit(SubmitMethod.Automatic, uut); resp = _mesWorkflow.EndTest(unitinfo.SerialNumber, unitinfo.PartNumber, "Height Measure", ActivityTestResult.Passed, false, null,false,false,wfUseStatus); messageEvent("End test - height sent to WATS: " + resp.Description, MessageTypes.Info);

9 LabVIEW Toolkit

10 Download and install WATS Client WATS Plug into TestStand or LabVIEW in minutes


Download ppt "Ragnar Engnes, Virinco Martin Lentz, Virinco. Client overview (Ragnar).NET Converter in C# (Ragnar) LabVIEW Toolkit (Martin)"

Similar presentations


Ads by Google