initialize

This commit is contained in:
Pruefer
2025-06-06 09:15:13 +02:00
commit fa7c2730f1
5817 changed files with 1339670 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>imsinterfaces-commonsmt</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>imsinterfaces-commonsmt-dotnetplugin</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@@ -0,0 +1,26 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin", "Plugin\Plugin.csproj", "{C3D8FC7C-22B2-46F9-842F-19165F078217}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DemoApplication", "DemoApplication\DemoApplication.csproj", "{EE34316D-2001-49FF-8DC1-7737D4394E80}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C3D8FC7C-22B2-46F9-842F-19165F078217}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3D8FC7C-22B2-46F9-842F-19165F078217}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3D8FC7C-22B2-46F9-842F-19165F078217}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3D8FC7C-22B2-46F9-842F-19165F078217}.Release|Any CPU.Build.0 = Release|Any CPU
{EE34316D-2001-49FF-8DC1-7737D4394E80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EE34316D-2001-49FF-8DC1-7737D4394E80}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE34316D-2001-49FF-8DC1-7737D4394E80}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE34316D-2001-49FF-8DC1-7737D4394E80}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EE34316D-2001-49FF-8DC1-7737D4394E80}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>com.itac.mes.commonsmt</RootNamespace>
<AssemblyName>DemoApplication</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CommonSmtApi">
<HintPath>..\Plugin\lib\CommonSmtApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Plugin\Plugin.csproj">
<Project>{c3d8fc7c-22b2-46f9-842f-19165f078217}</Project>
<Name>Plugin</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,720 @@
namespace com.itac.mes.commonsmt
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.connectBtn = new System.Windows.Forms.Button();
this.configBtn = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.mesGetconfig = new System.Windows.Forms.TabPage();
this.mesCreateContainer = new System.Windows.Forms.TabPage();
this.tfActualQty = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.tfQuantity = new System.Windows.Forms.TextBox();
this.tfComponent = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.createOperation = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.tfCreateContainer = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.mesCheckContainer = new System.Windows.Forms.TabPage();
this.tbCheckInitQty = new System.Windows.Forms.TextBox();
this.tbCheckActualQty = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.tbCheckCompId = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.tbCheckContId = new System.Windows.Forms.TextBox();
this.send = new System.Windows.Forms.Button();
this.mesPlacementProgram = new System.Windows.Forms.TabPage();
this.button3 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
this.mesInterlocking = new System.Windows.Forms.TabPage();
this.tfPlacementRecipeInterlock = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.tfSerialNumber = new System.Windows.Forms.TextBox();
this.mesPanelInfo = new System.Windows.Forms.TabPage();
this.button4 = new System.Windows.Forms.Button();
this.label9 = new System.Windows.Forms.Label();
this.tfPanelInfoSnr = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.tfMachine = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tfLine = new System.Windows.Forms.TextBox();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tpRequest = new System.Windows.Forms.TabPage();
this.tfRequest = new System.Windows.Forms.TextBox();
this.tpResponse = new System.Windows.Forms.TabPage();
this.tfResponse = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tbHost = new System.Windows.Forms.TextBox();
this.tbPort = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.requestOperation = new System.Windows.Forms.ComboBox();
this.tabControl1.SuspendLayout();
this.mesGetconfig.SuspendLayout();
this.mesCreateContainer.SuspendLayout();
this.mesCheckContainer.SuspendLayout();
this.mesPlacementProgram.SuspendLayout();
this.mesInterlocking.SuspendLayout();
this.mesPanelInfo.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tpRequest.SuspendLayout();
this.tpResponse.SuspendLayout();
this.SuspendLayout();
//
// connectBtn
//
this.connectBtn.Location = new System.Drawing.Point(323, 20);
this.connectBtn.Name = "connectBtn";
this.connectBtn.Size = new System.Drawing.Size(112, 37);
this.connectBtn.TabIndex = 0;
this.connectBtn.Text = "mesStart";
this.connectBtn.UseVisualStyleBackColor = true;
this.connectBtn.Click += new System.EventHandler(this.connectBtn_Click);
//
// configBtn
//
this.configBtn.Location = new System.Drawing.Point(21, 20);
this.configBtn.Name = "configBtn";
this.configBtn.Size = new System.Drawing.Size(179, 37);
this.configBtn.TabIndex = 3;
this.configBtn.Text = "getConfiguration";
this.configBtn.UseVisualStyleBackColor = true;
this.configBtn.Click += new System.EventHandler(this.configBtn_Click);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.mesGetconfig);
this.tabControl1.Controls.Add(this.mesCreateContainer);
this.tabControl1.Controls.Add(this.mesCheckContainer);
this.tabControl1.Controls.Add(this.mesPlacementProgram);
this.tabControl1.Controls.Add(this.mesInterlocking);
this.tabControl1.Controls.Add(this.mesPanelInfo);
this.tabControl1.Location = new System.Drawing.Point(31, 176);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(892, 208);
this.tabControl1.TabIndex = 4;
//
// mesGetconfig
//
this.mesGetconfig.Controls.Add(this.configBtn);
this.mesGetconfig.Location = new System.Drawing.Point(4, 25);
this.mesGetconfig.Name = "mesGetconfig";
this.mesGetconfig.Size = new System.Drawing.Size(884, 179);
this.mesGetconfig.TabIndex = 5;
this.mesGetconfig.Text = "mesGetConfiguration";
this.mesGetconfig.UseVisualStyleBackColor = true;
//
// mesCreateContainer
//
this.mesCreateContainer.Controls.Add(this.tfActualQty);
this.mesCreateContainer.Controls.Add(this.label16);
this.mesCreateContainer.Controls.Add(this.tfQuantity);
this.mesCreateContainer.Controls.Add(this.tfComponent);
this.mesCreateContainer.Controls.Add(this.label4);
this.mesCreateContainer.Controls.Add(this.label3);
this.mesCreateContainer.Controls.Add(this.createOperation);
this.mesCreateContainer.Controls.Add(this.button1);
this.mesCreateContainer.Controls.Add(this.tfCreateContainer);
this.mesCreateContainer.Controls.Add(this.label2);
this.mesCreateContainer.Location = new System.Drawing.Point(4, 25);
this.mesCreateContainer.Name = "mesCreateContainer";
this.mesCreateContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCreateContainer.Size = new System.Drawing.Size(884, 179);
this.mesCreateContainer.TabIndex = 0;
this.mesCreateContainer.Text = "mesCreateContainer";
this.mesCreateContainer.UseVisualStyleBackColor = true;
//
// tfActualQty
//
this.tfActualQty.Location = new System.Drawing.Point(136, 160);
this.tfActualQty.Name = "tfActualQty";
this.tfActualQty.Size = new System.Drawing.Size(162, 22);
this.tfActualQty.TabIndex = 10;
this.tfActualQty.Text = "1500";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(31, 156);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(100, 17);
this.label16.TabIndex = 9;
this.label16.Text = "actual quantity";
//
// tfQuantity
//
this.tfQuantity.Location = new System.Drawing.Point(136, 127);
this.tfQuantity.Name = "tfQuantity";
this.tfQuantity.Size = new System.Drawing.Size(162, 22);
this.tfQuantity.TabIndex = 8;
this.tfQuantity.Text = "2000";
//
// tfComponent
//
this.tfComponent.Location = new System.Drawing.Point(137, 89);
this.tfComponent.Name = "tfComponent";
this.tfComponent.Size = new System.Drawing.Size(162, 22);
this.tfComponent.TabIndex = 7;
this.tfComponent.Text = "0402R";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(28, 121);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(94, 17);
this.label4.TabIndex = 6;
this.label4.Text = "initial quantity";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(28, 89);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(58, 17);
this.label3.TabIndex = 5;
this.label3.Text = "material";
//
// createOperation
//
this.createOperation.FormattingEnabled = true;
this.createOperation.Items.AddRange(new object[] {
"REQUEST_MATERIAL",
"CREATE_MATERIAL"});
this.createOperation.Location = new System.Drawing.Point(21, 18);
this.createOperation.Name = "createOperation";
this.createOperation.Size = new System.Drawing.Size(279, 24);
this.createOperation.TabIndex = 4;
//
// button1
//
this.button1.Location = new System.Drawing.Point(327, 18);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 28);
this.button1.TabIndex = 2;
this.button1.Text = "send";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.createContainer_Click);
//
// tfCreateContainer
//
this.tfCreateContainer.Location = new System.Drawing.Point(135, 57);
this.tfCreateContainer.Name = "tfCreateContainer";
this.tfCreateContainer.Size = new System.Drawing.Size(165, 22);
this.tfCreateContainer.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 57);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(87, 17);
this.label2.TabIndex = 0;
this.label2.Text = "ContainerNo";
//
// mesCheckContainer
//
this.mesCheckContainer.Controls.Add(this.requestOperation);
this.mesCheckContainer.Controls.Add(this.label17);
this.mesCheckContainer.Controls.Add(this.tbCheckInitQty);
this.mesCheckContainer.Controls.Add(this.tbCheckActualQty);
this.mesCheckContainer.Controls.Add(this.label13);
this.mesCheckContainer.Controls.Add(this.label12);
this.mesCheckContainer.Controls.Add(this.tbCheckCompId);
this.mesCheckContainer.Controls.Add(this.label11);
this.mesCheckContainer.Controls.Add(this.label10);
this.mesCheckContainer.Controls.Add(this.tbCheckContId);
this.mesCheckContainer.Controls.Add(this.send);
this.mesCheckContainer.Location = new System.Drawing.Point(4, 25);
this.mesCheckContainer.Name = "mesCheckContainer";
this.mesCheckContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCheckContainer.Size = new System.Drawing.Size(884, 179);
this.mesCheckContainer.TabIndex = 1;
this.mesCheckContainer.Text = "mesCheckContainer";
this.mesCheckContainer.UseVisualStyleBackColor = true;
//
// tbCheckInitQty
//
this.tbCheckInitQty.Location = new System.Drawing.Point(137, 164);
this.tbCheckInitQty.Name = "tbCheckInitQty";
this.tbCheckInitQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckInitQty.TabIndex = 13;
this.tbCheckInitQty.Text = "500";
//
// tbCheckActualQty
//
this.tbCheckActualQty.Location = new System.Drawing.Point(137, 129);
this.tbCheckActualQty.Name = "tbCheckActualQty";
this.tbCheckActualQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckActualQty.TabIndex = 12;
this.tbCheckActualQty.Text = "500";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(9, 167);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(66, 17);
this.label13.TabIndex = 11;
this.label13.Text = "initial Qty";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(9, 132);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(72, 17);
this.label12.TabIndex = 10;
this.label12.Text = "actual Qty";
//
// tbCheckCompId
//
this.tbCheckCompId.Location = new System.Drawing.Point(137, 95);
this.tbCheckCompId.Name = "tbCheckCompId";
this.tbCheckCompId.Size = new System.Drawing.Size(165, 22);
this.tbCheckCompId.TabIndex = 9;
this.tbCheckCompId.Text = "Part01";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(9, 98);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(89, 17);
this.label11.TabIndex = 8;
this.label11.Text = "componentId";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(9, 63);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(78, 17);
this.label10.TabIndex = 7;
this.label10.Text = "containerId";
//
// tbCheckContId
//
this.tbCheckContId.Location = new System.Drawing.Point(137, 60);
this.tbCheckContId.Name = "tbCheckContId";
this.tbCheckContId.Size = new System.Drawing.Size(165, 22);
this.tbCheckContId.TabIndex = 6;
this.tbCheckContId.Text = "000106";
//
// send
//
this.send.Location = new System.Drawing.Point(388, 20);
this.send.Name = "send";
this.send.Size = new System.Drawing.Size(171, 38);
this.send.TabIndex = 5;
this.send.Text = "send";
this.send.UseVisualStyleBackColor = true;
this.send.Click += new System.EventHandler(this.checkContainer_Click);
//
// mesPlacementProgram
//
this.mesPlacementProgram.Controls.Add(this.button3);
this.mesPlacementProgram.Controls.Add(this.label8);
this.mesPlacementProgram.Location = new System.Drawing.Point(4, 25);
this.mesPlacementProgram.Name = "mesPlacementProgram";
this.mesPlacementProgram.Size = new System.Drawing.Size(884, 179);
this.mesPlacementProgram.TabIndex = 2;
this.mesPlacementProgram.Text = "mesPlacementProgramCheck";
this.mesPlacementProgram.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Location = new System.Drawing.Point(377, 19);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(193, 48);
this.button3.TabIndex = 1;
this.button3.Text = "send";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.placementRecipeCheck_Click);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(19, 21);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(133, 17);
this.label8.TabIndex = 0;
this.label8.Text = "fix placement recipe";
//
// mesInterlocking
//
this.mesInterlocking.Controls.Add(this.tfPlacementRecipeInterlock);
this.mesInterlocking.Controls.Add(this.label7);
this.mesInterlocking.Controls.Add(this.button2);
this.mesInterlocking.Controls.Add(this.label5);
this.mesInterlocking.Controls.Add(this.tfSerialNumber);
this.mesInterlocking.Location = new System.Drawing.Point(4, 25);
this.mesInterlocking.Name = "mesInterlocking";
this.mesInterlocking.Size = new System.Drawing.Size(884, 179);
this.mesInterlocking.TabIndex = 3;
this.mesInterlocking.Text = "mesInterlocking";
this.mesInterlocking.UseVisualStyleBackColor = true;
//
// tfPlacementRecipeInterlock
//
this.tfPlacementRecipeInterlock.Location = new System.Drawing.Point(175, 60);
this.tfPlacementRecipeInterlock.Name = "tfPlacementRecipeInterlock";
this.tfPlacementRecipeInterlock.Size = new System.Drawing.Size(242, 22);
this.tfPlacementRecipeInterlock.TabIndex = 5;
this.tfPlacementRecipeInterlock.Text = "SXCPP_TESTA_Top";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(19, 62);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(121, 17);
this.label7.TabIndex = 4;
this.label7.Text = "placement Recipe";
//
// button2
//
this.button2.Location = new System.Drawing.Point(464, 25);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(191, 22);
this.button2.TabIndex = 2;
this.button2.Text = "send";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.interlocking_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(19, 30);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(94, 17);
this.label5.TabIndex = 1;
this.label5.Text = "serial number";
//
// tfSerialNumber
//
this.tfSerialNumber.Location = new System.Drawing.Point(171, 25);
this.tfSerialNumber.Name = "tfSerialNumber";
this.tfSerialNumber.Size = new System.Drawing.Size(247, 22);
this.tfSerialNumber.TabIndex = 0;
this.tfSerialNumber.Text = "SMT004469";
//
// mesPanelInfo
//
this.mesPanelInfo.Controls.Add(this.button4);
this.mesPanelInfo.Controls.Add(this.label9);
this.mesPanelInfo.Controls.Add(this.tfPanelInfoSnr);
this.mesPanelInfo.Location = new System.Drawing.Point(4, 25);
this.mesPanelInfo.Name = "mesPanelInfo";
this.mesPanelInfo.Size = new System.Drawing.Size(884, 179);
this.mesPanelInfo.TabIndex = 4;
this.mesPanelInfo.Text = "mesPanelInfo";
this.mesPanelInfo.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(465, 35);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(191, 22);
this.button4.TabIndex = 5;
this.button4.Text = "send";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.panelInfo_Click);
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(20, 40);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(94, 17);
this.label9.TabIndex = 4;
this.label9.Text = "serial number";
//
// tfPanelInfoSnr
//
this.tfPanelInfoSnr.Location = new System.Drawing.Point(172, 35);
this.tfPanelInfoSnr.Name = "tfPanelInfoSnr";
this.tfPanelInfoSnr.Size = new System.Drawing.Size(247, 22);
this.tfPanelInfoSnr.TabIndex = 3;
this.tfPanelInfoSnr.Text = "C160727436";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(28, 93);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 17);
this.label1.TabIndex = 5;
this.label1.Text = "machine";
//
// tfMachine
//
this.tfMachine.Location = new System.Drawing.Point(118, 90);
this.tfMachine.Name = "tfMachine";
this.tfMachine.Size = new System.Drawing.Size(171, 22);
this.tfMachine.TabIndex = 6;
this.tfMachine.Text = "machine";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(28, 125);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(30, 17);
this.label6.TabIndex = 7;
this.label6.Text = "line";
//
// tfLine
//
this.tfLine.Location = new System.Drawing.Point(118, 122);
this.tfLine.Name = "tfLine";
this.tfLine.Size = new System.Drawing.Size(171, 22);
this.tfLine.TabIndex = 8;
this.tfLine.Text = "line";
//
// tabControl2
//
this.tabControl2.Controls.Add(this.tpRequest);
this.tabControl2.Controls.Add(this.tpResponse);
this.tabControl2.Location = new System.Drawing.Point(31, 409);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(867, 267);
this.tabControl2.TabIndex = 10;
//
// tpRequest
//
this.tpRequest.Controls.Add(this.tfRequest);
this.tpRequest.Location = new System.Drawing.Point(4, 25);
this.tpRequest.Name = "tpRequest";
this.tpRequest.Padding = new System.Windows.Forms.Padding(3);
this.tpRequest.Size = new System.Drawing.Size(859, 238);
this.tpRequest.TabIndex = 0;
this.tpRequest.Text = "Request";
this.tpRequest.UseVisualStyleBackColor = true;
//
// tfRequest
//
this.tfRequest.Location = new System.Drawing.Point(3, 6);
this.tfRequest.Multiline = true;
this.tfRequest.Name = "tfRequest";
this.tfRequest.Size = new System.Drawing.Size(853, 229);
this.tfRequest.TabIndex = 1;
//
// tpResponse
//
this.tpResponse.Controls.Add(this.tfResponse);
this.tpResponse.Location = new System.Drawing.Point(4, 25);
this.tpResponse.Name = "tpResponse";
this.tpResponse.Padding = new System.Windows.Forms.Padding(3);
this.tpResponse.Size = new System.Drawing.Size(859, 238);
this.tpResponse.TabIndex = 1;
this.tpResponse.Text = "Response";
this.tpResponse.UseVisualStyleBackColor = true;
//
// tfResponse
//
this.tfResponse.Location = new System.Drawing.Point(11, 6);
this.tfResponse.Multiline = true;
this.tfResponse.Name = "tfResponse";
this.tfResponse.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tfResponse.Size = new System.Drawing.Size(842, 226);
this.tfResponse.TabIndex = 13;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(28, 23);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(35, 17);
this.label14.TabIndex = 11;
this.label14.Text = "host";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(28, 53);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(33, 17);
this.label15.TabIndex = 12;
this.label15.Text = "port";
//
// tbHost
//
this.tbHost.Location = new System.Drawing.Point(118, 20);
this.tbHost.Name = "tbHost";
this.tbHost.Size = new System.Drawing.Size(171, 22);
this.tbHost.TabIndex = 13;
this.tbHost.Text = "localhost";
//
// tbPort
//
this.tbPort.Location = new System.Drawing.Point(118, 50);
this.tbPort.Name = "tbPort";
this.tbPort.Size = new System.Drawing.Size(171, 22);
this.tbPort.TabIndex = 14;
this.tbPort.Text = "33000";
//
// button5
//
this.button5.Location = new System.Drawing.Point(455, 20);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(112, 37);
this.button5.TabIndex = 15;
this.button5.Text = "mesStop";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(17, 24);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(71, 17);
this.label17.TabIndex = 14;
this.label17.Text = "Operation";
//
// requestOperation
//
this.requestOperation.FormattingEnabled = true;
this.requestOperation.Items.AddRange(new object[] {
"set up",
"tear down",
"feeder place",
"feeder remove"});
this.requestOperation.Location = new System.Drawing.Point(137, 22);
this.requestOperation.Name = "requestOperation";
this.requestOperation.Size = new System.Drawing.Size(164, 24);
this.requestOperation.TabIndex = 15;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(910, 679);
this.Controls.Add(this.button5);
this.Controls.Add(this.tbPort);
this.Controls.Add(this.tbHost);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.tfLine);
this.Controls.Add(this.label6);
this.Controls.Add(this.tfMachine);
this.Controls.Add(this.label1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.connectBtn);
this.Name = "Form1";
this.tabControl1.ResumeLayout(false);
this.mesGetconfig.ResumeLayout(false);
this.mesCreateContainer.ResumeLayout(false);
this.mesCreateContainer.PerformLayout();
this.mesCheckContainer.ResumeLayout(false);
this.mesCheckContainer.PerformLayout();
this.mesPlacementProgram.ResumeLayout(false);
this.mesPlacementProgram.PerformLayout();
this.mesInterlocking.ResumeLayout(false);
this.mesInterlocking.PerformLayout();
this.mesPanelInfo.ResumeLayout(false);
this.mesPanelInfo.PerformLayout();
this.tabControl2.ResumeLayout(false);
this.tpRequest.ResumeLayout(false);
this.tpRequest.PerformLayout();
this.tpResponse.ResumeLayout(false);
this.tpResponse.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button connectBtn;
private System.Windows.Forms.Button configBtn;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage mesCreateContainer;
private System.Windows.Forms.TabPage mesCheckContainer;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tfMachine;
private System.Windows.Forms.TextBox tfCreateContainer;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox createOperation;
private System.Windows.Forms.Button send;
private System.Windows.Forms.TextBox tfQuantity;
private System.Windows.Forms.TextBox tfComponent;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TabPage mesPlacementProgram;
private System.Windows.Forms.TabPage mesInterlocking;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tfSerialNumber;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tfLine;
private System.Windows.Forms.TextBox tfPlacementRecipeInterlock;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TabPage mesPanelInfo;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tfPanelInfoSnr;
private System.Windows.Forms.TabPage mesGetconfig;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tpRequest;
private System.Windows.Forms.TabPage tpResponse;
private System.Windows.Forms.TextBox tfRequest;
private System.Windows.Forms.TextBox tfResponse;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tbCheckContId;
private System.Windows.Forms.TextBox tbCheckCompId;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tbCheckInitQty;
private System.Windows.Forms.TextBox tbCheckActualQty;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox tbHost;
private System.Windows.Forms.TextBox tbPort;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TextBox tfActualQty;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox requestOperation;
private System.Windows.Forms.Label label17;
}
}

View File

@@ -0,0 +1,145 @@
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;
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace com.itac.mes.commonsmt
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("WindowsFormsApplication1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("WindowsFormsApplication1")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("3ad45209-68ef-46de-ba00-2999d33b4e90")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18063
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace com.itac.mes.commonsmt.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("com.itac.mes.commonsmt.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18063
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace com.itac.mes.commonsmt.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,13 @@
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\DemoApplication.exe.config
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\DemoApplication.exe
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\DemoApplication.pdb
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\CommonSmtApi.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\CommonSmtPlugin.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\artes-dotnet.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\bin\Debug\CommonSmtPlugin.pdb
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\obj\Debug\DemoApplication.csprojResolveAssemblyReference.cache
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\obj\Debug\com.itac.mes.commonsmt.Form1.resources
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\obj\Debug\com.itac.mes.commonsmt.Properties.Resources.resources
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\obj\Debug\DemoApplication.csproj.GenerateResource.Cache
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\obj\Debug\DemoApplication.exe
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\DemoApplication\obj\Debug\DemoApplication.pdb

View File

@@ -0,0 +1,205 @@
using com.itac.mes.commonsmt;
using com.itac.mes.commonsmt.data;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
namespace com.itac.mes.commonsmt
{
class FailoverHostList
{
// this list is cyclically updated as long as a mesService Endpoint is active and not closed
private List<FailoverHost> failoverHosts;
// this is the host all current calls are going to
private FailoverHost activeHost;
public event MyEventHandler OnLog;
public FailoverHostList(MyEventHandler log)
{
this.OnLog = log;
}
public void log(TraceEventType traceEventType, string message)
{
if (OnLog == null) { return; }
MyEventArgs myEventArgs = new MyEventArgs();
myEventArgs.message = "iTAC.MES.Suite SMT-Plugin:" + message;
myEventArgs.traceEventType = traceEventType;
OnLog(this, myEventArgs);
}
public void setFailover(FailoverHost[] newFailoverHosts)
{
// protocol all changes
Boolean newHosts = false;
if (newFailoverHosts == null)
{
activeHost = null;
this.failoverHosts = null;
return;
}
if (this.failoverHosts == null)
{
// initial setting
log(TraceEventType.Information, "setting initial failover hosts :");
foreach (FailoverHost item in newFailoverHosts)
{
log(TraceEventType.Information, ": " + item.getHostname());
}
}
else
{
// whats new, whats removed...
Dictionary<String, FailoverHost> currentHosts = new Dictionary<String, FailoverHost>();
foreach (FailoverHost item in this.failoverHosts)
{
currentHosts.Add(item.getHostname(), item);
}
foreach (FailoverHost item in newFailoverHosts)
{
if (currentHosts.ContainsKey(item.getHostname()))
{
// enthalten, also aus dieser Liste lösche
currentHosts.Remove(item.getHostname());
}
else
{
// bisher nicht enthalten, also neu
Console.Write("new failover host " + item.getHostname());
newHosts = true;
}
}
if (currentHosts.Count > 0)
{
log(TraceEventType.Information, "some failover host removed ");
foreach (FailoverHost removedHost in currentHosts.Values)
{
log(TraceEventType.Information, " - " + removedHost.getHostname());
}
}
else
{
if (!newHosts)
{
log(TraceEventType.Information, "failover host list remains unchanged ");
foreach (FailoverHost item in newFailoverHosts)
{
log(TraceEventType.Information, ":" + item.getHostname());
}
}
}
}
this.failoverHosts = newFailoverHosts.ToList();
// der erste Host in der Liste ist auch der Host, zu dem die aufrufe ohne Failover gehen!!!
if (activeHost == null)
{
if (newFailoverHosts.Length > 0)
{
activeHost = newFailoverHosts[0];
}
else
{
// clean default host
activeHost = null;
}
}
}
/**
* Removes a host from the failover list.
*
* If the host is the currently active host {@link #getActiveHost()} then the current host is set to null<br>
* If the host is not in the host list then nothing happens
*
* @param host
* the host to be removed; do nothing if host is null
*/
public void remove(FailoverHost host)
{
if (host == null)
{
return;
}
log(TraceEventType.Information, "remove host " + host.getHostname() + " from failover list");
for (int i = 0; i < getList().Count; i++)
{
FailoverHost item = getList()[i];
if (item.getHostname().Equals(host.getHostname()))
{
getList().Remove(item);
log(TraceEventType.Information, "host " + item.getHostname() + " removed from failover list");
}
}
if (activeHost != null && activeHost.getHostname().Equals(host.getHostname()))
{
setActiveHost(null);
}
}
/**
* @return the number of hosts in the failover list
*/
public int size()
{
return failoverHosts == null ? 0 : failoverHosts.Count;
}
/**
* @return the list of currently known host to fail over
*/
public List<FailoverHost> getList()
{
return failoverHosts == null ? new List<FailoverHost>() : failoverHosts;
}
public FailoverHost getActiveHost()
{
return activeHost;
}
public void setActiveHost(FailoverHost host)
{
if (host == null)
{
log(TraceEventType.Information, "clear active failover hosts");
}
else
{
log(TraceEventType.Information, "set " + host.getHostname() + " as active failover hosts");
}
this.activeHost = host;
}
public FailoverHost getNextFailoverHost()
{
FailoverHost failoverHost = null;
log(TraceEventType.Information, "scanning for other failover hosts. list contains a total of " + size() + " hosts");
foreach (FailoverHost host in getList())
{
if (host.Equals(getActiveHost()))
{
continue;
}
failoverHost = host;
log(TraceEventType.Information, "next failover hosts is " + host.getHostname());
break;
}
// den nächsten aus der Liste ohne den defaultHost
if (size() == 0)
{
log(TraceEventType.Information, "No more failover host available!");
}
return failoverHost;
}
}
}

View File

@@ -0,0 +1,338 @@
using com.itac.mes.commonsmt;
using com.itac.mes.commonsmt.data;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Proxies;
using System.Text;
namespace com.itac.mes.commonsmt
{
class FailoverInvocationHandler : FailoverHostList
{
// Zugriff auf die folgenden Maps muss synchronisiert erfolgen
static readonly object _locker = new object();
// In dieser Map sind alle offenen Verbindungen zum DataInterface enthalten
private Dictionary<String, IhapEventChannel> openClientChannels = new Dictionary<String, IhapEventChannel>();
// pro Verbindung wird gezaehlt wie viele Connections es schon gab...
private Dictionary<String, Int32> channelNameCounter = new Dictionary<String, Int32>();
public FailoverInvocationHandler(MyEventHandler OnLog)
: base(OnLog)
{
}
/**
* gets a new communication channel with specified name
*
* @param channelName
* the name for the channel
* @param connectionListener
* when a connection listener is set (!= null) a thread is established to cyclically check wether the channel is still
* active or not. If a connection is shutdown by a server (the remote function host) an event at the listener is fired
* @return the communication channel where mesFunctions are exceuted (remote calls via IHap)
* @throws IOException
* when no connection could be established
*/
private IMesServicesChannel getConnection(string channelName, Object s)
{
if (getActiveHost() == null)
{
log(TraceEventType.Error, "cannot get new connection " + channelName + " because active host is unset");
return null;
}
// for every channel a new connection Every connection has it's own counter
string channelNameWithNumber = getChannelName(channelName);
// Neue Verbindung zum DataInterface aufmachen
var tcpClient = new TcpClient(getActiveHost().getHostname(), getActiveHost().getPort());
// eine neue TCp-Client-Verbindung
var iHapEventChannel = new IhapEventChannel(tcpClient, channelNameWithNumber);
if (iHapEventChannel == null)
{
log(TraceEventType.Error, "iHapEventChannel not created");
throw new Exception("iHapEventChannel not created");
}
log(TraceEventType.Information, "before adding " + channelNameWithNumber);
lock (_locker)
{
if (openClientChannels.ContainsKey(channelNameWithNumber))
{
openClientChannels.Remove(channelNameWithNumber);
}
openClientChannels.Add(channelNameWithNumber, iHapEventChannel);
}
log(TraceEventType.Information, "" + channelNameWithNumber + " added");
iHapEventChannel.channelName = channelNameWithNumber;
// Listener installieren, um zu reagieren, wenn das Data-Interface die Verbindung abgebrochen hat
// iHapEventChannel.connectionStateChangeListener += new PropertyChangeListener(iHapEventChannel_connectionStateChangeListener);
var remoteMesService = (IMesServicesChannel)iHapEventChannel.GetTransparentProxy();
if (remoteMesService == null)
{
log(TraceEventType.Error, "iHapEventChannel.transparentProxy not created");
throw new Exception("iHapEventChannel.transparentProxy not created");
}
remoteMesService.setChannelName(channelNameWithNumber);
remoteMesService.startup();
return remoteMesService;
}
private string getChannelName(string channelName)
{
// gab es fuer diesen channelName bereits eine Connection
string channelNameWithNumber = channelName;
var counter = 0;
lock (_locker)
{
if (channelNameCounter.ContainsKey(channelName))
{
counter = channelNameCounter[channelName];
counter++;
if (counter > 100000) { counter = 1; }
channelNameCounter.Remove(channelName);
channelNameCounter.Add(channelName, counter);
}
else
{
channelNameCounter.Add(channelName, counter);
}
channelNameWithNumber = channelName + "#" + counter;
}
return channelNameWithNumber;
}
private void handleThrowable(Object response, Exception throwable)
{
if (!(response is MesResponse))
{
return;
}
MesResponse mesResponse = (MesResponse)response;
mesResponse.setTotalResult(MesServices.MES_RESULT_NOT_OK);
if (throwable is PluginException)
{
setResponseValues(mesResponse, ((PluginException)throwable).getResponseDetail());
}
else if (throwable is IOException)
{
addError(mesResponse.getErrorDetails(),
getErrorDetail(throwable.Message, ResponseDetail.COMMUNICATION_FAILURE));
}
else
{
addError(mesResponse.getErrorDetails(),
getErrorDetail(throwable.Message, ResponseDetail.PROCESSED_WITH_EXCEPTION));
}
}
private ErrorDetail[] addError(ErrorDetail[] errorDetails, ErrorDetail errorDetail)
{
List<ErrorDetail> list = new List<ErrorDetail>();
foreach (ErrorDetail item in errorDetails)
{
list.Add(item);
}
list.Add(errorDetail);
return list.ToArray();
}
// convenient method
private ErrorDetail getErrorDetail(String detail, int code)
{
ErrorDetail errorDetail = new ErrorDetail();
errorDetail.setCode(code);
errorDetail.setDetail(detail);
return errorDetail;
}
/**
* finalizing means closing communication channel and loggin response Object
*
* @param connection
* the used connection
*/
private void finalizeRequest(IMesServicesChannel connection)
{
if (connection != null)
{
string connectionName = connection.getChannelName();
if (connectionName != null)
{
openClientChannels.Remove(connectionName);
}
connection.shutdown();
}
}
private IMesServicesChannel getConnection(string channelName)
{
return getConnection(channelName, null);
}
protected void setResponseValues(MesResponse response, ResponseDetail responseDetail)
{
if (responseDetail.getCode() == ResponseDetail.OK)
{
response.setTotalResult(MesServices.MES_RESULT_OK);
return;
}
response.setTotalResult(MesServices.MES_RESULT_NOT_OK);
addError(response.getErrorDetails(), getErrorDetail(responseDetail.getText(), responseDetail.getCode()));
}
public IMessage Invoke(IMessage msg)
{
IMethodCallMessage methodMsg = (IMethodCallMessage)msg;
MethodInfo methodInfo = typeof(IMesServices).GetMethod(methodMsg.MethodName, (Type[])methodMsg.MethodSignature);
if (methodInfo == null)
{
// TODO: check if this is longer required
// object ret = failoverInvocationHandler.invoke(this, methodInfo, methodMsg.InArgs);
}
// special handling for a couple of function (mesStart, mesStop, getFailoverHosts..FailoverInvocationHandler.)
Object response = Activator.CreateInstance(methodInfo.ReturnType);
// if no failoverhost available return error
if (getActiveHost() == null && size() == 0)
{
// no host set, no failover available --> fail
return null;
}
// do a failover for all methods startswith "mes" (operational methods)
if (methodInfo.Name.StartsWith("mes"))
{
IMesServices connection = null;
try
{
bool callFailed = false;
do
{
try
{
callFailed = false;
log(TraceEventType.Information, "call " + methodInfo.Name + "@" + getActiveHost().getHostname());
connection = getConnection(methodInfo.Name);
if (connection == null)
{
callFailed = true;
}
else
{
response = methodInfo.Invoke(connection, methodMsg.InArgs);
if (response == null)
{
callFailed = true;
}
else
{
if ((response is MesResponse))
{
MesResponse responseObject = (MesResponse)response;
if (responseObject.getTotalResult() == MesServices.MES_RESULT_NOT_OK)
{
// set DetailResult to COMMUNICATION_FAILURE
// repeat this call to another host
callFailed = hasCommunicationFailure(responseObject.getErrorDetails());
}
}
}
}
}
catch (SocketException)
{
callFailed = true;
}
if (callFailed)
{
if (connection != null)
{
// explicit finalize this connection
connection = null;
}
remove(getActiveHost());
setActiveHost(getNextFailoverHost());
}
} while (callFailed && getActiveHost() != null);
// if failover did not find any available host return communication error
if (getActiveHost() == null)
{
if ((response is MesResponse))
{
MesResponse responseObject = (MesResponse)response;
addError(responseObject.getErrorDetails(),
getErrorDetail("no failover host active", ResponseDetail.COMMUNICATION_FAILURE));
responseObject.setTotalResult(MesServices.MES_RESULT_NOT_OK);
}
}
}
catch (Exception throwable)
{
handleThrowable(response, throwable);
}
finally
{
if (response is MesFailoverResponse)
{
// internally update the list
setFailover(((MesFailoverResponse)response).getFailoverHosts());
}
finalizeRequest((IMesServicesChannel)connection);
}
}
else
{
// simply call the method, no failover for them
response = methodInfo.Invoke(this, methodMsg.InArgs);
}
return new ReturnMessage(response, methodMsg.Args, 0, methodMsg.LogicalCallContext, methodMsg);
}
private Boolean hasCommunicationFailure(ErrorDetail[] errorDetails)
{
if (errorDetails == null)
{
return false;
}
foreach (ErrorDetail errDetail in errorDetails)
{
if (errDetail.getCode() == ResponseDetail.COMMUNICATION_FAILURE)
{
log(TraceEventType.Error, "communication failure on this connection");
throw new SocketException();
}
if (errDetail.getCode() == -10005)
{
log(TraceEventType.Error, "communication failure on this connection");
return true;
}
}
return false;
}
}
}

View File

@@ -0,0 +1,23 @@
using System;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Proxies;
namespace com.itac.mes.commonsmt
{
class FailoverProxy : RealProxy
{
private FailoverInvocationHandler failoverInvocationHandler;
public FailoverProxy(Type type, FailoverInvocationHandler failoverInvocationHandler)
: base(type)
{
this.failoverInvocationHandler = failoverInvocationHandler;
}
public override IMessage Invoke(IMessage msg)
{
return failoverInvocationHandler.Invoke(msg);
}
}
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
namespace com.itac.mes.commonsmt
{
/// <summary>
/// Interface IMesServicesChannel
/// </summary>
public interface IMesServicesChannel : IMesServices
{
/// <summary>
/// returns true when this channel is currently shutting down. While shutting down this channel could not be used for communication.
/// </summary>
/// <returns></returns>
Boolean isShutdown();
/// <summary>
/// starting up this channel. While starting up this channel could not be used for communication.
/// </summary>
void startup();
/// <summary>
/// initiate the shutdown of the channel.
/// </summary>
void shutdown();
/// <summary>
/// setting a name for this channel. Name could be used by java client as well.
/// </summary>
/// <param name="channelName"></param>
void setChannelName(String channelName);
/// <summary>
/// returning the name of this channel.
/// </summary>
/// <returns></returns>
String getChannelName();
}
}

View File

@@ -0,0 +1,319 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.IO;
using System.Net.Sockets;
using System.Reflection;
using System.Runtime.Remoting.Messaging;
using System.Runtime.Remoting.Proxies;
using System.Threading;
using com.itac.artes.ihap;
using com.itac.util.logging;
namespace com.itac.mes.commonsmt
{
/// <summary>
///
/// </summary>
public class MyChannelEventArgs : EventArgs
{
public MyChannelEventArgs(string channelName, string message)
{
this.channelName = channelName;
this.message = message;
}
public string channelName; public string message;
}
/// <summary>
///
/// </summary>
public delegate void PropertyChangeListener(Object sender, MyChannelEventArgs e);
/// <summary>
///
/// </summary>
public class IhapEventChannel : RealProxy
{
public static Object classLock = new Object();
private static int CONNECTION_CHECK_MILLIES = 500;
private TcpClient _client;
private IhapOutputStream _ios;
private IhapInputStream _iis;
private bool _isShutdown;
/// <summary>
///
/// </summary>
public string channelName { get; set; }
private long lastCall = DateTime.Now.Ticks;
private Object lockObject = new Object();
private Thread aliveThread;
/// <summary>
///
/// </summary>
public event PropertyChangeListener connectionStateChangeListener;
/// <summary>
///
/// </summary>
public IhapEventChannel(TcpClient client, String channelName)
: base(typeof(IMesServicesChannel))
{
// diesen Constructor nur einmal betreten
lock (classLock)
{
}
this.channelName = channelName;
this._client = client;
_ios = new IhapOutputStream(_client.GetStream());
_iis = new IhapInputStream(_client.GetStream());
aliveThread = new Thread(new ThreadStart(aliveThreadRun));
aliveThread.Name = channelName;
}
/// <summary>
///
/// </summary>
public void shutdown()
{
LogHandler.log("LOGGER", LogLevel.INFO, "closing channel" + channelName);
_isShutdown = true;
try
{
_client.Close();
}
catch (Exception)
{
LogHandler.log("LOGGER", LogLevel.WARN, "closing channel" + channelName + " failed");
}
}
/// <summary>
///
/// </summary>
public long getLastCall()
{
return lastCall;
}
/// <summary>
///
/// </summary>
public bool isConnected()
{
return _client.Client.Connected;
}
/// <summary>
///
/// </summary>
public bool isShutdownInProgress()
{
return _isShutdown;
}
/// <summary>
///
/// </summary>
public override IMessage Invoke(IMessage message)
{
lastCall = new DateTime().Ticks;
IMethodCallMessage methodMsg = (IMethodCallMessage)message;
try
{
MethodInfo methodInfo = typeof(IMesServices).GetMethod(methodMsg.MethodName, (Type[])methodMsg.MethodSignature);
// der Reihe nach alle Interface durchgehen, die als Callback implementiert sind
if (methodInfo == null)
{
methodInfo = typeof(IMesServicesChannel).GetMethod(methodMsg.MethodName, (Type[])methodMsg.MethodSignature);
}
if (methodInfo == null)
{
throw new Exception("IHapHandler.cs: methode '" + methodMsg.MethodName + "' nicht in den Interfacen gefunden");
}
object[] args = methodMsg.Args;
if (methodMsg.MethodName.Equals("Equals"))
{
return new ReturnMessage(args[0].Equals(this), args, 0, methodMsg.LogicalCallContext, methodMsg);
}
else if (methodMsg.MethodName.Equals("getChannelName"))
{
return new ReturnMessage(channelName, args, 0, methodMsg.LogicalCallContext, methodMsg);
}
else if (methodMsg.MethodName.Equals("GetHashCode"))
{
return new ReturnMessage(this.GetHashCode(), args, 0, methodMsg.LogicalCallContext, methodMsg);
}
else if (methodMsg.MethodName.Equals("shutdown"))
{
shutdown();
stopAliveThread();
connectionClosed();
return new ReturnMessage(null, args, 0, methodMsg.LogicalCallContext, methodMsg);
}
else if (methodMsg.MethodName.Equals("startup"))
{
aliveThread.Start();
return new ReturnMessage(null, args, 0, methodMsg.LogicalCallContext, methodMsg);
}
Object retValue = sendCall(methodInfo, args);
return new ReturnMessage(retValue, args, 0, methodMsg.LogicalCallContext, methodMsg);
}
catch (TargetInvocationException ite)
{
return new ReturnMessage(ite.GetBaseException(), methodMsg);
}
catch (Exception ite)
{
return new ReturnMessage(ite.GetBaseException(), methodMsg);
}
}
private Object sendCall(MethodInfo method, Object[] args)
{
lock (lockObject)
{
LogHandler.log("LOGGER", LogLevel.DEBUG, "Send event '" + method.Name + "' to socket " + _client.Client.RemoteEndPoint + " on " + channelName);
Object result = null;
try
{
_ios.writeBoolean(false);
_ios.call(method, args);
_ios.Flush();
IhapReply reply = _iis.readReply();
if (reply is IhapSuccessReply)
{
result = ((IhapSuccessReply)reply).getReturnValue();
}
else
{
IhapFaultReply fault = (IhapFaultReply)reply;
switch (fault.getFaultCode())
{
case FaultCode.NoSuchMethodException:
throw new NotImplementedException(fault.getMessage());
case FaultCode.ProtocolException:
throw new IhapProtocolException(fault.getMessage(), null);
default:
throw new IhapProtocolException(fault.getMessage(), null);
//(Exception)fault.getException();
}
}
}
catch (Exception e)
{
LogHandler.log("LOGGER", LogLevel.ERROR, "Error while sending event call on " + channelName + ":" + e.Message + "\n" + e.StackTrace);
shutdown();
}
return result;
}
}
/// <summary>
///
/// </summary>
protected void connectionClosed()
{
// Hier wird überprüft, ob ein Eintrag in der Aufruf-Liste vorhanden ist.
if (this.connectionStateChangeListener != null)
{
// Hier wird jeder Delegat, der sich für den Event registriert hat, aufgerufen.
this.connectionStateChangeListener(this, new MyChannelEventArgs(channelName, "connectionClosed"));
}
}
private void stopAliveThread()
{
if (aliveThread.IsAlive && (aliveThread.ThreadState != System.Threading.ThreadState.Running))
{
aliveThread.Interrupt();
}
}
/// <summary>
///
/// </summary>
public void aliveThreadRun()
{
while (!_isShutdown && aliveThread.ThreadState == System.Threading.ThreadState.Running)
{
// wenn der letzte Call laenger als .. her ist...
try
{
Thread.Sleep(50);
}
catch (Exception)
{
// wenn beim schliessen der Verbindung noch was passiert ist das nicht schlimm
LogHandler.log("LOGGER", LogLevel.INFO, "interrupted for " + channelName);
}
if (DateTime.Now.Ticks - lastCall > CONNECTION_CHECK_MILLIES)
{
try
{
// versuchen den Server zu pingen
// wenn das fehlschlägt ist die Verbindung kaputt
lock (lockObject)
{ // das erfolgreiche Schreiben eines booleschen Wertes ist aus Kommunikationssicht zu sehen wie der
// erfolgreiche Aufruf einer Methode
if (!_isShutdown && (aliveThread.ThreadState == System.Threading.ThreadState.Running))
{
// nur wenn die Verbindung nicht bereits gestoppt wurde...
_ios.writeBoolean(true);
_ios.Flush();
lastCall = DateTime.Now.Ticks;
}
}
}
catch (Exception)
{
try
{
_isShutdown = true;
_client.Close();
}
catch (IOException e)
{
// wenn beim schliessen der Verbindung noch was passiert ist das nicht schlimm
LogHandler.log("LOGGER", LogLevel.INFO, "shutdown connection problem for " + channelName, e);
}
finally
{
// die Schreibverbindung ist kaputt, also diese Connection töten...
LogHandler.log("LOGGER", LogLevel.DEBUG, "detected broken connection for " + channelName
+ " because Server closed port");
connectionClosed();
}
}
}
else
{
LogHandler.log("LOGGER", LogLevel.DEBUG, "Channel too old, stop channel now");
}
}
// wenn beim schliessen der Verbindung noch was passiert ist das nicht schlimm
stopAliveThread();
LogHandler.log("LOGGER", LogLevel.INFO, "channel shut down finished for " + channelName);
}
}
}

View File

@@ -0,0 +1,837 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using com.itac.mes.tools;
using System;
using System.Diagnostics;
using System.IO;
using com.itac.mes.commonsmt.data;
using System.Runtime.CompilerServices;
using System.Threading;
namespace com.itac.mes.commonsmt
{
/// <summary>
/// documentation for the namespace
/// </summary>
[System.Runtime.CompilerServices.CompilerGenerated]
class NamespaceDoc
{
}
public class MyEventArgs : EventArgs
{
public TraceEventType traceEventType;
public String message;
}
/// <summary>
///
/// </summary>
public delegate void MyEventHandler(Object sender, MyEventArgs e);
/// <summary>
/// Class level summary documentation goes here.</summary>
/// <remarks>
/// Longer comments can be associated with a type or member through
/// the remarks tag.</remarks>
public class MesServices : IMesServices
{
/// <summary>
///
/// </summary>
public event MyEventHandler OnLog;
/// <summary>
/// return this value in {@link MesResponse#setTotalResult(int)}
/// {@link MesResponse#getTotalResult()} for any request
/// which was processed successfully.
/// All returned values are be valid.</summary>
public static int MES_RESULT_OK = 0;
/// <summary>
/// return this value in {@link MesResponse#setTotalResult(int)}/{@link MesResponse#getTotalResult()} for any request
/// which was NOT processed successfully. Not all returned values must be valid, depends on the request.
///
/// @see separate calls in {@link IMesServices#} for detailled information.
/// </summary>
public static int MES_RESULT_NOT_OK = 1;
// allowed port range
private static int MIN_PORT = 1023;
private static int MAX_PORT = 49150;
// 10 minutes default
private static int DEFAULT_REFRESH_INTERVAL = 600000;
// some bool flags for operation
private Boolean configured;
private Boolean active;
// every call to a mes host needs an own id; the id does not change when a call is completed on a failover host
private RequestIdGenerator idGenerator = new RequestIdGenerator();
// the invocation handler accepts all calls from the failoverProxy
private FailoverInvocationHandler failoverInvocationHandler;
// this proxy delegates the calls to all known failover hosts
private IMesServices failoverProxy;
// update Thread counter
private int runCounter;
/// <summary>
/// do not marshal objects but print as xml
/// </summary>
private ItacXmlSerializer serializer = new ItacXmlSerializer();
//// failover detection
private static int updateThreadCount;
private Thread failoverUpdateThread;
private int refreshFailoverhostsInterval;
/// <summary>
///
/// </summary>
public MesServices(String hostname, int port, int refreshFailoverhostsInterval)
{
setConfigured(false);
setActive(false);
//// create and initialize the failover proxy
failoverInvocationHandler = new FailoverInvocationHandler(OnLog);
// create the proxy and set the delegate
failoverProxy = (IMesServices)new FailoverProxy(typeof(IMesServices), failoverInvocationHandler).GetTransparentProxy();
// check hostname
if (!isHostNameValid(hostname))
{
log(TraceEventType.Error, "hostname must not be null or empty");
return;
}
// check port range
if (!isPortValid(port))
{
log(TraceEventType.Error, String.Format("value {0} is out of range {1}..{2}", port, MIN_PORT, MAX_PORT));
return;
}
// check refresh interval
if (!isRefreshIntervalValid(refreshFailoverhostsInterval))
{
log(TraceEventType.Error, "value {0} is out of valid values [-1], [0], [>60000]");
return;
}
setRefreshFailoverhostsInterval(refreshFailoverhostsInterval);
setConfigured(true);
FailoverHost failoverHost = new FailoverHost();
failoverHost.setHostname(hostname);
failoverHost.setPort(port);
failoverInvocationHandler.setFailover(new FailoverHost[] { failoverHost });
}
protected void setRefreshFailoverhostsInterval(int refreshFailoverhostsInterval)
{
this.refreshFailoverhostsInterval = refreshFailoverhostsInterval;
}
protected Boolean isPortValid(int newPort)
{
Boolean result = newPort >= MIN_PORT && newPort <= MAX_PORT;
return result;
}
protected Boolean isHostNameValid(String hostname)
{
return hostname != null && hostname.Length != 0;
}
protected Boolean isRefreshIntervalValid(long refreshFailoverhostsInterval)
{
return refreshFailoverhostsInterval == -1 || refreshFailoverhostsInterval == 0 || refreshFailoverhostsInterval > 60000;
}
protected void setActive(Boolean active)
{
if (!this.active && active)
{
log(TraceEventType.Information, "setting MesServices active");
}
else if (this.active && !active)
{
log(TraceEventType.Information, "setting MesServices inactive");
}
this.active = active;
}
protected Boolean isActive()
{
return active;
}
protected Boolean isConfigured()
{
return configured;
}
protected void setConfigured(Boolean configured)
{
if (!this.configured && configured)
{
log(TraceEventType.Information, "setting MesServices configured");
}
else if (this.configured && !configured)
{
log(TraceEventType.Information, "setting MesServices unconfigured");
}
this.configured = configured;
}
/// <summary>
/// Vorbedingungen sind dass der Request gesetzt ist, sowie die Konfiguration und die aktivierung des Plugin
/// </summary>
/// <param name="mesResponse"> Parameter description for s goes here.</param>
/// <param name="mesRequest"> Parameter description for s goes here.</param>
/// <seealso cref="System.String">
/// You can use the cref attribute on any tag to reference a type or member
/// and the compiler will check that the reference exists. </seealso>
private void checkPreconditions(MesResponse mesResponse, MesRequest mesRequest) /* throws CogiscanException */{
checkRequestPreconditons(mesRequest);
if (mesResponse == null)
{
throw new PluginException(ResponseDetail.RESPONSE_IS_NULL, "response is null");
}
// requestId aus Request in den Response uebernehmen
mesResponse.setRequestId(mesRequest.getRequestId());
// Konfigurationsprobleme checken
if (!isConfigured())
{
throw new PluginException(ResponseDetail.PLUGIN_NOT_CONFIGURED, "plugin is not yet configured");
}
if (!isActive())
{
throw new PluginException(ResponseDetail.PLUGIN_NOT_ACTIVE, "plugin is not yet active");
}
setResponseValues(mesResponse, new ResponseDetail("", ResponseDetail.OK));
}
private void checkRequestPreconditons(MesRequest mesRequest)
{
if (mesRequest == null)
{
throw new PluginException(ResponseDetail.REQUEST_IS_NULL, "the request is null");
}
if (mesRequest.getRequestId() <= 0)
{
mesRequest.setRequestId(idGenerator.getNextId());
}
if (mesRequest.getEventDate() == null || mesRequest.getEventDate().Ticks == 0)
{
mesRequest.setEventDate(DateTime.Now);
}
// Request ausgeben
logRequest(mesRequest);
}
/**
* finalizing means closing communication channel and loggin response Object
*
* @param connection
* the used connection
* @param responseObject
* the responseObject
*/
private void finalizeRequest(MesResponse responseObject)
{
logResponse(responseObject);
}
// * gets a new communication cahnnel with specified name
// *
// * @param channelName
// * the name for the channel
// * @param connectionListener
// * @return
// * @throws IOException
// eine neue socket zum DataInterface als Client aufmachen. ?ber diese Verbindung werden alle Events zum
// Datainterface ?bertragen
// Returned nie einen Null-Wert
/// <summary>
/// Description for SomeMethod.</summary>
/// You can use the cref attribute on any tag to reference a type or member
/// and the compiler will check that the reference exists.
private void log(TraceEventType traceEventType, string message)
{
if (OnLog == null) { return; }
MyEventArgs myEventArgs = new MyEventArgs();
myEventArgs.message = "iTAC.MES.Suite SMT-Plugin:" + message;
myEventArgs.traceEventType = traceEventType;
OnLog(this, myEventArgs);
}
// convenient method
private ErrorDetail getErrorDetail(String detail, int code)
{
ErrorDetail errorDetail = new ErrorDetail();
errorDetail.setCode(code);
errorDetail.setDetail(detail);
return errorDetail;
}
private void handleThrowable(MesResponse response, Exception throwable)
{
response.setTotalResult(MesServices.MES_RESULT_NOT_OK);
if (throwable is PluginException)
{
setResponseValues(response, ((PluginException)throwable).getResponseDetail());
}
else if (throwable is IOException)
{
ErrorDetail[] details = response.getErrorDetails();
addError(ref details, getErrorDetail(throwable.Message, ResponseDetail.COMMUNICATION_FAILURE));
response.setErrorDetails(details);
}
else
{
ErrorDetail[] details = response.getErrorDetails();
addError(ref details, getErrorDetail(throwable.Message, ResponseDetail.PROCESSED_WITH_EXCEPTION));
response.setErrorDetails(details);
}
}
private void logResponse(MesResponse mesResponse)
{
if (mesResponse == null)
{
log(TraceEventType.Information, "finish empty response");
return;
}
try
{
String v = serializer.serialize(mesResponse).ToString();
log(TraceEventType.Verbose, "finish response " + mesResponse.getRequestId() + " (" + mesResponse.GetType().Name + ")"
+ " with code " + mesResponse.getTotalResult() + "\n" + v);
}
catch (Exception)
{
log(TraceEventType.Verbose, "finish request " + mesResponse.getRequestId() + " with code " + mesResponse.getTotalResult() + "\ncannot log response message");
}
}
private void logRequest(MesRequest mesRequest)
{
if (mesRequest == null)
{
log(TraceEventType.Information, "finish empty request");
return;
}
try
{
String v = serializer.serialize(mesRequest).ToString();
log(TraceEventType.Verbose, "finish request " + mesRequest.getRequestId() + " (" + mesRequest.GetType().Name + ")" + "\n" + v);
}
catch (Exception)
{
log(TraceEventType.Verbose, "finish request " + mesRequest.getRequestId() + "\ncannot log request message");
}
}
private void setResponseValues(MesResponse response, ResponseDetail responseDetail)
{
if (responseDetail.getCode() == ResponseDetail.OK)
{
response.setTotalResult(MesServices.MES_RESULT_OK);
return;
}
response.setTotalResult(MesServices.MES_RESULT_NOT_OK);
ErrorDetail[] details = response.getErrorDetails();
addError(ref details, getErrorDetail(responseDetail.getText(), responseDetail.getCode()));
response.setErrorDetails(details);
}
protected IMesServices getFailoverProxy()
{
return failoverProxy;
}
#region IMesServices_Member
/// <summary>
///
/// </summary>
/// <param name="createContainerRequest"></param>
/// <returns></returns>
public CreateContainerResponse mesCreateContainer(CreateContainerRequest createContainerRequest)
{
CreateContainerResponse responseObject = new CreateContainerResponse();
try
{
checkPreconditions(responseObject, createContainerRequest);
responseObject = getFailoverProxy().mesCreateContainer(createContainerRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
public CreateMslContainerResponse mesCreateMslContainer(CreateMslContainerRequest createMslContainerRequest)
{
CreateMslContainerResponse responseObject = new CreateMslContainerResponse();
try
{
checkPreconditions(responseObject, createMslContainerRequest);
responseObject = getFailoverProxy().mesCreateMslContainer(createMslContainerRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public CheckContainerResponse mesCheckContainer(CheckContainerRequest checkContainerRequest)
{
CheckContainerResponse responseObject = new CheckContainerResponse();
try
{
checkPreconditions(responseObject, checkContainerRequest);
responseObject = getFailoverProxy().mesCheckContainer(checkContainerRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
public CheckMslContainerResponse mesCheckMslContainer(CheckMslContainerRequest checkMslContainerRequest)
{
CheckMslContainerResponse responseObject = new CheckMslContainerResponse();
try
{
checkPreconditions(responseObject, checkMslContainerRequest);
responseObject = getFailoverProxy().mesCheckMslContainer(checkMslContainerRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public PlacementRecipeCheckResponse mesCheckPlacementRecipe(PlacementRecipeCheckRequest placementRecipeCheckRequest)
{
PlacementRecipeCheckResponse responseObject = new PlacementRecipeCheckResponse();
try
{
checkPreconditions(responseObject, placementRecipeCheckRequest);
responseObject = getFailoverProxy().mesCheckPlacementRecipe(placementRecipeCheckRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public InterlockingResponse mesInterlocking(InterlockingRequest interlockingRequest)
{
InterlockingResponse responseObject = new InterlockingResponse();
try
{
checkPreconditions(responseObject, interlockingRequest);
responseObject = getFailoverProxy().mesInterlocking(interlockingRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// <param name="name">description</param>
/// <returns>description</returns>
/// <seealso cref="MesRequest"/>
/// </summary>
public PanelInfoResponse mesPanelInformation(PanelInfoRequest infoRequest)
{
PanelInfoResponse responseObject = new PanelInfoResponse();
try
{
checkPreconditions(responseObject, infoRequest);
responseObject = getFailoverProxy().mesPanelInformation(infoRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesItemProduced(ItemProducedRequest itemProducedRequest)
{
MesResponse responseObject = new MesResponse();
try
{
checkPreconditions(responseObject, itemProducedRequest);
responseObject = getFailoverProxy().mesItemProduced(itemProducedRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesMachineState(MachineStatusRequest machineStatus)
{
MesResponse responseObject = new MesResponse();
try
{
checkPreconditions(responseObject, machineStatus);
responseObject = getFailoverProxy().mesMachineState(machineStatus);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesMachineMessage(MachineMessageRequest machineMessage)
{
MesResponse responseObject = new MesResponse();
try
{
checkPreconditions(responseObject, machineMessage);
responseObject = getFailoverProxy().mesMachineMessage(machineMessage);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesFailoverResponse mesGetFailoverList(MesRequest mesRequest)
{
MesFailoverResponse responseObject = new MesFailoverResponse();
try
{
checkPreconditions(responseObject, mesRequest);
responseObject = getFailoverProxy().mesGetFailoverList(mesRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesMaterialConsumed(MaterialConsumedRequest materialConsumedRequest)
{
MesResponse responseObject = new MesResponse();
try
{
checkPreconditions(responseObject, materialConsumedRequest);
responseObject = getFailoverProxy().mesMaterialConsumed(materialConsumedRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesConfigurationResponse mesGetConfiguration(MesRequest mesRequest)
{
MesConfigurationResponse responseObject = new MesConfigurationResponse();
try
{
checkPreconditions(responseObject, mesRequest);
responseObject = getFailoverProxy().mesGetConfiguration(mesRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
finalizeRequest(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesStart(MesStartRequest mesRequest)
{
checkRequestPreconditons(mesRequest);
MesResponse responseObject = new MesResponse();
responseObject.setRequestId(mesRequest.getRequestId());
try
{
if (!isConfigured())
{
throw new PluginException(ResponseDetail.MES_NOT_CONFIGURED_PROPERLY, "");
}
if (isActive())
{
setResponseValues(responseObject, new ResponseDetail("", ResponseDetail.OK));
return responseObject;
}
// append own assembly vresion to mesStart message
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
responseObject = getFailoverProxy().mesStart(mesRequest);
stopWatch.Stop();
long millies = stopWatch.ElapsedMilliseconds;
log(TraceEventType.Information, "roundtrip = " + (millies) + " milliseconds");
if (responseObject.getTotalResult() == MES_RESULT_OK)
{
setActive(true);
startUpdateThread();
}
}
catch (PluginException cse)
{
handleThrowable(responseObject, cse);
}
finally
{
logResponse(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesGetStatus(MesRequest mesRequest)
{
MesResponse responseObject = new MesResponse();
try
{
checkPreconditions(responseObject, mesRequest);
responseObject = getFailoverProxy().mesGetStatus(mesRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
logResponse(responseObject);
}
return responseObject;
}
/// <summary>
///
/// </summary>
public MesResponse mesStop(MesRequest mesRequest)
{
MesResponse responseObject = new MesResponse();
try
{
checkPreconditions(responseObject, mesRequest);
responseObject = getFailoverProxy().mesStop(mesRequest);
}
catch (Exception throwable)
{
handleThrowable(responseObject, throwable);
}
finally
{
logResponse(responseObject);
}
setActive(false);
stopUpdateThread();
return responseObject;
}
#endregion IMesServices_Member
#region UpdateThread
public void failoverThreadProc()
{
log(TraceEventType.Information, Thread.CurrentThread.Name + "renew failoverHost list thread started, call #" + (++runCounter));
while (true)
{
try
{
mesGetFailoverList(new MesRequest());
log(TraceEventType.Information, Thread.CurrentThread.Name + "renew failoverHost list finished");
int millies = refreshFailoverhostsInterval;
if (millies == -1)
{
millies = DEFAULT_REFRESH_INTERVAL;
}
TimeSpan ts = TimeSpan.FromMilliseconds(millies);
log(TraceEventType.Information, Thread.CurrentThread.Name + "next failover resolving in " + ts.ToString());
Thread.Sleep(millies);
}
catch (ThreadAbortException)
{
log(TraceEventType.Error, Thread.CurrentThread.Name + "interrupted or failed");
break;
}
catch (ThreadInterruptedException)
{
log(TraceEventType.Error, Thread.CurrentThread.Name + "interrupted");
break;
}
}
log(TraceEventType.Information, Thread.CurrentThread.Name + "closed");
}
[MethodImpl(MethodImplOptions.Synchronized)]
protected Thread getUpdateThread()
{
String threadName = "failoverUpdateThread#" + (updateThreadCount++);
Thread failoverUpdateThread = new Thread(new ThreadStart(failoverThreadProc));
// threadName) {
//};
log(TraceEventType.Error, Thread.CurrentThread.Name + "created");
return failoverUpdateThread;
}
protected void startUpdateThread()
{
// if connection is established and OK start observation thread
if (failoverUpdateThread == null)
{
failoverUpdateThread = getUpdateThread();
failoverUpdateThread.Start();
}
}
/**
* the current active channel was closed (port closed on DataInterface)
*
* @param channelName
*/
protected void stopUpdateThread()
{
log(TraceEventType.Information, " was closed by iTAC.MES.Suite DataInterface");
// den Ueberwachungsthread stoppen
if (failoverUpdateThread != null)
{
log(TraceEventType.Information, " stop " + failoverUpdateThread.Name + " now");
failoverUpdateThread.Interrupt();
failoverUpdateThread = null;
}
}
private void addError(ref ErrorDetail[] errorDetail1, ErrorDetail errorDetail2)
{
if (errorDetail1 == null)
{
errorDetail1 = new ErrorDetail[0];
}
int newArrSize = errorDetail1.Length + 1;
Array.Resize<ErrorDetail>(ref errorDetail1, newArrSize);
errorDetail1[newArrSize - 1] = errorDetail2;
}
#endregion UpdateThread
}
}

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{C3D8FC7C-22B2-46F9-842F-19165F078217}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CommonSmtPlugin</RootNamespace>
<AssemblyName>CommonSmtPlugin</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>
</DocumentationFile>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>
</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>0</WarningLevel>
<DocumentationFile>bin\Release\CommonSmtPlugin.XML</DocumentationFile>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="artes-dotnet">
<HintPath>lib\artes-dotnet.dll</HintPath>
</Reference>
<Reference Include="CommonSmtApi, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>lib\CommonSmtApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="FailoverHostList.cs" />
<Compile Include="FailoverInvocationHandler.cs" />
<Compile Include="FailoverProxy.cs" />
<Compile Include="IhapEventChannel.cs" />
<Compile Include="IMesServicesChannel.cs" />
<Compile Include="RequestIdGenerator.cs" />
<Compile Include="tool\ItacXmlSerializer.cs" />
<Compile Include="ResponseDetail.cs" />
<Compile Include="PluginException.cs" />
<Compile Include="MesServices.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,51 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Runtime.Serialization;
using System.Security.Permissions;
namespace com.itac.mes.commonsmt
{
/// <summary>
/// This Exception contains some details about the reason
/// </summary>
[Serializable]
public class PluginException : Exception
{
private ResponseDetail responseDetail;
private int p;
/// <summary>
///
/// </summary>
public PluginException(ResponseDetail responseDetail)
{
this.responseDetail = responseDetail;
}
/// <summary>
///
/// </summary>
public PluginException(int p, String message)
{
this.responseDetail = new ResponseDetail(message, p);
this.p = p;
}
/// <summary>
///
/// </summary>
public ResponseDetail getResponseDetail()
{
return responseDetail;
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("Common SMT Plugin: ${mes.interface.version}/${timestamp}")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("iTAC Software AG")]
[assembly: AssemblyProduct("CommonSmtPlugin")]
[assembly: AssemblyCopyright("Copyright © iTAC Software AG 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("fd38d098-5efd-432e-86b9-451f5c47cf00")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,40 @@
/*
* Copyright (c) 2016 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace com.itac.mes.commonsmt
{
class RequestIdGenerator
{
protected static int MIN_REQUEST_ID = 0;
protected static int MAX_REQUEST_ID = 1000000;
private int requestId;
static object lockObject = new object();
// creates an almost unique id
public int getNextId()
{
lock (lockObject)
{
requestId += 1;
if (requestId >= MAX_REQUEST_ID)
{
requestId = MIN_REQUEST_ID;
}
}
return requestId;
}
}
}

View File

@@ -0,0 +1,124 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
namespace com.itac.mes.commonsmt
{
/// <summary>
///
/// </summary>
public class ResponseDetail
{
/// <summary>
/// WARNINGS, HINTS: positive values
/// </summary>
public static int OK = 0;
/// <summary>
/// Plugin-ERRORS: negative values
/// </summary>
public static int REQUEST_IS_NULL = -10001; //
/// <summary>
/// any call to MES before mesConfigure was called properly
/// </summary>
public static int PLUGIN_NOT_CONFIGURED = -10002; //
/// <summary>
///
/// </summary>
public static int PLUGIN_NOT_ACTIVE = -10003; //
/// <summary>
///
/// </summary>
public static int PLUGIN_NOT_CONNECTED = -10004; //
/// <summary>
///
/// </summary>
public static int COMMUNICATION_FAILURE = -10005; //
/// <summary>
///
/// </summary>
public static int WRONG_COMMUNICATION_PROPERTIES = -10006; //
/// <summary>
/// the version from the mes does not fit the version of the interface
/// </summary>
public static int PLUGIN_VERSION_MISMATCH = -10007; //
/// <summary>
/// The response was not set before
/// </summary>
public static int RESPONSE_IS_NULL = -10008; //
/// <summary>
/// Errors from Data Interface negative values
/// </summary>
public static int MES_NOT_CONNECTED = -20000; //
/// <summary>
///
/// </summary>
public static int MES_NOT_CONFIGURED_PROPERLY = -20001; //
/// <summary>
///
/// </summary>
public static int MES_NOT_INITIALIZED = -20002; //
/// <summary>
///
/// </summary>
public static int PARSED_WITH_EXCEPTION = -20003; //
/// <summary>
///
/// </summary>
public static int PROCESSED_WITH_EXCEPTION = -20004; //
/// <summary>
///
/// </summary>
public static int SERIALNUMBER_NOT_ALLOWED = -20005; //
/// <summary>
///
/// </summary>
public static int PARSE_PROBLEM = -20006; //
/// <summary>
///
/// </summary>
public static int NOT_SENT = -20007; //
/// <summary>
///
/// </summary>
public static int MES_SERVICE_NOT_REACHABLE = -20008; //
private int code;
private String text;
/// <summary>
///
/// </summary>
public ResponseDetail(String text, int code)
{
this.text = text;
this.code = code;
}
/// <summary>
///
/// </summary>
public int getCode()
{
return code;
}
/// <summary>
///
/// </summary>
public String getText()
{
return text;
}
}
}

View File

@@ -0,0 +1,154 @@
#region Namespace
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using com.itac.mes.proxy.business;
using com.itac.oib;
#endregion
namespace com.itac.mes.proxy.sockets
{
public class SocketAdapter
{
private readonly IList<IhapHandler> _channels = new List<IhapHandler>();
private readonly TcpListener _listener;
private readonly IAdapterControl _adapterControl;
private readonly OIBServiceImpl _serviceImpl;
private bool _isShutdown = false;
private int listeningPort;
// Wenn ein IHapHandler ein Disconnect feststellt wird eine Verbindung entfernt...
public void ClientDisconnected(IhapHandler iHapHandler)
{
// remove handler with disconnected sockets
for (int i = _channels.Count - 1; i >= 0; i--)
{
IhapHandler element = _channels[i];
if (element == iHapHandler)
{
_channels[i].shutdown();
_channels.RemoveAt(i);
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "Remove socket connection.");
}
}
LogHandler.log(Constants.LOGGER, TraceEventType.Verbose, "Nr of active connections: " + _channels.Count);
}
public SocketAdapter(int listeningPort, IAdapterControl adapterControl, OIBServiceImpl serviceImpl)
{
_listener = new TcpListener(IPAddress.Any, listeningPort);
_listener.Start();
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "Listen on port " + listeningPort);
_adapterControl = adapterControl;
_serviceImpl = serviceImpl;
var thread = new Thread(Run);
thread.Start();
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "Startup " + Constants.SERVICE_NAME + " finished.");
//
// neuen Thread aufmachen, der immer wieder nachguckt, wie oft die IHapHandler benutzt werden. und unbenutzte Verbindungen entfernt
var checkAliveThread = new Thread(RunCheckAlive);
checkAliveThread.Start();
}
public void Run()
{
Thread.CurrentThread.Name = "SocketAdapter";
while (!_isShutdown)
{
TcpClient client;
try
{
client = _listener.AcceptTcpClient();
}
catch (SocketException se)
{
LogHandler.log(Constants.LOGGER, TraceEventType.Critical, "Accepting new socket connection failed", se);
continue;
}
var handler = new IhapHandler(client, _serviceImpl);
handler.setAdapterControl(_adapterControl);
handler.ClientDisconnected += ClientDisconnected;
_channels.Add(handler);
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "Incoming socket connection from " + client.Client.RemoteEndPoint);
}
}
public void RunCheckAlive()
{
Thread.CurrentThread.Name = "CheckAliveThread";
while (!_isShutdown)
{
bool removed = false;
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "registered incoming socket connections: " + _channels.Count);
try
{
for (int i = _channels.Count - 1; i >= 0; i--)
{
var channel = _channels[i];
if (!channel.isConnected())
{
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "remove disconnected incoming socket connection for " + channel.getName());
_channels.Remove(channel);
removed = true;
continue;
}
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "" + channel.getName() + " channel last used: " + new DateTime(channel.getLastCall()));
if ((channel.getLastCall() + 36001000L) < DateTime.Now.Ticks) // eine Stunde...
{
// Verbindung schliessen, wenn Sie länger als ... nicht benutzt wurde
// channel.shutdown();
}
}
if (removed)
{
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "remaining open incoming socket connections after cleanup: " + _channels.Count);
}
}
catch (Exception )
{
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "service channel listing interrupted");
}
// LG: Why this??
Thread.Sleep(60000);
}
}
public void Shutdown()
{
_isShutdown = true;
try
{
_listener.Stop();
foreach (var channel in _channels)
{
if (channel.isConnected())
{
channel.shutdown();
}
}
_channels.Clear();
}
catch
{
}
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "Listen port closed.");
}
}
}

View File

@@ -0,0 +1,7 @@
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\bin\Debug\CommonSmtPlugin.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\bin\Debug\CommonSmtPlugin.pdb
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\bin\Debug\artes-dotnet.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\bin\Debug\CommonSmtApi.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\obj\Debug\Plugin.csprojResolveAssemblyReference.cache
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\obj\Debug\CommonSmtPlugin.dll
C:\projects_jee\imsinterface\mainline\interface\commonsmt\dotnetplugin\Plugin\obj\Debug\CommonSmtPlugin.pdb

View File

@@ -0,0 +1,340 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
namespace com.itac.mes.tools
{
/// <summary>
/// This Class is able to serialize all objects to a xml string.
/// </summary>
public class ItacXmlSerializer
{
private static int MAX_INDENT_LEVEL = 15;
private static int indentationWidth = 2;
private int indentationLevel = 0;
private bool formatting = true;
private StringBuilder writer;
private static String[] indentStrings;
private bool logXmlFormat = true;// Eine Möglichkeit auch nicht-XML zu loggen
static ItacXmlSerializer()
{
indentStrings = new String[MAX_INDENT_LEVEL];
for (int level = 0; level < MAX_INDENT_LEVEL; level++)
{
StringBuilder indentBuffer = new StringBuilder();
int count = level * indentationWidth;
for (int i = 0; i < count; i++)
{
indentBuffer.Append(' ');
}
indentStrings[level] = indentBuffer.ToString();
}
}
// [MethodImpl(MethodImplOptions.Synchronized)]
/// <summary>
///
/// </summary>
public StringBuilder serialize(Object source)
{
if (source == null) { return new StringBuilder("null"); }
writer = new StringBuilder();
if (source.GetType().IsArray)
{
writeArray("", source);
}
else
{
writeStart(source.GetType().Name, true);
writeStructure(source);
writeEnd(source.GetType().Name, true, true);
}
return writer;
}
private void indent()
{
if (formatting)
{
indentationLevel += 1;
}
}
private void unindent()
{
if (formatting && indentationLevel > 0)
{
indentationLevel -= 1;
}
}
private void writeArray(String fieldName, Object fieldvalue)
{
Object[] array = (Object[])fieldvalue;
// do not print empty arrays
if (array != null && array.Length > 0)
{
if (!fieldName.Equals(""))
{
writeStart(fieldName, true);
}
String simpleClassName = fieldvalue.GetType().Name.Substring(0, fieldvalue.GetType().Name.Length - 2);
for (int i = 0; i < array.Length; i++)
{
writeStart(simpleClassName, true);
writeObject("", array[i]);
writeEnd(simpleClassName, true, false);
}
if (!fieldName.Equals(""))
{
writeEnd(fieldName, true, false);
}
}
}
private void writeList(String fieldName, Object fieldvalue)
{
IList array = (IList)fieldvalue;
// do not print empty arrays
if (array != null && array.Count > 0)
{
if (!fieldName.Equals(""))
{
writeStart(fieldName, true);
}
String simpleClassName = fieldvalue.GetType().Name.Substring(0, fieldvalue.GetType().Name.Length - 2);
for (int i = 0; i < array.Count; i++)
{
// writeStart(simpleClassName, true);
writeStructure(array[i]);
// writeEnd(simpleClassName, true, false);
}
if (!fieldName.Equals(""))
{
writeEnd(fieldName, true, false);
}
}
}
private void allClassProperties(List<PropertyInfo> fieldList, Type clazz)
{
// über alle Felder aller parent Interfaces, solange das Interface nicht Object ist.
if (clazz == null || clazz == typeof(Object))
{
return;
}
// fields: all public fields
PropertyInfo[] fields = clazz.GetProperties();
foreach (PropertyInfo field in fields)
{
fieldList.Add(field);
}
allClassProperties(fieldList, clazz.BaseType);
}
private void allClassFields(List<FieldInfo> fieldList, Type clazz)
{
// über alle Felder aller parent Interfaces, solange das Interface nicht Object ist.
if (clazz == null || clazz == typeof(Object))
{
return;
}
// fields: all public fields
FieldInfo[] fields = clazz.GetFields(BindingFlags.Instance| BindingFlags.NonPublic);
foreach (FieldInfo field in fields)
{
fieldList.Add(field);
}
// allClassFields(fieldList, clazz.BaseType);
}
private void writeStructure(Object source)
{
List<PropertyInfo> propertyList = new List<PropertyInfo>();
allClassProperties(propertyList, source.GetType());
List<FieldInfo> fieldList = new List<FieldInfo>();
allClassFields(fieldList, source.GetType());
foreach (PropertyInfo field2 in propertyList)
{
try
{
Object fieldvalue = field2.GetValue(source, null);
writeObject(field2.Name, fieldvalue);
}
catch (Exception)
{
writeObject(field2.Name, "property write failed");
}
}
foreach (FieldInfo field2 in fieldList)
{
try
{
Object fieldvalue = field2.GetValue(source);
writeObject(field2.Name, fieldvalue);
}
catch (Exception)
{
writeObject(field2.Name, "field write failed");
}
}
}
private void writeObject(String fieldName, object fieldvalue)
{
if (fieldvalue == null)
{
return;
}
if (fieldvalue.GetType() == typeof(String))
{
writeString(fieldName, (String)fieldvalue);
}
else if (fieldvalue.GetType() == typeof(DateTime))
{
writeDate(fieldName, (DateTime)fieldvalue);
}
else if (fieldvalue.GetType() == typeof(bool) || fieldvalue.GetType() == typeof(Boolean))
{
if (((bool)fieldvalue)) { writeString(fieldName, "true"); } else { writeString(fieldName, "false"); }
}
else if (fieldvalue.GetType() == typeof(byte) || fieldvalue.GetType() == typeof(int) || fieldvalue.GetType() == typeof(Int16) || fieldvalue.GetType() == typeof(Int32)
|| fieldvalue.GetType() == typeof(Int64))
{
writeIntNumber(fieldName, (Object)fieldvalue);
}
else if (fieldvalue.GetType() == typeof(double) || fieldvalue.GetType() == typeof(float))
{
writeNumber(fieldName, (Object)fieldvalue);
}
else if (fieldvalue.GetType() == typeof(Double))
{
writeNumber(fieldName, (Object)fieldvalue);
}
else if (fieldvalue.GetType().IsGenericType)
{
writeList(fieldName, fieldvalue);
}
else if (fieldvalue.GetType().IsArray)
{
writeArray(fieldName, fieldvalue);
}
else
{
// Strukturierten Wert schreiben
writeStart(fieldName, true);
writeStructure(fieldvalue);
writeEnd(fieldName, true, false);
}
}
private void writeDate(String fieldName, DateTime fieldvalue)
{
writeStart(fieldName, false);
writer.Append(fieldvalue.ToString("o"));
writeEnd(fieldName, false, false);
}
private void writeStart(string fieldName, bool endLineAndIndent)
{
startLine();
if (logXmlFormat)
{
writer.Append("<");
writer.Append(fieldName);
writer.Append(">");
}
else
{
writer.Append(fieldName);
writer.Append(": ");
}
if (endLineAndIndent)
{
endLine();
indent();
}
}
private void writeEnd(string fieldName, bool indenting, bool newLine)
{
if (logXmlFormat)
{
if (indenting)
{
unindent();
startLine();
}
writer.Append("</");
writer.Append(fieldName);
writer.Append(">");
endLine();
}
else
{
if (indenting)
{
unindent();
}
if (newLine)
{
endLine();
}
}
}
private void writeNumber(String fieldName, Object fieldvalue)
{
writeStart(fieldName, false);
writer.Append(fieldvalue.ToString());
writeEnd(fieldName, false, true);
}
private void writeIntNumber(String fieldName, Object fieldvalue)
{
writeStart(fieldName, false);
writer.Append(fieldvalue.ToString());
writeEnd(fieldName, false, true);
}
private void writeString(String fieldName, String value)
{
writeStart(fieldName, false);
writer.Append(value);
writeEnd(fieldName, false, true);
}
private void endLine()
{
if (formatting)
{
writer.Append("\n");
}
}
private void startLine()
{
if (formatting)
{
writer.Append(indentStrings[Math.Min(indentationLevel, MAX_INDENT_LEVEL)]);
}
}
}
}

View File

@@ -0,0 +1,226 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>imsinterfaces-commonsmt-dotnetplugin</artifactId>
<packaging>pom</packaging>
<name>imsinterfaces-commonsmt-dotnetplugin</name>
<version>${mes.interface.version}</version>
<parent>
<groupId>com.itac.interface.interfaces</groupId>
<artifactId>imsinterfaces-commonsmt</artifactId>
<version>${mes.interface.version}</version>
</parent>
<properties>
<projectname>${job.name}</projectname>
<artes.lib.name>artes-dotnet.dll</artes.lib.name>
<dotnet.build.dir>${dotnet.build.basedir}/${project.artifactId}/${user.name}/${projectname}</dotnet.build.dir>
<dotnet.framework.version>v3.5</dotnet.framework.version>
<dotnet4.framework.version>v4.0.30319</dotnet4.framework.version>
<timestamp>${maven.build.timestamp}</timestamp>
</properties>
<dependencies>
<dependency>
<groupId>com.itac.product</groupId>
<artifactId>artes-dotnet</artifactId>
<classifier>net4</classifier>
<type>zip</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.itac.interface.commonsmt</groupId>
<artifactId>commonsmt-dotnet-api</artifactId>
<classifier>windows</classifier>
<type>zip</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.itac.product</groupId>
<artifactId>artes-common</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<!--
Step 1:
die artes-dontnet.zip (aus dem Repository) entpacken und ins lokale Plugin-Verzeichnis kopieren -->
<id>copy-dotnet-dependencies</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.itac.product</groupId>
<artifactId>artes-dotnet</artifactId>
<type>zip</type>
<classifier>net4</classifier>
<overWrite>true</overWrite>
<outputDirectory>${project.basedir}/Plugin/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
<execution>
<!--
Step 1:
die artes-dontnet.zip (aus dem Repository) entpacken und ins lokale Plugin-Verzeichnis kopieren -->
<id>copy-commonsmt-api</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.itac.interface.commonsmt</groupId>
<artifactId>commonsmt-dotnet-api</artifactId>
<classifier>windows</classifier>
<version>${commonsmt.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.basedir}/Plugin/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-demo-source-bundle</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>DemoApplication</finalName>
<descriptor>${project.basedir}/src/main/assembly/sourcesDistribution.xml</descriptor>
</configuration>
</execution>
<!--
Step 2:
zusammenpacken aller source-Files, Properties, libs in ein Zip
Dieses wird dann per SCP auf die windows Maschien kopiert -->
<execution>
<id>create-project-sources-bundle</id>
<phase>process-resources</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>dotnet</finalName>
<descriptor>${project.basedir}/src/main/assembly/sources.xml</descriptor>
</configuration>
</execution>
<!-- Step 5
zusammenpacken des Ergebnisses in ein einziges zip; da ist das gesamte Projekt drin-->
<execution>
<id>pack-bundle</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${project.basedir}/src/main/assembly/descriptor.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.itac.tools</groupId>
<artifactId>ssh-plugin</artifactId>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>ssh</goal>
</goals>
</execution>
</executions>
<configuration>
<parallel>true</parallel>
<remoteHosts>
<RemoteHost>
<host>${dotnet.build.host}</host>
<user>${dotnet.build.user}</user>
<password>${dotnet.build.pw}</password>
<commands>
<ExecuteCommand>
<order>1</order>
<arg>cd ${dotnet.build.basedir};
rm -rf ${project.artifactId}/${user.name}/${projectname};
mkdir ${project.artifactId};
cd ${project.artifactId};
mkdir ${user.name};
cd ${user.name};
mkdir ${projectname};
cd ${projectname};
</arg>
</ExecuteCommand>
<PutCommand>
<order>2</order>
<remoteDirectory>${dotnet.build.dir}/</remoteDirectory>
<localFiles>
<param>${project.basedir}/target/dotnet-buildsources.zip</param>
</localFiles>
</PutCommand>
<!-- Step 3:
Entpacken des Source-Folders auf der Windows-Build-Maschine -->
<ExecuteCommand>
<order>10</order>
<arg>cd ${dotnet.build.dir} &amp;&amp;unzip -q dotnet-buildsources.zip;
</arg>
</ExecuteCommand>
<!-- Step 4:
starten des msBuild-Vorgangs -->
<ExecuteCommand>
<order>40</order>
<arg>cd ${dotnet.build.dir} &amp;&amp;${dotnet.build.framework.dir}/${dotnet4.framework.version}/msbuild.exe;
</arg>
</ExecuteCommand>
<!-- Step 5:
compiled files lokal kopieren -->
<GetCommand>
<order>50</order>
<localDirectory>${project.build.directory}</localDirectory>
<remoteFiles>
<param>${dotnet.build.dir}/Plugin/bin/debug/CommonSmtPlugin.dll</param>
<param>${dotnet.build.dir}/DemoApplication/bin/debug/DemoApplication.exe</param>
<param>${dotnet.build.dir}/DemoApplication/bin/debug/DemoApplication.exe.config</param>
</remoteFiles>
</GetCommand>
</commands>
</RemoteHost>
</remoteHosts>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>windows</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<file>
<source>${project.basedir}/Plugin/lib/CommonSmtApi.dll</source>
<outputDirectory>/Plugin</outputDirectory>
</file>
<file>
<source>${project.build.directory}/CommonSmtPlugin.dll</source>
<outputDirectory>/Plugin</outputDirectory>
</file>
<file>
<source>${project.basedir}/Plugin/lib/artes-dotnet.dll</source>
<outputDirectory>/Plugin</outputDirectory>
</file>
<file>
<source>${project.build.directory}/DemoApplication.exe</source>
<outputDirectory>/DemoApplication</outputDirectory>
</file>
<file>
<source>${project.build.directory}/DemoApplication.exe.config</source>
<outputDirectory>/DemoApplication</outputDirectory>
</file>
</files>
</assembly>

View File

@@ -0,0 +1,67 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>buildsources</id>
<baseDirectory>/</baseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.basedir}/Plugin/data</directory>
</fileSet>
<fileSet>
<directory>${project.basedir}/Plugin/tool</directory>
</fileSet>
<fileSet>
<directory>${project.basedir}/Plugin/lib</directory>
</fileSet>
<fileSet>
<directory>${project.basedir}/Plugin/Properties</directory>
<filtered>true</filtered>
</fileSet>
<fileSet>
<directory>${project.basedir}/Plugin</directory>
<includes>
<include>*.cs</include>
<include>*.csproj</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.basedir}/PluginTest/Properties</directory>
<filtered>true</filtered>
</fileSet>
<fileSet>
<directory>${project.basedir}/PluginTest</directory>
<includes>
<include>*.cs</include>
<include>*.csproj</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.basedir}/DemoApplication/Properties</directory>
<filtered>true</filtered>
</fileSet>
<fileSet>
<directory>${project.basedir}/DemoApplication</directory>
<filtered>true</filtered>
<includes>
<include>*.cs</include>
<include>*.resx</include>
<include>*.csproj</include>
<include>*.config</include>
<include>*.user</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.basedir}/</directory>
<includes>
<include>*.sln</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@@ -0,0 +1,38 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>sources</id>
<baseDirectory>/</baseDirectory>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.basedir}/DemoApplication/Properties</directory>
<filtered>true</filtered>
</fileSet>
<fileSet>
<directory>${project.basedir}/Plugin/Lib</directory>
<outputDirectory>/DemoApplication/Lib</outputDirectory>
<filtered>false</filtered>
</fileSet>
<fileSet>
<directory>${project.build.directory}/</directory>
<outputDirectory>/DemoApplication/Lib</outputDirectory>
<includes>
<include>*.dll</include>
</includes>
<filtered>false</filtered>
</fileSet>
<fileSet>
<directory>${project.basedir}/DemoApplication</directory>
<filtered>true</filtered>
<includes>
<include>*.cs</include>
<include>*.resx</include>
<include>*.csproj</include>
<include>*.config</include>
<include>*.user</include>
</includes>
</fileSet>
</fileSets>
</assembly>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EE34316D-2001-49FF-8DC1-7737D4394E80}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>com.itac.mes.commonsmt</RootNamespace>
<AssemblyName>DemoApplication</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CommonSmtApi">
<HintPath>..\Plugin\lib\CommonSmtApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Plugin\Plugin.csproj">
<Project>{c3d8fc7c-22b2-46f9-842f-19165f078217}</Project>
<Name>Plugin</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EE34316D-2001-49FF-8DC1-7737D4394E80}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>com.itac.mes.commonsmt</RootNamespace>
<AssemblyName>DemoApplication</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CommonSmtApi">
<HintPath>..\Plugin\lib\CommonSmtApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Plugin\Plugin.csproj">
<Project>{c3d8fc7c-22b2-46f9-842f-19165f078217}</Project>
<Name>Plugin</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,720 @@
namespace com.itac.mes.commonsmt
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gel<65>scht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode f<>r die Designerunterst<73>tzung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor ge<67>ndert werden.
/// </summary>
private void InitializeComponent()
{
this.connectBtn = new System.Windows.Forms.Button();
this.configBtn = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.mesGetconfig = new System.Windows.Forms.TabPage();
this.mesCreateContainer = new System.Windows.Forms.TabPage();
this.tfActualQty = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.tfQuantity = new System.Windows.Forms.TextBox();
this.tfComponent = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.createOperation = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.tfCreateContainer = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.mesCheckContainer = new System.Windows.Forms.TabPage();
this.tbCheckInitQty = new System.Windows.Forms.TextBox();
this.tbCheckActualQty = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.tbCheckCompId = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.tbCheckContId = new System.Windows.Forms.TextBox();
this.send = new System.Windows.Forms.Button();
this.mesPlacementProgram = new System.Windows.Forms.TabPage();
this.button3 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
this.mesInterlocking = new System.Windows.Forms.TabPage();
this.tfPlacementRecipeInterlock = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.tfSerialNumber = new System.Windows.Forms.TextBox();
this.mesPanelInfo = new System.Windows.Forms.TabPage();
this.button4 = new System.Windows.Forms.Button();
this.label9 = new System.Windows.Forms.Label();
this.tfPanelInfoSnr = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.tfMachine = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tfLine = new System.Windows.Forms.TextBox();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tpRequest = new System.Windows.Forms.TabPage();
this.tfRequest = new System.Windows.Forms.TextBox();
this.tpResponse = new System.Windows.Forms.TabPage();
this.tfResponse = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tbHost = new System.Windows.Forms.TextBox();
this.tbPort = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.requestOperation = new System.Windows.Forms.ComboBox();
this.tabControl1.SuspendLayout();
this.mesGetconfig.SuspendLayout();
this.mesCreateContainer.SuspendLayout();
this.mesCheckContainer.SuspendLayout();
this.mesPlacementProgram.SuspendLayout();
this.mesInterlocking.SuspendLayout();
this.mesPanelInfo.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tpRequest.SuspendLayout();
this.tpResponse.SuspendLayout();
this.SuspendLayout();
//
// connectBtn
//
this.connectBtn.Location = new System.Drawing.Point(323, 20);
this.connectBtn.Name = "connectBtn";
this.connectBtn.Size = new System.Drawing.Size(112, 37);
this.connectBtn.TabIndex = 0;
this.connectBtn.Text = "mesStart";
this.connectBtn.UseVisualStyleBackColor = true;
this.connectBtn.Click += new System.EventHandler(this.connectBtn_Click);
//
// configBtn
//
this.configBtn.Location = new System.Drawing.Point(21, 20);
this.configBtn.Name = "configBtn";
this.configBtn.Size = new System.Drawing.Size(179, 37);
this.configBtn.TabIndex = 3;
this.configBtn.Text = "getConfiguration";
this.configBtn.UseVisualStyleBackColor = true;
this.configBtn.Click += new System.EventHandler(this.configBtn_Click);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.mesGetconfig);
this.tabControl1.Controls.Add(this.mesCreateContainer);
this.tabControl1.Controls.Add(this.mesCheckContainer);
this.tabControl1.Controls.Add(this.mesPlacementProgram);
this.tabControl1.Controls.Add(this.mesInterlocking);
this.tabControl1.Controls.Add(this.mesPanelInfo);
this.tabControl1.Location = new System.Drawing.Point(31, 176);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(892, 208);
this.tabControl1.TabIndex = 4;
//
// mesGetconfig
//
this.mesGetconfig.Controls.Add(this.configBtn);
this.mesGetconfig.Location = new System.Drawing.Point(4, 25);
this.mesGetconfig.Name = "mesGetconfig";
this.mesGetconfig.Size = new System.Drawing.Size(884, 179);
this.mesGetconfig.TabIndex = 5;
this.mesGetconfig.Text = "mesGetConfiguration";
this.mesGetconfig.UseVisualStyleBackColor = true;
//
// mesCreateContainer
//
this.mesCreateContainer.Controls.Add(this.tfActualQty);
this.mesCreateContainer.Controls.Add(this.label16);
this.mesCreateContainer.Controls.Add(this.tfQuantity);
this.mesCreateContainer.Controls.Add(this.tfComponent);
this.mesCreateContainer.Controls.Add(this.label4);
this.mesCreateContainer.Controls.Add(this.label3);
this.mesCreateContainer.Controls.Add(this.createOperation);
this.mesCreateContainer.Controls.Add(this.button1);
this.mesCreateContainer.Controls.Add(this.tfCreateContainer);
this.mesCreateContainer.Controls.Add(this.label2);
this.mesCreateContainer.Location = new System.Drawing.Point(4, 25);
this.mesCreateContainer.Name = "mesCreateContainer";
this.mesCreateContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCreateContainer.Size = new System.Drawing.Size(884, 179);
this.mesCreateContainer.TabIndex = 0;
this.mesCreateContainer.Text = "mesCreateContainer";
this.mesCreateContainer.UseVisualStyleBackColor = true;
//
// tfActualQty
//
this.tfActualQty.Location = new System.Drawing.Point(136, 160);
this.tfActualQty.Name = "tfActualQty";
this.tfActualQty.Size = new System.Drawing.Size(162, 22);
this.tfActualQty.TabIndex = 10;
this.tfActualQty.Text = "1500";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(31, 156);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(100, 17);
this.label16.TabIndex = 9;
this.label16.Text = "actual quantity";
//
// tfQuantity
//
this.tfQuantity.Location = new System.Drawing.Point(136, 127);
this.tfQuantity.Name = "tfQuantity";
this.tfQuantity.Size = new System.Drawing.Size(162, 22);
this.tfQuantity.TabIndex = 8;
this.tfQuantity.Text = "2000";
//
// tfComponent
//
this.tfComponent.Location = new System.Drawing.Point(137, 89);
this.tfComponent.Name = "tfComponent";
this.tfComponent.Size = new System.Drawing.Size(162, 22);
this.tfComponent.TabIndex = 7;
this.tfComponent.Text = "0402R";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(28, 121);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(94, 17);
this.label4.TabIndex = 6;
this.label4.Text = "initial quantity";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(28, 89);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(58, 17);
this.label3.TabIndex = 5;
this.label3.Text = "material";
//
// createOperation
//
this.createOperation.FormattingEnabled = true;
this.createOperation.Items.AddRange(new object[] {
"REQUEST_MATERIAL",
"CREATE_MATERIAL"});
this.createOperation.Location = new System.Drawing.Point(21, 18);
this.createOperation.Name = "createOperation";
this.createOperation.Size = new System.Drawing.Size(279, 24);
this.createOperation.TabIndex = 4;
//
// button1
//
this.button1.Location = new System.Drawing.Point(327, 18);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 28);
this.button1.TabIndex = 2;
this.button1.Text = "send";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.createContainer_Click);
//
// tfCreateContainer
//
this.tfCreateContainer.Location = new System.Drawing.Point(135, 57);
this.tfCreateContainer.Name = "tfCreateContainer";
this.tfCreateContainer.Size = new System.Drawing.Size(165, 22);
this.tfCreateContainer.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 57);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(87, 17);
this.label2.TabIndex = 0;
this.label2.Text = "ContainerNo";
//
// mesCheckContainer
//
this.mesCheckContainer.Controls.Add(this.requestOperation);
this.mesCheckContainer.Controls.Add(this.label17);
this.mesCheckContainer.Controls.Add(this.tbCheckInitQty);
this.mesCheckContainer.Controls.Add(this.tbCheckActualQty);
this.mesCheckContainer.Controls.Add(this.label13);
this.mesCheckContainer.Controls.Add(this.label12);
this.mesCheckContainer.Controls.Add(this.tbCheckCompId);
this.mesCheckContainer.Controls.Add(this.label11);
this.mesCheckContainer.Controls.Add(this.label10);
this.mesCheckContainer.Controls.Add(this.tbCheckContId);
this.mesCheckContainer.Controls.Add(this.send);
this.mesCheckContainer.Location = new System.Drawing.Point(4, 25);
this.mesCheckContainer.Name = "mesCheckContainer";
this.mesCheckContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCheckContainer.Size = new System.Drawing.Size(884, 179);
this.mesCheckContainer.TabIndex = 1;
this.mesCheckContainer.Text = "mesCheckContainer";
this.mesCheckContainer.UseVisualStyleBackColor = true;
//
// tbCheckInitQty
//
this.tbCheckInitQty.Location = new System.Drawing.Point(137, 164);
this.tbCheckInitQty.Name = "tbCheckInitQty";
this.tbCheckInitQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckInitQty.TabIndex = 13;
this.tbCheckInitQty.Text = "500";
//
// tbCheckActualQty
//
this.tbCheckActualQty.Location = new System.Drawing.Point(137, 129);
this.tbCheckActualQty.Name = "tbCheckActualQty";
this.tbCheckActualQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckActualQty.TabIndex = 12;
this.tbCheckActualQty.Text = "500";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(9, 167);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(66, 17);
this.label13.TabIndex = 11;
this.label13.Text = "initial Qty";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(9, 132);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(72, 17);
this.label12.TabIndex = 10;
this.label12.Text = "actual Qty";
//
// tbCheckCompId
//
this.tbCheckCompId.Location = new System.Drawing.Point(137, 95);
this.tbCheckCompId.Name = "tbCheckCompId";
this.tbCheckCompId.Size = new System.Drawing.Size(165, 22);
this.tbCheckCompId.TabIndex = 9;
this.tbCheckCompId.Text = "Part01";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(9, 98);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(89, 17);
this.label11.TabIndex = 8;
this.label11.Text = "componentId";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(9, 63);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(78, 17);
this.label10.TabIndex = 7;
this.label10.Text = "containerId";
//
// tbCheckContId
//
this.tbCheckContId.Location = new System.Drawing.Point(137, 60);
this.tbCheckContId.Name = "tbCheckContId";
this.tbCheckContId.Size = new System.Drawing.Size(165, 22);
this.tbCheckContId.TabIndex = 6;
this.tbCheckContId.Text = "000106";
//
// send
//
this.send.Location = new System.Drawing.Point(388, 20);
this.send.Name = "send";
this.send.Size = new System.Drawing.Size(171, 38);
this.send.TabIndex = 5;
this.send.Text = "send";
this.send.UseVisualStyleBackColor = true;
this.send.Click += new System.EventHandler(this.checkContainer_Click);
//
// mesPlacementProgram
//
this.mesPlacementProgram.Controls.Add(this.button3);
this.mesPlacementProgram.Controls.Add(this.label8);
this.mesPlacementProgram.Location = new System.Drawing.Point(4, 25);
this.mesPlacementProgram.Name = "mesPlacementProgram";
this.mesPlacementProgram.Size = new System.Drawing.Size(884, 179);
this.mesPlacementProgram.TabIndex = 2;
this.mesPlacementProgram.Text = "mesPlacementProgramCheck";
this.mesPlacementProgram.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Location = new System.Drawing.Point(377, 19);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(193, 48);
this.button3.TabIndex = 1;
this.button3.Text = "send";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.placementRecipeCheck_Click);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(19, 21);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(133, 17);
this.label8.TabIndex = 0;
this.label8.Text = "fix placement recipe";
//
// mesInterlocking
//
this.mesInterlocking.Controls.Add(this.tfPlacementRecipeInterlock);
this.mesInterlocking.Controls.Add(this.label7);
this.mesInterlocking.Controls.Add(this.button2);
this.mesInterlocking.Controls.Add(this.label5);
this.mesInterlocking.Controls.Add(this.tfSerialNumber);
this.mesInterlocking.Location = new System.Drawing.Point(4, 25);
this.mesInterlocking.Name = "mesInterlocking";
this.mesInterlocking.Size = new System.Drawing.Size(884, 179);
this.mesInterlocking.TabIndex = 3;
this.mesInterlocking.Text = "mesInterlocking";
this.mesInterlocking.UseVisualStyleBackColor = true;
//
// tfPlacementRecipeInterlock
//
this.tfPlacementRecipeInterlock.Location = new System.Drawing.Point(175, 60);
this.tfPlacementRecipeInterlock.Name = "tfPlacementRecipeInterlock";
this.tfPlacementRecipeInterlock.Size = new System.Drawing.Size(242, 22);
this.tfPlacementRecipeInterlock.TabIndex = 5;
this.tfPlacementRecipeInterlock.Text = "SXCPP_TESTA_Top";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(19, 62);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(121, 17);
this.label7.TabIndex = 4;
this.label7.Text = "placement Recipe";
//
// button2
//
this.button2.Location = new System.Drawing.Point(464, 25);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(191, 22);
this.button2.TabIndex = 2;
this.button2.Text = "send";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.interlocking_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(19, 30);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(94, 17);
this.label5.TabIndex = 1;
this.label5.Text = "serial number";
//
// tfSerialNumber
//
this.tfSerialNumber.Location = new System.Drawing.Point(171, 25);
this.tfSerialNumber.Name = "tfSerialNumber";
this.tfSerialNumber.Size = new System.Drawing.Size(247, 22);
this.tfSerialNumber.TabIndex = 0;
this.tfSerialNumber.Text = "SMT004469";
//
// mesPanelInfo
//
this.mesPanelInfo.Controls.Add(this.button4);
this.mesPanelInfo.Controls.Add(this.label9);
this.mesPanelInfo.Controls.Add(this.tfPanelInfoSnr);
this.mesPanelInfo.Location = new System.Drawing.Point(4, 25);
this.mesPanelInfo.Name = "mesPanelInfo";
this.mesPanelInfo.Size = new System.Drawing.Size(884, 179);
this.mesPanelInfo.TabIndex = 4;
this.mesPanelInfo.Text = "mesPanelInfo";
this.mesPanelInfo.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(465, 35);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(191, 22);
this.button4.TabIndex = 5;
this.button4.Text = "send";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.panelInfo_Click);
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(20, 40);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(94, 17);
this.label9.TabIndex = 4;
this.label9.Text = "serial number";
//
// tfPanelInfoSnr
//
this.tfPanelInfoSnr.Location = new System.Drawing.Point(172, 35);
this.tfPanelInfoSnr.Name = "tfPanelInfoSnr";
this.tfPanelInfoSnr.Size = new System.Drawing.Size(247, 22);
this.tfPanelInfoSnr.TabIndex = 3;
this.tfPanelInfoSnr.Text = "C160727436";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(28, 93);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 17);
this.label1.TabIndex = 5;
this.label1.Text = "machine";
//
// tfMachine
//
this.tfMachine.Location = new System.Drawing.Point(118, 90);
this.tfMachine.Name = "tfMachine";
this.tfMachine.Size = new System.Drawing.Size(171, 22);
this.tfMachine.TabIndex = 6;
this.tfMachine.Text = "machine";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(28, 125);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(30, 17);
this.label6.TabIndex = 7;
this.label6.Text = "line";
//
// tfLine
//
this.tfLine.Location = new System.Drawing.Point(118, 122);
this.tfLine.Name = "tfLine";
this.tfLine.Size = new System.Drawing.Size(171, 22);
this.tfLine.TabIndex = 8;
this.tfLine.Text = "line";
//
// tabControl2
//
this.tabControl2.Controls.Add(this.tpRequest);
this.tabControl2.Controls.Add(this.tpResponse);
this.tabControl2.Location = new System.Drawing.Point(31, 409);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(867, 267);
this.tabControl2.TabIndex = 10;
//
// tpRequest
//
this.tpRequest.Controls.Add(this.tfRequest);
this.tpRequest.Location = new System.Drawing.Point(4, 25);
this.tpRequest.Name = "tpRequest";
this.tpRequest.Padding = new System.Windows.Forms.Padding(3);
this.tpRequest.Size = new System.Drawing.Size(859, 238);
this.tpRequest.TabIndex = 0;
this.tpRequest.Text = "Request";
this.tpRequest.UseVisualStyleBackColor = true;
//
// tfRequest
//
this.tfRequest.Location = new System.Drawing.Point(3, 6);
this.tfRequest.Multiline = true;
this.tfRequest.Name = "tfRequest";
this.tfRequest.Size = new System.Drawing.Size(853, 229);
this.tfRequest.TabIndex = 1;
//
// tpResponse
//
this.tpResponse.Controls.Add(this.tfResponse);
this.tpResponse.Location = new System.Drawing.Point(4, 25);
this.tpResponse.Name = "tpResponse";
this.tpResponse.Padding = new System.Windows.Forms.Padding(3);
this.tpResponse.Size = new System.Drawing.Size(859, 238);
this.tpResponse.TabIndex = 1;
this.tpResponse.Text = "Response";
this.tpResponse.UseVisualStyleBackColor = true;
//
// tfResponse
//
this.tfResponse.Location = new System.Drawing.Point(11, 6);
this.tfResponse.Multiline = true;
this.tfResponse.Name = "tfResponse";
this.tfResponse.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tfResponse.Size = new System.Drawing.Size(842, 226);
this.tfResponse.TabIndex = 13;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(28, 23);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(35, 17);
this.label14.TabIndex = 11;
this.label14.Text = "host";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(28, 53);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(33, 17);
this.label15.TabIndex = 12;
this.label15.Text = "port";
//
// tbHost
//
this.tbHost.Location = new System.Drawing.Point(118, 20);
this.tbHost.Name = "tbHost";
this.tbHost.Size = new System.Drawing.Size(171, 22);
this.tbHost.TabIndex = 13;
this.tbHost.Text = "localhost";
//
// tbPort
//
this.tbPort.Location = new System.Drawing.Point(118, 50);
this.tbPort.Name = "tbPort";
this.tbPort.Size = new System.Drawing.Size(171, 22);
this.tbPort.TabIndex = 14;
this.tbPort.Text = "33000";
//
// button5
//
this.button5.Location = new System.Drawing.Point(455, 20);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(112, 37);
this.button5.TabIndex = 15;
this.button5.Text = "mesStop";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(17, 24);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(71, 17);
this.label17.TabIndex = 14;
this.label17.Text = "Operation";
//
// requestOperation
//
this.requestOperation.FormattingEnabled = true;
this.requestOperation.Items.AddRange(new object[] {
"set up",
"tear down",
"feeder place",
"feeder remove"});
this.requestOperation.Location = new System.Drawing.Point(137, 22);
this.requestOperation.Name = "requestOperation";
this.requestOperation.Size = new System.Drawing.Size(164, 24);
this.requestOperation.TabIndex = 15;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(910, 679);
this.Controls.Add(this.button5);
this.Controls.Add(this.tbPort);
this.Controls.Add(this.tbHost);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.tfLine);
this.Controls.Add(this.label6);
this.Controls.Add(this.tfMachine);
this.Controls.Add(this.label1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.connectBtn);
this.Name = "Form1";
this.tabControl1.ResumeLayout(false);
this.mesGetconfig.ResumeLayout(false);
this.mesCreateContainer.ResumeLayout(false);
this.mesCreateContainer.PerformLayout();
this.mesCheckContainer.ResumeLayout(false);
this.mesCheckContainer.PerformLayout();
this.mesPlacementProgram.ResumeLayout(false);
this.mesPlacementProgram.PerformLayout();
this.mesInterlocking.ResumeLayout(false);
this.mesInterlocking.PerformLayout();
this.mesPanelInfo.ResumeLayout(false);
this.mesPanelInfo.PerformLayout();
this.tabControl2.ResumeLayout(false);
this.tpRequest.ResumeLayout(false);
this.tpRequest.PerformLayout();
this.tpResponse.ResumeLayout(false);
this.tpResponse.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button connectBtn;
private System.Windows.Forms.Button configBtn;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage mesCreateContainer;
private System.Windows.Forms.TabPage mesCheckContainer;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tfMachine;
private System.Windows.Forms.TextBox tfCreateContainer;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox createOperation;
private System.Windows.Forms.Button send;
private System.Windows.Forms.TextBox tfQuantity;
private System.Windows.Forms.TextBox tfComponent;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TabPage mesPlacementProgram;
private System.Windows.Forms.TabPage mesInterlocking;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tfSerialNumber;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tfLine;
private System.Windows.Forms.TextBox tfPlacementRecipeInterlock;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TabPage mesPanelInfo;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tfPanelInfoSnr;
private System.Windows.Forms.TabPage mesGetconfig;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tpRequest;
private System.Windows.Forms.TabPage tpResponse;
private System.Windows.Forms.TextBox tfRequest;
private System.Windows.Forms.TextBox tfResponse;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tbCheckContId;
private System.Windows.Forms.TextBox tbCheckCompId;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tbCheckInitQty;
private System.Windows.Forms.TextBox tbCheckActualQty;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox tbHost;
private System.Windows.Forms.TextBox tbPort;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TextBox tfActualQty;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox requestOperation;
private System.Windows.Forms.Label label17;
}
}

View File

@@ -0,0 +1,720 @@
namespace com.itac.mes.commonsmt
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gel<65>scht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode f<>r die Designerunterst<73>tzung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor ge<67>ndert werden.
/// </summary>
private void InitializeComponent()
{
this.connectBtn = new System.Windows.Forms.Button();
this.configBtn = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.mesGetconfig = new System.Windows.Forms.TabPage();
this.mesCreateContainer = new System.Windows.Forms.TabPage();
this.tfActualQty = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.tfQuantity = new System.Windows.Forms.TextBox();
this.tfComponent = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.createOperation = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.tfCreateContainer = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.mesCheckContainer = new System.Windows.Forms.TabPage();
this.tbCheckInitQty = new System.Windows.Forms.TextBox();
this.tbCheckActualQty = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.tbCheckCompId = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.tbCheckContId = new System.Windows.Forms.TextBox();
this.send = new System.Windows.Forms.Button();
this.mesPlacementProgram = new System.Windows.Forms.TabPage();
this.button3 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
this.mesInterlocking = new System.Windows.Forms.TabPage();
this.tfPlacementRecipeInterlock = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.tfSerialNumber = new System.Windows.Forms.TextBox();
this.mesPanelInfo = new System.Windows.Forms.TabPage();
this.button4 = new System.Windows.Forms.Button();
this.label9 = new System.Windows.Forms.Label();
this.tfPanelInfoSnr = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.tfMachine = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tfLine = new System.Windows.Forms.TextBox();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tpRequest = new System.Windows.Forms.TabPage();
this.tfRequest = new System.Windows.Forms.TextBox();
this.tpResponse = new System.Windows.Forms.TabPage();
this.tfResponse = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tbHost = new System.Windows.Forms.TextBox();
this.tbPort = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.requestOperation = new System.Windows.Forms.ComboBox();
this.tabControl1.SuspendLayout();
this.mesGetconfig.SuspendLayout();
this.mesCreateContainer.SuspendLayout();
this.mesCheckContainer.SuspendLayout();
this.mesPlacementProgram.SuspendLayout();
this.mesInterlocking.SuspendLayout();
this.mesPanelInfo.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tpRequest.SuspendLayout();
this.tpResponse.SuspendLayout();
this.SuspendLayout();
//
// connectBtn
//
this.connectBtn.Location = new System.Drawing.Point(323, 20);
this.connectBtn.Name = "connectBtn";
this.connectBtn.Size = new System.Drawing.Size(112, 37);
this.connectBtn.TabIndex = 0;
this.connectBtn.Text = "mesStart";
this.connectBtn.UseVisualStyleBackColor = true;
this.connectBtn.Click += new System.EventHandler(this.connectBtn_Click);
//
// configBtn
//
this.configBtn.Location = new System.Drawing.Point(21, 20);
this.configBtn.Name = "configBtn";
this.configBtn.Size = new System.Drawing.Size(179, 37);
this.configBtn.TabIndex = 3;
this.configBtn.Text = "getConfiguration";
this.configBtn.UseVisualStyleBackColor = true;
this.configBtn.Click += new System.EventHandler(this.configBtn_Click);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.mesGetconfig);
this.tabControl1.Controls.Add(this.mesCreateContainer);
this.tabControl1.Controls.Add(this.mesCheckContainer);
this.tabControl1.Controls.Add(this.mesPlacementProgram);
this.tabControl1.Controls.Add(this.mesInterlocking);
this.tabControl1.Controls.Add(this.mesPanelInfo);
this.tabControl1.Location = new System.Drawing.Point(31, 176);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(892, 208);
this.tabControl1.TabIndex = 4;
//
// mesGetconfig
//
this.mesGetconfig.Controls.Add(this.configBtn);
this.mesGetconfig.Location = new System.Drawing.Point(4, 25);
this.mesGetconfig.Name = "mesGetconfig";
this.mesGetconfig.Size = new System.Drawing.Size(884, 179);
this.mesGetconfig.TabIndex = 5;
this.mesGetconfig.Text = "mesGetConfiguration";
this.mesGetconfig.UseVisualStyleBackColor = true;
//
// mesCreateContainer
//
this.mesCreateContainer.Controls.Add(this.tfActualQty);
this.mesCreateContainer.Controls.Add(this.label16);
this.mesCreateContainer.Controls.Add(this.tfQuantity);
this.mesCreateContainer.Controls.Add(this.tfComponent);
this.mesCreateContainer.Controls.Add(this.label4);
this.mesCreateContainer.Controls.Add(this.label3);
this.mesCreateContainer.Controls.Add(this.createOperation);
this.mesCreateContainer.Controls.Add(this.button1);
this.mesCreateContainer.Controls.Add(this.tfCreateContainer);
this.mesCreateContainer.Controls.Add(this.label2);
this.mesCreateContainer.Location = new System.Drawing.Point(4, 25);
this.mesCreateContainer.Name = "mesCreateContainer";
this.mesCreateContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCreateContainer.Size = new System.Drawing.Size(884, 179);
this.mesCreateContainer.TabIndex = 0;
this.mesCreateContainer.Text = "mesCreateContainer";
this.mesCreateContainer.UseVisualStyleBackColor = true;
//
// tfActualQty
//
this.tfActualQty.Location = new System.Drawing.Point(136, 160);
this.tfActualQty.Name = "tfActualQty";
this.tfActualQty.Size = new System.Drawing.Size(162, 22);
this.tfActualQty.TabIndex = 10;
this.tfActualQty.Text = "1500";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(31, 156);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(100, 17);
this.label16.TabIndex = 9;
this.label16.Text = "actual quantity";
//
// tfQuantity
//
this.tfQuantity.Location = new System.Drawing.Point(136, 127);
this.tfQuantity.Name = "tfQuantity";
this.tfQuantity.Size = new System.Drawing.Size(162, 22);
this.tfQuantity.TabIndex = 8;
this.tfQuantity.Text = "2000";
//
// tfComponent
//
this.tfComponent.Location = new System.Drawing.Point(137, 89);
this.tfComponent.Name = "tfComponent";
this.tfComponent.Size = new System.Drawing.Size(162, 22);
this.tfComponent.TabIndex = 7;
this.tfComponent.Text = "0402R";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(28, 121);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(94, 17);
this.label4.TabIndex = 6;
this.label4.Text = "initial quantity";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(28, 89);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(58, 17);
this.label3.TabIndex = 5;
this.label3.Text = "material";
//
// createOperation
//
this.createOperation.FormattingEnabled = true;
this.createOperation.Items.AddRange(new object[] {
"REQUEST_MATERIAL",
"CREATE_MATERIAL"});
this.createOperation.Location = new System.Drawing.Point(21, 18);
this.createOperation.Name = "createOperation";
this.createOperation.Size = new System.Drawing.Size(279, 24);
this.createOperation.TabIndex = 4;
//
// button1
//
this.button1.Location = new System.Drawing.Point(327, 18);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 28);
this.button1.TabIndex = 2;
this.button1.Text = "send";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.createContainer_Click);
//
// tfCreateContainer
//
this.tfCreateContainer.Location = new System.Drawing.Point(135, 57);
this.tfCreateContainer.Name = "tfCreateContainer";
this.tfCreateContainer.Size = new System.Drawing.Size(165, 22);
this.tfCreateContainer.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 57);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(87, 17);
this.label2.TabIndex = 0;
this.label2.Text = "ContainerNo";
//
// mesCheckContainer
//
this.mesCheckContainer.Controls.Add(this.requestOperation);
this.mesCheckContainer.Controls.Add(this.label17);
this.mesCheckContainer.Controls.Add(this.tbCheckInitQty);
this.mesCheckContainer.Controls.Add(this.tbCheckActualQty);
this.mesCheckContainer.Controls.Add(this.label13);
this.mesCheckContainer.Controls.Add(this.label12);
this.mesCheckContainer.Controls.Add(this.tbCheckCompId);
this.mesCheckContainer.Controls.Add(this.label11);
this.mesCheckContainer.Controls.Add(this.label10);
this.mesCheckContainer.Controls.Add(this.tbCheckContId);
this.mesCheckContainer.Controls.Add(this.send);
this.mesCheckContainer.Location = new System.Drawing.Point(4, 25);
this.mesCheckContainer.Name = "mesCheckContainer";
this.mesCheckContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCheckContainer.Size = new System.Drawing.Size(884, 179);
this.mesCheckContainer.TabIndex = 1;
this.mesCheckContainer.Text = "mesCheckContainer";
this.mesCheckContainer.UseVisualStyleBackColor = true;
//
// tbCheckInitQty
//
this.tbCheckInitQty.Location = new System.Drawing.Point(137, 164);
this.tbCheckInitQty.Name = "tbCheckInitQty";
this.tbCheckInitQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckInitQty.TabIndex = 13;
this.tbCheckInitQty.Text = "500";
//
// tbCheckActualQty
//
this.tbCheckActualQty.Location = new System.Drawing.Point(137, 129);
this.tbCheckActualQty.Name = "tbCheckActualQty";
this.tbCheckActualQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckActualQty.TabIndex = 12;
this.tbCheckActualQty.Text = "500";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(9, 167);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(66, 17);
this.label13.TabIndex = 11;
this.label13.Text = "initial Qty";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(9, 132);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(72, 17);
this.label12.TabIndex = 10;
this.label12.Text = "actual Qty";
//
// tbCheckCompId
//
this.tbCheckCompId.Location = new System.Drawing.Point(137, 95);
this.tbCheckCompId.Name = "tbCheckCompId";
this.tbCheckCompId.Size = new System.Drawing.Size(165, 22);
this.tbCheckCompId.TabIndex = 9;
this.tbCheckCompId.Text = "Part01";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(9, 98);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(89, 17);
this.label11.TabIndex = 8;
this.label11.Text = "componentId";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(9, 63);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(78, 17);
this.label10.TabIndex = 7;
this.label10.Text = "containerId";
//
// tbCheckContId
//
this.tbCheckContId.Location = new System.Drawing.Point(137, 60);
this.tbCheckContId.Name = "tbCheckContId";
this.tbCheckContId.Size = new System.Drawing.Size(165, 22);
this.tbCheckContId.TabIndex = 6;
this.tbCheckContId.Text = "000106";
//
// send
//
this.send.Location = new System.Drawing.Point(388, 20);
this.send.Name = "send";
this.send.Size = new System.Drawing.Size(171, 38);
this.send.TabIndex = 5;
this.send.Text = "send";
this.send.UseVisualStyleBackColor = true;
this.send.Click += new System.EventHandler(this.checkContainer_Click);
//
// mesPlacementProgram
//
this.mesPlacementProgram.Controls.Add(this.button3);
this.mesPlacementProgram.Controls.Add(this.label8);
this.mesPlacementProgram.Location = new System.Drawing.Point(4, 25);
this.mesPlacementProgram.Name = "mesPlacementProgram";
this.mesPlacementProgram.Size = new System.Drawing.Size(884, 179);
this.mesPlacementProgram.TabIndex = 2;
this.mesPlacementProgram.Text = "mesPlacementProgramCheck";
this.mesPlacementProgram.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Location = new System.Drawing.Point(377, 19);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(193, 48);
this.button3.TabIndex = 1;
this.button3.Text = "send";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.placementRecipeCheck_Click);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(19, 21);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(133, 17);
this.label8.TabIndex = 0;
this.label8.Text = "fix placement recipe";
//
// mesInterlocking
//
this.mesInterlocking.Controls.Add(this.tfPlacementRecipeInterlock);
this.mesInterlocking.Controls.Add(this.label7);
this.mesInterlocking.Controls.Add(this.button2);
this.mesInterlocking.Controls.Add(this.label5);
this.mesInterlocking.Controls.Add(this.tfSerialNumber);
this.mesInterlocking.Location = new System.Drawing.Point(4, 25);
this.mesInterlocking.Name = "mesInterlocking";
this.mesInterlocking.Size = new System.Drawing.Size(884, 179);
this.mesInterlocking.TabIndex = 3;
this.mesInterlocking.Text = "mesInterlocking";
this.mesInterlocking.UseVisualStyleBackColor = true;
//
// tfPlacementRecipeInterlock
//
this.tfPlacementRecipeInterlock.Location = new System.Drawing.Point(175, 60);
this.tfPlacementRecipeInterlock.Name = "tfPlacementRecipeInterlock";
this.tfPlacementRecipeInterlock.Size = new System.Drawing.Size(242, 22);
this.tfPlacementRecipeInterlock.TabIndex = 5;
this.tfPlacementRecipeInterlock.Text = "SXCPP_TESTA_Top";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(19, 62);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(121, 17);
this.label7.TabIndex = 4;
this.label7.Text = "placement Recipe";
//
// button2
//
this.button2.Location = new System.Drawing.Point(464, 25);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(191, 22);
this.button2.TabIndex = 2;
this.button2.Text = "send";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.interlocking_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(19, 30);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(94, 17);
this.label5.TabIndex = 1;
this.label5.Text = "serial number";
//
// tfSerialNumber
//
this.tfSerialNumber.Location = new System.Drawing.Point(171, 25);
this.tfSerialNumber.Name = "tfSerialNumber";
this.tfSerialNumber.Size = new System.Drawing.Size(247, 22);
this.tfSerialNumber.TabIndex = 0;
this.tfSerialNumber.Text = "SMT004469";
//
// mesPanelInfo
//
this.mesPanelInfo.Controls.Add(this.button4);
this.mesPanelInfo.Controls.Add(this.label9);
this.mesPanelInfo.Controls.Add(this.tfPanelInfoSnr);
this.mesPanelInfo.Location = new System.Drawing.Point(4, 25);
this.mesPanelInfo.Name = "mesPanelInfo";
this.mesPanelInfo.Size = new System.Drawing.Size(884, 179);
this.mesPanelInfo.TabIndex = 4;
this.mesPanelInfo.Text = "mesPanelInfo";
this.mesPanelInfo.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(465, 35);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(191, 22);
this.button4.TabIndex = 5;
this.button4.Text = "send";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.panelInfo_Click);
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(20, 40);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(94, 17);
this.label9.TabIndex = 4;
this.label9.Text = "serial number";
//
// tfPanelInfoSnr
//
this.tfPanelInfoSnr.Location = new System.Drawing.Point(172, 35);
this.tfPanelInfoSnr.Name = "tfPanelInfoSnr";
this.tfPanelInfoSnr.Size = new System.Drawing.Size(247, 22);
this.tfPanelInfoSnr.TabIndex = 3;
this.tfPanelInfoSnr.Text = "C160727436";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(28, 93);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 17);
this.label1.TabIndex = 5;
this.label1.Text = "machine";
//
// tfMachine
//
this.tfMachine.Location = new System.Drawing.Point(118, 90);
this.tfMachine.Name = "tfMachine";
this.tfMachine.Size = new System.Drawing.Size(171, 22);
this.tfMachine.TabIndex = 6;
this.tfMachine.Text = "machine";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(28, 125);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(30, 17);
this.label6.TabIndex = 7;
this.label6.Text = "line";
//
// tfLine
//
this.tfLine.Location = new System.Drawing.Point(118, 122);
this.tfLine.Name = "tfLine";
this.tfLine.Size = new System.Drawing.Size(171, 22);
this.tfLine.TabIndex = 8;
this.tfLine.Text = "line";
//
// tabControl2
//
this.tabControl2.Controls.Add(this.tpRequest);
this.tabControl2.Controls.Add(this.tpResponse);
this.tabControl2.Location = new System.Drawing.Point(31, 409);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(867, 267);
this.tabControl2.TabIndex = 10;
//
// tpRequest
//
this.tpRequest.Controls.Add(this.tfRequest);
this.tpRequest.Location = new System.Drawing.Point(4, 25);
this.tpRequest.Name = "tpRequest";
this.tpRequest.Padding = new System.Windows.Forms.Padding(3);
this.tpRequest.Size = new System.Drawing.Size(859, 238);
this.tpRequest.TabIndex = 0;
this.tpRequest.Text = "Request";
this.tpRequest.UseVisualStyleBackColor = true;
//
// tfRequest
//
this.tfRequest.Location = new System.Drawing.Point(3, 6);
this.tfRequest.Multiline = true;
this.tfRequest.Name = "tfRequest";
this.tfRequest.Size = new System.Drawing.Size(853, 229);
this.tfRequest.TabIndex = 1;
//
// tpResponse
//
this.tpResponse.Controls.Add(this.tfResponse);
this.tpResponse.Location = new System.Drawing.Point(4, 25);
this.tpResponse.Name = "tpResponse";
this.tpResponse.Padding = new System.Windows.Forms.Padding(3);
this.tpResponse.Size = new System.Drawing.Size(859, 238);
this.tpResponse.TabIndex = 1;
this.tpResponse.Text = "Response";
this.tpResponse.UseVisualStyleBackColor = true;
//
// tfResponse
//
this.tfResponse.Location = new System.Drawing.Point(11, 6);
this.tfResponse.Multiline = true;
this.tfResponse.Name = "tfResponse";
this.tfResponse.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tfResponse.Size = new System.Drawing.Size(842, 226);
this.tfResponse.TabIndex = 13;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(28, 23);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(35, 17);
this.label14.TabIndex = 11;
this.label14.Text = "host";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(28, 53);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(33, 17);
this.label15.TabIndex = 12;
this.label15.Text = "port";
//
// tbHost
//
this.tbHost.Location = new System.Drawing.Point(118, 20);
this.tbHost.Name = "tbHost";
this.tbHost.Size = new System.Drawing.Size(171, 22);
this.tbHost.TabIndex = 13;
this.tbHost.Text = "localhost";
//
// tbPort
//
this.tbPort.Location = new System.Drawing.Point(118, 50);
this.tbPort.Name = "tbPort";
this.tbPort.Size = new System.Drawing.Size(171, 22);
this.tbPort.TabIndex = 14;
this.tbPort.Text = "33000";
//
// button5
//
this.button5.Location = new System.Drawing.Point(455, 20);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(112, 37);
this.button5.TabIndex = 15;
this.button5.Text = "mesStop";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(17, 24);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(71, 17);
this.label17.TabIndex = 14;
this.label17.Text = "Operation";
//
// requestOperation
//
this.requestOperation.FormattingEnabled = true;
this.requestOperation.Items.AddRange(new object[] {
"set up",
"tear down",
"feeder place",
"feeder remove"});
this.requestOperation.Location = new System.Drawing.Point(137, 22);
this.requestOperation.Name = "requestOperation";
this.requestOperation.Size = new System.Drawing.Size(164, 24);
this.requestOperation.TabIndex = 15;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(910, 679);
this.Controls.Add(this.button5);
this.Controls.Add(this.tbPort);
this.Controls.Add(this.tbHost);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.tfLine);
this.Controls.Add(this.label6);
this.Controls.Add(this.tfMachine);
this.Controls.Add(this.label1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.connectBtn);
this.Name = "Form1";
this.tabControl1.ResumeLayout(false);
this.mesGetconfig.ResumeLayout(false);
this.mesCreateContainer.ResumeLayout(false);
this.mesCreateContainer.PerformLayout();
this.mesCheckContainer.ResumeLayout(false);
this.mesCheckContainer.PerformLayout();
this.mesPlacementProgram.ResumeLayout(false);
this.mesPlacementProgram.PerformLayout();
this.mesInterlocking.ResumeLayout(false);
this.mesInterlocking.PerformLayout();
this.mesPanelInfo.ResumeLayout(false);
this.mesPanelInfo.PerformLayout();
this.tabControl2.ResumeLayout(false);
this.tpRequest.ResumeLayout(false);
this.tpRequest.PerformLayout();
this.tpResponse.ResumeLayout(false);
this.tpResponse.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button connectBtn;
private System.Windows.Forms.Button configBtn;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage mesCreateContainer;
private System.Windows.Forms.TabPage mesCheckContainer;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tfMachine;
private System.Windows.Forms.TextBox tfCreateContainer;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox createOperation;
private System.Windows.Forms.Button send;
private System.Windows.Forms.TextBox tfQuantity;
private System.Windows.Forms.TextBox tfComponent;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TabPage mesPlacementProgram;
private System.Windows.Forms.TabPage mesInterlocking;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tfSerialNumber;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tfLine;
private System.Windows.Forms.TextBox tfPlacementRecipeInterlock;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TabPage mesPanelInfo;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tfPanelInfoSnr;
private System.Windows.Forms.TabPage mesGetconfig;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tpRequest;
private System.Windows.Forms.TabPage tpResponse;
private System.Windows.Forms.TextBox tfRequest;
private System.Windows.Forms.TextBox tfResponse;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tbCheckContId;
private System.Windows.Forms.TextBox tbCheckCompId;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tbCheckInitQty;
private System.Windows.Forms.TextBox tbCheckActualQty;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox tbHost;
private System.Windows.Forms.TextBox tbPort;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TextBox tfActualQty;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox requestOperation;
private System.Windows.Forms.Label label17;
}
}

View File

@@ -0,0 +1,145 @@
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;
}
}
}

View File

@@ -0,0 +1,145 @@
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;
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace com.itac.mes.commonsmt
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace com.itac.mes.commonsmt
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EE34316D-2001-49FF-8DC1-7737D4394E80}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>com.itac.mes.commonsmt</RootNamespace>
<AssemblyName>DemoApplication</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CommonSmtApi">
<HintPath>..\Plugin\lib\CommonSmtApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Plugin\Plugin.csproj">
<Project>{c3d8fc7c-22b2-46f9-842f-19165f078217}</Project>
<Name>Plugin</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EE34316D-2001-49FF-8DC1-7737D4394E80}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>com.itac.mes.commonsmt</RootNamespace>
<AssemblyName>DemoApplication</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="CommonSmtApi">
<HintPath>..\Plugin\lib\CommonSmtApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Plugin\Plugin.csproj">
<Project>{c3d8fc7c-22b2-46f9-842f-19165f078217}</Project>
<Name>Plugin</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,720 @@
namespace com.itac.mes.commonsmt
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gel<65>scht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode f<>r die Designerunterst<73>tzung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor ge<67>ndert werden.
/// </summary>
private void InitializeComponent()
{
this.connectBtn = new System.Windows.Forms.Button();
this.configBtn = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.mesGetconfig = new System.Windows.Forms.TabPage();
this.mesCreateContainer = new System.Windows.Forms.TabPage();
this.tfActualQty = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.tfQuantity = new System.Windows.Forms.TextBox();
this.tfComponent = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.createOperation = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.tfCreateContainer = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.mesCheckContainer = new System.Windows.Forms.TabPage();
this.tbCheckInitQty = new System.Windows.Forms.TextBox();
this.tbCheckActualQty = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.tbCheckCompId = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.tbCheckContId = new System.Windows.Forms.TextBox();
this.send = new System.Windows.Forms.Button();
this.mesPlacementProgram = new System.Windows.Forms.TabPage();
this.button3 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
this.mesInterlocking = new System.Windows.Forms.TabPage();
this.tfPlacementRecipeInterlock = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.tfSerialNumber = new System.Windows.Forms.TextBox();
this.mesPanelInfo = new System.Windows.Forms.TabPage();
this.button4 = new System.Windows.Forms.Button();
this.label9 = new System.Windows.Forms.Label();
this.tfPanelInfoSnr = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.tfMachine = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tfLine = new System.Windows.Forms.TextBox();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tpRequest = new System.Windows.Forms.TabPage();
this.tfRequest = new System.Windows.Forms.TextBox();
this.tpResponse = new System.Windows.Forms.TabPage();
this.tfResponse = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tbHost = new System.Windows.Forms.TextBox();
this.tbPort = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.requestOperation = new System.Windows.Forms.ComboBox();
this.tabControl1.SuspendLayout();
this.mesGetconfig.SuspendLayout();
this.mesCreateContainer.SuspendLayout();
this.mesCheckContainer.SuspendLayout();
this.mesPlacementProgram.SuspendLayout();
this.mesInterlocking.SuspendLayout();
this.mesPanelInfo.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tpRequest.SuspendLayout();
this.tpResponse.SuspendLayout();
this.SuspendLayout();
//
// connectBtn
//
this.connectBtn.Location = new System.Drawing.Point(323, 20);
this.connectBtn.Name = "connectBtn";
this.connectBtn.Size = new System.Drawing.Size(112, 37);
this.connectBtn.TabIndex = 0;
this.connectBtn.Text = "mesStart";
this.connectBtn.UseVisualStyleBackColor = true;
this.connectBtn.Click += new System.EventHandler(this.connectBtn_Click);
//
// configBtn
//
this.configBtn.Location = new System.Drawing.Point(21, 20);
this.configBtn.Name = "configBtn";
this.configBtn.Size = new System.Drawing.Size(179, 37);
this.configBtn.TabIndex = 3;
this.configBtn.Text = "getConfiguration";
this.configBtn.UseVisualStyleBackColor = true;
this.configBtn.Click += new System.EventHandler(this.configBtn_Click);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.mesGetconfig);
this.tabControl1.Controls.Add(this.mesCreateContainer);
this.tabControl1.Controls.Add(this.mesCheckContainer);
this.tabControl1.Controls.Add(this.mesPlacementProgram);
this.tabControl1.Controls.Add(this.mesInterlocking);
this.tabControl1.Controls.Add(this.mesPanelInfo);
this.tabControl1.Location = new System.Drawing.Point(31, 176);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(892, 208);
this.tabControl1.TabIndex = 4;
//
// mesGetconfig
//
this.mesGetconfig.Controls.Add(this.configBtn);
this.mesGetconfig.Location = new System.Drawing.Point(4, 25);
this.mesGetconfig.Name = "mesGetconfig";
this.mesGetconfig.Size = new System.Drawing.Size(884, 179);
this.mesGetconfig.TabIndex = 5;
this.mesGetconfig.Text = "mesGetConfiguration";
this.mesGetconfig.UseVisualStyleBackColor = true;
//
// mesCreateContainer
//
this.mesCreateContainer.Controls.Add(this.tfActualQty);
this.mesCreateContainer.Controls.Add(this.label16);
this.mesCreateContainer.Controls.Add(this.tfQuantity);
this.mesCreateContainer.Controls.Add(this.tfComponent);
this.mesCreateContainer.Controls.Add(this.label4);
this.mesCreateContainer.Controls.Add(this.label3);
this.mesCreateContainer.Controls.Add(this.createOperation);
this.mesCreateContainer.Controls.Add(this.button1);
this.mesCreateContainer.Controls.Add(this.tfCreateContainer);
this.mesCreateContainer.Controls.Add(this.label2);
this.mesCreateContainer.Location = new System.Drawing.Point(4, 25);
this.mesCreateContainer.Name = "mesCreateContainer";
this.mesCreateContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCreateContainer.Size = new System.Drawing.Size(884, 179);
this.mesCreateContainer.TabIndex = 0;
this.mesCreateContainer.Text = "mesCreateContainer";
this.mesCreateContainer.UseVisualStyleBackColor = true;
//
// tfActualQty
//
this.tfActualQty.Location = new System.Drawing.Point(136, 160);
this.tfActualQty.Name = "tfActualQty";
this.tfActualQty.Size = new System.Drawing.Size(162, 22);
this.tfActualQty.TabIndex = 10;
this.tfActualQty.Text = "1500";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(31, 156);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(100, 17);
this.label16.TabIndex = 9;
this.label16.Text = "actual quantity";
//
// tfQuantity
//
this.tfQuantity.Location = new System.Drawing.Point(136, 127);
this.tfQuantity.Name = "tfQuantity";
this.tfQuantity.Size = new System.Drawing.Size(162, 22);
this.tfQuantity.TabIndex = 8;
this.tfQuantity.Text = "2000";
//
// tfComponent
//
this.tfComponent.Location = new System.Drawing.Point(137, 89);
this.tfComponent.Name = "tfComponent";
this.tfComponent.Size = new System.Drawing.Size(162, 22);
this.tfComponent.TabIndex = 7;
this.tfComponent.Text = "0402R";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(28, 121);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(94, 17);
this.label4.TabIndex = 6;
this.label4.Text = "initial quantity";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(28, 89);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(58, 17);
this.label3.TabIndex = 5;
this.label3.Text = "material";
//
// createOperation
//
this.createOperation.FormattingEnabled = true;
this.createOperation.Items.AddRange(new object[] {
"REQUEST_MATERIAL",
"CREATE_MATERIAL"});
this.createOperation.Location = new System.Drawing.Point(21, 18);
this.createOperation.Name = "createOperation";
this.createOperation.Size = new System.Drawing.Size(279, 24);
this.createOperation.TabIndex = 4;
//
// button1
//
this.button1.Location = new System.Drawing.Point(327, 18);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 28);
this.button1.TabIndex = 2;
this.button1.Text = "send";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.createContainer_Click);
//
// tfCreateContainer
//
this.tfCreateContainer.Location = new System.Drawing.Point(135, 57);
this.tfCreateContainer.Name = "tfCreateContainer";
this.tfCreateContainer.Size = new System.Drawing.Size(165, 22);
this.tfCreateContainer.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 57);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(87, 17);
this.label2.TabIndex = 0;
this.label2.Text = "ContainerNo";
//
// mesCheckContainer
//
this.mesCheckContainer.Controls.Add(this.requestOperation);
this.mesCheckContainer.Controls.Add(this.label17);
this.mesCheckContainer.Controls.Add(this.tbCheckInitQty);
this.mesCheckContainer.Controls.Add(this.tbCheckActualQty);
this.mesCheckContainer.Controls.Add(this.label13);
this.mesCheckContainer.Controls.Add(this.label12);
this.mesCheckContainer.Controls.Add(this.tbCheckCompId);
this.mesCheckContainer.Controls.Add(this.label11);
this.mesCheckContainer.Controls.Add(this.label10);
this.mesCheckContainer.Controls.Add(this.tbCheckContId);
this.mesCheckContainer.Controls.Add(this.send);
this.mesCheckContainer.Location = new System.Drawing.Point(4, 25);
this.mesCheckContainer.Name = "mesCheckContainer";
this.mesCheckContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCheckContainer.Size = new System.Drawing.Size(884, 179);
this.mesCheckContainer.TabIndex = 1;
this.mesCheckContainer.Text = "mesCheckContainer";
this.mesCheckContainer.UseVisualStyleBackColor = true;
//
// tbCheckInitQty
//
this.tbCheckInitQty.Location = new System.Drawing.Point(137, 164);
this.tbCheckInitQty.Name = "tbCheckInitQty";
this.tbCheckInitQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckInitQty.TabIndex = 13;
this.tbCheckInitQty.Text = "500";
//
// tbCheckActualQty
//
this.tbCheckActualQty.Location = new System.Drawing.Point(137, 129);
this.tbCheckActualQty.Name = "tbCheckActualQty";
this.tbCheckActualQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckActualQty.TabIndex = 12;
this.tbCheckActualQty.Text = "500";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(9, 167);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(66, 17);
this.label13.TabIndex = 11;
this.label13.Text = "initial Qty";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(9, 132);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(72, 17);
this.label12.TabIndex = 10;
this.label12.Text = "actual Qty";
//
// tbCheckCompId
//
this.tbCheckCompId.Location = new System.Drawing.Point(137, 95);
this.tbCheckCompId.Name = "tbCheckCompId";
this.tbCheckCompId.Size = new System.Drawing.Size(165, 22);
this.tbCheckCompId.TabIndex = 9;
this.tbCheckCompId.Text = "Part01";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(9, 98);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(89, 17);
this.label11.TabIndex = 8;
this.label11.Text = "componentId";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(9, 63);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(78, 17);
this.label10.TabIndex = 7;
this.label10.Text = "containerId";
//
// tbCheckContId
//
this.tbCheckContId.Location = new System.Drawing.Point(137, 60);
this.tbCheckContId.Name = "tbCheckContId";
this.tbCheckContId.Size = new System.Drawing.Size(165, 22);
this.tbCheckContId.TabIndex = 6;
this.tbCheckContId.Text = "000106";
//
// send
//
this.send.Location = new System.Drawing.Point(388, 20);
this.send.Name = "send";
this.send.Size = new System.Drawing.Size(171, 38);
this.send.TabIndex = 5;
this.send.Text = "send";
this.send.UseVisualStyleBackColor = true;
this.send.Click += new System.EventHandler(this.checkContainer_Click);
//
// mesPlacementProgram
//
this.mesPlacementProgram.Controls.Add(this.button3);
this.mesPlacementProgram.Controls.Add(this.label8);
this.mesPlacementProgram.Location = new System.Drawing.Point(4, 25);
this.mesPlacementProgram.Name = "mesPlacementProgram";
this.mesPlacementProgram.Size = new System.Drawing.Size(884, 179);
this.mesPlacementProgram.TabIndex = 2;
this.mesPlacementProgram.Text = "mesPlacementProgramCheck";
this.mesPlacementProgram.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Location = new System.Drawing.Point(377, 19);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(193, 48);
this.button3.TabIndex = 1;
this.button3.Text = "send";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.placementRecipeCheck_Click);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(19, 21);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(133, 17);
this.label8.TabIndex = 0;
this.label8.Text = "fix placement recipe";
//
// mesInterlocking
//
this.mesInterlocking.Controls.Add(this.tfPlacementRecipeInterlock);
this.mesInterlocking.Controls.Add(this.label7);
this.mesInterlocking.Controls.Add(this.button2);
this.mesInterlocking.Controls.Add(this.label5);
this.mesInterlocking.Controls.Add(this.tfSerialNumber);
this.mesInterlocking.Location = new System.Drawing.Point(4, 25);
this.mesInterlocking.Name = "mesInterlocking";
this.mesInterlocking.Size = new System.Drawing.Size(884, 179);
this.mesInterlocking.TabIndex = 3;
this.mesInterlocking.Text = "mesInterlocking";
this.mesInterlocking.UseVisualStyleBackColor = true;
//
// tfPlacementRecipeInterlock
//
this.tfPlacementRecipeInterlock.Location = new System.Drawing.Point(175, 60);
this.tfPlacementRecipeInterlock.Name = "tfPlacementRecipeInterlock";
this.tfPlacementRecipeInterlock.Size = new System.Drawing.Size(242, 22);
this.tfPlacementRecipeInterlock.TabIndex = 5;
this.tfPlacementRecipeInterlock.Text = "SXCPP_TESTA_Top";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(19, 62);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(121, 17);
this.label7.TabIndex = 4;
this.label7.Text = "placement Recipe";
//
// button2
//
this.button2.Location = new System.Drawing.Point(464, 25);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(191, 22);
this.button2.TabIndex = 2;
this.button2.Text = "send";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.interlocking_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(19, 30);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(94, 17);
this.label5.TabIndex = 1;
this.label5.Text = "serial number";
//
// tfSerialNumber
//
this.tfSerialNumber.Location = new System.Drawing.Point(171, 25);
this.tfSerialNumber.Name = "tfSerialNumber";
this.tfSerialNumber.Size = new System.Drawing.Size(247, 22);
this.tfSerialNumber.TabIndex = 0;
this.tfSerialNumber.Text = "SMT004469";
//
// mesPanelInfo
//
this.mesPanelInfo.Controls.Add(this.button4);
this.mesPanelInfo.Controls.Add(this.label9);
this.mesPanelInfo.Controls.Add(this.tfPanelInfoSnr);
this.mesPanelInfo.Location = new System.Drawing.Point(4, 25);
this.mesPanelInfo.Name = "mesPanelInfo";
this.mesPanelInfo.Size = new System.Drawing.Size(884, 179);
this.mesPanelInfo.TabIndex = 4;
this.mesPanelInfo.Text = "mesPanelInfo";
this.mesPanelInfo.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(465, 35);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(191, 22);
this.button4.TabIndex = 5;
this.button4.Text = "send";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.panelInfo_Click);
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(20, 40);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(94, 17);
this.label9.TabIndex = 4;
this.label9.Text = "serial number";
//
// tfPanelInfoSnr
//
this.tfPanelInfoSnr.Location = new System.Drawing.Point(172, 35);
this.tfPanelInfoSnr.Name = "tfPanelInfoSnr";
this.tfPanelInfoSnr.Size = new System.Drawing.Size(247, 22);
this.tfPanelInfoSnr.TabIndex = 3;
this.tfPanelInfoSnr.Text = "C160727436";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(28, 93);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 17);
this.label1.TabIndex = 5;
this.label1.Text = "machine";
//
// tfMachine
//
this.tfMachine.Location = new System.Drawing.Point(118, 90);
this.tfMachine.Name = "tfMachine";
this.tfMachine.Size = new System.Drawing.Size(171, 22);
this.tfMachine.TabIndex = 6;
this.tfMachine.Text = "machine";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(28, 125);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(30, 17);
this.label6.TabIndex = 7;
this.label6.Text = "line";
//
// tfLine
//
this.tfLine.Location = new System.Drawing.Point(118, 122);
this.tfLine.Name = "tfLine";
this.tfLine.Size = new System.Drawing.Size(171, 22);
this.tfLine.TabIndex = 8;
this.tfLine.Text = "line";
//
// tabControl2
//
this.tabControl2.Controls.Add(this.tpRequest);
this.tabControl2.Controls.Add(this.tpResponse);
this.tabControl2.Location = new System.Drawing.Point(31, 409);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(867, 267);
this.tabControl2.TabIndex = 10;
//
// tpRequest
//
this.tpRequest.Controls.Add(this.tfRequest);
this.tpRequest.Location = new System.Drawing.Point(4, 25);
this.tpRequest.Name = "tpRequest";
this.tpRequest.Padding = new System.Windows.Forms.Padding(3);
this.tpRequest.Size = new System.Drawing.Size(859, 238);
this.tpRequest.TabIndex = 0;
this.tpRequest.Text = "Request";
this.tpRequest.UseVisualStyleBackColor = true;
//
// tfRequest
//
this.tfRequest.Location = new System.Drawing.Point(3, 6);
this.tfRequest.Multiline = true;
this.tfRequest.Name = "tfRequest";
this.tfRequest.Size = new System.Drawing.Size(853, 229);
this.tfRequest.TabIndex = 1;
//
// tpResponse
//
this.tpResponse.Controls.Add(this.tfResponse);
this.tpResponse.Location = new System.Drawing.Point(4, 25);
this.tpResponse.Name = "tpResponse";
this.tpResponse.Padding = new System.Windows.Forms.Padding(3);
this.tpResponse.Size = new System.Drawing.Size(859, 238);
this.tpResponse.TabIndex = 1;
this.tpResponse.Text = "Response";
this.tpResponse.UseVisualStyleBackColor = true;
//
// tfResponse
//
this.tfResponse.Location = new System.Drawing.Point(11, 6);
this.tfResponse.Multiline = true;
this.tfResponse.Name = "tfResponse";
this.tfResponse.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tfResponse.Size = new System.Drawing.Size(842, 226);
this.tfResponse.TabIndex = 13;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(28, 23);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(35, 17);
this.label14.TabIndex = 11;
this.label14.Text = "host";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(28, 53);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(33, 17);
this.label15.TabIndex = 12;
this.label15.Text = "port";
//
// tbHost
//
this.tbHost.Location = new System.Drawing.Point(118, 20);
this.tbHost.Name = "tbHost";
this.tbHost.Size = new System.Drawing.Size(171, 22);
this.tbHost.TabIndex = 13;
this.tbHost.Text = "localhost";
//
// tbPort
//
this.tbPort.Location = new System.Drawing.Point(118, 50);
this.tbPort.Name = "tbPort";
this.tbPort.Size = new System.Drawing.Size(171, 22);
this.tbPort.TabIndex = 14;
this.tbPort.Text = "33000";
//
// button5
//
this.button5.Location = new System.Drawing.Point(455, 20);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(112, 37);
this.button5.TabIndex = 15;
this.button5.Text = "mesStop";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(17, 24);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(71, 17);
this.label17.TabIndex = 14;
this.label17.Text = "Operation";
//
// requestOperation
//
this.requestOperation.FormattingEnabled = true;
this.requestOperation.Items.AddRange(new object[] {
"set up",
"tear down",
"feeder place",
"feeder remove"});
this.requestOperation.Location = new System.Drawing.Point(137, 22);
this.requestOperation.Name = "requestOperation";
this.requestOperation.Size = new System.Drawing.Size(164, 24);
this.requestOperation.TabIndex = 15;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(910, 679);
this.Controls.Add(this.button5);
this.Controls.Add(this.tbPort);
this.Controls.Add(this.tbHost);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.tfLine);
this.Controls.Add(this.label6);
this.Controls.Add(this.tfMachine);
this.Controls.Add(this.label1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.connectBtn);
this.Name = "Form1";
this.tabControl1.ResumeLayout(false);
this.mesGetconfig.ResumeLayout(false);
this.mesCreateContainer.ResumeLayout(false);
this.mesCreateContainer.PerformLayout();
this.mesCheckContainer.ResumeLayout(false);
this.mesCheckContainer.PerformLayout();
this.mesPlacementProgram.ResumeLayout(false);
this.mesPlacementProgram.PerformLayout();
this.mesInterlocking.ResumeLayout(false);
this.mesInterlocking.PerformLayout();
this.mesPanelInfo.ResumeLayout(false);
this.mesPanelInfo.PerformLayout();
this.tabControl2.ResumeLayout(false);
this.tpRequest.ResumeLayout(false);
this.tpRequest.PerformLayout();
this.tpResponse.ResumeLayout(false);
this.tpResponse.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button connectBtn;
private System.Windows.Forms.Button configBtn;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage mesCreateContainer;
private System.Windows.Forms.TabPage mesCheckContainer;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tfMachine;
private System.Windows.Forms.TextBox tfCreateContainer;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox createOperation;
private System.Windows.Forms.Button send;
private System.Windows.Forms.TextBox tfQuantity;
private System.Windows.Forms.TextBox tfComponent;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TabPage mesPlacementProgram;
private System.Windows.Forms.TabPage mesInterlocking;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tfSerialNumber;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tfLine;
private System.Windows.Forms.TextBox tfPlacementRecipeInterlock;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TabPage mesPanelInfo;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tfPanelInfoSnr;
private System.Windows.Forms.TabPage mesGetconfig;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tpRequest;
private System.Windows.Forms.TabPage tpResponse;
private System.Windows.Forms.TextBox tfRequest;
private System.Windows.Forms.TextBox tfResponse;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tbCheckContId;
private System.Windows.Forms.TextBox tbCheckCompId;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tbCheckInitQty;
private System.Windows.Forms.TextBox tbCheckActualQty;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox tbHost;
private System.Windows.Forms.TextBox tbPort;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TextBox tfActualQty;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox requestOperation;
private System.Windows.Forms.Label label17;
}
}

View File

@@ -0,0 +1,720 @@
namespace com.itac.mes.commonsmt
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gel<65>scht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode f<>r die Designerunterst<73>tzung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor ge<67>ndert werden.
/// </summary>
private void InitializeComponent()
{
this.connectBtn = new System.Windows.Forms.Button();
this.configBtn = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.mesGetconfig = new System.Windows.Forms.TabPage();
this.mesCreateContainer = new System.Windows.Forms.TabPage();
this.tfActualQty = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.tfQuantity = new System.Windows.Forms.TextBox();
this.tfComponent = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.createOperation = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.tfCreateContainer = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.mesCheckContainer = new System.Windows.Forms.TabPage();
this.tbCheckInitQty = new System.Windows.Forms.TextBox();
this.tbCheckActualQty = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.tbCheckCompId = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.tbCheckContId = new System.Windows.Forms.TextBox();
this.send = new System.Windows.Forms.Button();
this.mesPlacementProgram = new System.Windows.Forms.TabPage();
this.button3 = new System.Windows.Forms.Button();
this.label8 = new System.Windows.Forms.Label();
this.mesInterlocking = new System.Windows.Forms.TabPage();
this.tfPlacementRecipeInterlock = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.tfSerialNumber = new System.Windows.Forms.TextBox();
this.mesPanelInfo = new System.Windows.Forms.TabPage();
this.button4 = new System.Windows.Forms.Button();
this.label9 = new System.Windows.Forms.Label();
this.tfPanelInfoSnr = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.tfMachine = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tfLine = new System.Windows.Forms.TextBox();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tpRequest = new System.Windows.Forms.TabPage();
this.tfRequest = new System.Windows.Forms.TextBox();
this.tpResponse = new System.Windows.Forms.TabPage();
this.tfResponse = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tbHost = new System.Windows.Forms.TextBox();
this.tbPort = new System.Windows.Forms.TextBox();
this.button5 = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.requestOperation = new System.Windows.Forms.ComboBox();
this.tabControl1.SuspendLayout();
this.mesGetconfig.SuspendLayout();
this.mesCreateContainer.SuspendLayout();
this.mesCheckContainer.SuspendLayout();
this.mesPlacementProgram.SuspendLayout();
this.mesInterlocking.SuspendLayout();
this.mesPanelInfo.SuspendLayout();
this.tabControl2.SuspendLayout();
this.tpRequest.SuspendLayout();
this.tpResponse.SuspendLayout();
this.SuspendLayout();
//
// connectBtn
//
this.connectBtn.Location = new System.Drawing.Point(323, 20);
this.connectBtn.Name = "connectBtn";
this.connectBtn.Size = new System.Drawing.Size(112, 37);
this.connectBtn.TabIndex = 0;
this.connectBtn.Text = "mesStart";
this.connectBtn.UseVisualStyleBackColor = true;
this.connectBtn.Click += new System.EventHandler(this.connectBtn_Click);
//
// configBtn
//
this.configBtn.Location = new System.Drawing.Point(21, 20);
this.configBtn.Name = "configBtn";
this.configBtn.Size = new System.Drawing.Size(179, 37);
this.configBtn.TabIndex = 3;
this.configBtn.Text = "getConfiguration";
this.configBtn.UseVisualStyleBackColor = true;
this.configBtn.Click += new System.EventHandler(this.configBtn_Click);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.mesGetconfig);
this.tabControl1.Controls.Add(this.mesCreateContainer);
this.tabControl1.Controls.Add(this.mesCheckContainer);
this.tabControl1.Controls.Add(this.mesPlacementProgram);
this.tabControl1.Controls.Add(this.mesInterlocking);
this.tabControl1.Controls.Add(this.mesPanelInfo);
this.tabControl1.Location = new System.Drawing.Point(31, 176);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(892, 208);
this.tabControl1.TabIndex = 4;
//
// mesGetconfig
//
this.mesGetconfig.Controls.Add(this.configBtn);
this.mesGetconfig.Location = new System.Drawing.Point(4, 25);
this.mesGetconfig.Name = "mesGetconfig";
this.mesGetconfig.Size = new System.Drawing.Size(884, 179);
this.mesGetconfig.TabIndex = 5;
this.mesGetconfig.Text = "mesGetConfiguration";
this.mesGetconfig.UseVisualStyleBackColor = true;
//
// mesCreateContainer
//
this.mesCreateContainer.Controls.Add(this.tfActualQty);
this.mesCreateContainer.Controls.Add(this.label16);
this.mesCreateContainer.Controls.Add(this.tfQuantity);
this.mesCreateContainer.Controls.Add(this.tfComponent);
this.mesCreateContainer.Controls.Add(this.label4);
this.mesCreateContainer.Controls.Add(this.label3);
this.mesCreateContainer.Controls.Add(this.createOperation);
this.mesCreateContainer.Controls.Add(this.button1);
this.mesCreateContainer.Controls.Add(this.tfCreateContainer);
this.mesCreateContainer.Controls.Add(this.label2);
this.mesCreateContainer.Location = new System.Drawing.Point(4, 25);
this.mesCreateContainer.Name = "mesCreateContainer";
this.mesCreateContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCreateContainer.Size = new System.Drawing.Size(884, 179);
this.mesCreateContainer.TabIndex = 0;
this.mesCreateContainer.Text = "mesCreateContainer";
this.mesCreateContainer.UseVisualStyleBackColor = true;
//
// tfActualQty
//
this.tfActualQty.Location = new System.Drawing.Point(136, 160);
this.tfActualQty.Name = "tfActualQty";
this.tfActualQty.Size = new System.Drawing.Size(162, 22);
this.tfActualQty.TabIndex = 10;
this.tfActualQty.Text = "1500";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(31, 156);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(100, 17);
this.label16.TabIndex = 9;
this.label16.Text = "actual quantity";
//
// tfQuantity
//
this.tfQuantity.Location = new System.Drawing.Point(136, 127);
this.tfQuantity.Name = "tfQuantity";
this.tfQuantity.Size = new System.Drawing.Size(162, 22);
this.tfQuantity.TabIndex = 8;
this.tfQuantity.Text = "2000";
//
// tfComponent
//
this.tfComponent.Location = new System.Drawing.Point(137, 89);
this.tfComponent.Name = "tfComponent";
this.tfComponent.Size = new System.Drawing.Size(162, 22);
this.tfComponent.TabIndex = 7;
this.tfComponent.Text = "0402R";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(28, 121);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(94, 17);
this.label4.TabIndex = 6;
this.label4.Text = "initial quantity";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(28, 89);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(58, 17);
this.label3.TabIndex = 5;
this.label3.Text = "material";
//
// createOperation
//
this.createOperation.FormattingEnabled = true;
this.createOperation.Items.AddRange(new object[] {
"REQUEST_MATERIAL",
"CREATE_MATERIAL"});
this.createOperation.Location = new System.Drawing.Point(21, 18);
this.createOperation.Name = "createOperation";
this.createOperation.Size = new System.Drawing.Size(279, 24);
this.createOperation.TabIndex = 4;
//
// button1
//
this.button1.Location = new System.Drawing.Point(327, 18);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 28);
this.button1.TabIndex = 2;
this.button1.Text = "send";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.createContainer_Click);
//
// tfCreateContainer
//
this.tfCreateContainer.Location = new System.Drawing.Point(135, 57);
this.tfCreateContainer.Name = "tfCreateContainer";
this.tfCreateContainer.Size = new System.Drawing.Size(165, 22);
this.tfCreateContainer.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(18, 57);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(87, 17);
this.label2.TabIndex = 0;
this.label2.Text = "ContainerNo";
//
// mesCheckContainer
//
this.mesCheckContainer.Controls.Add(this.requestOperation);
this.mesCheckContainer.Controls.Add(this.label17);
this.mesCheckContainer.Controls.Add(this.tbCheckInitQty);
this.mesCheckContainer.Controls.Add(this.tbCheckActualQty);
this.mesCheckContainer.Controls.Add(this.label13);
this.mesCheckContainer.Controls.Add(this.label12);
this.mesCheckContainer.Controls.Add(this.tbCheckCompId);
this.mesCheckContainer.Controls.Add(this.label11);
this.mesCheckContainer.Controls.Add(this.label10);
this.mesCheckContainer.Controls.Add(this.tbCheckContId);
this.mesCheckContainer.Controls.Add(this.send);
this.mesCheckContainer.Location = new System.Drawing.Point(4, 25);
this.mesCheckContainer.Name = "mesCheckContainer";
this.mesCheckContainer.Padding = new System.Windows.Forms.Padding(3);
this.mesCheckContainer.Size = new System.Drawing.Size(884, 179);
this.mesCheckContainer.TabIndex = 1;
this.mesCheckContainer.Text = "mesCheckContainer";
this.mesCheckContainer.UseVisualStyleBackColor = true;
//
// tbCheckInitQty
//
this.tbCheckInitQty.Location = new System.Drawing.Point(137, 164);
this.tbCheckInitQty.Name = "tbCheckInitQty";
this.tbCheckInitQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckInitQty.TabIndex = 13;
this.tbCheckInitQty.Text = "500";
//
// tbCheckActualQty
//
this.tbCheckActualQty.Location = new System.Drawing.Point(137, 129);
this.tbCheckActualQty.Name = "tbCheckActualQty";
this.tbCheckActualQty.Size = new System.Drawing.Size(165, 22);
this.tbCheckActualQty.TabIndex = 12;
this.tbCheckActualQty.Text = "500";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(9, 167);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(66, 17);
this.label13.TabIndex = 11;
this.label13.Text = "initial Qty";
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(9, 132);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(72, 17);
this.label12.TabIndex = 10;
this.label12.Text = "actual Qty";
//
// tbCheckCompId
//
this.tbCheckCompId.Location = new System.Drawing.Point(137, 95);
this.tbCheckCompId.Name = "tbCheckCompId";
this.tbCheckCompId.Size = new System.Drawing.Size(165, 22);
this.tbCheckCompId.TabIndex = 9;
this.tbCheckCompId.Text = "Part01";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(9, 98);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(89, 17);
this.label11.TabIndex = 8;
this.label11.Text = "componentId";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(9, 63);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(78, 17);
this.label10.TabIndex = 7;
this.label10.Text = "containerId";
//
// tbCheckContId
//
this.tbCheckContId.Location = new System.Drawing.Point(137, 60);
this.tbCheckContId.Name = "tbCheckContId";
this.tbCheckContId.Size = new System.Drawing.Size(165, 22);
this.tbCheckContId.TabIndex = 6;
this.tbCheckContId.Text = "000106";
//
// send
//
this.send.Location = new System.Drawing.Point(388, 20);
this.send.Name = "send";
this.send.Size = new System.Drawing.Size(171, 38);
this.send.TabIndex = 5;
this.send.Text = "send";
this.send.UseVisualStyleBackColor = true;
this.send.Click += new System.EventHandler(this.checkContainer_Click);
//
// mesPlacementProgram
//
this.mesPlacementProgram.Controls.Add(this.button3);
this.mesPlacementProgram.Controls.Add(this.label8);
this.mesPlacementProgram.Location = new System.Drawing.Point(4, 25);
this.mesPlacementProgram.Name = "mesPlacementProgram";
this.mesPlacementProgram.Size = new System.Drawing.Size(884, 179);
this.mesPlacementProgram.TabIndex = 2;
this.mesPlacementProgram.Text = "mesPlacementProgramCheck";
this.mesPlacementProgram.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Location = new System.Drawing.Point(377, 19);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(193, 48);
this.button3.TabIndex = 1;
this.button3.Text = "send";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.placementRecipeCheck_Click);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(19, 21);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(133, 17);
this.label8.TabIndex = 0;
this.label8.Text = "fix placement recipe";
//
// mesInterlocking
//
this.mesInterlocking.Controls.Add(this.tfPlacementRecipeInterlock);
this.mesInterlocking.Controls.Add(this.label7);
this.mesInterlocking.Controls.Add(this.button2);
this.mesInterlocking.Controls.Add(this.label5);
this.mesInterlocking.Controls.Add(this.tfSerialNumber);
this.mesInterlocking.Location = new System.Drawing.Point(4, 25);
this.mesInterlocking.Name = "mesInterlocking";
this.mesInterlocking.Size = new System.Drawing.Size(884, 179);
this.mesInterlocking.TabIndex = 3;
this.mesInterlocking.Text = "mesInterlocking";
this.mesInterlocking.UseVisualStyleBackColor = true;
//
// tfPlacementRecipeInterlock
//
this.tfPlacementRecipeInterlock.Location = new System.Drawing.Point(175, 60);
this.tfPlacementRecipeInterlock.Name = "tfPlacementRecipeInterlock";
this.tfPlacementRecipeInterlock.Size = new System.Drawing.Size(242, 22);
this.tfPlacementRecipeInterlock.TabIndex = 5;
this.tfPlacementRecipeInterlock.Text = "SXCPP_TESTA_Top";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(19, 62);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(121, 17);
this.label7.TabIndex = 4;
this.label7.Text = "placement Recipe";
//
// button2
//
this.button2.Location = new System.Drawing.Point(464, 25);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(191, 22);
this.button2.TabIndex = 2;
this.button2.Text = "send";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.interlocking_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(19, 30);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(94, 17);
this.label5.TabIndex = 1;
this.label5.Text = "serial number";
//
// tfSerialNumber
//
this.tfSerialNumber.Location = new System.Drawing.Point(171, 25);
this.tfSerialNumber.Name = "tfSerialNumber";
this.tfSerialNumber.Size = new System.Drawing.Size(247, 22);
this.tfSerialNumber.TabIndex = 0;
this.tfSerialNumber.Text = "SMT004469";
//
// mesPanelInfo
//
this.mesPanelInfo.Controls.Add(this.button4);
this.mesPanelInfo.Controls.Add(this.label9);
this.mesPanelInfo.Controls.Add(this.tfPanelInfoSnr);
this.mesPanelInfo.Location = new System.Drawing.Point(4, 25);
this.mesPanelInfo.Name = "mesPanelInfo";
this.mesPanelInfo.Size = new System.Drawing.Size(884, 179);
this.mesPanelInfo.TabIndex = 4;
this.mesPanelInfo.Text = "mesPanelInfo";
this.mesPanelInfo.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(465, 35);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(191, 22);
this.button4.TabIndex = 5;
this.button4.Text = "send";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.panelInfo_Click);
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(20, 40);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(94, 17);
this.label9.TabIndex = 4;
this.label9.Text = "serial number";
//
// tfPanelInfoSnr
//
this.tfPanelInfoSnr.Location = new System.Drawing.Point(172, 35);
this.tfPanelInfoSnr.Name = "tfPanelInfoSnr";
this.tfPanelInfoSnr.Size = new System.Drawing.Size(247, 22);
this.tfPanelInfoSnr.TabIndex = 3;
this.tfPanelInfoSnr.Text = "C160727436";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(28, 93);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(61, 17);
this.label1.TabIndex = 5;
this.label1.Text = "machine";
//
// tfMachine
//
this.tfMachine.Location = new System.Drawing.Point(118, 90);
this.tfMachine.Name = "tfMachine";
this.tfMachine.Size = new System.Drawing.Size(171, 22);
this.tfMachine.TabIndex = 6;
this.tfMachine.Text = "machine";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(28, 125);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(30, 17);
this.label6.TabIndex = 7;
this.label6.Text = "line";
//
// tfLine
//
this.tfLine.Location = new System.Drawing.Point(118, 122);
this.tfLine.Name = "tfLine";
this.tfLine.Size = new System.Drawing.Size(171, 22);
this.tfLine.TabIndex = 8;
this.tfLine.Text = "line";
//
// tabControl2
//
this.tabControl2.Controls.Add(this.tpRequest);
this.tabControl2.Controls.Add(this.tpResponse);
this.tabControl2.Location = new System.Drawing.Point(31, 409);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(867, 267);
this.tabControl2.TabIndex = 10;
//
// tpRequest
//
this.tpRequest.Controls.Add(this.tfRequest);
this.tpRequest.Location = new System.Drawing.Point(4, 25);
this.tpRequest.Name = "tpRequest";
this.tpRequest.Padding = new System.Windows.Forms.Padding(3);
this.tpRequest.Size = new System.Drawing.Size(859, 238);
this.tpRequest.TabIndex = 0;
this.tpRequest.Text = "Request";
this.tpRequest.UseVisualStyleBackColor = true;
//
// tfRequest
//
this.tfRequest.Location = new System.Drawing.Point(3, 6);
this.tfRequest.Multiline = true;
this.tfRequest.Name = "tfRequest";
this.tfRequest.Size = new System.Drawing.Size(853, 229);
this.tfRequest.TabIndex = 1;
//
// tpResponse
//
this.tpResponse.Controls.Add(this.tfResponse);
this.tpResponse.Location = new System.Drawing.Point(4, 25);
this.tpResponse.Name = "tpResponse";
this.tpResponse.Padding = new System.Windows.Forms.Padding(3);
this.tpResponse.Size = new System.Drawing.Size(859, 238);
this.tpResponse.TabIndex = 1;
this.tpResponse.Text = "Response";
this.tpResponse.UseVisualStyleBackColor = true;
//
// tfResponse
//
this.tfResponse.Location = new System.Drawing.Point(11, 6);
this.tfResponse.Multiline = true;
this.tfResponse.Name = "tfResponse";
this.tfResponse.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tfResponse.Size = new System.Drawing.Size(842, 226);
this.tfResponse.TabIndex = 13;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(28, 23);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(35, 17);
this.label14.TabIndex = 11;
this.label14.Text = "host";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(28, 53);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(33, 17);
this.label15.TabIndex = 12;
this.label15.Text = "port";
//
// tbHost
//
this.tbHost.Location = new System.Drawing.Point(118, 20);
this.tbHost.Name = "tbHost";
this.tbHost.Size = new System.Drawing.Size(171, 22);
this.tbHost.TabIndex = 13;
this.tbHost.Text = "localhost";
//
// tbPort
//
this.tbPort.Location = new System.Drawing.Point(118, 50);
this.tbPort.Name = "tbPort";
this.tbPort.Size = new System.Drawing.Size(171, 22);
this.tbPort.TabIndex = 14;
this.tbPort.Text = "33000";
//
// button5
//
this.button5.Location = new System.Drawing.Point(455, 20);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(112, 37);
this.button5.TabIndex = 15;
this.button5.Text = "mesStop";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(17, 24);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(71, 17);
this.label17.TabIndex = 14;
this.label17.Text = "Operation";
//
// requestOperation
//
this.requestOperation.FormattingEnabled = true;
this.requestOperation.Items.AddRange(new object[] {
"set up",
"tear down",
"feeder place",
"feeder remove"});
this.requestOperation.Location = new System.Drawing.Point(137, 22);
this.requestOperation.Name = "requestOperation";
this.requestOperation.Size = new System.Drawing.Size(164, 24);
this.requestOperation.TabIndex = 15;
//
// Form1
//
this.ClientSize = new System.Drawing.Size(910, 679);
this.Controls.Add(this.button5);
this.Controls.Add(this.tbPort);
this.Controls.Add(this.tbHost);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.tabControl2);
this.Controls.Add(this.tfLine);
this.Controls.Add(this.label6);
this.Controls.Add(this.tfMachine);
this.Controls.Add(this.label1);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.connectBtn);
this.Name = "Form1";
this.tabControl1.ResumeLayout(false);
this.mesGetconfig.ResumeLayout(false);
this.mesCreateContainer.ResumeLayout(false);
this.mesCreateContainer.PerformLayout();
this.mesCheckContainer.ResumeLayout(false);
this.mesCheckContainer.PerformLayout();
this.mesPlacementProgram.ResumeLayout(false);
this.mesPlacementProgram.PerformLayout();
this.mesInterlocking.ResumeLayout(false);
this.mesInterlocking.PerformLayout();
this.mesPanelInfo.ResumeLayout(false);
this.mesPanelInfo.PerformLayout();
this.tabControl2.ResumeLayout(false);
this.tpRequest.ResumeLayout(false);
this.tpRequest.PerformLayout();
this.tpResponse.ResumeLayout(false);
this.tpResponse.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button connectBtn;
private System.Windows.Forms.Button configBtn;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage mesCreateContainer;
private System.Windows.Forms.TabPage mesCheckContainer;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tfMachine;
private System.Windows.Forms.TextBox tfCreateContainer;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox createOperation;
private System.Windows.Forms.Button send;
private System.Windows.Forms.TextBox tfQuantity;
private System.Windows.Forms.TextBox tfComponent;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TabPage mesPlacementProgram;
private System.Windows.Forms.TabPage mesInterlocking;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tfSerialNumber;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tfLine;
private System.Windows.Forms.TextBox tfPlacementRecipeInterlock;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TabPage mesPanelInfo;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tfPanelInfoSnr;
private System.Windows.Forms.TabPage mesGetconfig;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tpRequest;
private System.Windows.Forms.TabPage tpResponse;
private System.Windows.Forms.TextBox tfRequest;
private System.Windows.Forms.TextBox tfResponse;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tbCheckContId;
private System.Windows.Forms.TextBox tbCheckCompId;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tbCheckInitQty;
private System.Windows.Forms.TextBox tbCheckActualQty;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.TextBox tbHost;
private System.Windows.Forms.TextBox tbPort;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.TextBox tfActualQty;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.ComboBox requestOperation;
private System.Windows.Forms.Label label17;
}
}

View File

@@ -0,0 +1,145 @@
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;
}
}
}

View File

@@ -0,0 +1,145 @@
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;
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace com.itac.mes.commonsmt
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright (c) 2015 iTAC Software AG, Germany. All Rights Reserved.
*
* This software is protected by copyright. Under no circumstances may any part of this file in any form be copied,
* printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language
* without the written permission of iTAC Software AG.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace com.itac.mes.commonsmt
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("WindowsFormsApplication1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("WindowsFormsApplication1")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("3ad45209-68ef-46de-ba00-2999d33b4e90")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("WindowsFormsApplication1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("WindowsFormsApplication1")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("3ad45209-68ef-46de-ba00-2999d33b4e90")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18063
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace com.itac.mes.commonsmt.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("com.itac.mes.commonsmt.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18063
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace com.itac.mes.commonsmt.Properties {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("com.itac.mes.commonsmt.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

Some files were not shown because too many files have changed in this diff Show More