Commit 2435ab67 张东亮

共享通道、io检测负载、开关大料架任务

1 个父辈 ca2d1cd2
正在显示 62 个修改的文件 包含 589 行增加185 行删除
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
......@@ -260,13 +260,15 @@ namespace AGVDispatch
LogUtil.Error($"表格式异常:{e.RowIndex},{e.ColumnIndex},{e.Exception.Message}");
}
object locObj = new object();
bool OpenBigShelf = AppConfigSetting.GetBoolVal(Setting_Str.OpenBigShelf, false);
private void timer1_Tick(object sender, EventArgs e)
{
if (Monitor.TryEnter(locObj))
{
List<ClientNode> nodes = NodeManager.GetClientNodes();
OrderManager.AutoGenerateOrder(nodes);
OrderManager.GenerateShelfOrder(nodes);
if (OpenBigShelf)
OrderManager.GenerateShelfOrder(nodes);
Monitor.Exit(locObj);
}
}
......
......@@ -2,4 +2,7 @@
<config ver="10">
<item key="WebApiPort" ver="10" value="8088" />
<item key="HttpServer" ver="10" value="http://localhost:8001/smf-core" />
<item key="SharedLine" ver="10" value="A05-2FSMT-06S,A05-2FSMT-16S;A05-2FSMT-07S,A05-2FSMT-17S;A05-3FSMT-05S,A05-3FSMT-15S" />
<item key="OpenBigShelf" ver="10" value="False" />
<item key="OpenCheckLoadIO" ver="10" value="True" />
</config>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<config ver="10">
<item key="WebApiPort" ver="10" value="8088" />
<item key="HttpServer" ver="10" value="http://localhost:8001/smf-core" />
<item key="SharedLine" ver="10" value="A05-2FSMT-06S,A05-2FSMT-16S;A05-2FSMT-07S,A05-2FSMT-17S;A05-3FSMT-05S,A05-3FSMT-15S" />
<item key="OpenBigShelf" ver="10" value="False" />
</config>
\ No newline at end of file
[2022-11-22 18:02:37,033][1]INFO AGVServer 【12000】服务启动
[2022-11-22 18:02:37,036][1]INFO Server start listen : 12000
[2022-11-22 18:02:37,043][1]INFO 本机IP:[ 192.168.0.105 192.168.64.1 192.168.153.1 172.20.192.1]
[2022-12-14 14:45:28,380][1]INFO AGVServer 【12000】服务启动
[2022-12-14 14:45:28,382][1]INFO Server start listen : 12000
[2022-12-14 14:45:28,391][1]INFO 本机IP:[ 192.168.101.37 192.168.64.1 192.168.153.1 172.28.128.1]
[2022-12-14 14:50:22,311][1]INFO AGVServer 【12000】服务启动
[2022-12-14 14:50:22,313][1]INFO Server start listen : 12000
[2022-12-14 14:50:22,416][1]INFO 本机IP:[ 192.168.101.37 192.168.64.1 192.168.153.1 172.28.128.1]
[2022-12-14 15:26:45,217][1]INFO AGVServer 【12000】服务启动
[2022-12-14 15:26:45,221][1]INFO Server start listen : 12000
[2022-12-14 15:26:45,228][1]INFO 本机IP:[ 192.168.101.37 192.168.64.1 192.168.153.1 172.28.128.1]
[2022-12-14 15:27:58,961][1]INFO AGVServer 【12000】服务启动
[2022-12-14 15:27:58,965][1]INFO Server start listen : 12000
[2022-12-14 15:27:58,990][1]INFO 本机IP:[ 192.168.101.37 192.168.64.1 192.168.153.1 172.28.128.1]
[2022-12-14 15:29:02,890][1]INFO AGVServer 【12000】服务启动
[2022-12-14 15:29:02,893][1]INFO Server start listen : 12000
[2022-12-14 15:29:02,901][1]INFO 本机IP:[ 192.168.101.37 192.168.64.1 192.168.153.1 172.28.128.1]
[2022-11-22 18:02:47,435][4]ERROR 【1号车】Get_Status
[2022-12-14 14:45:37,814][4]ERROR 【1号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
......@@ -15,10 +15,10 @@ System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Task
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 C:\Users\acc\Desktop\20221105程序\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 C:\Users\acc\Desktop\20221105程序\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 C:\Users\acc\Desktop\20221105程序\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-11-22 18:02:57,453][4]ERROR Get_IO_Status
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 14:45:37,820][5]ERROR 【2号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
......@@ -35,6 +35,227 @@ System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Task
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 C:\Users\acc\Desktop\20221105程序\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 C:\Users\acc\Desktop\20221105程序\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_IO_Status() 位置 C:\Users\acc\Desktop\20221105程序\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 39
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 14:45:47,844][5]ERROR Get_IO_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_IO_Status() 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 39
[2022-12-14 14:46:08,904][5]ERROR 【2号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 14:46:08,913][4]ERROR 【1号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 14:50:32,629][5]ERROR 【2号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 14:50:32,648][4]ERROR 【1号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 14:50:34,308][1]ERROR 【1号车】offline,Add_Mission 【init】Fail
[2022-12-14 14:50:42,677][5]ERROR Get_IO_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_IO_Status() 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 39
[2022-12-14 15:26:55,428][4]ERROR 【1号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 15:26:55,442][5]ERROR 【2号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 15:27:05,481][4]ERROR Get_IO_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_IO_Status() 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 39
[2022-12-14 15:29:13,124][4]ERROR 【1号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
[2022-12-14 15:29:13,145][5]ERROR 【2号车】Get_Status
System.Net.Http.HttpRequestException: Request aborted ---> System.Threading.Tasks.TaskCanceledException: 已取消一个任务。
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
在 RestSharp.RestClient.<ExecuteInternal>d__1.MoveNext()
--- 内部异常堆栈跟踪的结尾 ---
在 RestSharp.ResponseThrowExtension.ThrowIfError(RestResponse response)
在 RestSharp.RestClient.<ExecuteAsync>d__0.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 RestSharp.RestClientExtensions.<GetAsync>d__15.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 Common.Communication.HttpClient.GetResponse(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 40
在 Common.Communication.HttpClient.Get(String resource, Dictionary`2 query) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\Common\Communication\HttpClient.cs:行号 26
在 DeviceLib.Model.AGV.MiR.MiROperation.Get_Status(Status& Status) 位置 E:\Codes\Neotel\SO1131-AGVDispatch\Source\DeviceLib\model\agv\MiR\MiROperation.cs:行号 266
......@@ -4,6 +4,6 @@
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<appSettings>
<add key="ProName" value="AGVDispatch-混料问题修复" />
<add key="ProName" value="AGVDispatch-在共享通道冲突问题优化" />
</appSettings>
</configuration>
\ No newline at end of file
......@@ -49,5 +49,8 @@ namespace Common
public const string WebApiPort = "WebApiPort";
public const string App_Title = "App_Title";
public const string ShelfPlace = "ShelfPlace";
public const string SharedLine = "SharedLine";
public const string OpenBigShelf = "OpenBigShelf";
public const string OpenCheckLoadIO = "OpenCheckLoadIO";
}
}
......@@ -130,6 +130,7 @@
<Compile Include="model\agv\mission\MissionState.cs" />
<Compile Include="model\agv\node\ClientNode.cs" />
<Compile Include="model\agv\node\NodeJobState.cs" />
<Compile Include="model\agv\node\SharedNode.cs" />
<Compile Include="model\agv\order\Order.cs" />
<Compile Include="model\agv\order\OrderState.cs" />
<Compile Include="model\agv\order\OrderType.cs" />
......
......@@ -56,7 +56,7 @@ namespace DeviceLib.BLL
SetOrderState(JobParam.OrderId, 4);
break;
case RunStep.ToStore_07_CheckIsNeedToShelfPlace:
if (NeedToShelfPlace(robot,JobParam.FullBoxId, out string targetLines))
if (NeedToShelfPlace(robot, JobParam.FullBoxId, out string targetLines))
{
JobParam.LineNode = NodeManager.GetLineNodeByName(targetLines);
if (JobParam.LineNode != null)
......@@ -64,7 +64,9 @@ namespace DeviceLib.BLL
ToNextStep(RunStep.ToStore_08_ToShelfPlace, $"有料架任务,去料架处。目的产线:{targetLines}");
JobParam.JobGoal = JobGoal.Send;
JobParam.TargetNodes.Clear();
JobParam.TargetNodes.AddRange(NodeManager.GetNodesState(AppConfigSetting.GetStrVal(Setting_Str.ShelfPlace, "B-1-1")));
bool OpenBigShelf = AppConfigSetting.GetBoolVal(Setting_Str.OpenBigShelf, false);
if (OpenBigShelf)
JobParam.TargetNodes.AddRange(NodeManager.GetNodesState(AppConfigSetting.GetStrVal(Setting_Str.ShelfPlace, "B-1-1")));
JobParam.TargetNodes.AddRange(NodeManager.GetLineNodesState(targetLines));
}
else
......
......@@ -24,6 +24,10 @@ namespace DeviceLib.BLL
{
return false;
}
if (NodeManager.ChecStoreIsOccupied(2))
{
return false;
}
return true;
}
}
......@@ -44,6 +48,10 @@ namespace DeviceLib.BLL
{
return null;
}
if (NodeManager.ChecStoreIsOccupied(2))
{
return null;
}
OrderManager.SetOccupiedAgv(order.id, robot);
Context.SetNodeOccupied(robot.id, order.id);
List<NodeJobState> source = new List<NodeJobState>();
......
......@@ -80,7 +80,7 @@ namespace DeviceLib.BLL
//HttpClient httpClient = new HttpClient(baseUrl);
Dictionary<string, string> queryStr = new Dictionary<string, string>();
queryStr.Add("rfid", rfid);
string json = httpClient.Get("/service/store/innerBox/getBoxStatusInfo", queryStr);
string json = httpClient.Get("/service/store/innerBox/boxToAgv", queryStr);
RtnData rtnData = JsonHelper.DeserializeJsonToObject<RtnData>(json);
LogUtil.Info($"料箱送入agv:【{rfid}】【{agvName}】【{json}】");
if (rtnData != null)
......
......@@ -16,8 +16,19 @@ namespace DeviceLib.BLL
public delegate void ClientNodeChangedEventHandler(List<ClientNode> nodes);
public static event ClientNodeChangedEventHandler NodeChanged;
static List<ClientNode> clientNodes;
/// <summary>
/// 待机点
/// </summary>
public static int standby_node_type = 1;
/// <summary>
/// 充电点
/// </summary>
public static int charge_node_type = 2;
/// <summary>
/// 点位
/// </summary>
public static int node_type = 0;
static List<SharedNode> sharedNodes = new List<SharedNode>();
public static void Load(bool manual = false)
{
clientNodes = ConfigOperation.GetNodes() ?? new List<ClientNode>();
......@@ -25,8 +36,38 @@ namespace DeviceLib.BLL
LogUtil.Info("手动加载节点配置!");
else
LogUtil.Info("节点配置加载成功!");
loadSharedNode();
}
static void loadSharedNode()
{
try
{
string[] nodes = AppConfigSetting.GetStrVal(Setting_Str.SharedLine,
"A05-2FSMT-06S,A05-2FSMT-16S;A05-2FSMT-07S,A05-2FSMT-17S;A05-3FSMT-05S,A05-3FSMT-15S").Split(';');
if (nodes != null && nodes.Length > 0)
{
foreach (var item in nodes)
{
SharedNode sharedNode = new SharedNode();
foreach (var item1 in item.Split(','))
{
ClientNode node = GetLineNodeByName(item1);
if(node!=null)
{
sharedNode.Nodes.Add(node);
}
}
sharedNodes.Add(sharedNode);
}
LogUtil.Info($"加载共享通道配置完成");
}
}
catch (Exception ex)
{
LogUtil.Error("加载共享通道配置异常", ex);
}
}
public static List<ClientNode> GetClientNodes()
{
return clientNodes;
......@@ -175,7 +216,7 @@ namespace DeviceLib.BLL
/// <returns></returns>
public static ClientNode GetLineNodeByName(string name)
{
return GetClientNodes().Find(s => s.name.Equals(name) && s.type == 0);
return GetClientNodes().Find(s => s.name.Equals(name) && s.type == node_type);
}
public static ClientNode GetClientNode(int id, string name)
{
......@@ -531,6 +572,22 @@ namespace DeviceLib.BLL
public static bool CheckNodeIsOccupied(ClientNode clientNode)
{
if (clientNode == null) return false;
try
{
foreach (var item in sharedNodes)
{
int idx = item.Nodes.FindIndex(s => s.name.Equals(clientNode.name));
if(idx>-1)
{
idx = item.Nodes.FindIndex(s => s.occupiedAgv != 0);
return idx > -1;
}
}
}catch(Exception ex)
{
LogUtil.Error($"检查共享通道是否占用异常:{clientNode.name}",ex);
}
return clientNode.occupiedAgv != 0;
}
public static bool ChecStoreIsOccupied(int storeId = 1)
......
......@@ -199,30 +199,30 @@ namespace DeviceLib.BLL
if (!CheckIfExist(id))
{
msg = $"order ({id}) do not exist. please make sure id is correct.";
LogUtil.Warn($"单删除失败:{msg}");
LogUtil.Warn($"运输单删除失败:{msg}");
return false;
}
else if (force)
{
bool rtn1 = ConfigOperation.Del_Order(id);
if (rtn1)
LogUtil.Info($"单强制删除成功:{id}");
LogUtil.Info($"运输单强制删除成功:{id}");
else
LogUtil.Error($"单强制删除失败:{id}");
LogUtil.Error($"运输单强制删除失败:{id}");
OrderStateChanged?.Invoke(getOrders());
return rtn1;
}
else if (CheckOrderIsRunning(id))
{
msg = $"order ({id}) has been running.Deletion is prohibited.";
LogUtil.Warn($"单删除失败:{msg}");
LogUtil.Warn($"运输单删除失败:{msg}");
return false;
}
bool rtn = ConfigOperation.Del_Order(id);
if (rtn)
LogUtil.Info($"单删除成功:{id}");
LogUtil.Info($"运输单删除成功:{id}");
else
LogUtil.Error($"单删除失败:{id}");
LogUtil.Error($"运输单删除失败:{id}");
OrderStateChanged?.Invoke(getOrders());
return rtn;
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DeviceLib.Model.AGV
{
public class SharedNode
{
public List<ClientNode> Nodes { get; set; } = new List<ClientNode>();
}
}
a50a0eea5cb577d2dc281ec57e1298fd790c9e1c
8d183136b591a057ed2e5caff0de5c89de6c1433
......@@ -43,6 +43,14 @@ namespace UControl.UC
this.picWifi = new System.Windows.Forms.PictureBox();
this.panelBody = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
this.panel1 = new System.Windows.Forms.Panel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.ucInfoControlWarn = new UControl.UC.UCInfoControl();
this.ucInfoControlShelf = new UControl.UC.UCInfoControl();
this.ucInfoControlStepMsg = new UControl.UC.UCInfoControl();
this.ucInfoControlJobName = new UControl.UC.UCInfoControl();
this.ucInfoControlOrder = new UControl.UC.UCInfoControl();
this.ucInfoControlStep = new UControl.UC.UCInfoControl();
this.panel4 = new System.Windows.Forms.Panel();
this.panel7 = new System.Windows.Forms.Panel();
this.lblMissionStateStr = new System.Windows.Forms.Label();
......@@ -79,14 +87,6 @@ namespace UControl.UC
this.lblCurStatus = new System.Windows.Forms.ToolStripStatusLabel();
this.lblDistance = new System.Windows.Forms.ToolStripStatusLabel();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.ucInfoControlOrder = new UControl.UC.UCInfoControl();
this.ucInfoControlJobName = new UControl.UC.UCInfoControl();
this.ucInfoControlStep = new UControl.UC.UCInfoControl();
this.ucInfoControlStepMsg = new UControl.UC.UCInfoControl();
this.ucInfoControlShelf = new UControl.UC.UCInfoControl();
this.ucInfoControlWarn = new UControl.UC.UCInfoControl();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.Panel();
this.panelHead.SuspendLayout();
this.panelMode.SuspendLayout();
this.panelTitle.SuspendLayout();
......@@ -95,6 +95,8 @@ namespace UControl.UC
((System.ComponentModel.ISupportInitialize)(this.picWifi)).BeginInit();
this.panelBody.SuspendLayout();
this.panel5.SuspendLayout();
this.panel1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel4.SuspendLayout();
this.panel7.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.picMissionState)).BeginInit();
......@@ -102,8 +104,6 @@ namespace UControl.UC
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.panel3.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// panelHead
......@@ -115,7 +115,7 @@ namespace UControl.UC
this.panelHead.Dock = System.Windows.Forms.DockStyle.Top;
this.panelHead.Location = new System.Drawing.Point(0, 0);
this.panelHead.Name = "panelHead";
this.panelHead.Size = new System.Drawing.Size(296, 26);
this.panelHead.Size = new System.Drawing.Size(342, 26);
this.panelHead.TabIndex = 0;
//
// panelMode
......@@ -124,7 +124,7 @@ namespace UControl.UC
this.panelMode.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelMode.Location = new System.Drawing.Point(68, 0);
this.panelMode.Name = "panelMode";
this.panelMode.Size = new System.Drawing.Size(117, 26);
this.panelMode.Size = new System.Drawing.Size(163, 26);
this.panelMode.TabIndex = 7;
//
// lblMode
......@@ -132,7 +132,7 @@ namespace UControl.UC
this.lblMode.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblMode.Location = new System.Drawing.Point(0, 0);
this.lblMode.Name = "lblMode";
this.lblMode.Size = new System.Drawing.Size(117, 26);
this.lblMode.Size = new System.Drawing.Size(163, 26);
this.lblMode.TabIndex = 6;
this.lblMode.Text = "运行模式";
this.lblMode.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
......@@ -163,7 +163,7 @@ namespace UControl.UC
this.panelBattery.Controls.Add(this.lblBattery);
this.panelBattery.Controls.Add(this.picBattery);
this.panelBattery.Dock = System.Windows.Forms.DockStyle.Right;
this.panelBattery.Location = new System.Drawing.Point(185, 0);
this.panelBattery.Location = new System.Drawing.Point(231, 0);
this.panelBattery.Name = "panelBattery";
this.panelBattery.Size = new System.Drawing.Size(79, 26);
this.panelBattery.TabIndex = 4;
......@@ -193,7 +193,7 @@ namespace UControl.UC
//
this.picWifi.Dock = System.Windows.Forms.DockStyle.Right;
this.picWifi.Image = global::UIControl.Properties.Resource.offline;
this.picWifi.Location = new System.Drawing.Point(264, 0);
this.picWifi.Location = new System.Drawing.Point(310, 0);
this.picWifi.Name = "picWifi";
this.picWifi.Size = new System.Drawing.Size(32, 26);
this.picWifi.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
......@@ -208,7 +208,7 @@ namespace UControl.UC
this.panelBody.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelBody.Location = new System.Drawing.Point(0, 26);
this.panelBody.Name = "panelBody";
this.panelBody.Size = new System.Drawing.Size(296, 316);
this.panelBody.Size = new System.Drawing.Size(342, 321);
this.panelBody.TabIndex = 1;
//
// panel5
......@@ -217,9 +217,107 @@ namespace UControl.UC
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel5.Location = new System.Drawing.Point(0, 67);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(294, 247);
this.panel5.Size = new System.Drawing.Size(340, 252);
this.panel5.TabIndex = 1;
//
// panel1
//
this.panel1.Controls.Add(this.tableLayoutPanel1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(340, 215);
this.panel1.TabIndex = 6;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlWarn, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlShelf, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlStepMsg, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlJobName, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlOrder, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlStep, 0, 2);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 6;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(340, 215);
this.tableLayoutPanel1.TabIndex = 5;
//
// ucInfoControlWarn
//
this.ucInfoControlWarn.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlWarn.IconImg = global::UIControl.Properties.Resource.warn;
this.ucInfoControlWarn.Info = "warn";
this.ucInfoControlWarn.Location = new System.Drawing.Point(4, 176);
this.ucInfoControlWarn.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlWarn.Name = "ucInfoControlWarn";
this.ucInfoControlWarn.Size = new System.Drawing.Size(332, 38);
this.ucInfoControlWarn.TabIndex = 4;
//
// ucInfoControlShelf
//
this.ucInfoControlShelf.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlShelf.IconImg = global::UIControl.Properties.Resource.box;
this.ucInfoControlShelf.Info = "sshelf";
this.ucInfoControlShelf.Location = new System.Drawing.Point(4, 141);
this.ucInfoControlShelf.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlShelf.Name = "ucInfoControlShelf";
this.ucInfoControlShelf.Size = new System.Drawing.Size(332, 33);
this.ucInfoControlShelf.TabIndex = 3;
//
// ucInfoControlStepMsg
//
this.ucInfoControlStepMsg.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlStepMsg.IconImg = global::UIControl.Properties.Resource.info;
this.ucInfoControlStepMsg.Info = "stepmsg";
this.ucInfoControlStepMsg.Location = new System.Drawing.Point(4, 106);
this.ucInfoControlStepMsg.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlStepMsg.Name = "ucInfoControlStepMsg";
this.ucInfoControlStepMsg.Size = new System.Drawing.Size(332, 33);
this.ucInfoControlStepMsg.TabIndex = 2;
//
// ucInfoControlJobName
//
this.ucInfoControlJobName.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlJobName.IconImg = global::UIControl.Properties.Resource.name;
this.ucInfoControlJobName.Info = "jobname";
this.ucInfoControlJobName.Location = new System.Drawing.Point(4, 36);
this.ucInfoControlJobName.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlJobName.Name = "ucInfoControlJobName";
this.ucInfoControlJobName.Size = new System.Drawing.Size(332, 33);
this.ucInfoControlJobName.TabIndex = 1;
//
// ucInfoControlOrder
//
this.ucInfoControlOrder.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlOrder.IconImg = global::UIControl.Properties.Resource.order;
this.ucInfoControlOrder.Info = "order id";
this.ucInfoControlOrder.Location = new System.Drawing.Point(4, 1);
this.ucInfoControlOrder.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlOrder.Name = "ucInfoControlOrder";
this.ucInfoControlOrder.Size = new System.Drawing.Size(332, 33);
this.ucInfoControlOrder.TabIndex = 0;
//
// ucInfoControlStep
//
this.ucInfoControlStep.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlStep.IconImg = global::UIControl.Properties.Resource.step;
this.ucInfoControlStep.Info = "step";
this.ucInfoControlStep.Location = new System.Drawing.Point(4, 71);
this.ucInfoControlStep.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlStep.Name = "ucInfoControlStep";
this.ucInfoControlStep.Size = new System.Drawing.Size(332, 33);
this.ucInfoControlStep.TabIndex = 1;
//
// panel4
//
this.panel4.Controls.Add(this.panel7);
......@@ -227,7 +325,7 @@ namespace UControl.UC
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
this.panel4.Location = new System.Drawing.Point(0, 0);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(294, 67);
this.panel4.Size = new System.Drawing.Size(340, 67);
this.panel4.TabIndex = 0;
//
// panel7
......@@ -237,7 +335,7 @@ namespace UControl.UC
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
this.panel7.Location = new System.Drawing.Point(0, 32);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(294, 32);
this.panel7.Size = new System.Drawing.Size(340, 32);
this.panel7.TabIndex = 1;
//
// lblMissionStateStr
......@@ -245,7 +343,7 @@ namespace UControl.UC
this.lblMissionStateStr.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblMissionStateStr.Location = new System.Drawing.Point(32, 0);
this.lblMissionStateStr.Name = "lblMissionStateStr";
this.lblMissionStateStr.Size = new System.Drawing.Size(262, 32);
this.lblMissionStateStr.Size = new System.Drawing.Size(308, 32);
this.lblMissionStateStr.TabIndex = 2;
this.lblMissionStateStr.Text = "Mission State";
this.lblMissionStateStr.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
......@@ -270,7 +368,7 @@ namespace UControl.UC
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(0, 0);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(294, 32);
this.panel6.Size = new System.Drawing.Size(340, 32);
this.panel6.TabIndex = 0;
//
// lblMissionName
......@@ -278,7 +376,7 @@ namespace UControl.UC
this.lblMissionName.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblMissionName.Location = new System.Drawing.Point(32, 0);
this.lblMissionName.Name = "lblMissionName";
this.lblMissionName.Size = new System.Drawing.Size(262, 32);
this.lblMissionName.Size = new System.Drawing.Size(308, 32);
this.lblMissionName.TabIndex = 1;
this.lblMissionName.Text = "Mission Name";
this.lblMissionName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
......@@ -300,22 +398,23 @@ namespace UControl.UC
//
this.panel3.Controls.Add(this.statusStrip1);
this.panel3.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel3.Location = new System.Drawing.Point(0, 314);
this.panel3.Location = new System.Drawing.Point(0, 319);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(296, 28);
this.panel3.Size = new System.Drawing.Size(342, 28);
this.panel3.TabIndex = 2;
//
// statusStrip1
//
this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.robotSetting,
this.lblPos,
this.lblWorkshop,
this.lblCurStatus,
this.lblDistance});
this.statusStrip1.Location = new System.Drawing.Point(0, 6);
this.statusStrip1.Location = new System.Drawing.Point(0, 2);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(296, 22);
this.statusStrip1.Size = new System.Drawing.Size(342, 26);
this.statusStrip1.TabIndex = 0;
this.statusStrip1.Text = "statusStrip1";
//
......@@ -331,7 +430,7 @@ namespace UControl.UC
this.robotSetting.Image = ((System.Drawing.Image)(resources.GetObject("robotSetting.Image")));
this.robotSetting.ImageTransparentColor = System.Drawing.Color.Magenta;
this.robotSetting.Name = "robotSetting";
this.robotSetting.Size = new System.Drawing.Size(29, 20);
this.robotSetting.Size = new System.Drawing.Size(34, 24);
this.robotSetting.Text = "toolStripDropDownButton1";
//
// 自动ToolStripMenuItem
......@@ -340,27 +439,27 @@ namespace UControl.UC
this.menuItemOpenAuto,
this.menuItemCloseAuto});
this.自动ToolStripMenuItem.Name = "自动ToolStripMenuItem";
this.自动ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.自动ToolStripMenuItem.Size = new System.Drawing.Size(224, 26);
this.自动ToolStripMenuItem.Text = "自动";
//
// menuItemOpenAuto
//
this.menuItemOpenAuto.Name = "menuItemOpenAuto";
this.menuItemOpenAuto.Size = new System.Drawing.Size(100, 22);
this.menuItemOpenAuto.Size = new System.Drawing.Size(224, 26);
this.menuItemOpenAuto.Text = "开启";
this.menuItemOpenAuto.Click += new System.EventHandler(this.menuItemOpenAuto_Click);
//
// menuItemCloseAuto
//
this.menuItemCloseAuto.Name = "menuItemCloseAuto";
this.menuItemCloseAuto.Size = new System.Drawing.Size(100, 22);
this.menuItemCloseAuto.Size = new System.Drawing.Size(224, 26);
this.menuItemCloseAuto.Text = "关闭";
this.menuItemCloseAuto.Click += new System.EventHandler(this.menuItemCloseAuto_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(121, 6);
this.toolStripSeparator1.Size = new System.Drawing.Size(221, 6);
//
// 调试ToolStripMenuItem
//
......@@ -368,27 +467,27 @@ namespace UControl.UC
this.menuItemOpenDebug,
this.menuItemCloseDebug});
this.调试ToolStripMenuItem.Name = "调试ToolStripMenuItem";
this.调试ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.调试ToolStripMenuItem.Size = new System.Drawing.Size(224, 26);
this.调试ToolStripMenuItem.Text = "调试";
//
// menuItemOpenDebug
//
this.menuItemOpenDebug.Name = "menuItemOpenDebug";
this.menuItemOpenDebug.Size = new System.Drawing.Size(100, 22);
this.menuItemOpenDebug.Size = new System.Drawing.Size(122, 26);
this.menuItemOpenDebug.Text = "开启";
this.menuItemOpenDebug.Click += new System.EventHandler(this.menuItemOpenDebug_Click);
//
// menuItemCloseDebug
//
this.menuItemCloseDebug.Name = "menuItemCloseDebug";
this.menuItemCloseDebug.Size = new System.Drawing.Size(100, 22);
this.menuItemCloseDebug.Size = new System.Drawing.Size(122, 26);
this.menuItemCloseDebug.Text = "关闭";
this.menuItemCloseDebug.Click += new System.EventHandler(this.menuItemCloseDebug_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(121, 6);
this.toolStripSeparator2.Size = new System.Drawing.Size(221, 6);
//
// 负载信息ToolStripMenuItem
//
......@@ -396,7 +495,7 @@ namespace UControl.UC
this.左侧ToolStripMenuItem,
this.右侧ToolStripMenuItem});
this.负载信息ToolStripMenuItem.Name = "负载信息ToolStripMenuItem";
this.负载信息ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.负载信息ToolStripMenuItem.Size = new System.Drawing.Size(224, 26);
this.负载信息ToolStripMenuItem.Text = "负载信息";
//
// 左侧ToolStripMenuItem
......@@ -408,32 +507,32 @@ namespace UControl.UC
this.左有满货架ToolStripMenuItem,
this.左货架号toolStripTextBox1});
this.左侧ToolStripMenuItem.Name = "左侧ToolStripMenuItem";
this.左侧ToolStripMenuItem.Size = new System.Drawing.Size(100, 22);
this.左侧ToolStripMenuItem.Size = new System.Drawing.Size(122, 26);
this.左侧ToolStripMenuItem.Text = "左侧";
//
// 左无货架ToolStripMenuItem
//
this.左无货架ToolStripMenuItem.Name = "左无货架ToolStripMenuItem";
this.左无货架ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.左无货架ToolStripMenuItem.Size = new System.Drawing.Size(174, 26);
this.左无货架ToolStripMenuItem.Text = "无货架";
this.左无货架ToolStripMenuItem.Click += new System.EventHandler(this.左无货架ToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(157, 6);
this.toolStripSeparator3.Size = new System.Drawing.Size(171, 6);
//
// 左有空货架ToolStripMenuItem
//
this.左有空货架ToolStripMenuItem.Name = "左有空货架ToolStripMenuItem";
this.左有空货架ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.左有空货架ToolStripMenuItem.Size = new System.Drawing.Size(174, 26);
this.左有空货架ToolStripMenuItem.Text = "有空货架";
this.左有空货架ToolStripMenuItem.Click += new System.EventHandler(this.左有空货架ToolStripMenuItem_Click);
//
// 左有满货架ToolStripMenuItem
//
this.左有满货架ToolStripMenuItem.Name = "左有满货架ToolStripMenuItem";
this.左有满货架ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.左有满货架ToolStripMenuItem.Size = new System.Drawing.Size(174, 26);
this.左有满货架ToolStripMenuItem.Text = "有满货架";
this.左有满货架ToolStripMenuItem.Visible = false;
this.左有满货架ToolStripMenuItem.Click += new System.EventHandler(this.左有满货架ToolStripMenuItem_Click);
......@@ -442,7 +541,7 @@ namespace UControl.UC
//
this.左货架号toolStripTextBox1.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F);
this.左货架号toolStripTextBox1.Name = "左货架号toolStripTextBox1";
this.左货架号toolStripTextBox1.Size = new System.Drawing.Size(100, 23);
this.左货架号toolStripTextBox1.Size = new System.Drawing.Size(100, 27);
this.左货架号toolStripTextBox1.TextChanged += new System.EventHandler(this.左货架号toolStripTextBox1_TextChanged);
//
// 右侧ToolStripMenuItem
......@@ -454,32 +553,32 @@ namespace UControl.UC
this.右有满货架ToolStripMenuItem,
this.右货架号toolStripTextBox1});
this.右侧ToolStripMenuItem.Name = "右侧ToolStripMenuItem";
this.右侧ToolStripMenuItem.Size = new System.Drawing.Size(100, 22);
this.右侧ToolStripMenuItem.Size = new System.Drawing.Size(122, 26);
this.右侧ToolStripMenuItem.Text = "右侧";
//
// 右无货架ToolStripMenuItem
//
this.右无货架ToolStripMenuItem.Name = "右无货架ToolStripMenuItem";
this.右无货架ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.右无货架ToolStripMenuItem.Size = new System.Drawing.Size(174, 26);
this.右无货架ToolStripMenuItem.Text = "无货架";
this.右无货架ToolStripMenuItem.Click += new System.EventHandler(this.右无货架ToolStripMenuItem_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(157, 6);
this.toolStripSeparator4.Size = new System.Drawing.Size(171, 6);
//
// 右有空货架ToolStripMenuItem
//
this.右有空货架ToolStripMenuItem.Name = "右有空货架ToolStripMenuItem";
this.右有空货架ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.右有空货架ToolStripMenuItem.Size = new System.Drawing.Size(174, 26);
this.右有空货架ToolStripMenuItem.Text = "有空货架";
this.右有空货架ToolStripMenuItem.Click += new System.EventHandler(this.右有空货架ToolStripMenuItem_Click);
//
// 右有满货架ToolStripMenuItem
//
this.右有满货架ToolStripMenuItem.Name = "右有满货架ToolStripMenuItem";
this.右有满货架ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.右有满货架ToolStripMenuItem.Size = new System.Drawing.Size(174, 26);
this.右有满货架ToolStripMenuItem.Text = "有满货架";
this.右有满货架ToolStripMenuItem.Visible = false;
this.右有满货架ToolStripMenuItem.Click += new System.EventHandler(this.右有满货架ToolStripMenuItem_Click);
......@@ -488,31 +587,31 @@ namespace UControl.UC
//
this.右货架号toolStripTextBox1.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F);
this.右货架号toolStripTextBox1.Name = "右货架号toolStripTextBox1";
this.右货架号toolStripTextBox1.Size = new System.Drawing.Size(100, 23);
this.右货架号toolStripTextBox1.Size = new System.Drawing.Size(100, 27);
this.右货架号toolStripTextBox1.TextChanged += new System.EventHandler(this.右货架号toolStripTextBox1_TextChanged);
//
// lblPos
//
this.lblPos.Name = "lblPos";
this.lblPos.Size = new System.Drawing.Size(32, 17);
this.lblPos.Size = new System.Drawing.Size(39, 20);
this.lblPos.Text = "位置";
//
// lblWorkshop
//
this.lblWorkshop.Name = "lblWorkshop";
this.lblWorkshop.Size = new System.Drawing.Size(32, 17);
this.lblWorkshop.Size = new System.Drawing.Size(39, 20);
this.lblWorkshop.Text = "车间";
//
// lblCurStatus
//
this.lblCurStatus.Name = "lblCurStatus";
this.lblCurStatus.Size = new System.Drawing.Size(32, 17);
this.lblCurStatus.Size = new System.Drawing.Size(39, 20);
this.lblCurStatus.Text = "状态";
//
// lblDistance
//
this.lblDistance.Name = "lblDistance";
this.lblDistance.Size = new System.Drawing.Size(32, 17);
this.lblDistance.Size = new System.Drawing.Size(39, 20);
this.lblDistance.Text = "距离";
//
// timer1
......@@ -520,107 +619,9 @@ namespace UControl.UC
this.timer1.Interval = 500;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// ucInfoControlOrder
//
this.ucInfoControlOrder.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlOrder.IconImg = global::UIControl.Properties.Resource.order;
this.ucInfoControlOrder.Info = "order id";
this.ucInfoControlOrder.Location = new System.Drawing.Point(4, 1);
this.ucInfoControlOrder.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlOrder.Name = "ucInfoControlOrder";
this.ucInfoControlOrder.Size = new System.Drawing.Size(286, 33);
this.ucInfoControlOrder.TabIndex = 0;
//
// ucInfoControlJobName
//
this.ucInfoControlJobName.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlJobName.IconImg = global::UIControl.Properties.Resource.name;
this.ucInfoControlJobName.Info = "jobname";
this.ucInfoControlJobName.Location = new System.Drawing.Point(4, 36);
this.ucInfoControlJobName.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlJobName.Name = "ucInfoControlJobName";
this.ucInfoControlJobName.Size = new System.Drawing.Size(286, 33);
this.ucInfoControlJobName.TabIndex = 1;
//
// ucInfoControlStep
//
this.ucInfoControlStep.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlStep.IconImg = global::UIControl.Properties.Resource.step;
this.ucInfoControlStep.Info = "step";
this.ucInfoControlStep.Location = new System.Drawing.Point(4, 71);
this.ucInfoControlStep.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlStep.Name = "ucInfoControlStep";
this.ucInfoControlStep.Size = new System.Drawing.Size(286, 33);
this.ucInfoControlStep.TabIndex = 1;
//
// ucInfoControlStepMsg
//
this.ucInfoControlStepMsg.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlStepMsg.IconImg = global::UIControl.Properties.Resource.info;
this.ucInfoControlStepMsg.Info = "stepmsg";
this.ucInfoControlStepMsg.Location = new System.Drawing.Point(4, 106);
this.ucInfoControlStepMsg.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlStepMsg.Name = "ucInfoControlStepMsg";
this.ucInfoControlStepMsg.Size = new System.Drawing.Size(286, 33);
this.ucInfoControlStepMsg.TabIndex = 2;
//
// ucInfoControlShelf
//
this.ucInfoControlShelf.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlShelf.IconImg = global::UIControl.Properties.Resource.box;
this.ucInfoControlShelf.Info = "sshelf";
this.ucInfoControlShelf.Location = new System.Drawing.Point(4, 141);
this.ucInfoControlShelf.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlShelf.Name = "ucInfoControlShelf";
this.ucInfoControlShelf.Size = new System.Drawing.Size(286, 33);
this.ucInfoControlShelf.TabIndex = 3;
//
// ucInfoControlWarn
//
this.ucInfoControlWarn.Dock = System.Windows.Forms.DockStyle.Fill;
this.ucInfoControlWarn.IconImg = global::UIControl.Properties.Resource.warn;
this.ucInfoControlWarn.Info = "warn";
this.ucInfoControlWarn.Location = new System.Drawing.Point(4, 176);
this.ucInfoControlWarn.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
this.ucInfoControlWarn.Name = "ucInfoControlWarn";
this.ucInfoControlWarn.Size = new System.Drawing.Size(286, 38);
this.ucInfoControlWarn.TabIndex = 4;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlWarn, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlShelf, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlStepMsg, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlJobName, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlOrder, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.ucInfoControlStep, 0, 2);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 6;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(294, 215);
this.tableLayoutPanel1.TabIndex = 5;
//
// panel1
//
this.panel1.Controls.Add(this.tableLayoutPanel1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(294, 215);
this.panel1.TabIndex = 6;
//
// UCRobotStatus
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);//7F, 17F
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.PaleTurquoise;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
......@@ -629,7 +630,7 @@ namespace UControl.UC
this.Controls.Add(this.panelHead);
this.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F);
this.Name = "UCRobotStatus";
this.Size = new System.Drawing.Size(296, 342);
this.Size = new System.Drawing.Size(342, 347);
this.Resize += new System.EventHandler(this.UCRobotStatus_Resize);
this.panelHead.ResumeLayout(false);
this.panelMode.ResumeLayout(false);
......@@ -639,6 +640,8 @@ namespace UControl.UC
((System.ComponentModel.ISupportInitialize)(this.picWifi)).EndInit();
this.panelBody.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel7.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.picMissionState)).EndInit();
......@@ -648,8 +651,6 @@ namespace UControl.UC
this.panel3.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
......
......@@ -153,6 +153,7 @@ namespace UControl.UC
{
this.Invoke(new Action(() =>
{
负载信息ToolStripMenuItem.Enabled = !robot.auto;
SetTitle();
updateRunMode();
updateShelfSett();
......@@ -311,11 +312,88 @@ namespace UControl.UC
#region 设置
private void menuItemOpenAuto_Click(object sender, EventArgs e)
{
robot.auto = true;
enableEdit();
LogUtil.Info($"{robot?.name ?? ""}机器人手动操作:打开自动模式");
}
if (checkState())
{
robot.auto = true;
enableEdit();
LogUtil.Info($"{robot?.name ?? ""}机器人手动操作:打开自动模式");
}
}
bool checkState()
{
try
{
bool OpenCheckLoadIO = AppConfigSetting.GetBoolVal(Setting_Str.OpenCheckLoadIO, true);
if (!OpenCheckLoadIO) return true;
if (robot.io_modules != null && robot.io_modules.Count == 2)
{
if (robot.io_modules[0].status?.input_state != null
&& robot.io_modules[0].status?.input_state.Count == 4
&& robot.io_modules[1].status?.input_state != null
&& robot.io_modules[1].status?.input_state.Count == 4)
{
if ((robot.io_modules[0].status?.input_state[1]??false)
&& (robot.io_modules[1].status?.input_state[1] ?? false))
{
MessageBox.Show("检测到左右两侧均有容器,请拿走一个!");
return false;
}
else if (!(robot.io_modules[0].status?.input_state[1] ?? false)
&& !(robot.io_modules[1].status?.input_state[1] ?? false))
{
MessageBox.Show("检测到左右两侧无容器,请放一个到AGV上!");
return false;
}
else if ((robot.io_modules[0].status?.input_state[1] ?? false)
&& !(robot.io_modules[1].status?.input_state[1] ?? false))//左侧有,右侧无
{
LoadInfo loadInfo = getLoadInfo(posLeft);
if (loadInfo != null)
{
loadInfo.shelf_type = ShelfType.Empty;
}
LoadInfo loadInfo1 = getLoadInfo(posRight);
if (loadInfo1 != null)
{
loadInfo1.shelf_type = ShelfType.None;
loadInfo1.shelf_id = "";
}
setRobot();
LogUtil.Info("切换为自动时,AGV负载状态:左侧有空容器,右侧无容器");
return true;
}
else if (!(robot.io_modules[0].status?.input_state[1] ?? false)
&& (robot.io_modules[1].status?.input_state[1] ?? false))//左侧无,右侧有
{
LoadInfo loadInfo = getLoadInfo(posLeft);
if (loadInfo != null)
{
loadInfo.shelf_type = ShelfType.None;
loadInfo.shelf_id = "";
}
LoadInfo loadInfo1 = getLoadInfo(posRight);
if (loadInfo1 != null)
{
loadInfo1.shelf_type = ShelfType.Empty;
}
setRobot();
LogUtil.Info("切换为自动时,AGV负载状态:左侧无容器,右侧有空容器");
return true;
}
}
else
{
MessageBox.Show("获取车上负载状态异常!");
}
}
}
catch (Exception ex)
{
LogUtil.Error("检查小车负载异常", ex);
}
return false;
}
private void menuItemCloseAuto_Click(object sender, EventArgs e)
{
if (robot.auto)
......@@ -327,7 +405,7 @@ namespace UControl.UC
if (!string.IsNullOrEmpty(robot?.job?.JobParam?.OrderId ?? ""))
OrderManager.DeleteOrderById(robot.job.JobParam.OrderId, out string msg, true);
Context.SetNodeOccupied(robot.id);
LogUtil.Info($"{robot?.name ?? ""}机器人手动操作:关闭自动模式。中断运输单:{robot?.job?.JobParam?.OrderId}");
LogUtil.Info($"{robot?.name ?? ""}机器人手动操作:关闭自动模式。中断运输单:{robot?.job?.JobParam?.OrderId}");
robot.job = null;
MissionManager.Init(robot);
}
......
......@@ -124,7 +124,7 @@
<data name="robotSetting.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIHSURBVFhH7davThxRFMfxlTUVPENVm2BA1VXxBlUNCkMI
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIHSURBVFhH7davThxRFMfxlTUVPENVm2BA1VXxBlUNCkMI
htSAah1P0NqqVtQQDJZHIMGRYJs0GJpg6uj5zMzJ3p1Mdu8sS9V+k1/2/jlzcu/M+bOTNWuW4FXoXTuc
wZq9Z2M3dB567LQfSoxznQ3bleJ2nN+FjkNfuvltJ2Nr9tiYD72lpckDbDezlg+hb52MEzYrP8DnEKcb
zWw+bNh65km4AX0KcXgaquUi5BnPpp9R7IU4oF+h/m22QgIvP4GxtZJ8ayk+q7kMfQ+9Cb2wUHAY+hu6
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!