..
This commit is contained in:
@@ -3,7 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.9.34714.143
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGV4", "Project\AGV4.csproj", "{65F3E762-800C-499E-862F-A535642EC59F}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AGV4", "Project\AGV4.csproj", "{65F3E762-800C-499E-862F-A535642EC59F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{16BD025D-CB0F-4A4B-A452-8FE629F02F0C} = {16BD025D-CB0F-4A4B-A452-8FE629F02F0C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "arControl", "SubProject\arCtl\arControl.csproj", "{F31C242C-1B15-4518-9733-48558499FE4B}"
|
||||
EndProject
|
||||
@@ -27,10 +30,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BMS", "SubProject\BMS\BMS.c
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SWPatch", "SubProject\Patch\SWPatch.csproj", "{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emulator", "Emulator\Emulator.csproj", "{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PLC.Net45", "SubProject\ProPLC\PLC.Net45.csproj", "{476C8E64-7B6B-4554-ACA2-04302715750F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NARUMI", "SubProject\AGV\NARUMI.csproj", "{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommData", "SubProject\CommData\CommData.csproj", "{14E8C9A5-013E-49BA-B435-EFEFC77DD623}"
|
||||
@@ -107,7 +106,6 @@ Global
|
||||
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{8CB883C0-99C3-4DD4-B017-F9B92010A806}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
@@ -119,7 +117,6 @@ Global
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2CDAD6D3-2D25-4604-A46C-EDEC0EB308D8}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
@@ -131,7 +128,6 @@ Global
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2}.Release|x86.Build.0 = Release|Any CPU
|
||||
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
@@ -155,7 +151,6 @@ Global
|
||||
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70}.Release|x86.Build.0 = Release|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
@@ -166,30 +161,6 @@ Global
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{37DC0BAE-50BF-41E4-BAAB-B0E211467AD1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x64.Build.0 = Release|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F}.Release|x86.Build.0 = Release|Any CPU
|
||||
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
@@ -215,7 +186,6 @@ Global
|
||||
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{14E8C9A5-013E-49BA-B435-EFEFC77DD623}.Release|x86.Build.0 = Release|Any CPU
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
@@ -227,7 +197,6 @@ Global
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32}.Release|x86.Build.0 = Release|Any CPU
|
||||
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{AAF68D20-4590-4AB0-BB91-E0DD04C91DEC}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
@@ -274,8 +243,6 @@ Global
|
||||
{9C027BF1-289F-4CC8-83F0-CB2B975C39C2} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||
{CE3FFF9F-6ACA-44BD-B64A-33FF4AD5E82E} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||
{7A94C30C-6772-4F71-BF9C-0DF071A1BC70} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||
{00BBEF50-3899-4BF1-82E0-DF065CB2A88C} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||
{476C8E64-7B6B-4554-ACA2-04302715750F} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||
{8BAE0EAC-3D25-402F-9A65-2BA1ECFE28B7} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||
{14E8C9A5-013E-49BA-B435-EFEFC77DD623} = {C423C39A-44E7-4F09-B2F7-7943975FF948}
|
||||
{EB77976F-4DE4-46A5-8B25-D07226204C32} = {7AF32085-E7A6-4D06-BA6E-C6B1EBAEA99A}
|
||||
|
||||
63
Cs_HMI/Project/AGV4 - Backup.csproj
Normal file
63
Cs_HMI/Project/AGV4 - Backup.csproj
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<BaseOutputPath>D:\Amkor\AGV4</BaseOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Protocol\enigprotocol\ENIGProtocol.csproj" />
|
||||
<ProjectReference Include="..\StateMachine\StateMachine.csproj" />
|
||||
<ProjectReference Include="..\SubProject\AGV\NARUMI.csproj" />
|
||||
<ProjectReference Include="..\SubProject\AGVControl\agvControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\arCtl\arControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\arFrameControl\arFrameControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\BMS\BMS.csproj" />
|
||||
<ProjectReference Include="..\SubProject\CommData\CommData.csproj" />
|
||||
<ProjectReference Include="..\SubProject\CommUtil\arCommUtil.csproj" />
|
||||
<ProjectReference Include="..\SubProject\MSSQLCommand\MSSQLCommand.csproj" />
|
||||
<ProjectReference Include="..\SubProject\Patch\SWPatch.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Settings.Designer.cs">
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="icons8-split-64.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Winsock_Orcas">
|
||||
<HintPath>lib\Winsock_Orcas.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EEProtocol">
|
||||
<HintPath>lib\EEProtocol.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="arUtil">
|
||||
<HintPath>lib\arUtil.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.IO.Ports" Version="9.0.4" />
|
||||
<PackageReference Include="System.Management" Version="9.0.4" />
|
||||
<PackageReference Include="System.Speech" Version="9.0.4" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,545 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{65F3E762-800C-499E-862F-A535642EC59F}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Project</RootNamespace>
|
||||
<AssemblyName>Amkor</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<PublishUrl>게시\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<NoWin32Manifest>False</NoWin32Manifest>
|
||||
<SignAssembly>False</SignAssembly>
|
||||
<DelaySign>False</DelaySign>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
|
||||
<NoStdLib>False</NoStdLib>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>Full</DebugType>
|
||||
<Optimize>False</Optimize>
|
||||
<OutputPath>..\..\..\..\..\Amkor\AGV4\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<NoWarn>IDE1006</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\..\ManualMapEditor\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>icons8-split-64.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetZone>LocalIntranet</TargetZone>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<GenerateManifests>false</GenerateManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>..\..\..\..\Amkor\OTP2DReading\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<BaseOutputPath>D:\Amkor\AGV4</BaseOutputPath>
|
||||
<Copyright>Amkor</Copyright>
|
||||
<Title>AGV4</Title>
|
||||
<Description>Amkor AGV4</Description>
|
||||
<AssemblyVersion>25.04.24.1500</AssemblyVersion>
|
||||
<FileVersion>25.04.24.1500</FileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<NoWarn>1701;1702;8622</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<StartAction>Project</StartAction>
|
||||
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
|
||||
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
|
||||
<BaseAddress>4194304</BaseAddress>
|
||||
<RegisterForComInterop>False</RegisterForComInterop>
|
||||
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<NoWarn>1701;1702;8622</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Protocol\enigprotocol\ENIGProtocol.csproj" />
|
||||
<ProjectReference Include="..\StateMachine\StateMachine.csproj" />
|
||||
<ProjectReference Include="..\SubProject\AGV\NARUMI.csproj" />
|
||||
<ProjectReference Include="..\SubProject\AGVControl\agvControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\arCtl\arControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\arFrameControl\arFrameControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\BMS\BMS.csproj" />
|
||||
<ProjectReference Include="..\SubProject\CommData\CommData.csproj" />
|
||||
<ProjectReference Include="..\SubProject\CommUtil\arCommUtil.csproj" />
|
||||
<ProjectReference Include="..\SubProject\MSSQLCommand\MSSQLCommand.csproj" />
|
||||
<ProjectReference Include="..\SubProject\Patch\SWPatch.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Settings.Designer.cs">
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="icons8-split-64.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="ArLog.Net4, Version=19.7.18.1730, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\DLL\ArLog.Net4.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ArSetting.Net4, Version=19.7.3.2330, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\DLL\ArSetting.Net4.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Ionic.Zip.1.9.1.8\lib\Ionic.Zip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Speech, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Assembly\Microsoft.Speech.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.Web" />
|
||||
<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" />
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="Winsock Orcas">
|
||||
<HintPath>..\DLL\Winsock Orcas.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="Class\EEMStatus.cs" />
|
||||
<Compile Include="Class\Lang.cs" />
|
||||
<Compile Include="CtlAuto.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CtlAuto.Designer.cs">
|
||||
<DependentUpon>CtlAuto.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CtlPos.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="CtlPos.Designer.cs">
|
||||
<DependentUpon>CtlPos.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Class\CParser.cs" />
|
||||
<Compile Include="Class\EnumData.cs" />
|
||||
<Compile Include="Class\CResult.cs" />
|
||||
<Compile Include="DataSet1.cs">
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DataSet1.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Device\CFlag.cs" />
|
||||
<Compile Include="Device\Xbee _OLD.cs" />
|
||||
<Compile Include="Device\Xbee.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Device\Socket.cs" />
|
||||
<Compile Include="Dialog\fCounter.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fCounter.Designer.cs">
|
||||
<DependentUpon>fCounter.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fUpdateForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fUpdateForm.Designer.cs">
|
||||
<DependentUpon>fUpdateForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fLog.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fLog.Designer.cs">
|
||||
<DependentUpon>fLog.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fJobSelect.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fJobSelect.Designer.cs">
|
||||
<DependentUpon>fJobSelect.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fSystem.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fSystem.Designer.cs">
|
||||
<DependentUpon>fSystem.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\DriveDetector.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fVolume.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fVolume.Designer.cs">
|
||||
<DependentUpon>fVolume.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MessageWindow\fMessageWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageWindow\fMessageWindow.Designer.cs">
|
||||
<DependentUpon>fMessageWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fTouchKey.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fTouchKey.Designer.cs">
|
||||
<DependentUpon>fTouchKey.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fTouchKeyFull.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fTouchKeyFull.Designer.cs">
|
||||
<DependentUpon>fTouchKeyFull.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fTouchNumDot.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fTouchNumDot.Designer.cs">
|
||||
<DependentUpon>fTouchNumDot.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fPassword.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fPassword.Designer.cs">
|
||||
<DependentUpon>fPassword.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fErrorException.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\fErrorException.Designer.cs">
|
||||
<DependentUpon>fErrorException.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="fMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="fMain.Designer.cs">
|
||||
<DependentUpon>fMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Manager\DataBaseManager.cs" />
|
||||
<Compile Include="MessageWindow\MessageWindow.cs" />
|
||||
<Compile Include="MessageWindow\CMessageData.cs" />
|
||||
<Compile Include="MethodExtentions.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="PUB.cs" />
|
||||
<Compile Include="CSetting.cs" />
|
||||
<Compile Include="StateMachine\Display\GetErrorMessage.cs" />
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_CHGOFF.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_GOCHARGECHECK.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_GOCHARGE.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_READY.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_RESET.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_GOHOME.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_GOUP.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_GODOWN.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_SYNC.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_POSCHK.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN_INIT.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_DIO.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_Flag.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_STEP_CLOSE.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_BMS.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_AGV.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_SPS.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_Loop.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\Step\_SM_RUN.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\_TMDisplay.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StateMachine\DisplayTextHandler.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Util.cs" />
|
||||
<Compile Include="Util_FG.cs" />
|
||||
<Compile Include="ViewForm\fBms.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fBms.Designer.cs">
|
||||
<DependentUpon>fBms.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fAuto.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fAuto.Designer.cs">
|
||||
<DependentUpon>fAuto.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fAgv.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fAgv.Designer.cs">
|
||||
<DependentUpon>fAgv.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fFlag.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fFlag.Designer.cs">
|
||||
<DependentUpon>fFlag.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fIO.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fIO.Designer.cs">
|
||||
<DependentUpon>fIO.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="fSetup.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="fSetup.Designer.cs">
|
||||
<DependentUpon>fSetup.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fManual.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ViewForm\fManual.Designer.cs">
|
||||
<DependentUpon>fManual.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Dialog\fCounter.resx">
|
||||
<DependentUpon>fCounter.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fUpdateForm.resx">
|
||||
<DependentUpon>fUpdateForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fLog.resx">
|
||||
<DependentUpon>fLog.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fJobSelect.resx">
|
||||
<DependentUpon>fJobSelect.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fSystem.resx">
|
||||
<DependentUpon>fSystem.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fVolume.resx">
|
||||
<DependentUpon>fVolume.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MessageWindow\fMessageWindow.resx">
|
||||
<DependentUpon>fMessageWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fTouchKey.resx">
|
||||
<DependentUpon>fTouchKey.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fTouchKeyFull.resx">
|
||||
<DependentUpon>fTouchKeyFull.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fTouchNumDot.resx">
|
||||
<DependentUpon>fTouchNumDot.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fPassword.resx">
|
||||
<DependentUpon>fPassword.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\fErrorException.resx">
|
||||
<DependentUpon>fErrorException.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="fMain.resx">
|
||||
<DependentUpon>fMain.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</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>
|
||||
<EmbeddedResource Include="ViewForm\fBms.resx">
|
||||
<DependentUpon>fBms.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ViewForm\fAuto.resx">
|
||||
<DependentUpon>fAuto.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ViewForm\fAgv.resx">
|
||||
<DependentUpon>fAgv.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ViewForm\fFlag.resx">
|
||||
<DependentUpon>fFlag.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ViewForm\fIO.resx">
|
||||
<DependentUpon>fIO.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="fSetup.resx">
|
||||
<DependentUpon>fSetup.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ViewForm\fManual.resx">
|
||||
<DependentUpon>fManual.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="DataSet1.xsc">
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DataSet1.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>DataSet1.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="DataSet1.xss">
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<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>
|
||||
<PackageReference Include="System.Data.SqlClient" Version="4.9.0" />
|
||||
<PackageReference Include="System.IO.Compression.ZipFile" Version="4.3.0" />
|
||||
<PackageReference Include="System.IO.Ports" Version="9.0.4" />
|
||||
<PackageReference Include="System.Management" Version="9.0.4" />
|
||||
<PackageReference Include="System.Speech" Version="9.0.4" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="ReadMe.txt" />
|
||||
<Content Include="icons8-layers-30.ico" />
|
||||
<Content Include="icons8-split-64.ico" />
|
||||
<None Include="Resources\ChargeH.png" />
|
||||
<None Include="Resources\icons8-charge-empty-battery-96.png" />
|
||||
<None Include="Resources\icons8-automatic-gearbox-warning-80.png" />
|
||||
<None Include="Resources\icons8-speed-80.png" />
|
||||
<None Include="Resources\icons8-charged-battery-80.png" />
|
||||
<None Include="Resources\icons8-checked-radio-button-48.png" />
|
||||
<None Include="Resources\icons8-save-40.png" />
|
||||
<None Include="Resources\icons8-unavailable-40.png" />
|
||||
<None Include="Resources\icons8-new-40.png" />
|
||||
<None Include="Resources\icons8-running-40.png" />
|
||||
<None Include="Resources\icons8-no-running-40.png" />
|
||||
<None Include="Resources\icons8-exercise-40.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4%28x86 및 x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 4.5</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Protocol\enigprotocol\ENIGProtocol.csproj">
|
||||
<Project>{16bd025d-cb0f-4a4b-a452-8fe629f02f0c}</Project>
|
||||
<Name>ENIGProtocol</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\AGVControl\agvControl.csproj">
|
||||
<Project>{8cb883c0-99c3-4dd4-b017-f9b92010a806}</Project>
|
||||
<Name>agvControl</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\AGV\NARUMI.csproj">
|
||||
<Project>{8bae0eac-3d25-402f-9a65-2ba1ecfe28b7}</Project>
|
||||
<Name>NARUMI</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\BMS\BMS.csproj">
|
||||
<Project>{7a94c30c-6772-4f71-bf9c-0df071a1bc70}</Project>
|
||||
<Name>BMS</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\StateMachine\StateMachine.csproj">
|
||||
<Project>{bbc9bccf-6262-4355-9cc2-37ff678ac499}</Project>
|
||||
<Name>StateMachine</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\arCtl\arControl.csproj">
|
||||
<Project>{f31c242c-1b15-4518-9733-48558499fe4b}</Project>
|
||||
<Name>arControl</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\arFrameControl\arFrameControl.csproj">
|
||||
<Project>{a16c9667-5241-4313-888e-548375f85d29}</Project>
|
||||
<Name>arFrameControl</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\CommData\CommData.csproj">
|
||||
<Project>{14e8c9a5-013e-49ba-b435-efefc77dd623}</Project>
|
||||
<Name>CommData</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\CommUtil\arCommUtil.csproj">
|
||||
<Project>{14e8c9a5-013e-49ba-b435-ffffff7dd623}</Project>
|
||||
<Name>arCommUtil</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\SubProject\ProPLC\PLC.Net45.csproj">
|
||||
<Project>{476c8e64-7b6b-4554-aca2-04302715750f}</Project>
|
||||
<Name>PLC.Net45</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>rem xcopy "$(TargetDir)*.exe" "\\192.168.1.80\Amkor\AGV2" /Y
|
||||
rem xcopy "$(TargetDir)*.dll" "\\192.168.1.80\Amkor\AGV2" /Y</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
67
Cs_HMI/Project/AGV4.csproj.bak
Normal file
67
Cs_HMI/Project/AGV4.csproj.bak
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<RootNamespace>Project</RootNamespace>
|
||||
<AssemblyName>Amkor</AssemblyName>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<ApplicationIcon>icons8-split-64.ico</ApplicationIcon>
|
||||
<Platforms>x64</Platforms>
|
||||
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
|
||||
<NoStdLib>False</NoStdLib>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<NoWarn>IDE1006</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<OutputPath>..\..\..\..\..\Amkor\AGV4\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<OutputPath>..\..\..\ManualMapEditor\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutputPath>..\..\..\..\Amkor\OTP2DReading\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.IO.Ports" Version="8.0.0" />
|
||||
<PackageReference Include="System.Runtime.Remoting" Version="4.0.2" />
|
||||
<PackageReference Include="System.Security.Cryptography" Version="8.0.0" />
|
||||
<PackageReference Include="System.Web" Version="4.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\StateMachine\StateMachine.csproj" />
|
||||
<ProjectReference Include="..\SubProject\AGV\NARUMI.csproj" />
|
||||
<ProjectReference Include="..\SubProject\AGVControl\agvControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\arCtl\arControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\arFrameControl\arFrameControl.csproj" />
|
||||
<ProjectReference Include="..\SubProject\BMS\BMS.csproj" />
|
||||
<ProjectReference Include="..\SubProject\CommData\CommData.csproj" />
|
||||
<ProjectReference Include="..\SubProject\CommUtil\arCommUtil.csproj" />
|
||||
<ProjectReference Include="..\SubProject\MSSQLCommand\MSSQLCommand.csproj" />
|
||||
<ProjectReference Include="..\SubProject\Patch\SWPatch.csproj" />
|
||||
<ProjectReference Include="..\SubProject\ProPLC\PLC.Net45.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="icons8-split-64.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -4,9 +4,9 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing.Design;
|
||||
using System.Management;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Security.RightsManagement;
|
||||
using System.Management;
|
||||
using System.IO.Ports;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
@@ -65,7 +65,7 @@ namespace Project
|
||||
}
|
||||
}
|
||||
|
||||
public class CSetting : arUtil.Setting
|
||||
public class CSetting : AR.Setting
|
||||
{
|
||||
#region "log"
|
||||
|
||||
@@ -454,7 +454,7 @@ namespace Project
|
||||
}
|
||||
|
||||
|
||||
public class CounterSetting : arUtil.Setting, INotifyPropertyChanged
|
||||
public class CounterSetting : AR.Setting, INotifyPropertyChanged
|
||||
{
|
||||
public DateTime CountReset { get; set; }
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Project;
|
||||
using Project.Device;
|
||||
using Project.StateMachine;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -8,7 +9,6 @@ using System.Net;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Project.StateMachine;
|
||||
|
||||
/// <summary>
|
||||
/// ============================================================================
|
||||
|
||||
@@ -5,15 +5,15 @@ using System.Text;
|
||||
using System.ComponentModel;
|
||||
using System.Threading;
|
||||
using COMM;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using ENIG;
|
||||
using System.Security.Cryptography;
|
||||
using AR;
|
||||
using System.Web.Compilation;
|
||||
using System.IO.Ports;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Project.Device
|
||||
{
|
||||
public class Xbee : System.IO.Ports.SerialPort
|
||||
public class Xbee : SerialPort
|
||||
{
|
||||
public string buffer = string.Empty;
|
||||
public System.Text.StringBuilder newbuffer = new StringBuilder();
|
||||
@@ -35,6 +35,181 @@ namespace Project.Device
|
||||
proto.OnMessage -= Proto_OnMessage;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 지그비장치에 데이터를 전송합니다
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
public bool Send(byte[] data)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Write(data, 0, data.Length);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
errorMessage = ex.Message;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool Open()
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Open();
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
errorMessage = ex.Message;
|
||||
PUB.logxbee.AddE(errorMessage);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void Proto_OnDataReceived(object sender, EEProtocol.DataEventArgs e)
|
||||
{
|
||||
var hexstrRaw = e.ReceivedPacket.RawData.HexString();
|
||||
var hexstr = e.ReceivedPacket.Data.HexString();
|
||||
var cmd = e.ReceivedPacket.Command.ToString("X2");
|
||||
var id = e.ReceivedPacket.ID.ToString("X2");
|
||||
PUB.logxbee.Add("RX", $"{hexstrRaw}\nID:{id},CMD:{cmd},DATA:{hexstr}");
|
||||
|
||||
//TODO : 기능 처리필요 (XBee 메세지 데이터처리)
|
||||
//PUB.CheckManualChargeMode() : 수동충전확인
|
||||
//VAR.BOOL[eVarBool.FLAG_AUTORUN] : 자동실행
|
||||
//PUB.Speak("현재 위치는 QA 입니다.") : 음성출력
|
||||
|
||||
//ACS 수신 데이터 처리(타 장비는 확인하지 않는다)
|
||||
if (e.ReceivedPacket.ID == 0)
|
||||
{
|
||||
var data = e.ReceivedPacket.Data;
|
||||
switch (e.ReceivedPacket.Command)
|
||||
{
|
||||
case 1: //Request PATH
|
||||
var pathID = data[0];
|
||||
var pathPage = data[1];
|
||||
|
||||
//TODO : 요청받은 맵 데이터를 전송해야한다
|
||||
|
||||
|
||||
break;
|
||||
case 100: //move to tag
|
||||
var TargetTag = System.Text.Encoding.Default.GetString(data, 0, 6);
|
||||
|
||||
//1.현재위치에서 경로계산 하여 경로저장
|
||||
//2.현재위치를 모를경우 이전 이동 기록을 통해 위치를 추정한다
|
||||
//3.대상태그에 맞는 전/후진 방향을 결정하여 이동을 수행한다
|
||||
|
||||
break;
|
||||
case 101: //stop
|
||||
PUB.AGV.AGVMoveStop("xbee");
|
||||
break;
|
||||
case 102: //Error Reset
|
||||
PUB.AGV.AGVErrorReset();
|
||||
break;
|
||||
case 103: //charing command (0:off, 1:on)
|
||||
var CharingCmd = data[0];
|
||||
|
||||
//0.자동모드가 아니라면 실행하지 않는다
|
||||
//1.충전프로세스를 시작한다
|
||||
//2.1분간 충전진행 신호가 없다면 반대편으로 1TAG이동하여 다시 시도한다
|
||||
//3.3회 시도 실패시 오류 데이터를 HOST에 전송한다
|
||||
|
||||
break;
|
||||
case 104: //Manual Move (Direction, speed, runtime)
|
||||
var Direction = data[0]; //0=back, 1=forward, 2=left, 3=right
|
||||
var Speed = data[1]; //0=slow, 1=normal, 2=fast
|
||||
var Runtime = data[2]; // running seconds
|
||||
|
||||
arDev.Narumi.ManulOpt opt = arDev.Narumi.ManulOpt.BS;
|
||||
arDev.Narumi.Speed spd = arDev.Narumi.Speed.Low;
|
||||
if (Speed == 1) spd = arDev.Narumi.Speed.Mid;
|
||||
else if (Speed == 2) spd = arDev.Narumi.Speed.High;
|
||||
|
||||
//0.자동모드가 아니라면 실행하지 않는다
|
||||
//1.입력된 파라미터로 AGV를 이동한다
|
||||
if (Direction == 0) opt = arDev.Narumi.ManulOpt.BS;
|
||||
else if (Direction == 1) opt = arDev.Narumi.ManulOpt.FS;
|
||||
else if (Direction == 2) opt = arDev.Narumi.ManulOpt.LT;
|
||||
else if (Direction == 3) opt = arDev.Narumi.ManulOpt.RT;
|
||||
|
||||
PUB.AGV.AGVMoveManual(opt, spd, arDev.Narumi.Sensor.PBSOn);
|
||||
break;
|
||||
case 105: //Set MarkStop
|
||||
var MarkStop = data[0]; //0=off, 1=on
|
||||
|
||||
//마크센서에서 멈추게 한다
|
||||
PUB.AGV.AGVMoveStop("Xbee", arDev.Narumi.eStopOpt.MarkStop);
|
||||
break;
|
||||
case 106: //Lift Control
|
||||
var LiftCommand = data[0]; //0=stop, 1=up, 2=down
|
||||
arDev.Narumi.LiftCommand LCmd = arDev.Narumi.LiftCommand.STP;
|
||||
if (LiftCommand == 1) LCmd = arDev.Narumi.LiftCommand.UP;
|
||||
else if (LiftCommand == 2) LCmd = arDev.Narumi.LiftCommand.DN;
|
||||
|
||||
//리프트제어
|
||||
PUB.AGV.LiftControl(LCmd);
|
||||
break;
|
||||
|
||||
case 107: //clear path
|
||||
//TODO: 현재 설정된 경로삭제기능 필요
|
||||
break;
|
||||
case 108: //send path
|
||||
//TODO : 경로정보를 수신받고 페이지가 1을 초과하면 나머지 페이지정보도 요청할 수 있어야 한다
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
private void Proto_OnMessage(object sender, EEProtocol.MessageEventArgs e)
|
||||
{
|
||||
if (e.IsError) PUB.log.AddE(e.Message);
|
||||
else PUB.log.Add(e.Message);
|
||||
}
|
||||
|
||||
|
||||
private void Xbee_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
|
||||
{
|
||||
var dev = sender as System.IO.Ports.SerialPort;
|
||||
var buffer = new byte[dev.BytesToRead];
|
||||
dev.Read(buffer, 0, buffer.Length);
|
||||
proto.ProcessReceivedData(buffer);
|
||||
}
|
||||
/// <summary>
|
||||
/// 이동완료 신호 전송
|
||||
/// </summary>
|
||||
/// <param name="tag">목적지태그값</param>
|
||||
public void SendMoveComplete(string tag)
|
||||
{
|
||||
var id = PUB.setting.XBE_ID;
|
||||
byte cmd = 2;
|
||||
var data = System.Text.Encoding.Default.GetBytes(tag);
|
||||
var packet = proto.CreatePacket(id, cmd, data);
|
||||
Send(packet);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 신규 RFID태그값이 읽혔다면 이명령을 통해서 전송한다
|
||||
/// </summary>
|
||||
public void SendRFIDTag(string tag)
|
||||
{
|
||||
var id = PUB.setting.XBE_ID;
|
||||
byte cmd = 3;
|
||||
var data = System.Text.Encoding.Default.GetBytes(tag);
|
||||
var packet = proto.CreatePacket(id, cmd, data);
|
||||
Send(packet);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// AGV상태를 Xbee 로 전송한다
|
||||
/// </summary>
|
||||
@@ -82,23 +257,23 @@ namespace Project.Device
|
||||
data[4] = (byte)((VAR.BOOL[eVarBool.FLAG_CHARGEONA] || VAR.BOOL[eVarBool.FLAG_CHARGEONM]) ? 1 : 0);
|
||||
|
||||
// CartSt
|
||||
if(PUB.AGV.signal.cart_detect1 && PUB.AGV.signal.cart_detect2)
|
||||
if (PUB.AGV.signal.cart_detect1 && PUB.AGV.signal.cart_detect2)
|
||||
data[5] = 1; // 센서두개가 모두 감지되는 경우
|
||||
else if(PUB.AGV.signal.cart_detect1==false && PUB.AGV.signal.cart_detect2==false)
|
||||
else if (PUB.AGV.signal.cart_detect1 == false && PUB.AGV.signal.cart_detect2 == false)
|
||||
data[5] = 0; // 센서두개가 모두 감지되지 않는 경우
|
||||
else
|
||||
data[5] = 2; // 센서하나만 감지되는 경우
|
||||
|
||||
// LiftSt
|
||||
if(PUB.AGV.signal.lift_up)
|
||||
if (PUB.AGV.signal.lift_up)
|
||||
data[6] = 1; // 위로 올라가는 경우
|
||||
else if(PUB.AGV.signal.lift_down)
|
||||
else if (PUB.AGV.signal.lift_down)
|
||||
data[6] = 0; // 아래로 내려가는 경우
|
||||
else
|
||||
data[6] = 2; // unknown (기본값)
|
||||
|
||||
// LastTag
|
||||
string lastTag = PUB.AGV.data.TagNo.ToString("000000") ?? "000000";
|
||||
string lastTag = PUB.AGV.data.TagNo.ToString("000000") ?? "000000";
|
||||
byte[] tagBytes = Encoding.ASCII.GetBytes(lastTag.PadRight(6, '0'));
|
||||
Array.Copy(tagBytes, 0, data, 7, 6);
|
||||
|
||||
@@ -114,65 +289,6 @@ namespace Project.Device
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 지그비장치에 데이터를 전송합니다
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
public bool Send(byte[] data)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.Write(data, 0, data.Length);
|
||||
return true;
|
||||
}catch (Exception ex)
|
||||
{
|
||||
errorMessage = ex.Message;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool Open()
|
||||
{
|
||||
try{
|
||||
this.Open();
|
||||
return true;
|
||||
}catch (Exception ex)
|
||||
{
|
||||
errorMessage = ex.Message;
|
||||
PUB.logxbee.AddE(errorMessage);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void Proto_OnDataReceived(object sender, EEProtocol.DataEventArgs e)
|
||||
{
|
||||
var hexstrRaw = e.ReceivedPacket.RawData.HexString();
|
||||
var hexstr = e.ReceivedPacket.Data.HexString();
|
||||
var cmd = e.ReceivedPacket.Command.ToString("X2");
|
||||
var id = e.ReceivedPacket.ID.ToString("X2");
|
||||
PUB.logxbee.Add("RX", $"{hexstrRaw}\nID:{id},CMD:{cmd},DATA:{hexstr}");
|
||||
|
||||
//TODO : 기능 처리필요 (XBee 메세지 데이터처리)
|
||||
//PUB.CheckManualChargeMode() : 수동충전확인
|
||||
//VAR.BOOL[eVarBool.FLAG_AUTORUN] : 자동실행
|
||||
//PUB.Speak("현재 위치는 QA 입니다.") : 음성출력
|
||||
|
||||
}
|
||||
private void Proto_OnMessage(object sender, EEProtocol.MessageEventArgs e)
|
||||
{
|
||||
if (e.IsError) PUB.log.AddE(e.Message);
|
||||
else PUB.log.Add(e.Message);
|
||||
}
|
||||
|
||||
|
||||
private void Xbee_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
|
||||
{
|
||||
var dev = sender as System.IO.Ports.SerialPort;
|
||||
var buffer = new byte[dev.BytesToRead];
|
||||
dev.Read(buffer, 0, buffer.Length);
|
||||
proto.ProcessReceivedData(buffer);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
|
||||
namespace Project.Dialog
|
||||
{
|
||||
@@ -123,15 +125,20 @@ namespace Project.Dialog
|
||||
Util.MsgE("실행파일 amkor.exe 가 없습니다.");
|
||||
return;
|
||||
}
|
||||
var zipfile = new Ionic.Zip.ZipFile();
|
||||
zipfile.AddFile(file_exe,"/");
|
||||
var zipfile = new ZipArchive(new MemoryStream(), ZipArchiveMode.Create);
|
||||
zipfile.CreateEntryFromFile(file_exe, "amkor.exe");
|
||||
foreach (var filedll in files_dll)
|
||||
zipfile.AddFile(filedll.FullName,"/");
|
||||
zipfile.CreateEntryFromFile(filedll.FullName, filedll.Name);
|
||||
|
||||
var veri = Application.ProductVersion.Split('.');
|
||||
var newfilename = "Patch_AGV_" + veri[0] + veri[1]+ veri[2] + "_" +
|
||||
veri[3] + ".zip";
|
||||
zipfile.Save(newfilename);
|
||||
var entry = zipfile.CreateEntry(newfilename);
|
||||
using (var entryStream = entry.Open())
|
||||
using (var fileStream = new FileStream(newfilename, FileMode.Open))
|
||||
{
|
||||
fileStream.CopyTo(entryStream);
|
||||
}
|
||||
|
||||
Util.MsgI("다음 패치 파일이 생성됨\n" + newfilename);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
|
||||
namespace Project.Dialog
|
||||
{
|
||||
@@ -211,10 +213,7 @@ namespace Project.Dialog
|
||||
}
|
||||
|
||||
//해당폴더에 압축을 해제해준다.
|
||||
var f = new Ionic.Zip.ZipFile(file);
|
||||
f.ExtractProgress += F_ExtractProgress;
|
||||
f.ExtractAll(dir_path.FullName);
|
||||
f.ExtractProgress -= F_ExtractProgress;
|
||||
ZipFile.ExtractToDirectory(file, dir_path.FullName);
|
||||
|
||||
//패치정보파일 추가
|
||||
var infofile = System.IO.Path.Combine(dir_path.FullName, "version.txt");
|
||||
@@ -231,19 +230,10 @@ namespace Project.Dialog
|
||||
|
||||
}
|
||||
|
||||
private void F_ExtractProgress(object sender, Ionic.Zip.ExtractProgressEventArgs e)
|
||||
private void F_ExtractProgress(object sender, EventArgs e)
|
||||
{
|
||||
if(e.TotalBytesToTransfer < 1)
|
||||
{
|
||||
lb3.ProgressValue = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
var perc = (e.BytesTransferred / e.TotalBytesToTransfer) * 100.0;
|
||||
this.lb3.ProgressValue = (float)perc;
|
||||
}
|
||||
|
||||
|
||||
// System.IO.Compression은 진행률 이벤트를 제공하지 않으므로
|
||||
// 필요한 경우 별도의 진행률 계산 로직을 구현해야 합니다.
|
||||
}
|
||||
|
||||
private void btNo_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -94,14 +94,18 @@ namespace Project.Dialog
|
||||
|
||||
private void button5_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.mplayer.Volume += 0.1;
|
||||
PUB.setting.musicvol = (int)(PUB.mplayer.Volume * 100);
|
||||
var newvol = PUB.setting.musicvol + 10;
|
||||
if (newvol > 100) newvol = 100;
|
||||
if (newvol < 0) newvol = 0;
|
||||
PUB.SetVolume(newvol);
|
||||
}
|
||||
|
||||
private void button4_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.mplayer.Volume -= 0.1;
|
||||
PUB.setting.musicvol = (int)(PUB.mplayer.Volume * 100);
|
||||
var newvol = PUB.setting.musicvol - 10;
|
||||
if (newvol > 100) newvol = 100;
|
||||
if (newvol < 0) newvol = 0;
|
||||
PUB.SetVolume(newvol);
|
||||
}
|
||||
|
||||
private void button7_Click(object sender, EventArgs e)
|
||||
@@ -118,7 +122,7 @@ namespace Project.Dialog
|
||||
{
|
||||
var s = "고수석님, 그 에러는 못고쳐요. 포기 하면 편해요";
|
||||
var s1 = $"현재시간은 {DateTime.Now.Hour}시 입니다";
|
||||
PUB.Speak( this.textBox1.Text);
|
||||
PUB.Speak(this.textBox1.Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace Project.Manager
|
||||
void MakeFile(string filename)
|
||||
{
|
||||
//파일이없다면 헤더를 만들어준다.
|
||||
arUtil.XMLHelper xml = new arUtil.XMLHelper(filename);
|
||||
AR.XMLHelper xml = new AR.XMLHelper(filename);
|
||||
xml.CreateFile();
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ namespace Project.Manager
|
||||
try
|
||||
{
|
||||
//general info
|
||||
var xml = new arUtil.XMLHelper(fi.FullName);
|
||||
var xml = new AR.XMLHelper(fi.FullName);
|
||||
foreach(System.Data.DataColumn dc in this.dt.Columns)
|
||||
{
|
||||
if (dc.ColumnName.ToLower() == "idx") continue;
|
||||
@@ -194,7 +194,7 @@ namespace Project.Manager
|
||||
{
|
||||
var newdr = retval.NewResultDataRow();
|
||||
newdr.info_filename = file.FullName;
|
||||
arUtil.XMLHelper xml = new arUtil.XMLHelper(file.FullName);
|
||||
var xml = new AR.XMLHelper(file.FullName);
|
||||
foreach (System.Data.DataColumn col in retval.Columns)
|
||||
{
|
||||
if (col.ColumnName.ToLower() == "idx") continue;
|
||||
@@ -235,7 +235,7 @@ namespace Project.Manager
|
||||
var filese = System.IO.Directory.GetFiles( path , strip + ".xml");
|
||||
if(filese .Length == 1)
|
||||
{
|
||||
var xml = new arUtil.XMLHelper(filese[0]);
|
||||
var xml = new AR.XMLHelper(filese[0]);
|
||||
var upload = xml.get_Data("info", "upload");
|
||||
if (upload == "O") return eStripSearchResult.OK;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
using Microsoft.Speech.Synthesis;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Media;
|
||||
using COMM;
|
||||
using System.Threading.Tasks;
|
||||
using COMM;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net;
|
||||
using System.Management;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using AR;
|
||||
using System.Security.Policy;
|
||||
using Project.StateMachine;
|
||||
using System.Data.SqlClient;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Speech.Synthesis;
|
||||
using System.Media;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
@@ -61,8 +62,18 @@ namespace Project
|
||||
public static Device.Socket sock_debug;
|
||||
|
||||
private static SpeechSynthesizer voice;
|
||||
public static MediaPlayer mplayer;
|
||||
public static SoundPlayer mplayer;
|
||||
|
||||
[DllImport("winmm.dll")]
|
||||
private static extern int waveOutSetVolume(IntPtr hwo, uint dwVolume);
|
||||
|
||||
public static void SetVolume(int volume)
|
||||
{
|
||||
// volume은 0~100 사이의 값
|
||||
uint vol = (uint)((volume / 100.0) * 0xFFFF);
|
||||
waveOutSetVolume(IntPtr.Zero, vol);
|
||||
setting.musicvol = volume;
|
||||
}
|
||||
|
||||
public static bool CheckPassword()
|
||||
{
|
||||
@@ -76,7 +87,11 @@ namespace Project
|
||||
|
||||
public static void Speak(string m, Boolean force = false, bool addlog = true)
|
||||
{
|
||||
if (force == false && PUB.setting.Enable_Speak == false) return;
|
||||
if (force == false && PUB.setting.Enable_Speak == false)
|
||||
{
|
||||
Console.WriteLine("speech disabled");
|
||||
return;
|
||||
}
|
||||
if (force)
|
||||
voice.SpeakAsyncCancelAll();
|
||||
if (voice.State == SynthesizerState.Ready)
|
||||
@@ -123,7 +138,7 @@ namespace Project
|
||||
/// <summary>
|
||||
/// 시스템로그
|
||||
/// </summary>
|
||||
public static arUtil.Log log, logagv, logplc, logbms, logxbee;
|
||||
public static AR.Log log, logagv, logplc, logbms, logxbee;
|
||||
|
||||
public static Boolean bPlayMusic = false;
|
||||
|
||||
@@ -139,7 +154,7 @@ namespace Project
|
||||
/// <summary>
|
||||
/// 상태머신
|
||||
/// </summary>
|
||||
public static StateMachine sm; //상태머신분리 190529
|
||||
public static StateMachine.StateMachine sm; //상태머신분리 190529
|
||||
|
||||
public static System.IO.DirectoryInfo path;
|
||||
|
||||
@@ -155,11 +170,11 @@ namespace Project
|
||||
counter.Load();
|
||||
|
||||
//log
|
||||
log = new arUtil.Log();
|
||||
logagv = new arUtil.Log();
|
||||
logplc = new arUtil.Log();
|
||||
logbms = new arUtil.Log();
|
||||
logxbee = new arUtil.Log();
|
||||
log = new AR.Log();
|
||||
logagv = new AR.Log();
|
||||
logplc = new AR.Log();
|
||||
logbms = new AR.Log();
|
||||
logxbee = new AR.Log();
|
||||
|
||||
logagv.FileNameFormat = "{yyyyMMdd}_agv";
|
||||
logplc.FileNameFormat = "{yyyyMMdd}_plc";
|
||||
@@ -178,22 +193,46 @@ namespace Project
|
||||
Result = new CResult();
|
||||
|
||||
//state machine
|
||||
sm = new StateMachine();
|
||||
sm = new StateMachine.StateMachine();
|
||||
|
||||
path = new System.IO.DirectoryInfo(Util.CurrentPath);
|
||||
|
||||
|
||||
|
||||
mplayer = new MediaPlayer
|
||||
{
|
||||
Volume = PUB.setting.musicvol / 100.0
|
||||
};
|
||||
mplayer = new SoundPlayer();
|
||||
if (PUB.setting.musicfile.isEmpty() == false)
|
||||
if (System.IO.File.Exists(PUB.setting.musicfile))
|
||||
PUB.mplayer.Open(new Uri(PUB.setting.musicfile));
|
||||
{
|
||||
PUB.mplayer.SoundLocation = PUB.setting.musicfile;
|
||||
SetVolume(PUB.setting.musicvol);
|
||||
}
|
||||
|
||||
voice = new SpeechSynthesizer();
|
||||
voice.SelectVoice("Microsoft Server Speech Text to Speech Voice (ko-KR, Heami)");
|
||||
try
|
||||
{
|
||||
// 한국어 음성을 찾아서 설정
|
||||
var koreanVoice = voice.GetInstalledVoices()
|
||||
.Where(v => v.VoiceInfo.Culture.Name.StartsWith("ko"))
|
||||
.FirstOrDefault();
|
||||
|
||||
if (koreanVoice != null)
|
||||
{
|
||||
voice.SelectVoice(koreanVoice.VoiceInfo.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 한국어 음성이 없으면 기본 음성 사용
|
||||
var defaultVoice = voice.GetInstalledVoices().FirstOrDefault();
|
||||
if (defaultVoice != null)
|
||||
{
|
||||
voice.SelectVoice(defaultVoice.VoiceInfo.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// 음성 설정 실패 시 기본값 사용
|
||||
}
|
||||
voice.SetOutputToDefaultAudioDevice();
|
||||
|
||||
var file_version = System.IO.Path.Combine(Util.CurrentPath, "version.txt");
|
||||
@@ -362,13 +401,9 @@ namespace Project
|
||||
}
|
||||
}
|
||||
|
||||
if (ip == "" || mac == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (ip == "" || mac == "") return;
|
||||
|
||||
|
||||
SqlConnection conn = new SqlConnection("Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!");
|
||||
var conn = new SqlConnection(AGV4.Properties.Settings.Default.CS);// "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!");
|
||||
conn.Open();
|
||||
string ProcName = "AddPrgmUser3";
|
||||
SqlCommand cmd = new SqlCommand(ProcName, conn)
|
||||
|
||||
@@ -18,18 +18,13 @@ namespace Project
|
||||
static void Main()
|
||||
{
|
||||
//중복실행방지
|
||||
var guidAttr = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), true);
|
||||
if (guidAttr != null)
|
||||
string mutexName = "AGV4_Application_Mutex";
|
||||
Mutex mtx = new Mutex(true, mutexName);
|
||||
var success = mtx.WaitOne(new TimeSpan(0, 0, 1));
|
||||
if (success == false)
|
||||
{
|
||||
var guida = (GuidAttribute)guidAttr[0];
|
||||
var guidstr = guida.Value;
|
||||
Mutex mtx = new Mutex(true, guidstr);
|
||||
var success = mtx.WaitOne(new TimeSpan(0, 0, 1));
|
||||
if (success == false)
|
||||
{
|
||||
MessageBox.Show("중복실행 불가\n\n프로그램이 실행 중 입니다");
|
||||
return;
|
||||
}
|
||||
MessageBox.Show("Duplicate execution not allowed\n\nProgram is already running");
|
||||
return;
|
||||
}
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("(OTP) 2D Reading System")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Amkor K4")]
|
||||
[assembly: AssemblyProduct("(OTP) 2D Reading System")]
|
||||
[assembly: AssemblyCopyright("Copyright ©Amkor-EET 2020")]
|
||||
[assembly: AssemblyTrademark("EET")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("65f3e762-800c-772e-862f-b444642ec59f")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
|
||||
// 지정되도록 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("24.12.06.1300")]
|
||||
[assembly: AssemblyFileVersion("24.12.06.1300")]
|
||||
16
Cs_HMI/Project/Properties/Settings.Designer.cs
generated
16
Cs_HMI/Project/Properties/Settings.Designer.cs
generated
@@ -8,11 +8,11 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Project.Properties {
|
||||
namespace AGV4.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@@ -34,5 +34,17 @@ namespace Project.Properties {
|
||||
this["css"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Inf" +
|
||||
"o=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertific" +
|
||||
"ate=True")]
|
||||
public string CS {
|
||||
get {
|
||||
return ((string)(this["CS"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Project.Properties" GeneratedClassName="Settings">
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="AGV4.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="css" Type="System.String" Scope="User">
|
||||
@@ -7,5 +7,13 @@
|
||||
asdfasdfasdf
|
||||
asdf</Value>
|
||||
</Setting>
|
||||
<Setting Name="CS" Type="(Connection string)" Scope="Application">
|
||||
<DesignTimeValue Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
||||
<SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<ConnectionString>Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&amp;DJ+ug-D;Encrypt=False;TrustServerCertificate=True</ConnectionString>
|
||||
<ProviderName>System.Data.SqlClient</ProviderName>
|
||||
</SerializableConnectionString></DesignTimeValue>
|
||||
<Value Profile="(Default)">Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
8
Cs_HMI/Project/Properties/launchSettings.json
Normal file
8
Cs_HMI/Project/Properties/launchSettings.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"profiles": {
|
||||
"AGV4": {
|
||||
"commandName": "Project",
|
||||
"workingDirectory": "D:\\Amkor\\AGV4"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AR;
|
||||
using COMM;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using System.Diagnostics;
|
||||
using AR;
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using arCtl;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
namespace Project
|
||||
|
||||
120
Cs_HMI/Project/StateMachine/_AGV.resx
Normal file
120
Cs_HMI/Project/StateMachine/_AGV.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>
|
||||
@@ -5,7 +5,7 @@ using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using arCtl;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
|
||||
@@ -12,185 +12,184 @@ namespace Project
|
||||
public partial class fMain
|
||||
{
|
||||
|
||||
private void PLC_DioChanged(object sender, arDev.FakePLC.IOValueEventArgs e)
|
||||
{
|
||||
if (e.Direction == arDev.Arduino.IODirection.Input)
|
||||
{
|
||||
var diName = (arDev.FakePLC.DIName)e.ArrIDX;
|
||||
Console.WriteLine(string.Format("[DI:{1}]{0}=>{2}", diName, e.ArrIDX, e.NewValue));
|
||||
//private void PLC_DioChanged(object sender, arDev.FakePLC.IOValueEventArgs e)
|
||||
//{
|
||||
// if (e.Direction == arDev.Arduino.IODirection.Input)
|
||||
// {
|
||||
// var diName = (arDev.FakePLC.DIName)e.ArrIDX;
|
||||
// Console.WriteLine(string.Format("[DI:{1}]{0}=>{2}", diName, e.ArrIDX, e.NewValue));
|
||||
|
||||
if (diName == arDev.FakePLC.DIName.PINI_BTN_1) //reset
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림(AGV_RESET)");
|
||||
PUB.AGV.AGVErrorReset();
|
||||
// if (diName == arDev.FakePLC.DIName.PINI_BTN_1) //reset
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림(AGV_RESET)");
|
||||
// PUB.AGV.AGVErrorReset();
|
||||
|
||||
//241203
|
||||
if(PUB.AGV.system1.agv_run || PUB.AGV.system1.agv_run_manual)
|
||||
{
|
||||
PUB.AGV.AGVMoveStop("button1");
|
||||
}
|
||||
//PUB.XBE.NewMsgEvent('0', '1');
|
||||
}
|
||||
}
|
||||
else if (diName == arDev.FakePLC.DIName.PINI_BTN_2) //auto -> QC //230424
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true)
|
||||
{
|
||||
if (PUB.sm.RunStep == StateMachine.ERunStep.GOUP)
|
||||
{
|
||||
//zup을 자동으로 해준다
|
||||
if (VAR.BOOL[eVarBool.WAIT_COVER_UP])
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
|
||||
PUB.Result.NextPos = ePosition.QC;
|
||||
}
|
||||
else PUB.Speak(Lang.커버업대기상태가아닙니다);
|
||||
}
|
||||
else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN)
|
||||
{
|
||||
//이미 하차진행중에 누른 경우이다
|
||||
PUB.Result.NextPos = ePosition.QC;
|
||||
PUB.Result.TargetPos = ePosition.QC;
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.Add(Lang.QC이동버튼은상하차에서만사용가능합니다);
|
||||
PUB.Speak(Lang.하차상태에서만사용가능합니다);
|
||||
}
|
||||
}
|
||||
else PUB.Speak(Lang.자동운전상태가아닙니다);
|
||||
// //241203
|
||||
// if(PUB.AGV.system1.agv_run || PUB.AGV.system1.agv_run_manual)
|
||||
// {
|
||||
// PUB.AGV.AGVMoveStop("button1");
|
||||
// }
|
||||
// //PUB.XBE.NewMsgEvent('0', '1');
|
||||
// }
|
||||
// }
|
||||
// else if (diName == arDev.FakePLC.DIName.PINI_BTN_2) //auto -> QC //230424
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true)
|
||||
// {
|
||||
// if (PUB.sm.RunStep == StateMachine.ERunStep.GOUP)
|
||||
// {
|
||||
// //zup을 자동으로 해준다
|
||||
// if (VAR.BOOL[eVarBool.WAIT_COVER_UP])
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
|
||||
// PUB.Result.NextPos = ePosition.QC;
|
||||
// }
|
||||
// else PUB.Speak(Lang.커버업대기상태가아닙니다);
|
||||
// }
|
||||
// else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN)
|
||||
// {
|
||||
// //이미 하차진행중에 누른 경우이다
|
||||
// PUB.Result.NextPos = ePosition.QC;
|
||||
// PUB.Result.TargetPos = ePosition.QC;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// PUB.log.Add(Lang.QC이동버튼은상하차에서만사용가능합니다);
|
||||
// PUB.Speak(Lang.하차상태에서만사용가능합니다);
|
||||
// }
|
||||
// }
|
||||
// else PUB.Speak(Lang.자동운전상태가아닙니다);
|
||||
|
||||
//if (VAR.BOOL[eVarBool.FLAG_AUTORUN]==false)
|
||||
//{
|
||||
// PUB.sm.ClearRunStep();
|
||||
// PUB.sm.SetNewRunStep(StateMachine.ERunStep.READY);
|
||||
// PUB.sm.SetNewStep(StateMachine.eSMStep.RUN);
|
||||
// PUB.Speak("자동 상태로 전환 합니다");
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// PUB.Speak("현재 자동 상태 입니다");
|
||||
//}
|
||||
}
|
||||
}
|
||||
else if (diName == arDev.FakePLC.DIName.PINI_BTN_3) //z-down -> QA //230424
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
//Z-dn기능으로 업데이트 230119
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true)
|
||||
{
|
||||
if (PUB.sm.RunStep == StateMachine.ERunStep.GOUP)
|
||||
{
|
||||
//zup.을 자동으로 해준다
|
||||
if (VAR.BOOL[eVarBool.WAIT_COVER_UP])
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
|
||||
PUB.Result.NextPos = ePosition.QA;
|
||||
}
|
||||
else PUB.Speak(Lang.커버업대기상태가아닙니다);
|
||||
}
|
||||
else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN)
|
||||
{
|
||||
//이미 하차진행중에 누른 경우이다
|
||||
PUB.Result.NextPos = ePosition.QA;
|
||||
PUB.Result.TargetPos = ePosition.QA;
|
||||
}
|
||||
else
|
||||
{
|
||||
PUB.log.Add($"QA이동 버튼은 상/하차에서만 사용 가능합니다");
|
||||
PUB.Speak(Lang.하차상태에서만사용가능합니다);
|
||||
}
|
||||
}
|
||||
else PUB.Speak(Lang.자동운전상태가아닙니다);
|
||||
// //if (VAR.BOOL[eVarBool.FLAG_AUTORUN]==false)
|
||||
// //{
|
||||
// // PUB.sm.ClearRunStep();
|
||||
// // PUB.sm.SetNewRunStep(StateMachine.ERunStep.READY);
|
||||
// // PUB.sm.SetNewStep(StateMachine.eSMStep.RUN);
|
||||
// // PUB.Speak("자동 상태로 전환 합니다");
|
||||
// //}
|
||||
// //else
|
||||
// //{
|
||||
// // PUB.Speak("현재 자동 상태 입니다");
|
||||
// //}
|
||||
// }
|
||||
// }
|
||||
// else if (diName == arDev.FakePLC.DIName.PINI_BTN_3) //z-down -> QA //230424
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// //Z-dn기능으로 업데이트 230119
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == true)
|
||||
// {
|
||||
// if (PUB.sm.RunStep == StateMachine.ERunStep.GOUP)
|
||||
// {
|
||||
// //zup.을 자동으로 해준다
|
||||
// if (VAR.BOOL[eVarBool.WAIT_COVER_UP])
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
|
||||
// PUB.Result.NextPos = ePosition.QA;
|
||||
// }
|
||||
// else PUB.Speak(Lang.커버업대기상태가아닙니다);
|
||||
// }
|
||||
// else if (PUB.sm.RunStep == StateMachine.ERunStep.GODOWN)
|
||||
// {
|
||||
// //이미 하차진행중에 누른 경우이다
|
||||
// PUB.Result.NextPos = ePosition.QA;
|
||||
// PUB.Result.TargetPos = ePosition.QA;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// PUB.log.Add($"QA이동 버튼은 상/하차에서만 사용 가능합니다");
|
||||
// PUB.Speak(Lang.하차상태에서만사용가능합니다);
|
||||
// }
|
||||
// }
|
||||
// else PUB.Speak(Lang.자동운전상태가아닙니다);
|
||||
|
||||
//PUB.PLC.ZMot(FakePLC.ZMotDirection.Down);
|
||||
}
|
||||
}
|
||||
else if (diName == arDev.FakePLC.DIName.PINI_BTN_4) //z-up
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
//Z-up기능으로 업데이트 230119
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
|
||||
}
|
||||
}
|
||||
else if (diName == arDev.FakePLC.DIName.PINI_EMG)
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
PUB.Speak(Lang.비상정지);
|
||||
}
|
||||
//else Pub.Speak("비상 정지 해제");
|
||||
}
|
||||
else if (diName == arDev.FakePLC.DIName.PINI_OVERLOADL)
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
PUB.Speak(Lang.오버로드감지);
|
||||
}
|
||||
VAR.BOOL[eVarBool.OVERLOADL] = e.NewValue;
|
||||
}
|
||||
else if (diName == arDev.FakePLC.DIName.PINI_OVERLOADR)
|
||||
{
|
||||
if (e.NewValue == true)
|
||||
{
|
||||
PUB.log.Add($"버튼({diName}) 눌림");
|
||||
PUB.Speak(Lang.오버로드감지);
|
||||
}
|
||||
VAR.BOOL[eVarBool.OVERLOADR] = e.NewValue;
|
||||
}
|
||||
//else if (diName == FakePLC.DIName.PINI_LIMIT_LU)
|
||||
//{
|
||||
// PUB.flag.set(EFlag.FLAG_LIMITHIGHL, e.NewValue);
|
||||
//}
|
||||
//else if (diName == FakePLC.DIName.PINI_LIMIT_RU)
|
||||
//{
|
||||
// PUB.flag.set(EFlag.FLAG_LIMITHIGHR, e.NewValue);
|
||||
//}
|
||||
//else if (diName == FakePLC.DIName.PINI_LIMIT_LD)
|
||||
//{
|
||||
// PUB.flag.set(EFlag.FLAG_LIMITLOWL, e.NewValue);
|
||||
//}
|
||||
//else if (diName == FakePLC.DIName.PINI_LIMIT_RD)
|
||||
//{
|
||||
// PUB.flag.set(EFlag.FLAG_LIMITLOWR, e.NewValue);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //처리하지 않음
|
||||
//}
|
||||
//PUB.flag.set(EFlag.FLAG_LIMITHIGH, (PUB.flag.get(EFlag.FLAG_LIMITHIGHL) && PUB.flag.get(EFlag.FLAG_LIMITHIGHR)));
|
||||
//PUB.flag.set(EFlag.FLAG_LIMITLOW, (PUB.flag.get(EFlag.FLAG_LIMITLOWL) && PUB.flag.get(EFlag.FLAG_LIMITLOWR)));
|
||||
VAR.BOOL[eVarBool.FLAG_LIMITHIGH] = false;// PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU);
|
||||
VAR.BOOL[eVarBool.FLAG_LIMITLOW] = false;//PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LD) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RD);
|
||||
VAR.BOOL[eVarBool.OVERLOAD] = (VAR.BOOL[eVarBool.OVERLOADL] || VAR.BOOL[eVarBool.OVERLOADR]);
|
||||
}
|
||||
else
|
||||
{
|
||||
//출력포트값 변경
|
||||
var doName = (arDev.FakePLC.DOName)e.ArrIDX;
|
||||
PUB.logplc.Add($"출력({doName}) {(e.NewValue ? "O" : "X")}");
|
||||
}
|
||||
}
|
||||
// //PUB.PLC.ZMot(FakePLC.ZMotDirection.Down);
|
||||
// }
|
||||
// }
|
||||
// else if (diName == arDev.FakePLC.DIName.PINI_BTN_4) //z-up
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// //Z-up기능으로 업데이트 230119
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// PUB.AGV.LiftControl(arDev.Narumi.LiftCommand.UP);
|
||||
// }
|
||||
// }
|
||||
// else if (diName == arDev.FakePLC.DIName.PINI_EMG)
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// PUB.Speak(Lang.비상정지);
|
||||
// }
|
||||
// //else Pub.Speak("비상 정지 해제");
|
||||
// }
|
||||
// else if (diName == arDev.FakePLC.DIName.PINI_OVERLOADL)
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// PUB.Speak(Lang.오버로드감지);
|
||||
// }
|
||||
// VAR.BOOL[eVarBool.OVERLOADL] = e.NewValue;
|
||||
// }
|
||||
// else if (diName == arDev.FakePLC.DIName.PINI_OVERLOADR)
|
||||
// {
|
||||
// if (e.NewValue == true)
|
||||
// {
|
||||
// PUB.log.Add($"버튼({diName}) 눌림");
|
||||
// PUB.Speak(Lang.오버로드감지);
|
||||
// }
|
||||
// VAR.BOOL[eVarBool.OVERLOADR] = e.NewValue;
|
||||
// }
|
||||
// //else if (diName == FakePLC.DIName.PINI_LIMIT_LU)
|
||||
// //{
|
||||
// // PUB.flag.set(EFlag.FLAG_LIMITHIGHL, e.NewValue);
|
||||
// //}
|
||||
// //else if (diName == FakePLC.DIName.PINI_LIMIT_RU)
|
||||
// //{
|
||||
// // PUB.flag.set(EFlag.FLAG_LIMITHIGHR, e.NewValue);
|
||||
// //}
|
||||
// //else if (diName == FakePLC.DIName.PINI_LIMIT_LD)
|
||||
// //{
|
||||
// // PUB.flag.set(EFlag.FLAG_LIMITLOWL, e.NewValue);
|
||||
// //}
|
||||
// //else if (diName == FakePLC.DIName.PINI_LIMIT_RD)
|
||||
// //{
|
||||
// // PUB.flag.set(EFlag.FLAG_LIMITLOWR, e.NewValue);
|
||||
// //}
|
||||
// //else
|
||||
// //{
|
||||
// // //처리하지 않음
|
||||
// //}
|
||||
// //PUB.flag.set(EFlag.FLAG_LIMITHIGH, (PUB.flag.get(EFlag.FLAG_LIMITHIGHL) && PUB.flag.get(EFlag.FLAG_LIMITHIGHR)));
|
||||
// //PUB.flag.set(EFlag.FLAG_LIMITLOW, (PUB.flag.get(EFlag.FLAG_LIMITLOWL) && PUB.flag.get(EFlag.FLAG_LIMITLOWR)));
|
||||
// VAR.BOOL[eVarBool.FLAG_LIMITHIGH] = false;// PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LU) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RU);
|
||||
// VAR.BOOL[eVarBool.FLAG_LIMITLOW] = false;//PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_LD) || PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_LIMIT_RD);
|
||||
// VAR.BOOL[eVarBool.OVERLOAD] = (VAR.BOOL[eVarBool.OVERLOADL] || VAR.BOOL[eVarBool.OVERLOADR]);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //출력포트값 변경
|
||||
// var doName = (arDev.FakePLC.DOName)e.ArrIDX;
|
||||
// PUB.logplc.Add($"출력({doName}) {(e.NewValue ? "O" : "X")}");
|
||||
// }
|
||||
//}
|
||||
|
||||
//string oldflagmessage = string.Empty;
|
||||
string lastplclogmessage = "";
|
||||
DateTime lastplclogtime = DateTime.Now;
|
||||
string logmessage = "";
|
||||
bool logerror = false;
|
||||
|
||||
// 사용하지 않는 필드들 제거
|
||||
// private string logmessage;
|
||||
// private string lastplclogmessage;
|
||||
// private string logerror;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,11 +98,11 @@ namespace Project
|
||||
|
||||
}
|
||||
|
||||
void PLC_FlagChanged(object sender, arDev.Arduino.DIO.FlagValueEventArgs e)
|
||||
{
|
||||
//플래그 상태표시는 메인의 타이머를 이용한다
|
||||
// var flag = (arDev.FakePLC.PLCFlag)e.ArrIDX;
|
||||
PUB.log.Add($"PLC Flag Changed {e.ArrIDX} : {e.NewValue}");
|
||||
}
|
||||
//void PLC_FlagChanged(object sender, arDev.Arduino.DIO.FlagValueEventArgs e)
|
||||
//{
|
||||
// //플래그 상태표시는 메인의 타이머를 이용한다
|
||||
// // var flag = (arDev.FakePLC.PLCFlag)e.ArrIDX;
|
||||
// PUB.log.Add($"PLC Flag Changed {e.ArrIDX} : {e.NewValue}");
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using arCtl;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using System.Windows.Forms;
|
||||
using Project.ViewForm;
|
||||
@@ -77,7 +77,7 @@ namespace Project
|
||||
}
|
||||
|
||||
|
||||
void sm_Running(object sender, StateMachine.RunningEventArgs e)
|
||||
void sm_Running(object sender, StateMachine.StateMachine.RunningEventArgs e)
|
||||
{
|
||||
|
||||
//창을 닫아야하는 상황에는 처리하지 않는다.
|
||||
@@ -352,7 +352,7 @@ namespace Project
|
||||
}
|
||||
}
|
||||
|
||||
void sm_Message(object sender, StateMachine.StateMachineMessageEventArgs e)
|
||||
void sm_Message(object sender, StateMachine.StateMachine.StateMachineMessageEventArgs e)
|
||||
{
|
||||
//상태머신에서 발생한 메세지
|
||||
if (e.Header != "SM-STEP")
|
||||
@@ -360,7 +360,7 @@ namespace Project
|
||||
}
|
||||
|
||||
|
||||
void sm_StepChanged(object sender, StateMachine.StepChangeEventArgs e)
|
||||
void sm_StepChanged(object sender, StateMachine.StateMachine.StepChangeEventArgs e)
|
||||
{
|
||||
//상태머신의 스텝이 변경될때 발생함
|
||||
//Pub.log.Add(string.Format("SM:Step Changed {0} to {1}",e.Old,e.New));
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Text;
|
||||
using AR;
|
||||
using arCtl;
|
||||
using COMM;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using COMM;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
@@ -421,8 +421,8 @@ namespace Project
|
||||
/// </summary>
|
||||
void Update_Music()
|
||||
{
|
||||
|
||||
if (PUB.mplayer != null && PUB.mplayer.HasAudio && PUB.bPlayMusic)
|
||||
if (PUB.mplayer == null) return;
|
||||
if (PUB.mplayer != null && !string.IsNullOrEmpty(PUB.mplayer.SoundLocation) && PUB.bPlayMusic)
|
||||
{
|
||||
if (PUB.AGV.system1.agv_run == false)
|
||||
{
|
||||
@@ -434,7 +434,7 @@ namespace Project
|
||||
|
||||
}
|
||||
}
|
||||
else if (PUB.setting.Enable_Music && PUB.mplayer != null && PUB.mplayer.HasAudio)
|
||||
else if (PUB.setting.Enable_Music && PUB.mplayer != null && !string.IsNullOrEmpty(PUB.mplayer.SoundLocation))
|
||||
{
|
||||
if (PUB.AGV.system1.agv_run == true)
|
||||
{
|
||||
|
||||
@@ -32,7 +32,6 @@ namespace Project.ViewForm
|
||||
}
|
||||
|
||||
|
||||
bool tmrun = false;
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
timer1.Stop();
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using static Project.StateMachine;
|
||||
using Project.StateMachine;
|
||||
using COMM;
|
||||
using AR;
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace Project.ViewForm
|
||||
}
|
||||
}
|
||||
|
||||
private void Sm_StepChanged(object sender, StepChangeEventArgs e)
|
||||
private void Sm_StepChanged(object sender, StateMachine.StateMachine.StepChangeEventArgs e)
|
||||
{
|
||||
if (e.New == eSMStep.INIT || e.New == eSMStep.SYNC)
|
||||
this.ctlAuto1.Scean = CtlAuto.eScean.Progress;
|
||||
|
||||
@@ -60,7 +60,6 @@ namespace Project.ViewForm
|
||||
}
|
||||
|
||||
|
||||
bool tmrun = false;
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
timer1.Stop();
|
||||
|
||||
@@ -88,7 +88,6 @@ namespace Project.ViewForm
|
||||
}
|
||||
|
||||
|
||||
bool tmrun = false;
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
timer1.Stop();
|
||||
|
||||
@@ -23,43 +23,33 @@ namespace Project.ViewForm
|
||||
|
||||
namearray.Clear();
|
||||
tagarray.Clear();
|
||||
for (byte i = 0; i < 16; i++)
|
||||
{
|
||||
var flagName = ((arDev.FakePLC.DIName)i).ToString();
|
||||
var enumValue = Enum.Parse(typeof(arDev.FakePLC.DIPin), flagName);
|
||||
if (flagName == i.ToString()) tagarray.Add(string.Empty);
|
||||
else
|
||||
{
|
||||
//동일한 이름의 pin 번호르 찾아서 할당해준다.
|
||||
var eV = (arDev.FakePLC.DIPin)enumValue;
|
||||
tagarray.Add(((byte)eV).ToString());
|
||||
}
|
||||
namearray.Add(flagName.Replace("_", "\n"));
|
||||
}
|
||||
for (byte i = 0; i < 8; i++)
|
||||
{
|
||||
var flagName = ((arDev.FakePLC.DOName)i).ToString();
|
||||
var enumValue = Enum.Parse(typeof(arDev.FakePLC.DOPin), flagName);
|
||||
if (flagName == i.ToString()) tagarray.Add(string.Empty);
|
||||
else
|
||||
{
|
||||
//동일한 이름의 pin 번호르 찾아서 할당해준다.
|
||||
var eV = (arDev.FakePLC.DOPin)enumValue;
|
||||
tagarray.Add(((byte)eV).ToString());
|
||||
}
|
||||
namearray.Add(flagName);
|
||||
}
|
||||
|
||||
////값설정
|
||||
//List<Boolean> fgValueM = new List<bool>();
|
||||
//List<Boolean> fgValueS = new List<bool>();
|
||||
|
||||
////mainplc
|
||||
//for (byte i = 0; i < 16; i++)
|
||||
// fgValueM.Add(PUB.PLC.GetValueI(i));
|
||||
//for (byte i = 0; i < 16; i++)
|
||||
// fgValueM.Add(PUB.PLC.GetValueO(i));
|
||||
|
||||
//{
|
||||
// var flagName = ((arDev.FakePLC.DIName)i).ToString();
|
||||
// var enumValue = Enum.Parse(typeof(arDev.FakePLC.DIPin), flagName);
|
||||
// if (flagName == i.ToString()) tagarray.Add(string.Empty);
|
||||
// else
|
||||
// {
|
||||
// //동일한 이름의 pin 번호르 찾아서 할당해준다.
|
||||
// var eV = (arDev.FakePLC.DIPin)enumValue;
|
||||
// tagarray.Add(((byte)eV).ToString());
|
||||
// }
|
||||
// namearray.Add(flagName.Replace("_", "\n"));
|
||||
//}
|
||||
//for (byte i = 0; i < 8; i++)
|
||||
//{
|
||||
// var flagName = ((arDev.FakePLC.DOName)i).ToString();
|
||||
// var enumValue = Enum.Parse(typeof(arDev.FakePLC.DOPin), flagName);
|
||||
// if (flagName == i.ToString()) tagarray.Add(string.Empty);
|
||||
// else
|
||||
// {
|
||||
// //동일한 이름의 pin 번호르 찾아서 할당해준다.
|
||||
// var eV = (arDev.FakePLC.DOPin)enumValue;
|
||||
// tagarray.Add(((byte)eV).ToString());
|
||||
// }
|
||||
// namearray.Add(flagName);
|
||||
//}
|
||||
|
||||
|
||||
this.FormClosed += FIO_FormClosed;
|
||||
UpdateControl();
|
||||
|
||||
@@ -2,10 +2,22 @@
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="AGV4.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Project.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<connectionStrings>
|
||||
<add name="AGV4.Properties.Settings.CS" connectionString="Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True"
|
||||
providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<userSettings>
|
||||
<AGV4.Properties.Settings>
|
||||
<setting name="css" serializeAs="String">
|
||||
<value>asdfasdfasdf
|
||||
asdfasdfasdf
|
||||
asdf</value>
|
||||
</setting>
|
||||
</AGV4.Properties.Settings>
|
||||
<Project.Properties.Settings>
|
||||
<setting name="css" serializeAs="String">
|
||||
<value>asdfasdfasdf
|
||||
|
||||
@@ -7,12 +7,10 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
using static Project.StateMachine;
|
||||
using Microsoft.Speech.Synthesis;
|
||||
using Microsoft.Speech;
|
||||
using COMM;
|
||||
using System.CodeDom;
|
||||
using AR;
|
||||
using Project.StateMachine;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
@@ -159,7 +157,7 @@ namespace Project
|
||||
|
||||
}
|
||||
|
||||
short[] FlagMapValue;
|
||||
private Dictionary<string, int> FlagMap = new Dictionary<string, int>();
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = Application.ProductName + " ver " + Application.ProductVersion;
|
||||
@@ -228,7 +226,7 @@ namespace Project
|
||||
PUB.sm.SetMsgOptOff(); //모든 메세지출력을 해제한다. (이벤트는 동작함)
|
||||
|
||||
PUB.log.Add("State Machine Start");
|
||||
PUB.sm = new StateMachine();
|
||||
PUB.sm = new StateMachine.StateMachine();
|
||||
PUB.sm.StepChanged += sm_StepChanged;
|
||||
PUB.sm.Message += sm_Message;
|
||||
PUB.sm.Running += sm_Running;
|
||||
@@ -690,8 +688,7 @@ namespace Project
|
||||
using (var f = new fSetup())
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//music volume200522
|
||||
PUB.mplayer.Volume = PUB.setting.musicvol / 100.0;
|
||||
|
||||
|
||||
//AGV정보 싱크
|
||||
PUB.sm.ResetRunStepSeq();
|
||||
@@ -719,7 +716,7 @@ namespace Project
|
||||
PUB.sm.ClearRunStep();
|
||||
PUB.sm.SetNewStep(eSMStep.RESET);
|
||||
PUB.sm.bPause = false;
|
||||
if (PUB.mplayer != null && PUB.mplayer.HasAudio)
|
||||
if (PUB.mplayer != null && PUB.mplayer.SoundLocation.isEmpty() == false)
|
||||
{
|
||||
PUB.mplayer.Stop();
|
||||
PUB.bPlayMusic = false;
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace Project
|
||||
public fSetup()
|
||||
{
|
||||
InitializeComponent();
|
||||
tmDisplay = new Timer
|
||||
tmDisplay = new System.Windows.Forms.Timer
|
||||
{
|
||||
Interval = 200
|
||||
};
|
||||
@@ -125,7 +125,7 @@ namespace Project
|
||||
chkClearPos.Checked = PUB.setting.AutoModeOffAndClearPosition;
|
||||
|
||||
//PLC옵션
|
||||
nudMusicVol.Value = (int)(PUB.mplayer.Volume * 100.0);
|
||||
nudMusicVol.Value = PUB.setting.musicvol;// (int)(PUB.mplayer.Volume * 100.0);
|
||||
tbMusic.Text = PUB.setting.musicfile;
|
||||
this.chkFullScreen.Checked = PUB.setting.FullScreen;
|
||||
this.chkDetectManualCharge.Checked = PUB.setting.DetectManualCharge;
|
||||
@@ -332,7 +332,8 @@ namespace Project
|
||||
PUB.setting.TAGF5B = (int)vcTagF5B.Value;
|
||||
|
||||
//PLC옵션
|
||||
PUB.setting.musicvol = (int)nudMusicVol.Value;
|
||||
//PUB.setting.musicvol = (int)nudMusicVol.Value;
|
||||
PUB.SetVolume((int)nudMusicVol.Value);
|
||||
PUB.setting.ChargeSearchTime = (int)vcChargeSearchTime.Value;
|
||||
|
||||
PUB.setting.doorSoundTerm = (int)nudDoorSoundTerm.Value;
|
||||
@@ -527,8 +528,8 @@ namespace Project
|
||||
}
|
||||
try
|
||||
{
|
||||
if (PUB.mplayer.HasAudio) PUB.mplayer.Stop();
|
||||
PUB.mplayer.Open(new Uri(tbMusic.Text));
|
||||
if (PUB.mplayer.SoundLocation.isEmpty()==false) PUB.mplayer.Stop();
|
||||
PUB.mplayer.SoundLocation = tbMusic.Text;// (new Uri(tbMusic.Text));
|
||||
PUB.mplayer.Play();
|
||||
PUB.bPlayMusic = true;
|
||||
}
|
||||
|
||||
4
Cs_HMI/Project/run.bat
Normal file
4
Cs_HMI/Project/run.bat
Normal file
@@ -0,0 +1,4 @@
|
||||
echo "Building..."
|
||||
rem dotnet build
|
||||
echo "Running..."
|
||||
dotnet run --project .\Project\AGV4.csproj
|
||||
@@ -3,90 +3,90 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Project
|
||||
namespace Project.StateMachine
|
||||
{
|
||||
public partial class StateMachine
|
||||
// public partial class StateMachine
|
||||
//{
|
||||
public enum eGoDir
|
||||
{
|
||||
public enum eGoDir
|
||||
{
|
||||
Up,
|
||||
Down,
|
||||
}
|
||||
public enum EMsgOpt : byte
|
||||
{
|
||||
NORMAL,
|
||||
STEPCHANGE,
|
||||
ERROR,
|
||||
}
|
||||
Up,
|
||||
Down,
|
||||
}
|
||||
public enum EMsgOpt : byte
|
||||
{
|
||||
NORMAL,
|
||||
STEPCHANGE,
|
||||
ERROR,
|
||||
}
|
||||
/// <summary>
|
||||
/// 000~020 : System Define
|
||||
/// 020~255 : User Define
|
||||
/// </summary>
|
||||
public enum eSMStep : byte
|
||||
{
|
||||
NOTSET = 0,
|
||||
INIT,
|
||||
SYNC,
|
||||
IDLE,
|
||||
RUN,
|
||||
FINISH,
|
||||
PAUSE,
|
||||
ERROR,
|
||||
RESET,
|
||||
EMERGENCY,
|
||||
CLEAR,
|
||||
CLOSING,
|
||||
CLOSEWAIT,
|
||||
CLOSED,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// RUN중일 때 사용되는 세부 시퀀스
|
||||
/// </summary>
|
||||
public enum ERunStep : byte
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 000~020 : System Define
|
||||
/// 020~255 : User Define
|
||||
/// 자동모드 대기상태
|
||||
/// </summary>
|
||||
public enum eSMStep : byte
|
||||
{
|
||||
NOTSET = 0,
|
||||
INIT,
|
||||
SYNC,
|
||||
IDLE,
|
||||
RUN,
|
||||
FINISH,
|
||||
PAUSE,
|
||||
ERROR,
|
||||
RESET,
|
||||
EMERGENCY,
|
||||
CLEAR,
|
||||
CLOSING,
|
||||
CLOSEWAIT,
|
||||
CLOSED,
|
||||
}
|
||||
|
||||
READY = 0,
|
||||
|
||||
/// <summary>
|
||||
/// RUN중일 때 사용되는 세부 시퀀스
|
||||
/// 홈(QC)로 이동합니다
|
||||
/// </summary>
|
||||
public enum ERunStep : byte
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 자동모드 대기상태
|
||||
/// </summary>
|
||||
READY=0,
|
||||
GOHOME,
|
||||
|
||||
/// <summary>
|
||||
/// 홈(QC)로 이동합니다
|
||||
/// </summary>
|
||||
GOHOME,
|
||||
/// <summary>
|
||||
/// 충전을 해제 함
|
||||
/// </summary>
|
||||
CHARGEOFF,
|
||||
|
||||
/// <summary>
|
||||
/// 충전을 해제 함
|
||||
/// </summary>
|
||||
CHARGEOFF,
|
||||
|
||||
/// <summary>
|
||||
/// 충전이동
|
||||
/// </summary>
|
||||
GOCHARGE,
|
||||
/// <summary>
|
||||
/// 충전이동
|
||||
/// </summary>
|
||||
GOCHARGE,
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 충전중
|
||||
/// </summary>
|
||||
CHARGECHECK =50,
|
||||
/// <summary>
|
||||
/// 충전중
|
||||
/// </summary>
|
||||
CHARGECHECK = 50,
|
||||
|
||||
/// <summary>
|
||||
/// 상차이동
|
||||
/// </summary>
|
||||
GOUP,
|
||||
/// <summary>
|
||||
/// 상차이동
|
||||
/// </summary>
|
||||
GOUP,
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 하차이동
|
||||
/// </summary>
|
||||
GODOWN,
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 하차이동
|
||||
/// </summary>
|
||||
GODOWN,
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Project
|
||||
namespace Project.StateMachine
|
||||
{
|
||||
public partial class StateMachine
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Project
|
||||
namespace Project.StateMachine
|
||||
{
|
||||
public partial class StateMachine : IDisposable
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<ProjectGuid>{BBC9BCCF-6262-4355-9CC2-37FF678AC499}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>StateMachine</RootNamespace>
|
||||
<RootNamespace>Project.StateMachine</RootNamespace>
|
||||
<AssemblyName>StateMachine</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
|
||||
@@ -62,7 +62,6 @@ namespace arDev
|
||||
Errlog = new Queue();
|
||||
MinRecvLength = 4;
|
||||
|
||||
VAR.Init(128);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ namespace MSSQLCommand
|
||||
/// </summary>
|
||||
public string CS { get; private set; }
|
||||
|
||||
private int
|
||||
public Monitor(string ip, string id, string pass, string db)
|
||||
{
|
||||
//ConnectionString = $"Data Source =10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
|
||||
@@ -95,10 +95,6 @@
|
||||
<Project>{14e8c9a5-013e-49ba-b435-efefc77dd623}</Project>
|
||||
<Name>CommData</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\SubProject\ProPLC\PLC.Net45.csproj">
|
||||
<Project>{476c8e64-7b6b-4554-aca2-04302715750f}</Project>
|
||||
<Name>PLC.Net45</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
2
Cs_HMI/run.bat
Normal file
2
Cs_HMI/run.bat
Normal file
@@ -0,0 +1,2 @@
|
||||
dotnet build
|
||||
dotnet run --project .\Project\AGV4.csproj
|
||||
Reference in New Issue
Block a user