146 lines
6.3 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
}
|