Commit 910728b9 顾剑亮

修改bug

1 个父辈 0fb458b4
正在显示 68 个修改的文件 包含 475 行增加294 行删除
......@@ -11,7 +11,22 @@
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<Deterministic>false</Deterministic>
<PublishUrl>publish\</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>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
......@@ -22,6 +37,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
......@@ -39,6 +55,7 @@
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
......@@ -96,5 +113,17 @@
<ItemGroup>
<Content Include="elevator.ico" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6 %28x86 和 x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>zh-CN</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<appSettings>
<add key="FLEET_IP" value="10.85.199.3"/>
<add key="FleetSend" value="true"/>
<add key="BatteryMax" value="100"/>
<add key="BatteryMin" value="20"/>
<add key="BatteryIdle" value="80"/>
<add key="ElevatorIOIP" value="10.85.199.148"/>
<add key="FirstFloorCount" value="2"/>
<add key="AutoCharge" value="true"/>
<add key="Board" value="http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<appSettings>
<add key="FLEET_IP" value="10.85.199.3" />
<add key="FleetSend" value="true" />
<add key="BatteryMax" value="100" />
<add key="BatteryMin" value="20" />
<add key="BatteryIdle" value="80" />
<add key="ElevatorIOIP" value="10.85.199.148" />
<add key="FirstFloorCount" value="2" />
<add key="AutoCharge" value="true" />
<add key="BoardTimeout" value="3" />
<add key="Board" value="http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
</configuration>
\ No newline at end of file
......@@ -34,6 +34,7 @@ namespace AGVControl_Elevator
Common.appConfig = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
Common.FleetSend = Convert.ToBoolean(Common.appConfig.AppSettings.Settings["FleetSend"].Value);
Common.BoardURL = Common.appConfig.AppSettings.Settings["Board"].Value;
Common.BoardTimeout = Convert.ToInt32(Common.appConfig.AppSettings.Settings["BoardTimeout"].Value);
Common.BatteryMax = Convert.ToInt32(Common.appConfig.AppSettings.Settings["BatteryMax"].Value);
Common.BatteryMin = Convert.ToInt32(Common.appConfig.AppSettings.Settings["BatteryMin"].Value);
Common.BatteryIdle = Convert.ToInt32(Common.appConfig.AppSettings.Settings["BatteryIdle"].Value);
......@@ -97,6 +98,7 @@ namespace AGVControl_Elevator
string[] lines = System.IO.File.ReadAllLines(Common.PATH_LINE, System.Text.Encoding.UTF8);
for (int i = 0; i < lines.Length; i++)
{
if (lines[i].StartsWith("#")) continue;
string[] str = lines[i].Split(',');
if (str.Length != 4) continue;
LineIOInfo info = new LineIOInfo(str[0], str[1], str[2], str[3]);
......
......@@ -31,6 +31,6 @@ using System.Runtime.InteropServices;
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.0.0")]
[assembly: AssemblyFileVersion("1.1.0.0")]
[assembly: AssemblyVersion("1.2.*")]
//[assembly: AssemblyVersion("1.1.0.0")]
//[assembly: AssemblyFileVersion("1.1.0.0")]
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<appSettings>
<add key="FLEET_IP" value="10.85.199.3"/>
<add key="FleetSend" value="true"/>
<add key="BatteryMax" value="100"/>
<add key="BatteryMin" value="20"/>
<add key="BatteryIdle" value="80"/>
<add key="ElevatorIOIP" value="10.85.199.148"/>
<add key="FirstFloorCount" value="2"/>
<add key="AutoCharge" value="true"/>
<add key="Board" value="http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<appSettings>
<add key="FLEET_IP" value="10.85.199.3" />
<add key="FleetSend" value="true" />
<add key="BatteryMax" value="100" />
<add key="BatteryMin" value="20" />
<add key="BatteryIdle" value="80" />
<add key="ElevatorIOIP" value="10.85.199.148" />
<add key="FirstFloorCount" value="2" />
<add key="AutoCharge" value="true" />
<add key="BoardTimeout" value="3" />
<add key="Board" value="http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
</configuration>
\ No newline at end of file
[2021-03-17 16:13:21,293][1][AGVControl:22]INFO =====程序开始=====
[2021-03-17 16:13:21,430][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\AgvName.csv
[2021-03-17 16:13:21,441][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\AgvMission.csv
[2021-03-17 16:13:21,454][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\Line.csv
[2021-03-17 16:13:21,466][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\Elevator.csv
[2021-03-17 16:13:21,806][1][AGVControl:22]INFO 加载缓存文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\LineWork.txt
[2021-03-17 16:13:23,706][10][AGVControl:32]WARN 12号车[10.85.199.114] 脱机
[2021-03-17 16:13:26,204][12][AGVControl:32]WARN 12号车[10.85.199.114] 脱机
[2021-03-17 16:13:28,066][1][AGVControl:22]INFO =====程序结束=====
[2020-11-23 10:39:05,783][1][AGVControl:22]INFO =====程序开始=====
[2020-11-23 10:39:06,114][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\AgvName.csv
[2020-11-23 10:39:06,134][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\AgvMission.csv
[2020-11-23 10:39:06,148][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\Line.csv
[2020-11-23 10:39:06,161][1][AGVControl:22]INFO 读取配置文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\Elevator.csv
[2020-11-23 10:39:06,913][1][AGVControl:22]INFO 加载缓存文件 C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Config\LineWork.txt
[2020-11-23 10:39:08,589][8][AGVControl:32]WARN 12号车[10.85.199.114] 脱机
[2020-11-23 10:39:11,086][13][AGVControl:32]WARN 12号车[10.85.199.114] 脱机
[2020-11-23 10:39:13,580][11][AGVControl:32]WARN 12号车[10.85.199.114] 脱机
[2020-11-23 10:39:15,591][9][AGVControl:32]WARN 12号车[10.85.199.114] 脱机
[2020-11-23 10:39:16,436][1][AGVControl:22]INFO =====程序结束=====
[2021-03-17 16:13:21,897][1][IO_Elevator:63]INFO ===== IO[10.85.199.148] Open =====
[2021-03-17 16:13:24,704][9][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2021-03-17 16:13:25,705][11][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2021-03-17 16:13:27,705][11][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2021-03-17 16:13:28,014][1][IO_Elevator:78]INFO ===== IO[10.85.199.148] Close =====
[2020-11-23 10:39:06,976][1][IO_Elevator:63]INFO ===== IO[10.85.199.148] Open =====
[2020-11-23 10:39:07,593][9][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2020-11-23 10:39:10,590][11][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2020-11-23 10:39:12,580][8][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2020-11-23 10:39:14,592][8][IO_Elevator:251]INFO Ping 10.85.199.148 请求没有响应
[2020-11-23 10:39:16,374][1][IO_Elevator:78]INFO ===== IO[10.85.199.148] Close =====
[2021-03-17 16:13:21,844][1][IO_Line:63]INFO ===== IO[10.85.199.97] Open =====
[2021-03-17 16:13:21,856][1][IO_Line:63]INFO ===== IO[10.85.199.98] Open =====
[2021-03-17 16:13:21,856][1][IO_Line:63]INFO ===== IO[10.85.199.99] Open =====
[2021-03-17 16:13:21,857][1][IO_Line:63]INFO ===== IO[10.85.199.100] Open =====
[2021-03-17 16:13:21,858][1][IO_Line:63]INFO ===== IO[10.85.199.101] Open =====
[2021-03-17 16:13:21,858][1][IO_Line:63]INFO ===== IO[10.85.199.102] Open =====
[2021-03-17 16:13:21,858][1][IO_Line:63]INFO ===== IO[10.85.199.103] Open =====
[2021-03-17 16:13:21,859][1][IO_Line:63]INFO ===== IO[10.85.199.104] Open =====
[2021-03-17 16:13:21,862][1][IO_Line:63]INFO ===== IO[10.85.199.105] Open =====
[2021-03-17 16:13:21,863][1][IO_Line:63]INFO ===== IO[10.85.199.106] Open =====
[2021-03-17 16:13:21,863][1][IO_Line:63]INFO ===== IO[10.85.199.107] Open =====
[2021-03-17 16:13:21,863][1][IO_Line:63]INFO ===== IO[10.85.199.108] Open =====
[2021-03-17 16:13:21,863][1][IO_Line:63]INFO ===== IO[10.85.199.109] Open =====
[2021-03-17 16:13:21,864][1][IO_Line:63]INFO ===== IO[10.85.199.110] Open =====
[2021-03-17 16:13:21,897][1][IO_Line:63]INFO ===== IO[10.85.199.111] Open =====
[2021-03-17 16:13:22,707][11][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2021-03-17 16:13:22,707][6][IO_Line:251]INFO Ping 10.85.199.97 请求没有响应
[2021-03-17 16:13:22,707][7][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2021-03-17 16:13:22,707][9][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2021-03-17 16:13:22,707][8][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2021-03-17 16:13:23,704][11][IO_Line:251]INFO Ping 10.85.199.106 请求没有响应
[2021-03-17 16:13:23,704][7][IO_Line:251]INFO Ping 10.85.199.104 请求没有响应
[2021-03-17 16:13:23,705][8][IO_Line:251]INFO Ping 10.85.199.102 请求没有响应
[2021-03-17 16:13:23,704][9][IO_Line:251]INFO Ping 10.85.199.103 请求没有响应
[2021-03-17 16:13:23,704][6][IO_Line:251]INFO Ping 10.85.199.105 请求没有响应
[2021-03-17 16:13:24,204][12][IO_Line:251]INFO Ping 10.85.199.101 请求没有响应
[2021-03-17 16:13:24,704][11][IO_Line:251]INFO Ping 10.85.199.100 请求没有响应
[2021-03-17 16:13:24,704][7][IO_Line:251]INFO Ping 10.85.199.99 请求没有响应
[2021-03-17 16:13:24,704][8][IO_Line:251]INFO Ping 10.85.199.98 请求没有响应
[2021-03-17 16:13:24,705][10][IO_Line:251]INFO Ping 10.85.199.97 请求没有响应
[2021-03-17 16:13:24,704][6][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2021-03-17 16:13:25,705][7][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2021-03-17 16:13:25,705][9][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2021-03-17 16:13:25,705][8][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2021-03-17 16:13:25,706][10][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2021-03-17 16:13:25,706][6][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2021-03-17 16:13:26,204][13][IO_Line:251]INFO Ping 10.85.199.106 请求没有响应
[2021-03-17 16:13:26,704][11][IO_Line:251]INFO Ping 10.85.199.105 请求没有响应
[2021-03-17 16:13:26,704][7][IO_Line:251]INFO Ping 10.85.199.104 请求没有响应
[2021-03-17 16:13:26,705][8][IO_Line:251]INFO Ping 10.85.199.102 请求没有响应
[2021-03-17 16:13:26,705][6][IO_Line:251]INFO Ping 10.85.199.100 请求没有响应
[2021-03-17 16:13:26,705][10][IO_Line:251]INFO Ping 10.85.199.101 请求没有响应
[2021-03-17 16:13:26,704][9][IO_Line:251]INFO Ping 10.85.199.103 请求没有响应
[2021-03-17 16:13:27,204][13][IO_Line:251]INFO Ping 10.85.199.99 请求没有响应
[2021-03-17 16:13:27,204][12][IO_Line:251]INFO Ping 10.85.199.98 请求没有响应
[2021-03-17 16:13:27,705][7][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2021-03-17 16:13:27,705][8][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2021-03-17 16:13:27,706][10][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2021-03-17 16:13:27,705][6][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2021-03-17 16:13:27,706][9][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2021-03-17 16:13:27,995][1][IO_Line:78]INFO ===== IO[10.85.199.97] Close =====
[2021-03-17 16:13:28,010][1][IO_Line:78]INFO ===== IO[10.85.199.98] Close =====
[2021-03-17 16:13:28,010][1][IO_Line:78]INFO ===== IO[10.85.199.99] Close =====
[2021-03-17 16:13:28,011][1][IO_Line:78]INFO ===== IO[10.85.199.100] Close =====
[2021-03-17 16:13:28,011][1][IO_Line:78]INFO ===== IO[10.85.199.101] Close =====
[2021-03-17 16:13:28,011][1][IO_Line:78]INFO ===== IO[10.85.199.102] Close =====
[2021-03-17 16:13:28,011][1][IO_Line:78]INFO ===== IO[10.85.199.103] Close =====
[2021-03-17 16:13:28,012][1][IO_Line:78]INFO ===== IO[10.85.199.104] Close =====
[2021-03-17 16:13:28,012][1][IO_Line:78]INFO ===== IO[10.85.199.105] Close =====
[2021-03-17 16:13:28,012][1][IO_Line:78]INFO ===== IO[10.85.199.106] Close =====
[2021-03-17 16:13:28,012][1][IO_Line:78]INFO ===== IO[10.85.199.107] Close =====
[2021-03-17 16:13:28,013][1][IO_Line:78]INFO ===== IO[10.85.199.108] Close =====
[2021-03-17 16:13:28,013][1][IO_Line:78]INFO ===== IO[10.85.199.109] Close =====
[2021-03-17 16:13:28,013][1][IO_Line:78]INFO ===== IO[10.85.199.110] Close =====
[2021-03-17 16:13:28,013][1][IO_Line:78]INFO ===== IO[10.85.199.111] Close =====
[2020-11-23 10:39:06,950][1][IO_Line:63]INFO ===== IO[10.85.199.97] Open =====
[2020-11-23 10:39:06,967][1][IO_Line:63]INFO ===== IO[10.85.199.98] Open =====
[2020-11-23 10:39:06,967][1][IO_Line:63]INFO ===== IO[10.85.199.99] Open =====
[2020-11-23 10:39:06,968][1][IO_Line:63]INFO ===== IO[10.85.199.100] Open =====
[2020-11-23 10:39:06,970][1][IO_Line:63]INFO ===== IO[10.85.199.101] Open =====
[2020-11-23 10:39:06,971][1][IO_Line:63]INFO ===== IO[10.85.199.102] Open =====
[2020-11-23 10:39:06,971][1][IO_Line:63]INFO ===== IO[10.85.199.103] Open =====
[2020-11-23 10:39:06,972][1][IO_Line:63]INFO ===== IO[10.85.199.104] Open =====
[2020-11-23 10:39:06,973][1][IO_Line:63]INFO ===== IO[10.85.199.105] Open =====
[2020-11-23 10:39:06,973][1][IO_Line:63]INFO ===== IO[10.85.199.106] Open =====
[2020-11-23 10:39:06,974][1][IO_Line:63]INFO ===== IO[10.85.199.107] Open =====
[2020-11-23 10:39:06,974][1][IO_Line:63]INFO ===== IO[10.85.199.108] Open =====
[2020-11-23 10:39:06,975][1][IO_Line:63]INFO ===== IO[10.85.199.109] Open =====
[2020-11-23 10:39:06,975][1][IO_Line:63]INFO ===== IO[10.85.199.110] Open =====
[2020-11-23 10:39:06,976][1][IO_Line:63]INFO ===== IO[10.85.199.111] Open =====
[2020-11-23 10:39:07,593][11][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2020-11-23 10:39:07,593][10][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2020-11-23 10:39:07,593][7][IO_Line:251]INFO Ping 10.85.199.97 请求没有响应
[2020-11-23 10:39:07,593][12][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2020-11-23 10:39:08,587][11][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2020-11-23 10:39:08,587][9][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2020-11-23 10:39:08,588][10][IO_Line:251]INFO Ping 10.85.199.106 请求没有响应
[2020-11-23 10:39:08,588][7][IO_Line:251]INFO Ping 10.85.199.105 请求没有响应
[2020-11-23 10:39:08,588][12][IO_Line:251]INFO Ping 10.85.199.104 请求没有响应
[2020-11-23 10:39:09,088][13][IO_Line:251]INFO Ping 10.85.199.103 请求没有响应
[2020-11-23 10:39:09,590][11][IO_Line:251]INFO Ping 10.85.199.102 请求没有响应
[2020-11-23 10:39:09,590][7][IO_Line:251]INFO Ping 10.85.199.99 请求没有响应
[2020-11-23 10:39:09,591][8][IO_Line:251]INFO Ping 10.85.199.97 请求没有响应
[2020-11-23 10:39:09,590][9][IO_Line:251]INFO Ping 10.85.199.101 请求没有响应
[2020-11-23 10:39:09,590][10][IO_Line:251]INFO Ping 10.85.199.100 请求没有响应
[2020-11-23 10:39:09,591][12][IO_Line:251]INFO Ping 10.85.199.98 请求没有响应
[2020-11-23 10:39:10,590][7][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2020-11-23 10:39:10,591][10][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2020-11-23 10:39:10,591][12][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2020-11-23 10:39:10,590][8][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2020-11-23 10:39:10,590][9][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2020-11-23 10:39:11,086][14][IO_Line:251]INFO Ping 10.85.199.106 请求没有响应
[2020-11-23 10:39:11,580][11][IO_Line:251]INFO Ping 10.85.199.105 请求没有响应
[2020-11-23 10:39:11,580][10][IO_Line:251]INFO Ping 10.85.199.103 请求没有响应
[2020-11-23 10:39:11,581][8][IO_Line:251]INFO Ping 10.85.199.101 请求没有响应
[2020-11-23 10:39:11,581][9][IO_Line:251]INFO Ping 10.85.199.100 请求没有响应
[2020-11-23 10:39:11,580][7][IO_Line:251]INFO Ping 10.85.199.104 请求没有响应
[2020-11-23 10:39:11,580][12][IO_Line:251]INFO Ping 10.85.199.102 请求没有响应
[2020-11-23 10:39:12,078][14][IO_Line:251]INFO Ping 10.85.199.97 请求没有响应
[2020-11-23 10:39:12,078][13][IO_Line:251]INFO Ping 10.85.199.99 请求没有响应
[2020-11-23 10:39:12,580][10][IO_Line:251]INFO Ping 10.85.199.98 请求没有响应
[2020-11-23 10:39:12,581][12][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2020-11-23 10:39:12,581][7][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2020-11-23 10:39:12,580][9][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2020-11-23 10:39:13,078][14][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2020-11-23 10:39:13,078][13][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2020-11-23 10:39:13,580][10][IO_Line:251]INFO Ping 10.85.199.106 请求没有响应
[2020-11-23 10:39:13,581][7][IO_Line:251]INFO Ping 10.85.199.103 请求没有响应
[2020-11-23 10:39:13,581][9][IO_Line:251]INFO Ping 10.85.199.102 请求没有响应
[2020-11-23 10:39:13,581][12][IO_Line:251]INFO Ping 10.85.199.104 请求没有响应
[2020-11-23 10:39:13,580][8][IO_Line:251]INFO Ping 10.85.199.105 请求没有响应
[2020-11-23 10:39:14,077][14][IO_Line:251]INFO Ping 10.85.199.101 请求没有响应
[2020-11-23 10:39:14,077][13][IO_Line:251]INFO Ping 10.85.199.100 请求没有响应
[2020-11-23 10:39:14,592][11][IO_Line:251]INFO Ping 10.85.199.97 请求没有响应
[2020-11-23 10:39:14,592][10][IO_Line:251]INFO Ping 10.85.199.99 请求没有响应
[2020-11-23 10:39:14,592][12][IO_Line:251]INFO Ping 10.85.199.111 请求没有响应
[2020-11-23 10:39:14,592][7][IO_Line:251]INFO Ping 10.85.199.98 请求没有响应
[2020-11-23 10:39:15,079][14][IO_Line:251]INFO Ping 10.85.199.110 请求没有响应
[2020-11-23 10:39:15,079][13][IO_Line:251]INFO Ping 10.85.199.109 请求没有响应
[2020-11-23 10:39:15,081][15][IO_Line:251]INFO Ping 10.85.199.108 请求没有响应
[2020-11-23 10:39:15,591][11][IO_Line:251]INFO Ping 10.85.199.107 请求没有响应
[2020-11-23 10:39:15,592][8][IO_Line:251]INFO Ping 10.85.199.104 请求没有响应
[2020-11-23 10:39:15,592][12][IO_Line:251]INFO Ping 10.85.199.105 请求没有响应
[2020-11-23 10:39:15,592][7][IO_Line:251]INFO Ping 10.85.199.103 请求没有响应
[2020-11-23 10:39:15,591][10][IO_Line:251]INFO Ping 10.85.199.106 请求没有响应
[2020-11-23 10:39:16,088][14][IO_Line:251]INFO Ping 10.85.199.102 请求没有响应
[2020-11-23 10:39:16,088][13][IO_Line:251]INFO Ping 10.85.199.101 请求没有响应
[2020-11-23 10:39:16,088][15][IO_Line:251]INFO Ping 10.85.199.100 请求没有响应
[2020-11-23 10:39:16,361][1][IO_Line:78]INFO ===== IO[10.85.199.97] Close =====
[2020-11-23 10:39:16,371][1][IO_Line:78]INFO ===== IO[10.85.199.98] Close =====
[2020-11-23 10:39:16,371][1][IO_Line:78]INFO ===== IO[10.85.199.99] Close =====
[2020-11-23 10:39:16,371][1][IO_Line:78]INFO ===== IO[10.85.199.100] Close =====
[2020-11-23 10:39:16,371][1][IO_Line:78]INFO ===== IO[10.85.199.101] Close =====
[2020-11-23 10:39:16,372][1][IO_Line:78]INFO ===== IO[10.85.199.102] Close =====
[2020-11-23 10:39:16,372][1][IO_Line:78]INFO ===== IO[10.85.199.103] Close =====
[2020-11-23 10:39:16,372][1][IO_Line:78]INFO ===== IO[10.85.199.104] Close =====
[2020-11-23 10:39:16,372][1][IO_Line:78]INFO ===== IO[10.85.199.105] Close =====
[2020-11-23 10:39:16,372][1][IO_Line:78]INFO ===== IO[10.85.199.106] Close =====
[2020-11-23 10:39:16,372][1][IO_Line:78]INFO ===== IO[10.85.199.107] Close =====
[2020-11-23 10:39:16,373][1][IO_Line:78]INFO ===== IO[10.85.199.108] Close =====
[2020-11-23 10:39:16,373][1][IO_Line:78]INFO ===== IO[10.85.199.109] Close =====
[2020-11-23 10:39:16,373][1][IO_Line:78]INFO ===== IO[10.85.199.110] Close =====
[2020-11-23 10:39:16,373][1][IO_Line:78]INFO ===== IO[10.85.199.111] Close =====
[2021-03-17 16:13:23,704][10][MiR_API:619]INFO Ping 10.85.199.114 请求没有响应
[2021-03-17 16:13:26,204][12][MiR_API:619]INFO Ping 10.85.199.114 请求没有响应
[2020-11-23 10:39:08,587][8][MiR_API:619]INFO Ping 10.85.199.114 请求没有响应
[2020-11-23 10:39:11,086][13][MiR_API:619]INFO Ping 10.85.199.114 请求没有响应
[2020-11-23 10:39:13,580][11][MiR_API:619]INFO Ping 10.85.199.114 请求没有响应
[2020-11-23 10:39:15,591][9][MiR_API:619]INFO Ping 10.85.199.114 请求没有响应
......@@ -17,6 +17,11 @@
<level value="Debug"/>
<appender-ref ref="IO_Elevator"/>
</logger>
<logger name="RunLog">
<level value="Info"/>
<appender-ref ref="RunLog"/>
</logger>
<appender name="AGVControl" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\AGVControl.log" />
<param name="Encoding" value="UTF-8"/>
......@@ -65,5 +70,18 @@
<param name="ConversionPattern" value="[%d][%t][%c:%L]%-5p %m%n" />
</layout>
</appender>
<appender name="RunLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\RunLog.json" />
<param name="Encoding" value="UTF-8"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
</log4net>
</configuration>
\ No newline at end of file
98dcd1c07229968a3bd951748857a82791f62ace
eb87bc70444c3fac558f1f1259f4ba24363f1273
......@@ -34,7 +34,6 @@ C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Model.pdb
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\Advantech_IO.pdb
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\log4net.xml
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\bin\Debug\RestSharp.xml
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.csprojAssemblyReference.cache
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.FrmMain.resources
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.Properties.Resources.resources
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.csproj.GenerateResource.cache
......@@ -42,3 +41,4 @@ C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_E
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.csproj.CopyComplete
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.exe
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.pdb
C:\Neotel\Program\AGVControl_Elevator\AGVControl_Elevator\obj\Debug\AGVControl_Elevator.csproj.AssemblyReference.cache
......@@ -10,8 +10,8 @@ namespace BLL
public class Control
{
private Timer timerCall;
//private PointF[] position;
//private DateTime[] timeout;
private PointF[] position;
private DateTime[] timeout;
public delegate void AgvChangedEvent(int agvIndex);
public event AgvChangedEvent AgvChanged;
......@@ -20,16 +20,16 @@ namespace BLL
public Control()
{
ThreadPool.SetMaxThreads(5, 5); //线程池最大数量
position = new PointF[Common.agvInfos.Count];
for (int i = 0; i < position.Length; i++)
position[i] = new PointF();
}
public void Start()
{
//position = new PointF[Common.agvInfos.Count];
//for (int i = 0; i < position.Length; i++)
// position[i] = new PointF();
//timeout = new DateTime[Common.agvInfos.Count];
//for (int i = 0; i < timeout.Length; i++)
// timeout[i] = DateTime.Now;
timeout = new DateTime[Common.agvInfos.Count];
for (int i = 0; i < timeout.Length; i++)
timeout[i] = DateTime.Now;
timerCall = new Timer(CallProcess, null, 0, 2000);
}
......@@ -50,20 +50,10 @@ namespace BLL
try
{
string name = "12号车";
info.IsCall = true;
CheckAgvOnline(info);
if (!info.IsOnline && info.IsAuto) //脱机
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "离线", 0);
continue;
}
if (!info.IsOnline && info.IsAuto) //脱机
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "停用", 0);
continue;
}
GetAgvState(info);
CheckAgvOnline(ref info);
if (!info.IsOnline) continue; //脱机
GetAgvState(ref info);
if (!info.IsAuto) continue; //手动
if (info.StateID == (int)StateID.Pause)
......@@ -89,10 +79,60 @@ namespace BLL
info.IsCall = false;
}
}
DisplayBoard.UpdateAlarmMsg();
UpdateBoard();
//for (int i = 0; i < Common.agvInfos.Count; i++)
//{
// AgvInfo agv = Common.agvInfos[i];
// if (agv.IsCall) continue;
// try
// {
// agv.LogJson.OutputLog();
// string name = "12号车";
// agv.IsCall = true;
// CheckAgvOnline(agv);
// if (!agv.IsOnline && agv.IsAuto) //脱机
// {
// DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "离线", 0);
// continue;
// }
// if (!agv.IsOnline && agv.IsAuto) //脱机
// {
// DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "停用", 0);
// continue;
// }
// GetAgvState(agv);
// if (!agv.IsAuto) continue; //手动
// if (agv.StateID == (int)StateID.Pause)
// Common.mir.State_Ready(agv.IP, agv.Authorization);
// if (agv.CurrentJob == null)
// {
// //软件刚打开时,防止有任务在运行
// Common.mir.Del_Mission(agv.IP, agv.Authorization);
// agv.CurrentJob = new StandbyJob();
// }
// else
// {
// agv.CurrentJob = agv.CurrentJob.Execute(agv);
// }
// }
// catch (Exception ex)
// {
// Common.log.Error("CallProcess " + agv.Name, ex);
// }
// finally
// {
// agv.IsCall = false;
// }
//}
//DisplayBoard.UpdateAlarmMsg();
}
private void GetAgvState(AgvInfo info)
private void GetAgvState(ref AgvInfo info)
{
if (!info.IsOnline) return;
bool rtn = Common.mir.Get_State(info.IP, info.Authorization, out int stateID, out string stateText, out int battery, out string missionText, out PointF position);
......@@ -105,12 +145,14 @@ namespace BLL
info.Battery = battery;
info.MissionExplain = missionText;
info.Position = position;
int idx = Common.agvInfos.FindIndex(s => s.IP == info.IP);
string ip = info.IP;
int idx = Common.agvInfos.FindIndex(s => s.IP == ip);
if (idx > -1) AgvChanged?.Invoke(idx);
}
}
private void CheckAgvOnline(AgvInfo info)
private void CheckAgvOnline(ref AgvInfo info)
{
bool rtn = Common.mir.CheckIP(info.IP);
if (rtn)
......@@ -118,7 +160,8 @@ namespace BLL
if (!info.IsOnline)
{
info.IsOnline = true;
int idx = Common.agvInfos.FindIndex(s => s.IP == info.IP);
string ip = info.IP;
int idx = Common.agvInfos.FindIndex(s => s.IP == ip);
if (idx > -1) AgvOnline?.Invoke(idx);
Common.log.Info(string.Format("{0}[{1}] 上线", info.Name, info.IP));
}
......@@ -128,13 +171,88 @@ namespace BLL
if (info.IsOnline)
{
info.IsOnline = false;
int idx = Common.agvInfos.FindIndex(s => s.IP == info.IP);
string ip = info.IP;
int idx = Common.agvInfos.FindIndex(s => s.IP == ip);
if (idx > -1) AgvOnline?.Invoke(idx);
}
Common.log.Warn(string.Format("{0}[{1}] 脱机", info.Name, info.IP));
}
}
private void UpdateBoard()
{
for (int i = 0; i < Common.agvInfos.Count; i++)
{
AgvInfo agv = Common.agvInfos[i];
if (agv.CurrentJob == null)
{
timeout[i] = DateTime.Now;
continue;
}
agv.LogJson.OutputLog();
string name = "12号车";
if (!agv.IsOnline && agv.IsAuto) //自动+离线
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "离线", 0);
continue;
}
if (!agv.IsOnline && !agv.IsAuto) //手动+离线
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "停用", 0);
continue;
}
if (agv.IsOnline && !agv.IsAuto) //手动+在线
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", "正常", 1);
continue;
}
//自动在线,显示当前状态
if (Math.Abs(agv.Position.X - position[i].X) < 1 && Math.Abs(agv.Position.Y - position[i].Y) < 1)
{
TimeSpan span = DateTime.Now - timeout[i];
int tt = Convert.ToInt32(span.TotalMinutes - Common.BoardTimeout);
if (tt > 0)
{
if (agv.CurrentJob is ChargeJob)
{
DisplayBoard.Add(name, "lineAgv." + name + ".Place", "AutoCharge", 1);
}
else if (agv.CurrentJob is StandbyJob)
{
DisplayBoard.Add(name, "lineAgv." + name + ".Place", "Standby", 1);
}
else
{
string value = string.Format("在去{0}途中停留超时{1:F}分钟,{2}", agv.Place, tt, agv.MissionName);
DisplayBoard.Add(name, "lineAgv." + name + ".StandTimeOut", value, 0);
Common.log.Info(agv.Name + " 上传报告 " + value);
agv.LogJson.SetErrorStart(agv.TaskName, value);
}
}
else
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", agv.CurrentJob.Msg, 1);
}
}
else
{
DisplayBoard.Add(name, "lineAgv." + name + ".Msg", agv.CurrentJob.Msg, 1);
timeout[i] = DateTime.Now;
position[i] = new PointF(agv.Position.X, agv.Position.Y);
agv.LogJson.SetErrorOver();
}
}
DisplayBoard.UpdateAlarmMsg();
}
private enum StateID : int
{
None,
......
......@@ -20,12 +20,23 @@ namespace BLL
public bool IsEnd { get; private set; }
public string Msg
{
get
{
return chargeStep.Msg;
}
}
public IJob Execute(AgvInfo info)
{
_info = info;
if (chargeStep.Equals(ChargeStep.None))
{
_info.Place = "去充电位";
_info.LogJson.SetMissionStart("充电任务", "充电桩");
_info.LogJson.SetMissionStep("开始执行任务", ChargeStep.None.ToString());
SendCharge();
}
else if (chargeStep.Equals(ChargeStep.MoveStation))
......@@ -40,6 +51,7 @@ namespace BLL
{
chargeStep.NextStep(ChargeStep.End);
chargeStep.Msg = string.Format("{0} 电量达到{1}%,充电工作结束,回待机位", _info.Name, Common.BatteryMax);
_info.LogJson.SetMissionStep("结束充电", ChargeStep.Charging.ToString());
}
else if (_info.Battery > Common.BatteryMin)
{
......@@ -47,6 +59,7 @@ namespace BLL
if (job != null)
{
_info.Place = "";
_info.LogJson.SetMissionStep("结束充电", ChargeStep.Charging.ToString());
Common.mir.Del_Mission(_info.IP, _info.Authorization);
Common.log.Info(_info.Name + " 获取到任务,结束ChargeJob");
return job;
......@@ -68,6 +81,7 @@ namespace BLL
private void SendCharge()
{
mission = Common.MISSION_CHARGE;
_info.ExistShelf = -1;
move = new MissionJob(mission);
move.Execute(_info);
chargeStep.NextStep(ChargeStep.MoveStation);
......@@ -84,6 +98,7 @@ namespace BLL
_info.Place = "充电中";
chargeStep.NextStep(ChargeStep.Charging);
chargeStep.Msg = _info.Name + " 到达充电位,准备充电";
_info.LogJson.SetMissionStep("到达充电位", ChargeStep.MoveStation.ToString());
}
}
}
......
......@@ -22,15 +22,31 @@ namespace BLL
public bool IsEnd { get; private set; }
public string Msg
{
get
{
return fullShelfStep.Msg;
}
}
public IJob Execute(AgvInfo info)
{
_info = info;
if (fullShelfStep.Equals(FullShelfStep.None))
{
if (ManageWork.PauseFull)
{
_info.LogJson.SetMissionStart("执行暂停的满架任务", "电梯");
_info.LogJson.SetMissionStep("开始执行任务", FullShelfStep.None.ToString());
EnterElevatorSideShelf();
}
else
{
_info.LogJson.SetMissionStart("送满架任务", "产线");
_info.LogJson.SetMissionStep("开始执行任务", FullShelfStep.None.ToString());
FindLine();
}
}
else if (fullShelfStep.Equals(FullShelfStep.MoveLine))
{
......@@ -46,6 +62,7 @@ namespace BLL
dtUseAsk = DateTime.Now;
fullShelfStep.NextStep(FullShelfStep.UseAnswer);
fullShelfStep.Msg = string.Format("{0} 发送电梯使用请求", _info.Name);
_info.LogJson.SetMissionStep("发送电梯使用请求", FullShelfStep.SendUseAsk.ToString());
}
else if (fullShelfStep.Equals(FullShelfStep.UseAnswer))
{
......@@ -54,16 +71,21 @@ namespace BLL
ManageWork.PauseFull = false;
fullShelfStep.NextStep(FullShelfStep.CallElevator);
fullShelfStep.Msg = string.Format("{0} 电梯可以使用", _info.Name);
_info.LogJson.SetMissionStep("电梯可以使用", FullShelfStep.UseAnswer.ToString());
_info.LogJson.SetErrorOver();
}
else if (ManageWork.FindElevatorWork())
{
//送满架子时,同时要回收空架子
ManageWork.PauseFull = true;
mission = Common.MISSION_LEAVE_SHELF;
_info.ExistShelf = 0;
move = new MissionJob(mission);
move.Execute(_info);
fullShelfStep.NextStep(FullShelfStep.LeaveShelf);
fullShelfStep.Msg = string.Format("{0} 暂停送满货架,优先拉空货架", _info.Name);
_info.LogJson.SetMissionStep("暂停送满货架,优先拉空货架", FullShelfStep.LeaveShelf.ToString());
_info.LogJson.SetErrorOver();
}
else
{
......@@ -72,6 +94,7 @@ namespace BLL
{
string value = string.Format("在电梯等待区等待电梯应答超时{0}分钟", Convert.ToInt32(ts.TotalMinutes));
DisplayBoard.Add("12号车", "lineAgv.12号车.StandTimeOut", value, 0);
_info.LogJson.SetErrorStart(_info.TaskName, value);
}
Common.log.Debug(string.Format("{0} 电梯还未应答使用请求", _info.Name));
}
......@@ -82,6 +105,7 @@ namespace BLL
getTime = DateTime.Now;
fullShelfStep.NextStep(FullShelfStep.CancelCallElevator);
fullShelfStep.Msg = string.Format("{0} 发送电梯呼叫", _info.Name);
_info.LogJson.SetMissionStep("发送电梯呼叫", FullShelfStep.CallElevator.ToString());
}
else if (fullShelfStep.Equals(FullShelfStep.CancelCallElevator))
{
......@@ -100,6 +124,7 @@ namespace BLL
{
fullShelfStep.Msg = string.Format("{0} 电梯已开门", _info.Name);
fullShelfStep.NextStep(FullShelfStep.EnterInto);
_info.LogJson.SetMissionStep("电梯已开门", FullShelfStep.OpenDoorAnswer.ToString());
}
else
{
......@@ -110,6 +135,7 @@ namespace BLL
{
_info.Place = "送满架进电梯";
EnterInto();
_info.LogJson.SetMissionStep("送满架进电梯", FullShelfStep.EnterInto.ToString());
}
else if (fullShelfStep.Equals(FullShelfStep.Leave))
{
......@@ -121,6 +147,7 @@ namespace BLL
getTime = DateTime.Now;
fullShelfStep.Msg = string.Format("{0} 发送满料信号", _info.Name);
fullShelfStep.NextStep(FullShelfStep.EndTask);
_info.LogJson.SetMissionStep("发送满料信号", FullShelfStep.EndTask.ToString());
}
}
else if (fullShelfStep.Equals(FullShelfStep.EndTask))
......@@ -134,6 +161,7 @@ namespace BLL
fullShelfStep.Msg = string.Format("{0} 送满料任务结束,当前一楼货架数量{1}个", _info.Name, Common.FirstFloorCurr);
fullShelfStep.NextStep(FullShelfStep.End);
_info.LogJson.SetMissionStep("送满料任务结束", FullShelfStep.End.ToString());
}
}
else if (fullShelfStep.Equals(FullShelfStep.LeaveShelf))
......@@ -143,6 +171,7 @@ namespace BLL
{
fullShelfStep.NextStep(FullShelfStep.End);
fullShelfStep.Msg = string.Format("{0} 退出货架,[{1}]", _info.Name, mission);
_info.LogJson.SetMissionStep("退出货架", FullShelfStep.LeaveShelf.ToString());
}
}
else if (fullShelfStep.Equals(FullShelfStep.End))
......@@ -173,15 +202,18 @@ namespace BLL
_info.Place = name;
this.key = key;
mission = Common.MISSION_CARRY_FULL + key;
_info.ExistShelf = 1;
move = new MissionJob(mission);
move.Execute(_info);
fullShelfStep.NextStep(FullShelfStep.MoveLine);
fullShelfStep.Msg = string.Format("{0} 送满货架任务,去{1},[{2}]", _info.Name, name, mission);
fullShelfStep.Msg = string.Format("{0} 送满货架任务,去{1},[{2}]", _info.Name, name, mission);
_info.LogJson.SetMissionStep("去产线" + name, FullShelfStep.MoveLine.ToString());
}
else
{
fullShelfStep.NextStep(FullShelfStep.End);
fullShelfStep.Msg = string.Format("{0} 没有找到产线呼叫,或产线没有货架", _info.Name);
_info.LogJson.SetMissionStep("没有找到产线呼叫", FullShelfStep.End.ToString());
}
}
......@@ -192,11 +224,13 @@ namespace BLL
{
ManageWork.LineTakeAway(key);
_info.Place = "去电梯";
_info.ExistShelf = -1;
mission = Common.MISSION_MOVE_ELEVATOR;
move = new MissionJob(mission);
move.Execute(_info);
fullShelfStep.NextStep(FullShelfStep.MoveElevator);
fullShelfStep.Msg = string.Format("{0} 送满货架任务,去电梯,[{1}]", _info.Name, mission);
_info.LogJson.SetMissionStep("去电梯", FullShelfStep.MoveElevator.ToString());
}
}
......@@ -204,10 +238,12 @@ namespace BLL
{
_info.Place = "进入电梯旁货架";
mission = Common.MISSION_CARRY_ELEVATOR;
_info.ExistShelf = 1;
move = new MissionJob(mission);
move.Execute(_info);
fullShelfStep.NextStep(FullShelfStep.MoveElevator);
fullShelfStep.Msg = string.Format("{0} 送满货架任务,去电梯,[{1}]", _info.Name, mission);
_info.LogJson.SetMissionStep("去电梯", FullShelfStep.MoveElevator.ToString());
}
private void MoveElevator()
......@@ -219,12 +255,14 @@ namespace BLL
_info.Place = "电梯等待位";
fullShelfStep.NextStep(FullShelfStep.SendUseAsk);
fullShelfStep.Msg = string.Format("{0} 到达电梯等待位", _info.Name);
_info.LogJson.SetMissionStep("到达电梯等待位", FullShelfStep.SendUseAsk.ToString());
}
}
private void EnterInto()
{
mission = Common.MISSION_ENTER_ELEVATOR_FULL;
_info.ExistShelf = 0;
move = new MissionJob(mission);
move.Execute(_info);
fullShelfStep.Msg = string.Format("{0} 送满货架进电梯,[{1}]", _info.Name, mission);
......
......@@ -29,6 +29,14 @@ namespace BLL
public bool IsEnd { get; private set; }
public string Msg
{
get
{
return missionStep.Msg;
}
}
public IJob Execute(AgvInfo info)
{
_info = info;
......@@ -59,6 +67,7 @@ namespace BLL
if (rtn)
{
_times = 0;
_info.TaskName = _mission;
log = string.Format("MissionJob To:{0},[{1}]发送成功", _info.Name, _mission);
Common.log.Info(log);
_getTime = DateTime.Now;
......@@ -120,10 +129,42 @@ namespace BLL
private void Error()
{
Common.log.Info(string.Format("MissionJob To:{0},[{1}]重新发送", _info.Name, _mission));
Common.mir.Clear_Error(_info.IP, _info.Authorization);
System.Threading.Thread.Sleep(200);
Common.mir.Del_Mission(_info.IP, _info.Authorization);
Common.log.Info(string.Format("MissionJob To:{0},[{1}]重新发送", _info.Name, _mission));
missionStep.NextStep(MissionStep.Send);
////顶升机构上升PLC8=1,顶升机构下降PLC7=1
//bool rtn = Common.mir.Get_Register(_info.IP, _info.Authorization, 8, out int reg8);
//System.Threading.Thread.Sleep(200);
//rtn = Common.mir.Get_Register(_info.IP, _info.Authorization, 7, out int reg7);
//Common.log.Info(string.Format("顶升机构,上升PLC8={0},下降PLC7={1},ExistShelf={2}", reg8, reg7, _info.ExistShelf));
//if (_info.ExistShelf == 1 && reg8 == 1)
//{
// //机构上升,说明架子已经在小车上,即使任务后面报错,不应该重新发送任务拉取架子
// Common.log.Info(_info.Name + ", " + _mission + ", 虽然任务报错,但货架已经在小车身上,继续后面步骤");
// missionStep.NextStep(MissionStep.End);
//}
//else if (_info.ExistShelf == 0 && reg7 == 1)
//{
// //机构下降,说明架子已经离开小车,即使任务后面报错,不应该重新发送任务释放架子
// Common.log.Info(_info.Name + ", " + _mission + ", 虽然任务报错,但货架已经离开小车,继续后面步骤");
// missionStep.NextStep(MissionStep.End);
//}
//else
//{
// System.Threading.Thread.Sleep(100);
// Common.log.Info(string.Format("MissionJob To:{0},[{1}]重新发送", _info.Name, _mission));
// Common.mir.Clear_Error(_info.IP, _info.Authorization);
// System.Threading.Thread.Sleep(200);
// Common.mir.Del_Mission(_info.IP, _info.Authorization);
// missionStep.NextStep(MissionStep.Send);
//}
}
private enum MissionStep
......
......@@ -22,12 +22,22 @@ namespace BLL
public bool IsEnd { get; private set; }
public string Msg
{
get
{
return recycleStep.Msg;
}
}
public IJob Execute(AgvInfo info)
{
_info = info;
if (recycleStep.Equals(RecycleStep.None))
{
_info.Place = "进入电梯";
_info.LogJson.SetMissionStart("回收空架任务", "电梯");
_info.LogJson.SetMissionStep("开始执行任务", RecycleStep.None.ToString());
MoveElevator();
}
else if (recycleStep.Equals(RecycleStep.EnterInto))
......@@ -39,6 +49,7 @@ namespace BLL
getTime = DateTime.Now;
recycleStep.NextStep(RecycleStep.Leave);
recycleStep.Msg = string.Format("{0} 发送离开信号", _info.Name);
_info.LogJson.SetMissionStep("发送离开信号", RecycleStep.Leave.ToString());
}
}
else if (recycleStep.Equals(RecycleStep.Leave))
......@@ -48,7 +59,6 @@ namespace BLL
{
ManageWork.ElevatorEnd();
ManageWork.FirstFloorMinus();
recycleStep.Msg = string.Format("{0} 回收空货架任务,当前一楼货架数量{1}个", _info.Name, Common.FirstFloorCurr);
FindLine();
}
......@@ -61,9 +71,15 @@ namespace BLL
ManageWork.LineSendTo(key);
recycleStep.NextStep(RecycleStep.End);
if (ManageWork.PauseFull)
{
_info.LogJson.SetMissionStep("回收空货架任务完成,继续满货架任务", RecycleStep.End.ToString());
recycleStep.Msg = string.Format("{0} 回收空货架任务完成,继续满货架任务", _info.Name);
}
else
{
_info.LogJson.SetMissionStep("回收空货架任务完成", RecycleStep.End.ToString());
recycleStep.Msg = string.Format("{0} 回收空货架任务完成,回待机位", _info.Name);
}
}
}
else if (recycleStep.Equals(RecycleStep.End))
......@@ -89,10 +105,12 @@ namespace BLL
private void MoveElevator()
{
mission = Common.MISSION_ENTER_ELEVATOR_EMPTY;
_info.ExistShelf = 1;
move = new MissionJob(mission);
move.Execute(_info);
recycleStep.NextStep(RecycleStep.EnterInto);
recycleStep.Msg = string.Format("{0} 回收空货架任务,进入电梯,[{1}]", _info.Name, mission);
_info.LogJson.SetMissionStep("进入电梯", RecycleStep.EnterInto.ToString());
}
private void FindLine()
......@@ -103,6 +121,7 @@ namespace BLL
_info.Place = name;
this.key = key;
mission = Common.MISSION_CARRY_EMPTY + key;
_info.ExistShelf = 0;
move = new MissionJob(mission);
move.Execute(_info);
recycleStep.Msg = string.Format("{0} 回收空货架任务,去{1},[{2}]", _info.Name, name, mission);
......
......@@ -19,13 +19,25 @@ namespace BLL
public bool IsEnd { get; private set; }
public string Msg
{
get
{
return standbyStep.Msg;
}
}
public IJob Execute(AgvInfo info)
{
_info = info;
if (standbyStep.Equals(StandbyStep.None))
{
_info.Place = "去待机位";
_info.LogJson.SetMissionStart("回待机点任务", "待机位");
SendStandby();
_info.LogJson.SetMissionStep("开始执行任务", StandbyStep.None.ToString());
}
else if (standbyStep.Equals(StandbyStep.MoveStandby))
{
......@@ -36,6 +48,8 @@ namespace BLL
_info.MissionName = "";
standbyStep.NextStep(StandbyStep.End);
standbyStep.Msg = _info.Name + " 到达待机位";
_info.LogJson.SetMissionStep("已到达待机位", StandbyStep.MoveStandby.ToString());
}
}
else if (standbyStep.Equals(StandbyStep.End))
......@@ -87,6 +101,7 @@ namespace BLL
private void SendStandby()
{
mission = Common.MISSION_STANDBY;
_info.ExistShelf = -1;
move = new MissionJob(mission);
move.Execute(_info);
standbyStep.NextStep(StandbyStep.MoveStandby);
......
......@@ -91,6 +91,7 @@ namespace BLL
string[] lines = System.IO.File.ReadAllLines(Common.PATH_LINE_WORK, Encoding.UTF8);
for (int i = 0; i < lines.Length; i++)
{
//if (lines[i].StartsWith("#")) continue;
if (i == 0) continue; //第一行是标题
string[] str = lines[i].Split(',');
if (str.Length != 4) continue;
......
......@@ -17,6 +17,11 @@
<level value="Debug"/>
<appender-ref ref="IO_Elevator"/>
</logger>
<logger name="RunLog">
<level value="Info"/>
<appender-ref ref="RunLog"/>
</logger>
<appender name="AGVControl" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\AGVControl.log" />
<param name="Encoding" value="UTF-8"/>
......@@ -65,5 +70,18 @@
<param name="ConversionPattern" value="[%d][%t][%c:%L]%-5p %m%n" />
</layout>
</appender>
<appender name="RunLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\RunLog.json" />
<param name="Encoding" value="UTF-8"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
</log4net>
</configuration>
\ No newline at end of file
......@@ -25,8 +25,8 @@ C:\Neotel\Program\AGVControl_Elevator\BLL\bin\Debug\Model.pdb
C:\Neotel\Program\AGVControl_Elevator\BLL\bin\Debug\Advantech_IO.pdb
C:\Neotel\Program\AGVControl_Elevator\BLL\bin\Debug\log4net.xml
C:\Neotel\Program\AGVControl_Elevator\BLL\bin\Debug\RestSharp.xml
C:\Neotel\Program\AGVControl_Elevator\BLL\obj\Debug\BLL.csprojAssemblyReference.cache
C:\Neotel\Program\AGVControl_Elevator\BLL\obj\Debug\BLL.csproj.CoreCompileInputs.cache
C:\Neotel\Program\AGVControl_Elevator\BLL\obj\Debug\BLL.csproj.CopyComplete
C:\Neotel\Program\AGVControl_Elevator\BLL\obj\Debug\BLL.dll
C:\Neotel\Program\AGVControl_Elevator\BLL\obj\Debug\BLL.pdb
C:\Neotel\Program\AGVControl_Elevator\BLL\obj\Debug\BLL.csproj.AssemblyReference.cache
......@@ -68,6 +68,15 @@ namespace Model
/// 当前的工作
/// </summary>
public IJob CurrentJob { set; get; } = null;
/// <summary>
/// 任务结束后最终是否应该存在货架,0不存在,1存在,-1不判断,这个并不是实际是否存在,只是用于任务报错终止后判断是否需要重发任务
/// </summary>
public int ExistShelf { set; get; } = -1;
public string TaskName { set; get; } = "";
public LogJson LogJson { set; get; }
......@@ -77,6 +86,9 @@ namespace Model
FleetID = fleetID;
IP = ip;
Authorization = authorization;
if (int.TryParse(name.Substring(0, 2), out int result))
LogJson = new LogJson(result + "号车", "RunLog");
}
public string[] ToGridRow()
......
......@@ -21,6 +21,7 @@ namespace Model
//public static System.Windows.Forms.Label lblStorageIO;
public static string BoardURL;
public static int BoardTimeout;
public static string ElevatorIOIP;
public static bool FleetSend;
public static int BatteryMax;
......
......@@ -6,7 +6,7 @@ namespace Model
{
public bool IsEnd { get; }
//public string Msg { get; }
public string Msg { get; }
public IJob Execute(AgvInfo info);
......
此文件的差异被折叠, 点击展开。
......@@ -62,6 +62,7 @@
<Compile Include="JobStep.cs" />
<Compile Include="IOInfo.cs" />
<Compile Include="Log.cs" />
<Compile Include="LogJson.cs" />
<Compile Include="MiR_API.cs" />
<Compile Include="MiR_API_Test.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
......
......@@ -17,6 +17,11 @@
<level value="Debug"/>
<appender-ref ref="IO_Elevator"/>
</logger>
<logger name="RunLog">
<level value="Info"/>
<appender-ref ref="RunLog"/>
</logger>
<appender name="AGVControl" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\AGVControl.log" />
<param name="Encoding" value="UTF-8"/>
......@@ -65,5 +70,18 @@
<param name="ConversionPattern" value="[%d][%t][%c:%L]%-5p %m%n" />
</layout>
</appender>
<appender name="RunLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\RunLog.json" />
<param name="Encoding" value="UTF-8"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
</log4net>
</configuration>
\ No newline at end of file
......@@ -17,6 +17,11 @@
<level value="Debug"/>
<appender-ref ref="IO_Elevator"/>
</logger>
<logger name="RunLog">
<level value="Info"/>
<appender-ref ref="RunLog"/>
</logger>
<appender name="AGVControl" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\AGVControl.log" />
<param name="Encoding" value="UTF-8"/>
......@@ -65,5 +70,18 @@
<param name="ConversionPattern" value="[%d][%t][%c:%L]%-5p %m%n" />
</layout>
</appender>
<appender name="RunLog" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\RunLog.json" />
<param name="Encoding" value="UTF-8"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
</appender>
</log4net>
</configuration>
\ No newline at end of file
7736e39faee57961782a4b52f6242c8cb2884700
7249fe94fc456ba5121e8eefc84b89c4690fcc61
......@@ -20,4 +20,3 @@ C:\Neotel\Program\AGVControl_Elevator\Model\obj\Debug\Model.csproj.CoreCompileIn
C:\Neotel\Program\AGVControl_Elevator\Model\obj\Debug\Model.csproj.CopyComplete
C:\Neotel\Program\AGVControl_Elevator\Model\obj\Debug\Model.dll
C:\Neotel\Program\AGVControl_Elevator\Model\obj\Debug\Model.pdb
C:\Neotel\Program\AGVControl_Elevator\Model\obj\Debug\Model.csprojAssemblyReference.cache
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!