using com.itac.mes.commonsmt.data; using com.itac.mes.tools; using System; using System.Windows.Forms; namespace com.itac.mes.commonsmt { public partial class Form1 : Form { MesServices service; ItacXmlSerializer serializer = new ItacXmlSerializer(); public Form1() { InitializeComponent(); requestOperation.SelectedIndex = 0; createOperation.SelectedIndex = 1; } private void pluginLogDelegate(Object sender, MyEventArgs e) { // aus der Dll delegierte Log-Nachricht Console.WriteLine("" + e.traceEventType + ": " + e.message); } private void connectBtn_Click(object sender, EventArgs e) { if (service == null) { service = new MesServices(tbHost.Text, Int32.Parse(tbPort.Text), -1); service.OnLog += new MyEventHandler(pluginLogDelegate); } tbHost.Enabled = false; tbPort.Enabled = false; MesStartRequest startRequest = new MesStartRequest(); MesResponse response = service.mesStart(startRequest); tfRequest.Lines = serializer.serialize(startRequest).ToString().Split('\n'); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private void configBtn_Click(object sender, EventArgs e) { MesRequest getconfigRequest = new MesRequest(); tfRequest.Lines = serializer.serialize(getconfigRequest).ToString().Split('\n'); MesResponse response = service.mesGetConfiguration(getconfigRequest); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private void createContainer_Click(object sender, EventArgs e) { CreateContainerRequest request = new CreateContainerRequest(); request.setOperation(createOperation.SelectedIndex); Container container = new Container(); container.setContainerId(tfCreateContainer.Text); container.setComponentId(tfComponent.Text); container.setInitialQuantity(Int16.Parse(tfQuantity.Text)); container.setActualQuantity(Int16.Parse(tfActualQty.Text)); container.setExpirationDate(new DateTime(3000,12,31,23,59,59,DateTimeKind.Utc)); request.setContainers(new Container[] { container }); tfRequest.Lines = serializer.serialize(request).ToString().Split('\n'); CreateContainerResponse response = service.mesCreateContainer(request); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private void checkContainer_Click(object sender, EventArgs e) { CheckContainerRequest request = new CheckContainerRequest(); request.setOperation(requestOperation.SelectedIndex); Container cto1 = new Container(); cto1.setContainerId(tbCheckContId.Text); cto1.setComponentId(tbCheckCompId.Text); cto1.setActualQuantity(Int16.Parse(tbCheckActualQty.Text)); cto1.setInitialQuantity(Int16.Parse(tbCheckInitQty.Text)); request.setContainers(new Container[] { cto1 }); tfRequest.Lines = serializer.serialize(request).ToString().Split('\n'); CheckContainerResponse response = service.mesCheckContainer(request); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private void interlocking_Click(object sender, EventArgs e) { InterlockingRequest mesInterlocking = new InterlockingRequest(); mesInterlocking.setMachine(getMachine()); string[] snInfo = tfSerialNumber.Text.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); mesInterlocking.setSerialnumbers(snInfo); mesInterlocking.setPlacementRecipeName(tfPlacementRecipeInterlock.Text); tfRequest.Lines = serializer.serialize(mesInterlocking).ToString().Split('\n'); InterlockingResponse response = service.mesInterlocking(mesInterlocking); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private Machine getMachine() { Machine machine = new Machine(); machine.setLastMachineInLine(false); machine.setLineName(tfLine.Text); machine.setMachineName(tfMachine.Text); machine.setLane("0"); return machine; } private void placementRecipeCheck_Click(object sender, EventArgs e) { PlacementRecipeCheckRequest request = new PlacementRecipeCheckRequest(); request.setMachine(getMachine()); request.setPlacementRecipeName("SXCPP_TESTA#Top"); request.setSetupName("setup"); Placement placement1 = new Placement(); placement1.setComponentId("0402R"); placement1.setDesignator("R10"); placement1.setPanelName("panel/1"); request.setPlacements(new Placement[] { placement1 }); tfRequest.Lines = serializer.serialize(request).ToString().Split('\n'); PlacementRecipeCheckResponse response = service.mesCheckPlacementRecipe(request); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private void panelInfo_Click(object sender, EventArgs e) { PanelInfoRequest mesPanelInfo = new PanelInfoRequest(); mesPanelInfo.setMachine(getMachine()); mesPanelInfo.setSerialnumber(tfPanelInfoSnr.Text); tfRequest.Lines = serializer.serialize(mesPanelInfo).ToString().Split('\n'); PanelInfoResponse response = service.mesPanelInformation(mesPanelInfo); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); } private void button5_Click(object sender, EventArgs e) { MesRequest stopRequest = new MesRequest(); MesResponse response = service.mesStop(stopRequest); tfRequest.Lines = serializer.serialize(stopRequest).ToString().Split('\n'); tfResponse.Lines = serializer.serialize(response).ToString().Split('\n'); tbHost.Enabled = true; tbPort.Enabled = true; } } }