initialize
This commit is contained in:
17
interface/commonsmt/.project
Normal file
17
interface/commonsmt/.project
Normal 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>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
4
interface/commonsmt/.settings/org.eclipse.m2e.core.prefs
Normal file
4
interface/commonsmt/.settings/org.eclipse.m2e.core.prefs
Normal file
@@ -0,0 +1,4 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
17
interface/commonsmt/dotnetplugin/.project
Normal file
17
interface/commonsmt/dotnetplugin/.project
Normal 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>
|
||||
@@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -0,0 +1,4 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
BIN
interface/commonsmt/dotnetplugin/.vs/CommonSmtPlugin/v14/.suo
Normal file
BIN
interface/commonsmt/dotnetplugin/.vs/CommonSmtPlugin/v14/.suo
Normal file
Binary file not shown.
26
interface/commonsmt/dotnetplugin/CommonSmtPlugin.sln
Normal file
26
interface/commonsmt/dotnetplugin/CommonSmtPlugin.sln
Normal 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
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
720
interface/commonsmt/dotnetplugin/DemoApplication/Form1.Designer.cs
generated
Normal file
720
interface/commonsmt/dotnetplugin/DemoApplication/Form1.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
145
interface/commonsmt/dotnetplugin/DemoApplication/Form1.cs
Normal file
145
interface/commonsmt/dotnetplugin/DemoApplication/Form1.cs
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
120
interface/commonsmt/dotnetplugin/DemoApplication/Form1.resx
Normal file
120
interface/commonsmt/dotnetplugin/DemoApplication/Form1.resx
Normal 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>
|
||||
29
interface/commonsmt/dotnetplugin/DemoApplication/Program.cs
Normal file
29
interface/commonsmt/dotnetplugin/DemoApplication/Program.cs
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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")]
|
||||
63
interface/commonsmt/dotnetplugin/DemoApplication/Properties/Resources.Designer.cs
generated
Normal file
63
interface/commonsmt/dotnetplugin/DemoApplication/Properties/Resources.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
26
interface/commonsmt/dotnetplugin/DemoApplication/Properties/Settings.Designer.cs
generated
Normal file
26
interface/commonsmt/dotnetplugin/DemoApplication/Properties/Settings.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
205
interface/commonsmt/dotnetplugin/Plugin/FailoverHostList.cs
Normal file
205
interface/commonsmt/dotnetplugin/Plugin/FailoverHostList.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
23
interface/commonsmt/dotnetplugin/Plugin/FailoverProxy.cs
Normal file
23
interface/commonsmt/dotnetplugin/Plugin/FailoverProxy.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
319
interface/commonsmt/dotnetplugin/Plugin/IhapEventChannel.cs
Normal file
319
interface/commonsmt/dotnetplugin/Plugin/IhapEventChannel.cs
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
837
interface/commonsmt/dotnetplugin/Plugin/MesServices.cs
Normal file
837
interface/commonsmt/dotnetplugin/Plugin/MesServices.cs
Normal 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
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
77
interface/commonsmt/dotnetplugin/Plugin/Plugin.csproj
Normal file
77
interface/commonsmt/dotnetplugin/Plugin/Plugin.csproj
Normal 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>
|
||||
51
interface/commonsmt/dotnetplugin/Plugin/PluginException.cs
Normal file
51
interface/commonsmt/dotnetplugin/Plugin/PluginException.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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")]
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
124
interface/commonsmt/dotnetplugin/Plugin/ResponseDetail.cs
Normal file
124
interface/commonsmt/dotnetplugin/Plugin/ResponseDetail.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
154
interface/commonsmt/dotnetplugin/Plugin/SocketAdapter.cs
Normal file
154
interface/commonsmt/dotnetplugin/Plugin/SocketAdapter.cs
Normal 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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
interface/commonsmt/dotnetplugin/Plugin/lib/CommonSmtApi.dll
Normal file
BIN
interface/commonsmt/dotnetplugin/Plugin/lib/CommonSmtApi.dll
Normal file
Binary file not shown.
BIN
interface/commonsmt/dotnetplugin/Plugin/lib/artes-dotnet.dll
Normal file
BIN
interface/commonsmt/dotnetplugin/Plugin/lib/artes-dotnet.dll
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
Binary file not shown.
@@ -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)]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
226
interface/commonsmt/dotnetplugin/pom.xml
Normal file
226
interface/commonsmt/dotnetplugin/pom.xml
Normal 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} &&unzip -q dotnet-buildsources.zip;
|
||||
</arg>
|
||||
</ExecuteCommand>
|
||||
|
||||
<!-- Step 4:
|
||||
starten des msBuild-Vorgangs -->
|
||||
<ExecuteCommand>
|
||||
<order>40</order>
|
||||
<arg>cd ${dotnet.build.dir} &&${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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
BIN
interface/commonsmt/dotnetplugin/target/CommonSmtPlugin.dll
Normal file
BIN
interface/commonsmt/dotnetplugin/target/CommonSmtPlugin.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
interface/commonsmt/dotnetplugin/target/DemoApplication.exe
Normal file
BIN
interface/commonsmt/dotnetplugin/target/DemoApplication.exe
Normal file
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
720
interface/commonsmt/dotnetplugin/target/archive-tmp/fileSetFormatter.1077184422.tmp/Form1.Designer.cs
generated
Normal file
720
interface/commonsmt/dotnetplugin/target/archive-tmp/fileSetFormatter.1077184422.tmp/Form1.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
720
interface/commonsmt/dotnetplugin/target/archive-tmp/fileSetFormatter.1127790345.tmp/Form1.Designer.cs
generated
Normal file
720
interface/commonsmt/dotnetplugin/target/archive-tmp/fileSetFormatter.1127790345.tmp/Form1.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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")]
|
||||
@@ -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")]
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
Reference in New Issue
Block a user