Files
2025-06-06 09:15:13 +02:00

146 lines
6.3 KiB
C#

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;
}
}
}