Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
顾剑亮
/
AGVControl-Qisda-ProductionLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3bb51791
由
张东亮
编写于
2020-09-09 10:19:54 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
75c17094
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
723 行增加
和
1419 行删除
.vs/AGVControl-ProductionLine/v16/.suo
AGVControl-ProductionLine/BLL/AgvServer.cs
AGVControl-ProductionLine/BLL/Common.cs
AGVControl-ProductionLine/BLL/Control.cs
AGVControl-ProductionLine/FrmMain.Designer.cs
AGVControl-ProductionLine/FrmMain.cs
AGVControl-ProductionLine/bean/Agv_Info.cs
AGVControl-ProductionLine/bean/Job.cs
AGVControl-ProductionLine/bean/job/ChargeJob.cs
AGVControl-ProductionLine/bean/job/GoEmptyShelfLineJob.cs
AGVControl-ProductionLine/bean/job/SendFullShelfToLineJob.cs
AGVControl-ProductionLine/bean/node/DoubleLineNodeFor4C.cs
AGVControl-ProductionLine/bean/node/DoubleLineNodeFor4D.cs
AGVControl-ProductionLine/bin/Debug/AGVControl-ProductionLine.exe
AGVControl-ProductionLine/bin/Debug/AGVControl-ProductionLine.pdb
AGVControl-ProductionLine/bin/Debug/logs/AgvServer.log
AGVControl-ProductionLine/bin/Debug/logs/AgvServer.log2020-09-07
AGVControl-ProductionLine/bin/Debug/logs/LineWebService.log2020-09-07
AGVControl-ProductionLine/obj/Debug/AGVControl-ProductionLine.csproj.GenerateResource.cache
AGVControl-ProductionLine/obj/Debug/AGVControl-ProductionLine.exe
AGVControl-ProductionLine/obj/Debug/AGVControl-ProductionLine.pdb
.vs/AGVControl-ProductionLine/v16/.suo
查看文件 @
3bb5179
此文件类型无法预览
AGVControl-ProductionLine/BLL/AgvServer.cs
查看文件 @
3bb5179
...
@@ -236,10 +236,6 @@ namespace BLL
...
@@ -236,10 +236,6 @@ namespace BLL
}
}
else
else
{
{
//if (clientNode.Action == ClientAction.ReadyEnter || clientNode.Action == ClientAction.ReadyLeave)
//{
// continue;
//}
if
(
clientNode
.
StateEquals
(
eNodeStatus
.
None
))
if
(
clientNode
.
StateEquals
(
eNodeStatus
.
None
))
{
{
byte
[]
buff
=
new
byte
[]
{
0X00
,
0X00
};
byte
[]
buff
=
new
byte
[]
{
0X00
,
0X00
};
...
...
AGVControl-ProductionLine/BLL/Common.cs
查看文件 @
3bb5179
...
@@ -49,6 +49,8 @@ namespace AGVControl
...
@@ -49,6 +49,8 @@ namespace AGVControl
/// </summary>
/// </summary>
public
const
string
C4_AGV_IPs
=
"10.85.199.71,10.85.199.72,10.85.199.73"
;
public
const
string
C4_AGV_IPs
=
"10.85.199.71,10.85.199.72,10.85.199.73"
;
public
const
string
C4_STANDBY1
=
"C4_STANDBY1"
;
public
const
string
C4_STANDBY2
=
"C4_STANDBY2"
;
/// <summary>
/// <summary>
/// 上料区
/// 上料区
/// </summary>
/// </summary>
...
@@ -212,6 +214,7 @@ namespace AGVControl
...
@@ -212,6 +214,7 @@ namespace AGVControl
//public static Dictionary<string, string> agvProductionLine;
//public static Dictionary<string, string> agvProductionLine;
public
static
System
.
Configuration
.
Configuration
appConfig
;
public
static
System
.
Configuration
.
Configuration
appConfig
;
public
static
MissionManager
missionManager
;
public
static
MissionManager
missionManager
;
public
static
StandbyStation
StandbyStation
=
new
StandbyStation
()
{
C4_Station1
=
""
,
C4_Station2
=
""
};
private
static
List
<
string
>
msg
=
new
List
<
string
>();
private
static
List
<
string
>
msg
=
new
List
<
string
>();
private
static
string
preLog
=
""
;
private
static
string
preLog
=
""
;
...
@@ -730,10 +733,10 @@ namespace AGVControl
...
@@ -730,10 +733,10 @@ namespace AGVControl
}
}
else
else
{
{
if
(
FullShelfDestInfo
!=
null
)
if
(
FullShelfDestInfo
!=
null
)
{
{
Common
.
LogInfo
(
"A6的出料信息不正确,请检查:"
+
FullShelfDestInfo
.
ShowInfo
(
"ERROR"
));
Common
.
LogInfo
(
"A6的出料信息不正确,请检查:"
+
FullShelfDestInfo
.
ShowInfo
(
"ERROR"
));
return
false
;
//
return false;
}
}
}
}
}
}
...
@@ -744,7 +747,7 @@ namespace AGVControl
...
@@ -744,7 +747,7 @@ namespace AGVControl
if
(
Common
.
GetNodeNameByLineName
(
woData
.
line
,
out
string
loc
))
if
(
Common
.
GetNodeNameByLineName
(
woData
.
line
,
out
string
loc
))
{
{
nodeName
=
loc
;
nodeName
=
loc
;
doubleLine_WO
=
"工单料信息:"
+
woData
.
ToTxt
(
loc
);
doubleLine_WO
=
woData
.
ToTxt
(
loc
);
Common
.
log
.
Debug
(
doubleLine_WO
);
Common
.
log
.
Debug
(
doubleLine_WO
);
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
.
Equals
(
loc
)
&&
s
.
EmptyShelfCnt
>
0
);
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
.
Equals
(
loc
)
&&
s
.
EmptyShelfCnt
>
0
);
...
@@ -807,64 +810,62 @@ namespace AGVControl
...
@@ -807,64 +810,62 @@ namespace AGVControl
}
}
else
//主动拉料架
else
//主动拉料架
{
{
//双层线是否需要小料架
if
(
CheckA
6State
(
agv
,
eShelfType
.
SmallShelf
,
out
string
lineNodeName1
))
if
(
CheckA
5State
(
agv
,
eShelfType
.
SmallShelf
,
out
string
lineNodeName2
))
{
{
//if (curPlace.Equals(""))//待机位
// {
//4C车间寻找
//4C车间寻找
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
{
{
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
EmptyShelfCnt
>
0
&&
s
.
Name
.
Equals
(
"G22"
)
&&
s
.
IsUse
);
string
nearNodeName
=
CalculateNearNode
(
agv
,
"G"
);
if
(
idx
==
-
1
)
if
(
!
nearNodeName
.
Equals
(
""
)
)
{
{
return
false
;
nodeName
=
nearNodeName
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4C-"
+
nearNodeName
);
return
true
;
}
}
nodeName
=
nodeInfo
[
idx
].
Name
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4C-"
+
nodeName
);
return
true
;
}
}
//4D车间寻找
//4D车间寻找
if
(!
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
if
(!
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
{
{
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
EmptyShelfCnt
>
0
&&
s
.
Name
.
Equals
(
"E22"
)
&&
s
.
IsUse
);
string
nearNodeName
=
CalculateNearNode
(
agv
,
"E"
);
if
(
idx
==
-
1
)
if
(
!
nearNodeName
.
Equals
(
""
)
)
{
{
return
false
;
nodeName
=
nearNodeName
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4D-"
+
nearNodeName
);
return
true
;
}
}
nodeName
=
nodeInfo
[
idx
].
Name
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4D-"
+
nodeName
);
return
true
;
}
}
}
}
//双层线是否需要小料架
else
if
(
CheckA6State
(
agv
,
eShelfType
.
SmallShelf
,
out
string
lineNodeName1
))
else
if
(
CheckA5State
(
agv
,
eShelfType
.
SmallShelf
,
out
string
lineNodeName2
))
{
{
//if (curPlace.Equals(""))//待机位
// {
//4C车间寻找
//4C车间寻找
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
{
{
string
nearNodeName
=
CalculateNearNode
(
agv
,
"G"
);
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
EmptyShelfCnt
>
0
&&
s
.
Name
.
Equals
(
"G22"
)
&&
s
.
IsUse
);
if
(
nearNodeName
.
Equals
(
""
)
)
if
(
idx
>
-
1
)
{
{
return
false
;
nodeName
=
nodeInfo
[
idx
].
Name
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4C-"
+
nodeName
);
return
true
;
}
}
nodeName
=
nearNodeName
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4C-"
+
nearNodeName
);
return
true
;
}
}
//4D车间寻找
//4D车间寻找
if
(!
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
if
(!
SettingString
.
C4_AGV_IPs
.
Contains
(
agv
.
IP
))
{
{
string
nearNodeName
=
CalculateNearNode
(
agv
,
"E"
);
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
EmptyShelfCnt
>
0
&&
s
.
Name
.
Equals
(
"E22"
)
&&
s
.
IsUse
);
if
(
nearNodeName
.
Equals
(
""
)
)
if
(
idx
>
-
1
)
{
{
return
false
;
nodeName
=
nodeInfo
[
idx
].
Name
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4D-"
+
nodeName
);
return
true
;
}
}
nodeName
=
nearNodeName
;
Common
.
log
.
Debug
(
agv
.
Name
+
" 双层线需要小料架,准备去4D-"
+
nearNodeName
);
return
true
;
}
}
}
}
}
}
...
@@ -1367,32 +1368,32 @@ namespace AGVControl
...
@@ -1367,32 +1368,32 @@ namespace AGVControl
}
}
public
static
void
CheckAGVMissionState
()
//
public static void CheckAGVMissionState()
{
//
{
foreach
(
Agv_Info
agv
in
agvInfo
)
//
foreach (Agv_Info agv in agvInfo)
{
//
{
Thread
.
Sleep
(
50
);
//
Thread.Sleep(50);
bool
rtn
=
Common
.
mir
.
Get_Register
(
agv
,
20
,
out
int
regValue
);
//
bool rtn = Common.mir.Get_Register(agv, 20, out int regValue);
if
(
rtn
)
//
if (rtn)
{
//
{
agv
.
GetPlace
(
regValue
);
//
agv.GetPlace(regValue);
Common
.
log
.
Debug
(
string
.
Format
(
"软件开启:{0} Get_Register PLC{1}={2} Place={3} PlaceState={4}"
,
agv
.
Name
,
20
,
regValue
,
agv
.
Place
,
agv
.
PlaceState
));
//
Common.log.Debug(string.Format("软件开启:{0} Get_Register PLC{1}={2} Place={3} PlaceState={4}", agv.Name, 20, regValue, agv.Place, agv.PlaceState));
if
(!
agv
.
Place
.
Equals
(
""
))
//
if (!agv.Place.Equals(""))
{
//
{
int
idx
=
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
agv
.
Place
);
//
int idx = nodeInfo.FindIndex(s => s.Name == agv.Place);
if
(
idx
>
-
1
)
//
if (idx > -1)
{
//
{
nodeInfo
[
idx
].
AgvName
=
agv
.
Name
;
//
nodeInfo[idx].AgvName = agv.Name;
}
//
}
agv
.
TaskSend
=
"Move"
+
agv
.
Place
;
//
agv.TaskSend = "Move" + agv.Place;
}
//
}
}
//
}
else
//
else
{
//
{
Common
.
log
.
Debug
(
"CheckAGVMissionState 获取PLC20失败"
);
//
Common.log.Debug("CheckAGVMissionState 获取PLC20失败");
}
//
}
}
//
}
}
//
}
public
static
void
GetNodesPosition
()
public
static
void
GetNodesPosition
()
{
{
Agv_Info
agv
=
agvInfo
[
0
];
Agv_Info
agv
=
agvInfo
[
0
];
...
@@ -1412,6 +1413,78 @@ namespace AGVControl
...
@@ -1412,6 +1413,78 @@ namespace AGVControl
}
}
}
}
}
}
/// <summary>
/// 检查该目的地是否有车占用
/// </summary>
/// <param name="nodeName"></param>
/// <returns>false:未被占用</returns>
public
static
bool
Check4CTarget
(
Agv_Info
agv
,
string
nodeName
)
{
List
<
Agv_Info
>
agvs
=
agvInfo
.
FindAll
(
s
=>
!
s
.
IP
.
Equals
(
agv
.
IP
)
&&
(
s
.
CurJob
is
GoEmptyShelfLineJob
||
s
.
CurJob
is
SendFullShelfToLineJob
)
);
//&& !s.Name.Equals(StandbyStation.C4_Station1) && !s.Name.Equals(StandbyStation.C4_Station2)
if
(
agvs
.
Count
.
Equals
(
0
))
return
false
;
else
if
(
agvs
.
Count
>
0
)
{
foreach
(
Agv_Info
item
in
agvs
)
{
if
(
item
.
CurJob
is
GoEmptyShelfLineJob
)
{
if
(((
GoEmptyShelfLineJob
)
item
.
CurJob
).
EmptyShelfPlace
.
Equals
(
nodeName
)
&&
item
.
CurTaskName
.
Equals
(
SettingString
.
Move
+
nodeName
))
{
log
.
Debug
(
item
.
Name
+
" 在目的地:"
+
((
GoEmptyShelfLineJob
)
item
.
CurJob
).
EmptyShelfPlace
+
" "
+
agv
.
Name
+
"暂不去"
+
nodeName
);
return
true
;
}
}
else
if
(
item
.
CurJob
is
SendFullShelfToLineJob
)
{
if
(((
SendFullShelfToLineJob
)
item
.
CurJob
).
FullShelfPlace
.
Equals
(
nodeName
)
&&
item
.
CurTaskName
.
Equals
(
SettingString
.
Move
+
nodeName
))
{
log
.
Debug
(
item
.
Name
+
" 在目的地:"
+
((
SendFullShelfToLineJob
)
item
.
CurJob
).
FullShelfPlace
+
" "
+
agv
.
Name
+
"暂不去"
+
nodeName
);
return
true
;
}
}
}
}
return
false
;
}
/// <summary>
/// 移动到4C待机位
/// </summary>
/// <param name="agv"></param>
public
static
void
MoveTo4CStandy
(
Agv_Info
agv
)
{
if
(
StandbyStation
.
C4_Station1
.
Equals
(
""
))
{
StandbyStation
.
C4_Station1
=
agv
.
Name
;
Common
.
MoveToNode
(
agv
,
SettingString
.
C4_STANDBY1
);
}
else
if
(
StandbyStation
.
C4_Station2
.
Equals
(
""
))
{
StandbyStation
.
C4_Station2
=
agv
.
Name
;
Common
.
MoveToNode
(
agv
,
SettingString
.
C4_STANDBY2
);
}
}
/// <summary>
/// 清除该小车在待机位的信息
/// </summary>
public
static
void
DeleteStandyInfo
(
Agv_Info
agv
)
{
if
(
StandbyStation
.
C4_Station1
.
Equals
(
agv
.
Name
))
{
StandbyStation
.
C4_Station1
=
""
;
}
else
if
(
StandbyStation
.
C4_Station2
.
Equals
(
agv
.
Name
))
{
StandbyStation
.
C4_Station2
=
""
;
}
}
}
}
public
static
class
API
public
static
class
API
...
@@ -1574,6 +1647,14 @@ namespace AGVControl
...
@@ -1574,6 +1647,14 @@ namespace AGVControl
}
}
/// <summary>
/// <summary>
/// 4C待机位
/// </summary>
public
struct
StandbyStation
{
public
string
C4_Station1
;
public
string
C4_Station2
;
}
/// <summary>
/// 任务信息结构
/// 任务信息结构
/// </summary>
/// </summary>
public
struct
MissionStru
public
struct
MissionStru
...
...
AGVControl-ProductionLine/BLL/Control.cs
查看文件 @
3bb5179
...
@@ -77,7 +77,7 @@ namespace BLL
...
@@ -77,7 +77,7 @@ namespace BLL
if
(!
Common
.
nodeInfo
[
j
].
Online
)
if
(!
Common
.
nodeInfo
[
j
].
Online
)
{
{
isAlarm
=
true
;
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
Common
.
nodeInfo
[
j
].
AliceName
,
"lineAgv."
+
Common
.
nodeInfo
[
j
].
Name
+
".OffLine"
,
"
接驳台状态:
离线"
));
msglist
.
Add
(
new
AlarmMsg
(
Common
.
nodeInfo
[
j
].
AliceName
,
"lineAgv."
+
Common
.
nodeInfo
[
j
].
Name
+
".OffLine"
,
"离线"
));
}
}
}
}
...
@@ -285,1241 +285,5 @@ namespace BLL
...
@@ -285,1241 +285,5 @@ namespace BLL
return
rtn
;
return
rtn
;
}
}
#
region
老程序
/// <summary>
/// agv空闲
/// </summary>
/// <param name="idx"></param>
//private void StateNone(int idx)
//{
// Agv_Info agv = Common.agvInfo[idx];
// Common.log.Info(agv.Name + " TaskSend=" + agv.TaskSend);
// if (!agv.TaskSend.Equals("")) return;
// agv.PlaceAliceName = "";
// agv.Msg = "";
// //空闲状态下,清空空架任务agv名字
// Common.missionManager.AGV_Name_EmptyTask = "";
// //空闲状态下清除节点上的agv名称
// for (int i = 0; i < Common.nodeInfo.Count; i++)
// {
// if (Common.nodeInfo[i].AgvName.Equals(agv.Name))
// Common.nodeInfo[i].AgvName = "";
// }
// if (agv.IsExistShelf)//满载则先将架子清空
// {
// Common.log.Debug(agv.Name + " IsExistShelf=" + agv.IsExistShelf);
// if (agv.RFID.StartsWith("C"))
// {
// CheckA5A6State_BigShelf(agv);
// }
// else
// {
// CheckA5A6State_SmallShelf(agv);
// }
// return;
// }
// //检查是否需要充电
// if (CheckIsNeedCharge(agv))
// return;
// if (CheckA6State(agv))
// return;
// CheckEmptyShelf(agv, agv.Place, true);//先出空料架
// AgvChanged?.Invoke(idx);
// #region 出空料架,带节点状态-不用
// //ClientLevel clientLevel = Common.linePlace.Values.Max<ClientLevel>();
// ////出空料架
// //foreach (var item in Common.linePlace)
// //{
// // if (!clientLevel.Equals(item.Value))
// // continue;
// // string name = item.Key;
// // index = Common.nodeInfo.FindIndex(s => s.Name.Equals(name) && s.Action == ClientAction.NeedLeave && s.IsUse);
// // if (index > -1)
// // {
// // rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + name]);
// // if (rtn)
// // {
// // Common.nodeInfo[index].AgvName = Common.agvInfo[idx].Name;
// // Common.linePlace.Remove(name);
// // }
// // agv.TaskSend = rtn ? "Move" + name : "";
// // }
// // Common.LogInfo(string.Format("[{0}-{1}] 出空料架.", name, item.Value));
// // if (Common.linePlace.Count.Equals(0).Equals(false))
// // Common.LogInfo("剩余需要出空料架的节点:" + string.Join(",", Common.linePlace.Keys.ToArray())
// // + ";对应紧急程度:" + string.Join(",", Common.linePlace.Values.ToArray()));
// // if (rtn) break;
// //}
// //for (int i = 0; i < Common.linePlace.Count; i++)
// //{
// // string name = Common.linePlace[i];
// // index = Common.nodeInfo.FindIndex(s => s.Name.Equals(name) && s.IsUse);
// // if (index > -1)
// // {
// // rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + name]);
// // if (rtn)
// // {
// // Common.nodeInfo[index].AgvName = Common.agvInfo[idx].Name;
// // Common.LogInfo(string.Format("[{0}] 出空料架.", name));
// // Common.linePlace.RemoveAt(i);
// // System.IO.File.WriteAllLines(Common.CONFIG_PATH + "LinePlace.txt", Common.linePlace);
// // }
// // agv.TaskSend = rtn ? "Move" + name : "";
// // }
// // if (Common.linePlace.Count.Equals(0).Equals(false))
// // Common.LogInfo("剩余需要出空料架的节点:" + string.Join(",", Common.linePlace.ToArray()));
// // if (rtn) break;
// //}
// #endregion
//}
/// <summary>
/// 判断是否需要充电
/// </summary>
/// <param name="agv"></param>
/// <returns></returns>
//private bool CheckIsNeedCharge(Agv_Info agv)
//{
// if (Common.chargeStatus.AutoCharge)
// {
// if (agv.Battery <= Common.chargeStatus.chargeMin)
// {
// Common.LogInfo(agv.Name + " 电量小于20%", false);
// if (StatusCharge(agv))
// return true;
// }
// else if (agv.Battery <= Common.chargeStatus.chargeMax && agv.WaitTime >= Common.chargeStatus.chargeWait * 60000)
// {
// Common.LogInfo(agv.Name + " 闲置时间超过" + Common.chargeStatus.chargeWait + "分钟", false);
// if (StatusCharge(agv))
// return true;
// }
// return false;
// }
// return false;
//}
/// <summary>
///A6是否有满料架要出
/// </summary>
/// <param name="agv"></param>
//private bool CheckA6State(Agv_Info agv)
//{
// bool rtn;
// int index;
// string RFID = "";
// Thread.Sleep(3000);
// if (!agv.TaskSend.Equals(""))
// return false;
// //判断小车负载与实际是否匹配
// Common.mir.Get_IO_Status(agv, out bool[] input, out bool[] output);
// if (input != null && input.Length == 4)
// {
// if (!agv.IsExistShelf.Equals(input[3]))
// {
// agv.IsUse = false;
// agv.Msg = "IO信号与负载不匹配,不分配任务并关闭调用";
// int i = Common.agvInfo.FindIndex(s => s.Name.Equals(agv.Name));
// AgvChanged?.Invoke(i);
// return false;
// }
// }
// //A6出满料
// rtn = FindA6Leave(out string nextNode);
// if (rtn && !agv.IsExistShelf)
// {
// int ii = Common.missionManager.missionList.FindIndex(s => s.NodeName.Equals(nextNode));
// if (ii > -1)//出满料节点有空架子任务
// {
// return false;
// }
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["CheckShelf"]);
// if (!rtn)
// return false;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveA6"]);
// if (rtn)
// {
// agv.NextPlace = nextNode;
// index = FindNode("A6");
// Common.nodeInfo[index].AgvName = agv.Name;
// RFID = Common.nodeInfo[index].RFID;
// agv.RFID = RFID;
// index = FindNode(nextNode);
// Common.nodeInfo[index].AgvName = agv.Name;
// }
// agv.Msg = string.Format("{0} A6有满料架[{1}]要出,目的地为{2}", agv.Name, RFID, nextNode);
// Common.LogInfo(string.Format("{0} A6有满料架[{1}]要出,目的地为{2}[{3}]", agv.Name, RFID, nextNode, agv.PlaceState));
// agv.TaskSend = rtn ? "MoveA6" : "";
// return true;
// }
// return false;
//}
int
EmptyTaskCnt
=
0
;
/// <summary>
/// 查看是否有空料架出。分配顺序:双层线需要-》小车所在当前车间,-》距离分配任务;分产线接任务与待机位接任务
/// </summary>
/// <param name="agv"></param>
/// <param name="isAgvAtStandy">待机位接任务;默认false,即从产线接任务</param>
/// <returns>有空料架要出</returns>
//private bool CheckEmptyShelf(Agv_Info agv, string agvPlace, bool isAgvAtStandy = false)
//{
// if (!agv.TaskSend.Equals(""))
// return false;
// //判断小车负载与实际是否匹配
// Common.mir.Get_IO_Status(agv, out bool[] input, out bool[] output);
// if (input != null && input.Length == 4)
// {
// if (!agv.IsExistShelf.Equals(input[3]))
// {
// agv.IsUse = false;
// agv.Msg = "IO信号与负载不匹配,不分配任务并关闭调用";
// int i = Common.agvInfo.FindIndex(s => s.Name.Equals(agv.Name));
// AgvChanged?.Invoke(i);
// return false;
// }
// }
// //有空架任务
// //限制待机位车辆只有一台执行空架任务
// if (isAgvAtStandy)
// {
// if (Common.missionManager.AGV_Name_EmptyTask.Equals("").Equals(false))//已有一辆车执行空料架任务
// {
// Common.LogInfo(Common.missionManager.AGV_Name_EmptyTask + " 正在执行空料架任务,不允许分配该小车 " + agv.Name, false);
// return false;
// }
// }
// bool rtn = false;
// MissionStru missionNode = CalculateNearNode(agv);
// if (missionNode.NodeName.Equals(""))
// {
// return false;
// }
// int index = -1;
// index = Common.nodeInfo.FindIndex(s => s.Name.Equals(missionNode.NodeName) && s.AgvName == "" && s.IsUse);
// if (index == -1)
// return false;
// if (missionNode.NodeName.StartsWith("G"))
// {
// if (!missionNode.NodeName.Equals("G14") && !missionNode.NodeName.Equals("G15"))//4C产线
// {
// if (agvPlace.StartsWith("E") || isAgvAtStandy)//4D->4C产线
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorDToC"]);
// if (!rtn)
// return false;
// }
// else if (agvPlace.Equals("G14") || agvPlace.Equals("G15"))//air->4c
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirOut"]);
// if (!rtn)
// return false;
// }
// }
// else//Air
// {
// if (agvPlace.StartsWith("E"))//4D->4C产线->air
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorDToC"]);
// if (!rtn)
// return false;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirIn"], false);
// if (!rtn)
// return false;
// }
// else if (agvPlace.Equals("G14") || agvPlace.Equals("G15"))//air->air
// {
// }
// }
// }
// else//目标地点4D
// {
// if (agvPlace.Equals("G14") || agvPlace.Equals("G15"))//AIR->4C->4D
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirOut"]);
// if (!rtn)
// return false;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"], false);
// if (!rtn)
// return false;
// }
// else if (agvPlace.StartsWith("G"))//4C->D
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"]);
// if (!rtn)
// return false;
// }
// }
// if (index > -1)
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + missionNode.NodeName], false);
// if (rtn)
// {
// agv.TaskSend = "Move" + missionNode.NodeName;
// Common.nodeInfo[index].AgvName = agv.Name;
// agv.Msg = string.Format("{0} [{1}] 出空料架.", agv.Name, missionNode.NodeName);
// Common.LogInfo(string.Format("{0} [{1}] 出空料架.[{2}]", agv.Name, missionNode.NodeName, agv.PlaceState));
// AgvMissionChanged?.Invoke();
// Common.missionManager.missionList.Remove(missionNode);
// if (isAgvAtStandy)
// Common.missionManager.AGV_Name_EmptyTask = agv.Name;
// using (System.IO.StreamWriter file = new System.IO.StreamWriter(Common.CONFIG_PATH + "LinePlace.txt"))
// {
// foreach (var item in Common.missionManager.missionList)
// {
// file.WriteLine(string.Format("{0},{1}", item.CreateTime, item.NodeName));
// }
// }
// }
// agv.TaskSend = rtn ? "Move" + missionNode.NodeName : "";
// }
// if (Common.missionManager.missionList.Count.Equals(0).Equals(false))
// {
// if (EmptyTaskCnt != Common.missionManager.missionList.Count)
// {
// EmptyTaskCnt = Common.missionManager.missionList.Count;
// AgvMissionChanged?.Invoke();
// Common.LogInfo("剩余需要出空料架的节点:", false);
// Common.missionManager.missionList.ForEach(s => Common.LogInfo(string.Format("创建时间:{0},任务节点{1}", s.CreateTime, s.NodeName), false));
// }
// }
// if (rtn) return true;
// return false;
//}
/// <summary>
/// agv运动
/// </summary>
/// <param name="idx"></param>
private
void
StateMove
(
int
idx
)
{
}
/// <summary>
/// agv运动完成
/// </summary>
/// <param name="idx"></param>
//private void StateMoveFinish(int idx)
//{
// bool rtn;
// Agv_Info agv = Common.agvInfo[idx];
// if (!agv.TaskSend.Equals(""))
// return;
// int index = FindNode(agv.Place);
// if (agv.Place.StartsWith("F"))
// {
// ProcessDoor(agv);
// return;
// }
// if (agv.Place.StartsWith("J"))
// {
// ProcessStandyTemp(agv);
// return;
// }
// if (index == -1) return;
// ClientNode node = Common.nodeInfo[index];
// switch (agv.Place)
// {
// case "A5":
// if (node.StateEquals(eNodeStatus.MayEnter))
// {
// if (agv.TaskSend == "Leave") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Leave"]);
// agv.TaskSend = rtn ? "Leave" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以进入料架", agv.Name, agv.Place));
// }
// else
// {
// rtn = Common.server.ReadyEnter(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyEnter信号", agv.Name, agv.Place), false);
// }
// break;
// case "A6":
// if (node.StateEquals(eNodeStatus.MayEnter))
// {
// if (agv.TaskSend == "Leave") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Leave"]);
// agv.TaskSend = rtn ? "Leave" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以进入料架", agv.Name, agv.Place));
// }
// else if (node.StateEquals(eNodeStatus.MayLeave))
// {
// if (agv.TaskSend == "Enter") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Enter"]);
// agv.TaskSend = rtn ? "Enter" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以出去料架", agv.Name, agv.Place));
// }
// else if (node.StateEquals(eNodeStatus.NeedEnter))
// {
// if (agv.IsExistShelf)//车上有料架
// {
// rtn = Common.server.ReadyEnter(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyEnter信号", agv.Name, agv.Place), false);
// }
// }
// else if (node.StateEquals(eNodeStatus.NeedLeave))
// {
// if (agv.IsExistShelf)//车上有料架,回待机位。避免在待机位时,空架信号误感应
// {
// StatusCharge(agv, true);
// return;
// }
// rtn = Common.server.ReadyLeave(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyLeave信号", agv.Name, agv.Place), false);
// }
// else if (node.StateEquals(eNodeStatus.NeedEnterLeave))
// {
// if (agv.IsExistShelf)//车上有料架
// {
// rtn = Common.server.ReadyEnter(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyEnter信号", agv.Name, agv.Place), false);
// }
// else
// {
// rtn = Common.server.ReadyLeave(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyLeave信号", agv.Name, agv.Place), false);
// }
// }
// break;
// case "E1":
// case "E2":
// case "E3":
// case "E4":
// case "E5":
// case "E6":
// case "E7":
// case "E8":
// case "E9":
// case "E10":
// case "E11":
// case "E12":
// case "E14":
// case "E15":
// case "E16":
// if (node.StateEquals(eNodeStatus.MayEnter))
// {
// if (agv.TaskSend == "Leave") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Leave"]);
// agv.TaskSend = rtn ? "Leave" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以进入料架", agv.Name, agv.Place));
// }
// else if (node.StateEquals(eNodeStatus.MayLeave))
// {
// if (agv.TaskSend == "Enter") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Enter"]);
// agv.TaskSend = rtn ? "Enter" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以出去料架", agv.Name, agv.Place));
// }
// //C是大料架,D是小料架
// //大料架
// else if (agv.RFID.StartsWith("C"))
// {
// //获取大料架解绑状态
// bool state = GetRackBy(agv.RFID, out string linename);
// if (state)//解绑了
// {
// if (AGVControl.Common.agvProductionLine.TryGetValue(linename, out string nodeName))
// {
// int nodeIdx = Common.nodeInfo.FindIndex(s => s.Name == "A5" && (s.StateEquals(eNodeStatus.NeedC) || s.StateEquals(eNodeStatus.NeedEnter)) && s.AgvName == "" && s.IsUse);
// if (nodeIdx > -1)
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + Common.nodeInfo[nodeIdx].Name]);
// if (rtn)
// {
// agv.TaskSend = rtn ? "Move" + Common.nodeInfo[nodeIdx].Name : "";
// Common.nodeInfo[nodeIdx].AgvName = agv.Name;
// agv.Msg = string.Format("{0} 大料架[RFID={1}]解绑 运往[{2}],", agv.Name, agv.RFID, Common.nodeInfo[nodeIdx].Name);
// Common.LogInfo(string.Format("{0} 大料架[RFID={1}]解绑 运往[{2}],", agv.Name, agv.RFID, Common.nodeInfo[nodeIdx].Name));
// return;
// }
// }
// nodeIdx = Common.nodeInfo.FindIndex(s => s.Name == "A6" && (s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.AgvName == "" && s.IsUse);
// if (nodeIdx > -1)
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + Common.nodeInfo[nodeIdx].Name]);
// if (rtn)
// {
// agv.TaskSend = rtn ? "Move" + Common.nodeInfo[nodeIdx].Name : "";
// Common.nodeInfo[nodeIdx].AgvName = agv.Name;
// agv.Msg = string.Format("{0} 大料架[RFID={1}]解绑 运往[{2}],", agv.Name, agv.RFID, Common.nodeInfo[nodeIdx].Name);
// Common.LogInfo(string.Format("{0} 大料架[RFID={1}]解绑 运往[{2}],", agv.Name, agv.RFID, Common.nodeInfo[nodeIdx].Name));
// return;
// }
// }
// //StatusCharge(agv, true);
// //agv.Msg = string.Format("{0} 大料架[RFID={1}]解绑,A5、A6暂无空位,运往[{2}]", agv.Name, agv.RFID, "待机位");
// //Common.LogInfo(string.Format("{0} 大料架[RFID={1}]解绑,A5、A6暂无空位,运往[{2}]", agv.Name, agv.RFID, "待机位"));
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveStandbyTemp"]);
// if (rtn)
// {
// agv.NextPlace = "";
// node.AgvName = "";
// agv.TaskSend = rtn ? "MoveStandbyTemp" : "";
// agv.Msg = string.Format("{0} 大料架[RFID={1}]解绑,A5、A6暂无空位,运往[{2}]", agv.Name, agv.RFID, "待机位");
// Common.LogInfo(string.Format("{0} 大料架[RFID={1}]解绑,A5、A6暂无空位,运往[{2}]", agv.Name, agv.RFID, "待机位"));
// }
// }
// }
// else
// {
// agv.Msg = string.Format("{0}载大料架到达{1}[RFID={2}],等待料架解绑...", agv.Name, agv.Place, agv.RFID);
// Common.LogInfo(string.Format("{0}载大料架到达{1}[RFID={2}],等待料架解绑...", agv.Name, agv.Place, agv.RFID), false);
// return;
// }
// }
// else if (agv.RFID.StartsWith("D"))//小料架
// {
// rtn = Common.server.ReadyEnter(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}载小料架到达{1}[RFID={2}],服务器发送ReadyEnter信号", agv.Name, agv.Place, agv.RFID), false);
// }
// else if (agv.IsExistShelf)//有负载,可能软件重启导致RFID丢失
// {
// //rtn = Common.server.ReadyEnter(agv.Place);
// //if (!rtn) return;
// //Common.LogInfo(string.Format("{0}载小料架到达{1}[RFID={2}],服务器发送ReadyEnter信号", agv.Name, agv.Place, agv.RFID));
// }
// else//其他地方到E区域,则是空车
// {
// rtn = Common.server.ReadyLeave(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyLeave信号", agv.Name, agv.Place), false);
// }
// break;
// case "G1":
// case "G2":
// case "G3":
// case "G4":
// case "G5":
// case "G6":
// case "G7":
// case "G8":
// case "G9":
// case "G10":
// case "G11":
// case "G12":
// case "G13":
// case "G14":
// case "G15":
// case "G16":
// case "E21":
// case "E22":
// if (node.StateEquals(eNodeStatus.MayEnter))
// {
// if (agv.TaskSend == "Leave") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Leave"]);
// agv.TaskSend = rtn ? "Leave" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以进入料架", agv.Name, agv.Place));
// }
// else if (node.StateEquals(eNodeStatus.MayLeave))
// {
// if (agv.TaskSend == "Enter") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Enter"]);
// agv.TaskSend = rtn ? "Enter" : "";
// if (rtn)
// Common.LogInfo(string.Format("{0}到达{1},{1}可以出去料架", agv.Name, agv.Place));
// }
// else if (agv.RFID.StartsWith("D") || agv.RFID.StartsWith("C"))//不分大小料架
// {
// rtn = Common.server.ReadyEnter(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}载小料架到达{1}[RFID={2}],服务器发送ReadyEnter信号", agv.Name, agv.Place, agv.RFID), false);
// }
// else//其他地方到E区域,则是空车
// {
// rtn = Common.server.ReadyLeave(agv.Place);
// if (!rtn) return;
// Common.LogInfo(string.Format("{0}到达{1},服务器发送ReadyLeave信号", agv.Name, agv.Place), false);
// }
// break;
// case "G21":
// //Feeder区,入料
// //if (!Common.IsAllowLeaveOrEnter)
// // return;
// if (agv.TaskSend == "Leave") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Leave"]);
// agv.TaskSend = rtn ? "Leave" : "";
// if (rtn)
// {
// Common.IsAllowLeaveOrEnter = false;
// Common.LogInfo(string.Format("{0}到达{1},{1}可以进入料架", agv.Name, agv.Place));
// }
// break;
// case "G22":
// //Feeder区,出料
// //if (!Common.IsAllowLeaveOrEnter)
// // return;
// if (agv.TaskSend == "Enter") return;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Enter"]);
// agv.TaskSend = rtn ? "Enter" : "";
// if (rtn)
// {
// Common.IsAllowLeaveOrEnter = false;
// Common.LogInfo(string.Format("{0}到达{1},{1}可以出去料架", agv.Name, agv.Place));
// }
// break;
// }
// AgvChanged?.Invoke(idx);
//}
//private void ProcessStandyTemp(Agv_Info agv)
//{
// switch (agv.Place)
// {
// case "J1":
// case "J2":
// case "J3":
// case "J4":
// case "J5":
// case "J6":
// case "J7":
// case "J8":
// CheckA5A6State_SmallShelf(agv);
// break;
// }
//}
//private void ProcessDoor(Agv_Info agv)
//{
// switch (agv.Place)
// {
// case "F1":
// case "F2":
// case "F3":
// case "F4":
// case "F5":
// case "F6":
// case "F7":
// case "F8":
// //ResetNodeState(node, agv);
// Common.log.Debug(string.Format("{0} MoveDoor {1}[RFID={2}] Finish.", agv.Name, agv.Place, agv.RFID));
// break;
// }
//}
/// <summary>
/// 料架进入小车
/// </summary>
/// <param name="idx"></param>
private
void
StateEnter
(
int
idx
)
{
}
/// <summary>
/// 料架进入小车完成
/// </summary>
/// <param name="idx"></param>
//private void StateEnterFinish(int idx)
//{
// bool rtn;
// Agv_Info agv = Common.agvInfo[idx];
// if (!agv.TaskSend.Equals("")) return;
// int index = FindNode(agv.Place);
// if (index == -1) return;
// ClientNode node = Common.nodeInfo[index];
// agv.IsExistShelf = true;
// switch (agv.Place)
// {
// case "A6":
// // if (node.Action == ClientAction.FinishLeave)
// // {
// Common.server.FinishEnter(agv.Place, agv.RFID);
// Common.LogInfo(string.Format("节点名:{0},节点动作:{1}", node.Name, node.GetState()));
// string nextPlace = agv.NextPlace;
// if (nextPlace.Equals(""))
// return;
// if (nextPlace.StartsWith("G")) //4D->4C
// {
// if (nextPlace.Equals("G14") || nextPlace.Equals("G15"))
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorDToC"]);
// if (!rtn)
// break;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirIn"], false);
// if (!rtn)
// break;
// }
// else
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorDToC"]);
// if (!rtn)
// break;
// }
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + nextPlace], false);
// if (rtn)
// {
// agv.NextPlace = "";
// node.AgvName = "";
// agv.TaskSend = rtn ? "Move" + nextPlace : "";
// Common.LogInfo(string.Format("{0}装载满料架,运往{1}", agv.Name, nextPlace));
// }
// }
// else
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + nextPlace]);
// if (rtn)
// {
// agv.NextPlace = "";
// node.AgvName = "";
// agv.TaskSend = rtn ? "Move" + nextPlace : "";
// Common.LogInfo(string.Format("{0}装载满料架,运往{1}", agv.Name, nextPlace));
// }
// }
// //}
// break;
// case "E1":
// case "E2":
// case "E3":
// case "E4":
// case "E5":
// case "E6":
// case "E7":
// case "E8":
// case "E9":
// case "E10":
// case "E11":
// case "E12":
// case "E14":
// case "E15":
// case "E16":
// case "E21":
// case "E22":
// //产线客户端不发FinishLeave
// //产线空料架进入小车
// //node.AgvName = "";
// //node.Action = ClientAction.None;
// ResetNodeState(node, agv);
// CheckA5A6State_SmallShelf(agv, node);
// break;
// case "G1":
// case "G2":
// case "G3":
// case "G4":
// case "G5":
// case "G6":
// case "G7":
// case "G8":
// case "G9":
// case "G10":
// case "G11":
// case "G12":
// case "G13":
// case "G21":
// case "G22":
// //产线客户端不发FinishLeave
// //产线空料架进入小车
// //node.AgvName = "";
// //node.Action = ClientAction.None;
// ResetNodeState(node, agv);
// //检查A5、A6需要小料架的状况
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"]);
// if (!rtn)
// break;
// CheckA5A6State_SmallShelf(agv, node, false);
// break;
// case "G14":
// case "G15":
// case "G16":
// ResetNodeState(node, agv);
// //检查A5、A6需要小料架的状况
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirOut"]);
// if (!rtn)
// break;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"], false);
// if (!rtn)
// break;
// CheckA5A6State_SmallShelf(agv, node, false);
// break;
// }
// AgvChanged?.Invoke(idx);
//}
/// <summary>
/// 空闲状态查看A5、A6需要小料架的状况
/// </summary>
/// <param name="agv"></param>
//private void CheckA5A6State_SmallShelf(Agv_Info agv)
//{
// if (!agv.TaskSend.Equals(""))
// return;
// bool rtn = false;
// int tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A5"
// && (s.StateEquals(eNodeStatus.NeedD) || s.StateEquals(eNodeStatus.NeedEnter)) && s.AgvName == "" && s.IsUse);
// if (tarIdx == -1)
// {
// Common.log.Debug(string.Format("{0} 已装载料架 {1},A5不需要料架", agv.Name, agv.RFID));//小
// }
// else
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveA5"]);
// if (rtn)
// {
// agv.TaskSend = "MoveA5";
// Common.nodeInfo[tarIdx].AgvName = agv.Name;
// agv.Msg = string.Format("{0} 已装载料架 {1},送往A5", agv.Name, agv.RFID);
// Common.LogInfo(string.Format("{0} 已装载料架 {1},送往A5", agv.Name, agv.RFID));//小
// }
// return;
// }
// tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A6" &&
// (s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.AgvName == "" && s.IsUse);
// if (tarIdx == -1)
// {
// Common.log.Debug(string.Format("{0} 已装载料架 {1},A6不需要料架", agv.Name, agv.RFID));//小
// }
// else
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveA6"]);
// if (rtn)
// {
// agv.TaskSend = "MoveA6";
// Common.nodeInfo[tarIdx].AgvName = agv.Name;
// agv.Msg = string.Format("{0} 已装载料架 {1},送往A6", agv.Name, agv.RFID);
// Common.LogInfo(string.Format("{0} 已装载料架 {1},送往A6", agv.Name, agv.RFID));//小
// }
// }
//}
/// <summary>
/// 空闲 查看A5、A6需要大料架的状况
/// </summary>
/// <param name="agv"></param>
//private void CheckA5A6State_BigShelf(Agv_Info agv)
//{
// if (!agv.TaskSend.Equals(""))
// return;
// bool rtn = false;
// int tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A5"
// && (s.StateEquals(eNodeStatus.NeedC) || s.StateEquals(eNodeStatus.NeedEnter)) && s.IsUse);
// if (tarIdx == -1)
// {
// Common.log.Debug(string.Format("{0} 已装载料架 {1},A5不需要料架", agv.Name, agv.RFID));//小
// }
// else
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveA5"]);
// if (rtn)
// {
// agv.TaskSend = "MoveA5";
// Common.nodeInfo[tarIdx].AgvName = agv.Name;
// agv.Msg = string.Format("{0} 已装载料架 {1},送往A5", agv.Name, agv.RFID);
// Common.LogInfo(string.Format("{0} 已装载料架 {1},送往A5", agv.Name, agv.RFID));//小
// }
// return;
// }
// tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A6" &&
// (s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.IsUse);
// if (tarIdx == -1)
// {
// Common.log.Debug(string.Format("{0} 已装载料架 {1},A6不需要料架", agv.Name, agv.RFID));//小
// }
// else
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveA6"]);
// if (rtn)
// {
// Common.nodeInfo[tarIdx].AgvName = agv.Name;
// agv.TaskSend = "MoveA6";
// agv.Msg = string.Format("{0} 已装载料架 {1},送往A6", agv.Name, agv.RFID);
// Common.LogInfo(string.Format("{0} 已装载料架 {1},送往A6", agv.Name, agv.RFID));//小
// }
// }
//}
///// <summary>
///// 料架离开小车
///// </summary>
///// <param name="idx">agv索引</param>
//private void StateLeave(int idx)
//{
// Agv_Info agv = Common.agvInfo[idx];
//}
/// <summary>
/// 料架离开小车完成
/// </summary>
/// <param name="idx"></param>
//private void StateLeaveFinish(int idx)
//{
// Agv_Info agv = Common.agvInfo[idx];
// if (!agv.TaskSend.Equals("")) return;
// int index = FindNode(agv.Place);
// if (index == -1) return;
// ClientNode node = Common.nodeInfo[index];
// agv.IsExistShelf = false;
// switch (agv.Place)
// {
// case "A5":
// //if (node.Action == ClientAction.FinishEnter)
// //{
// // Common.LogInfo(string.Format("{0}在{1}完成进入料架", agv.Name, agv.Place));
// //}
// //break;
// case "A6":
// //if (node.Action == ClientAction.FinishEnter)
// //{
// Common.server.FinishEnter(agv.Place, agv.RFID);
// Common.LogInfo(string.Format("{0}在{1}完成进入料架", agv.Name, agv.Place));
// //agv.RFID = "";
// //清除执行空架任务的小车
// Common.missionManager.AGV_Name_EmptyTask = "";
// ResetAGVState(agv, true);
// ResetNodeState(node, agv);
// //查询附近是否有空料架要出,没有则去待机位
// // if (!CheckEmptyShelf(agv, agv.Place))
// StatusCharge(agv, true);
// //MoveStandby(agv);
// // }
// break;
// case "E1":
// case "E2":
// case "E3":
// case "E4":
// case "E5":
// case "E6":
// case "E7":
// case "E8":
// case "E9":
// case "E10":
// case "E11":
// case "E12":
// case "E14":
// case "E15":
// case "E16":
// case "E21":
// case "E22":
// /// agv.RFID = "";
// // node.AgvName = "";
// //node.Action = ClientAction.None;
// //上报物料状态
// try
// {
// var key = Common.agvProductionLine.Where(q => q.Value == agv.Place).Select(q => q.Key);
// string lineName = key.ToList()[0];
// UpdateStatus(agv.RFID, lineName);
// }
// catch (Exception ex) { Common.log.Error("UpdateStatus " + ex.Message); }
// ResetAGVState(agv, true);
// ResetNodeState(node, agv);
// int tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A5" && (s.StateEquals(eNodeStatus.NeedD) || s.StateEquals(eNodeStatus.NeedEnter)) && s.IsUse);
// if (tarIdx == -1)
// {
// tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A6" && (s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.IsUse);
// if (tarIdx == -1)
// {
// Common.LogInfo("A5,A6不需要料架,小车不载空架,直接返回待机位");
// StatusCharge(agv);
// return;
// }
// }
// //查询附近是否有空料架要出,没有则去待机位
// if (!CheckEmptyShelf(agv, agv.Place))
// StatusCharge(agv, true);
// //MoveStandby(agv);
// break;
// case "G1":
// case "G2":
// case "G3":
// case "G4":
// case "G5":
// case "G6":
// case "G7":
// case "G8":
// case "G9":
// case "G10":
// case "G11":
// case "G12":
// case "G13":
// case "G21":
// case "G22":
// /// agv.RFID = "";
// // node.AgvName = "";
// //node.Action = ClientAction.None;
// //上报物料状态
// try
// {
// var key = Common.agvProductionLine.Where(q => q.Value == agv.Place).Select(q => q.Key);
// string lineName = key.ToList()[0];
// UpdateStatus(agv.RFID, lineName);
// }
// catch (Exception ex) { Common.log.Error("UpdateStatus " + ex.Message); }
// ResetAGVState(agv, true);
// ResetNodeState(node, agv);
// bool rtn = false;
// int tarIdx1 = Common.nodeInfo.FindIndex(s => s.Name == "A5" && (s.StateEquals(eNodeStatus.NeedD) || s.StateEquals(eNodeStatus.NeedEnter)) && s.IsUse);
// if (tarIdx1 == -1)
// {
// tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A6" && (s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.IsUse);
// if (tarIdx == -1)
// {
// Common.LogInfo("A5,A6不需要料架,小车不载空架,直接返回待机位");
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"]);
// if (!rtn)
// break;
// StatusCharge(agv);
// return;
// }
// }
// //查询附近是否有空料架要出,没有则去待机位
// if (!CheckEmptyShelf(agv, agv.Place))
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"]);
// if (!rtn)
// break;
// StatusCharge(agv);
// }
// //MoveStandby(agv);
// break;
// case "G14":
// case "G15":
// case "G16":
// try
// {
// var key = Common.agvProductionLine.Where(q => q.Value == agv.Place).Select(q => q.Key);
// string lineName = key.ToList()[0];
// UpdateStatus(agv.RFID, lineName);
// }
// catch (Exception ex) { Common.log.Error("UpdateStatus " + ex.Message); }
// ResetAGVState(agv, true);
// ResetNodeState(node, agv);
// int tarIdx2 = Common.nodeInfo.FindIndex(s => s.Name == "A5" && (s.StateEquals(eNodeStatus.NeedD) || s.StateEquals(eNodeStatus.NeedEnter)) && s.IsUse);
// if (tarIdx2 == -1)
// {
// tarIdx = Common.nodeInfo.FindIndex(s => s.Name == "A6" && (s.StateEquals(eNodeStatus.NeedEnter) || s.StateEquals(eNodeStatus.NeedEnterLeave)) && s.IsUse);
// if (tarIdx == -1)
// {
// Common.LogInfo("A5,A6不需要料架,小车不载空架,直接返回待机位");
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirOut"]);
// if (!rtn)
// break;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"], false);
// if (!rtn)
// break;
// StatusCharge(agv);
// return;
// }
// }
// //查询附近是否有空料架要出,没有则去待机位
// if (!CheckEmptyShelf(agv, agv.Place))
// {
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorAirOut"]);
// if (!rtn)
// break;
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveDoorCToD"], false);
// if (!rtn)
// break;
// StatusCharge(agv);
// }
// break;
// }
// AgvChanged?.Invoke(idx);
//}
/// <summary>
/// 重置节点状态
/// </summary>
/// <param name="clientNode"></param>
//private void ResetNodeState(ClientNode clientNode, Agv_Info agv)
//{
// clientNode.StateEquals(eNodeStatus.None);
// if (agv.Name == clientNode.AgvName)
// clientNode.AgvName = "";
// clientNode.RFID = "";
//}
//private bool MoveStandby(Agv_Info agv)
//{
// string log;
// if (!agv.TaskSend.Equals(""))
// return false;
// //清除当前任务点
// if (!agv.Place.Equals(""))
// {
// int idx = Common.nodeInfo.FindIndex(s => s.Name == agv.Place);
// if (idx > -1)
// {
// Common.nodeInfo[idx].AgvName = "";
// }
// else
// {
// log = "清理AgvName,没有找到 " + agv.Name;
// Common.LogInfo(log);
// }
// }
// //执行下一个任务
// //agv.Place = "";
// bool rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["MoveStandby"]); //返回待机区
// if (rtn)
// {
// agv.TaskSend = "";
// agv.Place = "";
// log = string.Format("{0} MoveStandby", agv.Name);
// Common.LogInfo(log);
// Common.mir.State_Ready(agv);
// }
// else
// {
// agv.TaskSend = "";
// log = string.Format("{0} MoveStandby 失败", agv.Name);
// //防止上一个任务已执行但返回失败时,删除任务
// //Common.mir.Del_Mission(agv);
// Common.LogInfo(log);
// }
// return rtn;
//}
// Task<bool> continueTask;
/// <summary>
/// 清空错误并继续任务
/// </summary>
/// <param name="idx"></param>
//private bool ClearErrorAndContinueTask(int idx)
//{
// continueTask = Task.Run<bool>(() =>
// {
// Agv_Info agv = Common.agvInfo[idx];
// Common.LogInfo(string.Format("{0}在执行任务[{1}]出现错误:{2}", agv.Name, agv.TaskSend, agv.MissionText));
// if (Common.agvInfo[idx].IsCon)
// {
// Common.mir.Clear_Error(Common.agvInfo[idx]);
// Thread.Sleep(1000);
// Common.mir.State_Ready(Common.agvInfo[idx]);
// Thread.Sleep(1000);
// //bool rtn = Common.mir.Add_Mission(Common.agvInfo[idx], Common.agvMission[agv.TaskSend]);
// //if (!rtn)
// // return false;
// Common.LogInfo(string.Format("{0}清除错误,继续任务", agv.Name, agv.TaskSend, agv.MissionText));
// return true;
// }
// return false;
// });
// continueTask.Start();
// return continueTask.Result;
//}
/// <summary>
/// 小车重试次数
/// </summary>
//static int[] reTryTimes = new int[Common.agvInfo.Count];
///// <summary>
///// 错误状态
///// </summary>
///// <param name="idx"></param>
//private void StateError(int idx)
//{
// if (continueTask != null && !continueTask.IsCompleted)
// return;
// if (reTryTimes[idx] > 5)//重试5次
// {
// Common.LogInfo(string.Format("{0} 发生错误,重试5次失败,需要手动清除错误!", Common.agvInfo[idx]));
// reTryTimes[idx] = 0;
// return;
// }
// if (!ClearErrorAndContinueTask(idx))
// reTryTimes[idx]++;
// else
// reTryTimes[idx] = 0;
//}
//private bool FindA6Leave(out string nextNode)
//{
// nextNode = "";
// int idx = Common.nodeInfo.FindIndex(s => s.Name.Equals("A6")
// && (s.StateEquals(eNodeStatus.NeedLeave) || s.StateEquals ( eNodeStatus.NeedEnterLeave))
// && s.AgvName == "" && s.IsUse);//&& (s.RFID.StartsWith("C")|| s.RFID.StartsWith("D"))
// if (idx == -1) return false;
// bool rtn = FindA6Destination(Common.nodeInfo[idx].RFID, out string dest);
// if (!rtn) return false;
// idx = Common.nodeInfo.FindIndex(s => s.Name.Equals(dest) && s.IsUse);
// if (idx == -1)
// {
// return false;
// }
// else
// {
// nextNode = dest;
// return true;
// }
//}
#endregion
}
}
}
}
\ No newline at end of file
\ No newline at end of file
AGVControl-ProductionLine/FrmMain.Designer.cs
查看文件 @
3bb5179
...
@@ -69,12 +69,15 @@
...
@@ -69,12 +69,15 @@
this
.
Column24
=
new
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
();
this
.
Column24
=
new
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
();
this
.
Column8
=
new
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
();
this
.
Column8
=
new
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
();
this
.
groupBox8
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox8
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
lblStandy2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblStandy1
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblCharge4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblCharge4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblCharge3
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblCharge3
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
tabPage2
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage2
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tableLayoutPanel1
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
tableLayoutPanel1
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
TxtLog
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
TxtLog
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
tabPage3
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage3
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
btnClearC4StandyInfo
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button5
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button5
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnWO
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnWO
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox7
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox7
=
new
System
.
Windows
.
Forms
.
GroupBox
();
...
@@ -84,10 +87,7 @@
...
@@ -84,10 +87,7 @@
this
.
btnDeleteMission
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnDeleteMission
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAddMission
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAddMission
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
cmbBoxLineName
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
cmbBoxLineName
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
btnSetRFID
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtAgvRFID
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
ChkAutoCharge
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
BtnClearError
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
BtnClearError
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
BtnMissionAdd
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
BtnMissionAdd
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
BtnMissionPause
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
BtnMissionPause
=
new
System
.
Windows
.
Forms
.
Button
();
...
@@ -565,6 +565,8 @@
...
@@ -565,6 +565,8 @@
//
//
// groupBox8
// groupBox8
//
//
this
.
groupBox8
.
Controls
.
Add
(
this
.
lblStandy2
);
this
.
groupBox8
.
Controls
.
Add
(
this
.
lblStandy1
);
this
.
groupBox8
.
Controls
.
Add
(
this
.
lblCharge4
);
this
.
groupBox8
.
Controls
.
Add
(
this
.
lblCharge4
);
this
.
groupBox8
.
Controls
.
Add
(
this
.
lblCharge3
);
this
.
groupBox8
.
Controls
.
Add
(
this
.
lblCharge3
);
this
.
groupBox8
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
groupBox8
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
...
@@ -574,7 +576,27 @@
...
@@ -574,7 +576,27 @@
this
.
groupBox8
.
Size
=
new
System
.
Drawing
.
Size
(
251
,
224
);
this
.
groupBox8
.
Size
=
new
System
.
Drawing
.
Size
(
251
,
224
);
this
.
groupBox8
.
TabIndex
=
3
;
this
.
groupBox8
.
TabIndex
=
3
;
this
.
groupBox8
.
TabStop
=
false
;
this
.
groupBox8
.
TabStop
=
false
;
this
.
groupBox8
.
Text
=
"充电位"
;
this
.
groupBox8
.
Text
=
"位置占用情况"
;
//
// lblStandy2
//
this
.
lblStandy2
.
AutoSize
=
true
;
this
.
lblStandy2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Top
;
this
.
lblStandy2
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
66
);
this
.
lblStandy2
.
Name
=
"lblStandy2"
;
this
.
lblStandy2
.
Size
=
new
System
.
Drawing
.
Size
(
87
,
15
);
this
.
lblStandy2
.
TabIndex
=
3
;
this
.
lblStandy2
.
Text
=
"lblStandy2"
;
//
// lblStandy1
//
this
.
lblStandy1
.
AutoSize
=
true
;
this
.
lblStandy1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Top
;
this
.
lblStandy1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
51
);
this
.
lblStandy1
.
Name
=
"lblStandy1"
;
this
.
lblStandy1
.
Size
=
new
System
.
Drawing
.
Size
(
87
,
15
);
this
.
lblStandy1
.
TabIndex
=
2
;
this
.
lblStandy1
.
Text
=
"lblStandy1"
;
//
//
// lblCharge4
// lblCharge4
//
//
...
@@ -603,7 +625,7 @@
...
@@ -603,7 +625,7 @@
this
.
tabPage2
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage2
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage2
.
Name
=
"tabPage2"
;
this
.
tabPage2
.
Name
=
"tabPage2"
;
this
.
tabPage2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
1407
,
3
96
);
this
.
tabPage2
.
Size
=
new
System
.
Drawing
.
Size
(
1407
,
3
73
);
this
.
tabPage2
.
TabIndex
=
3
;
this
.
tabPage2
.
TabIndex
=
3
;
this
.
tabPage2
.
Text
=
"日志"
;
this
.
tabPage2
.
Text
=
"日志"
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
...
@@ -620,7 +642,7 @@
...
@@ -620,7 +642,7 @@
this
.
tableLayoutPanel1
.
Name
=
"tableLayoutPanel1"
;
this
.
tableLayoutPanel1
.
Name
=
"tableLayoutPanel1"
;
this
.
tableLayoutPanel1
.
RowCount
=
1
;
this
.
tableLayoutPanel1
.
RowCount
=
1
;
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
System
.
Windows
.
Forms
.
RowStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
1399
,
3
88
);
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
1399
,
3
65
);
this
.
tableLayoutPanel1
.
TabIndex
=
6
;
this
.
tableLayoutPanel1
.
TabIndex
=
6
;
//
//
// TxtLog
// TxtLog
...
@@ -631,35 +653,42 @@
...
@@ -631,35 +653,42 @@
this
.
TxtLog
.
Multiline
=
true
;
this
.
TxtLog
.
Multiline
=
true
;
this
.
TxtLog
.
Name
=
"TxtLog"
;
this
.
TxtLog
.
Name
=
"TxtLog"
;
this
.
TxtLog
.
ScrollBars
=
System
.
Windows
.
Forms
.
ScrollBars
.
Both
;
this
.
TxtLog
.
ScrollBars
=
System
.
Windows
.
Forms
.
ScrollBars
.
Both
;
this
.
TxtLog
.
Size
=
new
System
.
Drawing
.
Size
(
1391
,
3
80
);
this
.
TxtLog
.
Size
=
new
System
.
Drawing
.
Size
(
1391
,
3
57
);
this
.
TxtLog
.
TabIndex
=
5
;
this
.
TxtLog
.
TabIndex
=
5
;
//
//
// tabPage3
// tabPage3
//
//
this
.
tabPage3
.
Controls
.
Add
(
this
.
button5
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
btnWO
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox7
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox7
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox6
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox6
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
btnSetRFID
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
txtAgvRFID
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnMissionPause
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnClearError
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnClearError
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnMissionAdd
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnMissionAdd
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnMissionPause
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnMissionReady
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
LstAgvPlace
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
LstAgvPlace
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
BtnMissionReady
);
this
.
tabPage3
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
25
);
this
.
tabPage3
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
25
);
this
.
tabPage3
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage3
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage3
.
Name
=
"tabPage3"
;
this
.
tabPage3
.
Name
=
"tabPage3"
;
this
.
tabPage3
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage3
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
tabPage3
.
Size
=
new
System
.
Drawing
.
Size
(
1407
,
3
96
);
this
.
tabPage3
.
Size
=
new
System
.
Drawing
.
Size
(
1407
,
3
73
);
this
.
tabPage3
.
TabIndex
=
2
;
this
.
tabPage3
.
TabIndex
=
2
;
this
.
tabPage3
.
Text
=
"
agv
手动"
;
this
.
tabPage3
.
Text
=
"手动"
;
this
.
tabPage3
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage3
.
UseVisualStyleBackColor
=
true
;
//
//
// btnClearC4StandyInfo
//
this
.
btnClearC4StandyInfo
.
Location
=
new
System
.
Drawing
.
Point
(
261
,
22
);
this
.
btnClearC4StandyInfo
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
btnClearC4StandyInfo
.
Name
=
"btnClearC4StandyInfo"
;
this
.
btnClearC4StandyInfo
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
this
.
btnClearC4StandyInfo
.
TabIndex
=
44
;
this
.
btnClearC4StandyInfo
.
Text
=
"清除4C待机位占用"
;
this
.
btnClearC4StandyInfo
.
UseVisualStyleBackColor
=
true
;
this
.
btnClearC4StandyInfo
.
Click
+=
new
System
.
EventHandler
(
this
.
btnClearC4StandyInfo_Click
);
//
// button5
// button5
//
//
this
.
button5
.
Location
=
new
System
.
Drawing
.
Point
(
551
,
207
);
this
.
button5
.
Location
=
new
System
.
Drawing
.
Point
(
138
,
22
);
this
.
button5
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
button5
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
button5
.
Name
=
"button5"
;
this
.
button5
.
Name
=
"button5"
;
this
.
button5
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
this
.
button5
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
...
@@ -670,7 +699,7 @@
...
@@ -670,7 +699,7 @@
//
//
// btnWO
// btnWO
//
//
this
.
btnWO
.
Location
=
new
System
.
Drawing
.
Point
(
402
,
207
);
this
.
btnWO
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
22
);
this
.
btnWO
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
btnWO
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
btnWO
.
Name
=
"btnWO"
;
this
.
btnWO
.
Name
=
"btnWO"
;
this
.
btnWO
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
this
.
btnWO
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
...
@@ -751,55 +780,26 @@
...
@@ -751,55 +780,26 @@
this
.
cmbBoxLineName
.
Size
=
new
System
.
Drawing
.
Size
(
181
,
23
);
this
.
cmbBoxLineName
.
Size
=
new
System
.
Drawing
.
Size
(
181
,
23
);
this
.
cmbBoxLineName
.
TabIndex
=
39
;
this
.
cmbBoxLineName
.
TabIndex
=
39
;
//
//
// btnSetRFID
//
this
.
btnSetRFID
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
57
);
this
.
btnSetRFID
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
btnSetRFID
.
Name
=
"btnSetRFID"
;
this
.
btnSetRFID
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
44
);
this
.
btnSetRFID
.
TabIndex
=
34
;
this
.
btnSetRFID
.
Text
=
"设置RFID"
;
this
.
btnSetRFID
.
UseVisualStyleBackColor
=
true
;
this
.
btnSetRFID
.
Click
+=
new
System
.
EventHandler
(
this
.
btnSetRFID_Click
);
//
// txtAgvRFID
//
this
.
txtAgvRFID
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
26
);
this
.
txtAgvRFID
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
txtAgvRFID
.
Name
=
"txtAgvRFID"
;
this
.
txtAgvRFID
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
25
);
this
.
txtAgvRFID
.
TabIndex
=
33
;
//
// groupBox2
// groupBox2
//
//
this
.
groupBox2
.
Controls
.
Add
(
this
.
ChkAutoCharge
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnClearC4StandyInfo
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
1088
,
30
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
btnWO
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
button5
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
935
,
30
);
this
.
groupBox2
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
groupBox2
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
groupBox2
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
2
,
3
,
2
);
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
157
,
7
1
);
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
388
,
15
1
);
this
.
groupBox2
.
TabIndex
=
32
;
this
.
groupBox2
.
TabIndex
=
32
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
Text
=
"充电"
;
this
.
groupBox2
.
Text
=
"操作"
;
//
// ChkAutoCharge
//
this
.
ChkAutoCharge
.
AutoSize
=
true
;
this
.
ChkAutoCharge
.
Location
=
new
System
.
Drawing
.
Point
(
18
,
27
);
this
.
ChkAutoCharge
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
ChkAutoCharge
.
Name
=
"ChkAutoCharge"
;
this
.
ChkAutoCharge
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
19
);
this
.
ChkAutoCharge
.
TabIndex
=
10
;
this
.
ChkAutoCharge
.
Text
=
"自动充电"
;
this
.
ChkAutoCharge
.
UseVisualStyleBackColor
=
true
;
this
.
ChkAutoCharge
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
ChkAutoCharge_CheckedChanged
);
//
//
// BtnClearError
// BtnClearError
//
//
this
.
BtnClearError
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
3
01
);
this
.
BtnClearError
.
Location
=
new
System
.
Drawing
.
Point
(
539
,
2
01
);
this
.
BtnClearError
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnClearError
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnClearError
.
Name
=
"BtnClearError"
;
this
.
BtnClearError
.
Name
=
"BtnClearError"
;
this
.
BtnClearError
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
44
);
this
.
BtnClearError
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
this
.
BtnClearError
.
TabIndex
=
19
;
this
.
BtnClearError
.
TabIndex
=
19
;
this
.
BtnClearError
.
Text
=
"清除错误"
;
this
.
BtnClearError
.
Text
=
"清除错误"
;
this
.
BtnClearError
.
UseVisualStyleBackColor
=
true
;
this
.
BtnClearError
.
UseVisualStyleBackColor
=
true
;
...
@@ -807,10 +807,10 @@
...
@@ -807,10 +807,10 @@
//
//
// BtnMissionAdd
// BtnMissionAdd
//
//
this
.
BtnMissionAdd
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
118
);
this
.
BtnMissionAdd
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
30
);
this
.
BtnMissionAdd
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnMissionAdd
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnMissionAdd
.
Name
=
"BtnMissionAdd"
;
this
.
BtnMissionAdd
.
Name
=
"BtnMissionAdd"
;
this
.
BtnMissionAdd
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
44
);
this
.
BtnMissionAdd
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
75
);
this
.
BtnMissionAdd
.
TabIndex
=
3
;
this
.
BtnMissionAdd
.
TabIndex
=
3
;
this
.
BtnMissionAdd
.
Text
=
"添加任务"
;
this
.
BtnMissionAdd
.
Text
=
"添加任务"
;
this
.
BtnMissionAdd
.
UseVisualStyleBackColor
=
true
;
this
.
BtnMissionAdd
.
UseVisualStyleBackColor
=
true
;
...
@@ -818,10 +818,10 @@
...
@@ -818,10 +818,10 @@
//
//
// BtnMissionPause
// BtnMissionPause
//
//
this
.
BtnMissionPause
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
237
);
this
.
BtnMissionPause
.
Location
=
new
System
.
Drawing
.
Point
(
691
,
201
);
this
.
BtnMissionPause
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnMissionPause
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnMissionPause
.
Name
=
"BtnMissionPause"
;
this
.
BtnMissionPause
.
Name
=
"BtnMissionPause"
;
this
.
BtnMissionPause
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
44
);
this
.
BtnMissionPause
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
this
.
BtnMissionPause
.
TabIndex
=
2
;
this
.
BtnMissionPause
.
TabIndex
=
2
;
this
.
BtnMissionPause
.
Text
=
"暂停"
;
this
.
BtnMissionPause
.
Text
=
"暂停"
;
this
.
BtnMissionPause
.
UseVisualStyleBackColor
=
true
;
this
.
BtnMissionPause
.
UseVisualStyleBackColor
=
true
;
...
@@ -829,10 +829,10 @@
...
@@ -829,10 +829,10 @@
//
//
// BtnMissionReady
// BtnMissionReady
//
//
this
.
BtnMissionReady
.
Location
=
new
System
.
Drawing
.
Point
(
227
,
174
);
this
.
BtnMissionReady
.
Location
=
new
System
.
Drawing
.
Point
(
396
,
201
);
this
.
BtnMissionReady
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnMissionReady
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
BtnMissionReady
.
Name
=
"BtnMissionReady"
;
this
.
BtnMissionReady
.
Name
=
"BtnMissionReady"
;
this
.
BtnMissionReady
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
44
);
this
.
BtnMissionReady
.
Size
=
new
System
.
Drawing
.
Size
(
100
,
65
);
this
.
BtnMissionReady
.
TabIndex
=
1
;
this
.
BtnMissionReady
.
TabIndex
=
1
;
this
.
BtnMissionReady
.
Text
=
"运行"
;
this
.
BtnMissionReady
.
Text
=
"运行"
;
this
.
BtnMissionReady
.
UseVisualStyleBackColor
=
true
;
this
.
BtnMissionReady
.
UseVisualStyleBackColor
=
true
;
...
@@ -847,7 +847,7 @@
...
@@ -847,7 +847,7 @@
this
.
LstAgvPlace
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
4
);
this
.
LstAgvPlace
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
4
);
this
.
LstAgvPlace
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
LstAgvPlace
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
4
);
this
.
LstAgvPlace
.
Name
=
"LstAgvPlace"
;
this
.
LstAgvPlace
.
Name
=
"LstAgvPlace"
;
this
.
LstAgvPlace
.
Size
=
new
System
.
Drawing
.
Size
(
199
,
3
88
);
this
.
LstAgvPlace
.
Size
=
new
System
.
Drawing
.
Size
(
199
,
3
65
);
this
.
LstAgvPlace
.
TabIndex
=
0
;
this
.
LstAgvPlace
.
TabIndex
=
0
;
//
//
// tableLayoutPanel4
// tableLayoutPanel4
...
@@ -893,9 +893,9 @@
...
@@ -893,9 +893,9 @@
this
.
label6
.
AutoSize
=
true
;
this
.
label6
.
AutoSize
=
true
;
this
.
label6
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
label6
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
label6
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label6
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
944
,
1
04
);
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
944
,
1
19
);
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
461
,
98
);
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
461
,
114
);
this
.
label6
.
TabIndex
=
5
;
this
.
label6
.
TabIndex
=
5
;
this
.
label6
.
Text
=
"label6"
;
this
.
label6
.
Text
=
"label6"
;
//
//
...
@@ -904,9 +904,9 @@
...
@@ -904,9 +904,9 @@
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
label5
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
label5
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label5
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
475
,
1
04
);
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
475
,
1
19
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
98
);
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
114
);
this
.
label5
.
TabIndex
=
4
;
this
.
label5
.
TabIndex
=
4
;
this
.
label5
.
Text
=
"label5"
;
this
.
label5
.
Text
=
"label5"
;
//
//
...
@@ -915,9 +915,9 @@
...
@@ -915,9 +915,9 @@
this
.
label4
.
AutoSize
=
true
;
this
.
label4
.
AutoSize
=
true
;
this
.
label4
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
label4
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
label4
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label4
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
1
04
);
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
1
19
);
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
98
);
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
114
);
this
.
label4
.
TabIndex
=
3
;
this
.
label4
.
TabIndex
=
3
;
this
.
label4
.
Text
=
"label4"
;
this
.
label4
.
Text
=
"label4"
;
//
//
...
@@ -928,7 +928,7 @@
...
@@ -928,7 +928,7 @@
this
.
label3
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label3
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
944
,
3
);
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
944
,
3
);
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
461
,
98
);
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
461
,
113
);
this
.
label3
.
TabIndex
=
2
;
this
.
label3
.
TabIndex
=
2
;
this
.
label3
.
Text
=
"label3"
;
this
.
label3
.
Text
=
"label3"
;
//
//
...
@@ -939,7 +939,7 @@
...
@@ -939,7 +939,7 @@
this
.
label2
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label2
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
475
,
3
);
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
475
,
3
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
98
);
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
113
);
this
.
label2
.
TabIndex
=
1
;
this
.
label2
.
TabIndex
=
1
;
this
.
label2
.
Text
=
"label2"
;
this
.
label2
.
Text
=
"label2"
;
//
//
...
@@ -950,7 +950,7 @@
...
@@ -950,7 +950,7 @@
this
.
label1
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label1
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
3
);
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
3
);
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
98
);
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
460
,
113
);
this
.
label1
.
TabIndex
=
0
;
this
.
label1
.
TabIndex
=
0
;
this
.
label1
.
Text
=
"label1"
;
this
.
label1
.
Text
=
"label1"
;
//
//
...
@@ -986,12 +986,10 @@
...
@@ -986,12 +986,10 @@
this
.
tableLayoutPanel1
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel1
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel1
.
PerformLayout
();
this
.
tableLayoutPanel1
.
PerformLayout
();
this
.
tabPage3
.
ResumeLayout
(
false
);
this
.
tabPage3
.
ResumeLayout
(
false
);
this
.
tabPage3
.
PerformLayout
();
this
.
groupBox7
.
ResumeLayout
(
false
);
this
.
groupBox7
.
ResumeLayout
(
false
);
this
.
groupBox7
.
PerformLayout
();
this
.
groupBox7
.
PerformLayout
();
this
.
groupBox6
.
ResumeLayout
(
false
);
this
.
groupBox6
.
ResumeLayout
(
false
);
this
.
groupBox2
.
ResumeLayout
(
false
);
this
.
groupBox2
.
ResumeLayout
(
false
);
this
.
groupBox2
.
PerformLayout
();
this
.
tableLayoutPanel4
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel4
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel6
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel6
.
ResumeLayout
(
false
);
this
.
tableLayoutPanel6
.
PerformLayout
();
this
.
tableLayoutPanel6
.
PerformLayout
();
...
@@ -1011,10 +1009,7 @@
...
@@ -1011,10 +1009,7 @@
private
System
.
Windows
.
Forms
.
TableLayoutPanel
tableLayoutPanel1
;
private
System
.
Windows
.
Forms
.
TableLayoutPanel
tableLayoutPanel1
;
private
System
.
Windows
.
Forms
.
TextBox
TxtLog
;
private
System
.
Windows
.
Forms
.
TextBox
TxtLog
;
private
System
.
Windows
.
Forms
.
TabPage
tabPage3
;
private
System
.
Windows
.
Forms
.
TabPage
tabPage3
;
private
System
.
Windows
.
Forms
.
Button
btnSetRFID
;
private
System
.
Windows
.
Forms
.
TextBox
txtAgvRFID
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox2
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox2
;
private
System
.
Windows
.
Forms
.
CheckBox
ChkAutoCharge
;
private
System
.
Windows
.
Forms
.
Button
BtnClearError
;
private
System
.
Windows
.
Forms
.
Button
BtnClearError
;
private
System
.
Windows
.
Forms
.
Button
BtnMissionAdd
;
private
System
.
Windows
.
Forms
.
Button
BtnMissionAdd
;
private
System
.
Windows
.
Forms
.
Button
BtnMissionPause
;
private
System
.
Windows
.
Forms
.
Button
BtnMissionPause
;
...
@@ -1069,6 +1064,9 @@
...
@@ -1069,6 +1064,9 @@
private
System
.
Windows
.
Forms
.
GroupBox
groupBox8
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox8
;
private
System
.
Windows
.
Forms
.
Label
lblCharge4
;
private
System
.
Windows
.
Forms
.
Label
lblCharge4
;
private
System
.
Windows
.
Forms
.
Label
lblCharge3
;
private
System
.
Windows
.
Forms
.
Label
lblCharge3
;
private
System
.
Windows
.
Forms
.
Button
btnClearC4StandyInfo
;
private
System
.
Windows
.
Forms
.
Label
lblStandy2
;
private
System
.
Windows
.
Forms
.
Label
lblStandy1
;
}
}
}
}
AGVControl-ProductionLine/FrmMain.cs
查看文件 @
3bb5179
...
@@ -223,6 +223,15 @@ namespace AGVControl
...
@@ -223,6 +223,15 @@ namespace AGVControl
Common
.
agvInfo
[
e
.
RowIndex
].
IsUse
=
false
;
Common
.
agvInfo
[
e
.
RowIndex
].
IsUse
=
false
;
Common
.
agvInfo
[
e
.
RowIndex
].
CurJob
=
null
;
Common
.
agvInfo
[
e
.
RowIndex
].
CurJob
=
null
;
Common
.
agvInfo
[
e
.
RowIndex
].
RFID
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
RFID
=
""
;
//清除4c临时待机位的占用
if
(
Common
.
agvInfo
[
e
.
RowIndex
].
Name
.
Equals
(
Common
.
StandbyStation
.
C4_Station1
))
{
Common
.
StandbyStation
.
C4_Station1
=
""
;
}
else
if
(
Common
.
agvInfo
[
e
.
RowIndex
].
Name
.
Equals
(
Common
.
StandbyStation
.
C4_Station2
))
{
Common
.
StandbyStation
.
C4_Station2
=
""
;
}
Common
.
LogInfo
(
string
.
Format
(
"手动关闭小车自动模式,{0} {1}"
,
Common
.
agvInfo
[
e
.
RowIndex
].
Name
,
Common
.
agvInfo
[
e
.
RowIndex
].
RunInfo
()));
Common
.
LogInfo
(
string
.
Format
(
"手动关闭小车自动模式,{0} {1}"
,
Common
.
agvInfo
[
e
.
RowIndex
].
Name
,
Common
.
agvInfo
[
e
.
RowIndex
].
RunInfo
()));
}
}
}
}
...
@@ -350,7 +359,15 @@ namespace AGVControl
...
@@ -350,7 +359,15 @@ namespace AGVControl
if
(
MessageBox
.
Show
(
"确定在自动模式下对小车手动分配任务?"
,
Common
.
agvInfo
[
idx
].
Name
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
if
(
MessageBox
.
Show
(
"确定在自动模式下对小车手动分配任务?"
,
Common
.
agvInfo
[
idx
].
Name
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
return
;
return
;
}
}
//清除4c临时待机位的占用
if
(
Common
.
agvInfo
[
idx
].
Name
.
Equals
(
Common
.
StandbyStation
.
C4_Station1
))
{
Common
.
StandbyStation
.
C4_Station1
=
""
;
}
else
if
(
Common
.
agvInfo
[
idx
].
Name
.
Equals
(
Common
.
StandbyStation
.
C4_Station2
))
{
Common
.
StandbyStation
.
C4_Station2
=
""
;
}
bool
rtn
=
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
Common
.
showNameMissionName
[
LstAgvPlace
.
Text
]]);
bool
rtn
=
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
Common
.
showNameMissionName
[
LstAgvPlace
.
Text
]]);
if
(!
rtn
)
if
(!
rtn
)
return
;
return
;
...
@@ -406,6 +423,8 @@ namespace AGVControl
...
@@ -406,6 +423,8 @@ namespace AGVControl
lblDestInfo
.
Text
=
AGVManager
.
A6_Target
;
lblDestInfo
.
Text
=
AGVManager
.
A6_Target
;
lblCharge3
.
Text
=
"充电桩3:"
+
Common
.
chargeStatus
.
charge3
;
lblCharge3
.
Text
=
"充电桩3:"
+
Common
.
chargeStatus
.
charge3
;
lblCharge4
.
Text
=
"充电桩4:"
+
Common
.
chargeStatus
.
charge4
;
lblCharge4
.
Text
=
"充电桩4:"
+
Common
.
chargeStatus
.
charge4
;
lblStandy1
.
Text
=
"4C待机位1:"
+
Common
.
StandbyStation
.
C4_Station1
;
lblStandy2
.
Text
=
"4C待机位2:"
+
Common
.
StandbyStation
.
C4_Station2
;
}));
}));
InShhow
=
false
;
InShhow
=
false
;
...
@@ -712,5 +731,11 @@ namespace AGVControl
...
@@ -712,5 +731,11 @@ namespace AGVControl
{
{
ShowEmptyTask
();
ShowEmptyTask
();
}
}
private
void
btnClearC4StandyInfo_Click
(
object
sender
,
EventArgs
e
)
{
Common
.
StandbyStation
.
C4_Station1
=
""
;
Common
.
StandbyStation
.
C4_Station2
=
""
;
}
}
}
}
}
AGVControl-ProductionLine/bean/Agv_Info.cs
查看文件 @
3bb5179
...
@@ -253,7 +253,7 @@ namespace AGVControl
...
@@ -253,7 +253,7 @@ namespace AGVControl
if
(
value
==
0
)
if
(
value
==
0
)
{
{
Place
=
""
;
Place
=
""
;
PlaceState
=
ePlaceState
.
None
;
PlaceState
=
ePlaceState
.
None
;
}
}
else
if
(
value
>
0
&&
value
<
1000
)
else
if
(
value
>
0
&&
value
<
1000
)
{
{
...
...
AGVControl-ProductionLine/bean/Job.cs
查看文件 @
3bb5179
...
@@ -11,7 +11,6 @@ namespace AGVControl
...
@@ -11,7 +11,6 @@ namespace AGVControl
/// </summary>
/// </summary>
public
bool
IsProcess
{
get
;
set
;
}
public
bool
IsProcess
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 运行信息
/// 运行信息
/// </summary>
/// </summary>
...
...
AGVControl-ProductionLine/bean/job/ChargeJob.cs
查看文件 @
3bb5179
...
@@ -39,6 +39,7 @@ namespace AGVControl
...
@@ -39,6 +39,7 @@ namespace AGVControl
get
{
return
runInfo
;
}
get
{
return
runInfo
;
}
}
}
private
JobStep
<
CHARGE_STEP
>
ChargeStep
=
new
JobStep
<
CHARGE_STEP
>(
CHARGE_STEP
.
NONE
);
private
JobStep
<
CHARGE_STEP
>
ChargeStep
=
new
JobStep
<
CHARGE_STEP
>(
CHARGE_STEP
.
NONE
);
/// <summary>
/// <summary>
...
...
AGVControl-ProductionLine/bean/job/GoEmptyShelfLineJob.cs
查看文件 @
3bb5179
...
@@ -78,6 +78,24 @@ namespace AGVControl
...
@@ -78,6 +78,24 @@ namespace AGVControl
TakeEmptyStep
.
Msg
=
msg
;
TakeEmptyStep
.
Msg
=
msg
;
Common
.
DoorMission
(
agv
,
SettingString
.
DoorDToC
);
Common
.
DoorMission
(
agv
,
SettingString
.
DoorDToC
);
}
}
else
if
(
agvPlae
.
StartsWith
(
"G"
)
&&
EmptyShelfPlace
.
StartsWith
(
"G"
))
{
if
(
Common
.
Check4CTarget
(
agv
,
EmptyShelfPlace
))
//被占用
{
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
WAIT_REACH_TEMP_PLACE
);
runInfo
=
"目的地"
+
EmptyShelfPlace
+
"有小车占用,先到临时待机位"
;
msg
+=
runInfo
;
TakeEmptyStep
.
Msg
=
msg
;
Common
.
MoveTo4CStandy
(
agv
);
}
else
{
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
runInfo
=
"开始执行回收空料架任务["
+
agvPlae
+
"->"
+
EmptyShelfPlace
+
"]"
;
msg
+=
runInfo
;
TakeEmptyStep
.
Msg
=
msg
;
}
}
else
else
{
{
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
...
@@ -90,10 +108,36 @@ namespace AGVControl
...
@@ -90,10 +108,36 @@ namespace AGVControl
{
{
if
(
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorDToC
,
agv
.
CurTaskGUID
))
if
(
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorDToC
,
agv
.
CurTaskGUID
))
{
{
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
if
(
Common
.
Check4CTarget
(
agv
,
EmptyShelfPlace
))
//被占用
runInfo
=
"开始执行回收空料架任务["
+
agvPlae
+
"->"
+
EmptyShelfPlace
+
"]"
;
{
msg
+=
runInfo
;
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
WAIT_REACH_TEMP_PLACE
);
TakeEmptyStep
.
Msg
=
msg
;
runInfo
=
"目的地"
+
EmptyShelfPlace
+
"有小车占用,先到临时待机位"
;
msg
+=
runInfo
;
TakeEmptyStep
.
Msg
=
msg
;
Common
.
MoveTo4CStandy
(
agv
);
}
else
{
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
runInfo
=
"开始执行回收空料架任务["
+
agvPlae
+
"->"
+
EmptyShelfPlace
+
"]"
;
msg
+=
runInfo
;
TakeEmptyStep
.
Msg
=
msg
;
}
}
}
else
if
(
TakeEmptyStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_REACH_TEMP_PLACE
))
{
if
(
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY1
,
agv
.
CurTaskGUID
)||
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY2
,
agv
.
CurTaskGUID
))
{
if
(!
Common
.
Check4CTarget
(
agv
,
EmptyShelfPlace
))
//未占用
{
TakeEmptyStep
.
ToNextStep
(
TAKE_EMPTY_STEP
.
ASSIGN_AGV_TASK
);
runInfo
=
"开始执行回收空料架任务["
+
agvPlae
+
"->"
+
EmptyShelfPlace
+
"]"
;
msg
+=
runInfo
;
TakeEmptyStep
.
Msg
=
msg
;
Common
.
DeleteStandyInfo
(
agv
);
}
}
}
}
}
else
if
(
TakeEmptyStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_AGV_REACH_4D_DOOR
))
else
if
(
TakeEmptyStep
.
IsStep
(
TAKE_EMPTY_STEP
.
WAIT_AGV_REACH_4D_DOOR
))
...
@@ -261,6 +305,10 @@ namespace AGVControl
...
@@ -261,6 +305,10 @@ namespace AGVControl
/// </summary>
/// </summary>
WAIT_REACH_PLACE
,
WAIT_REACH_PLACE
,
/// <summary>
/// <summary>
/// 等待AGV到达临时停车位
/// </summary>
WAIT_REACH_TEMP_PLACE
,
/// <summary>
/// 等待产线回应
/// 等待产线回应
/// </summary>
/// </summary>
WAIT_LINE_RESPONSE
,
WAIT_LINE_RESPONSE
,
...
...
AGVControl-ProductionLine/bean/job/SendFullShelfToLineJob.cs
查看文件 @
3bb5179
...
@@ -87,11 +87,38 @@ namespace AGVControl
...
@@ -87,11 +87,38 @@ namespace AGVControl
{
{
if
(
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorDToC
,
agv
.
CurTaskGUID
))
if
(
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
DoorDToC
,
agv
.
CurTaskGUID
))
{
{
SendFullShelfStep
.
ToNextStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
);
if
(
Common
.
Check4CTarget
(
agv
,
FullShelfPlace
))
//被占用
runInfo
=
"满料架从双层线A6送往["
+
FullShelfPlace
+
"]["
+
RFID
+
"]"
;
{
msg
+=
runInfo
;
SendFullShelfStep
.
ToNextStep
(
SEND_FULL_SHELF_STEP
.
WAIT_REACH_TEMP_PLACE
);
SendFullShelfStep
.
Msg
=
msg
;
runInfo
=
"目的地"
+
FullShelfPlace
+
"有小车占用,先到临时待机位"
;
Common
.
MoveToNode
(
agv
,
FullShelfPlace
);
msg
+=
runInfo
;
SendFullShelfStep
.
Msg
=
msg
;
Common
.
MoveTo4CStandy
(
agv
);
}
else
{
SendFullShelfStep
.
ToNextStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
);
runInfo
=
"满料架从双层线A6送往["
+
FullShelfPlace
+
"]["
+
RFID
+
"]"
;
msg
+=
runInfo
;
SendFullShelfStep
.
Msg
=
msg
;
Common
.
MoveToNode
(
agv
,
FullShelfPlace
);
}
}
}
else
if
(
SendFullShelfStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_REACH_TEMP_PLACE
))
{
if
(
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY1
,
agv
.
CurTaskGUID
)
||
Common
.
CheckTaskFinished
(
agv
,
SettingString
.
C4_STANDBY2
,
agv
.
CurTaskGUID
))
{
if
(!
Common
.
Check4CTarget
(
agv
,
FullShelfPlace
))
//未占用
{
SendFullShelfStep
.
ToNextStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
);
runInfo
=
"满料架从临时待机位送往["
+
FullShelfPlace
+
"]["
+
RFID
+
"]"
;
msg
+=
runInfo
;
SendFullShelfStep
.
Msg
=
msg
;
Common
.
DeleteStandyInfo
(
agv
);
Common
.
MoveToNode
(
agv
,
FullShelfPlace
);
}
}
}
}
}
else
if
(
SendFullShelfStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
))
else
if
(
SendFullShelfStep
.
IsStep
(
SEND_FULL_SHELF_STEP
.
WAIT_AGV_REACH_LINE
))
...
@@ -214,6 +241,10 @@ namespace AGVControl
...
@@ -214,6 +241,10 @@ namespace AGVControl
/// </summary>
/// </summary>
WAIT_AGV_REACH_DOOR
,
WAIT_AGV_REACH_DOOR
,
/// <summary>
/// <summary>
/// 等待agv到达4C临时待机位
/// </summary>
WAIT_REACH_TEMP_PLACE
,
/// <summary>
/// 等待小车到达目的地
/// 等待小车到达目的地
/// </summary>
/// </summary>
WAIT_AGV_REACH_LINE
,
WAIT_AGV_REACH_LINE
,
...
...
AGVControl-ProductionLine/bean/node/DoubleLineNodeFor4C.cs
查看文件 @
3bb5179
...
@@ -65,50 +65,52 @@ namespace AGVControl
...
@@ -65,50 +65,52 @@ namespace AGVControl
}
}
}
}
//出满料
if
(
Common
.
FindFullShelfTask
(
currentAgv
))
{
//回收空料架
if
(
Common
.
FindEmptyShelfNode
(
currentAgv
,
out
string
emptyNodeName
))
{
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
currentAgv
.
IP
))
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
currentAgv
.
IP
))
{
{
int
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
Go
FullShelfStationJob
&&
!
s
.
IP
.
Equals
(
currentAgv
.
IP
));
int
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
Go
EmptyShelfLineJob
&&
((
GoEmptyShelfLineJob
)
s
.
CurJob
).
EmptyShelfPlace
.
Equals
(
emptyNodeName
));
if
(
i
>
-
1
)
if
(
i
>
-
1
)
return
null
;
return
null
;
//foreach (Agv_Info agv in Common.agvInfo)
//foreach (Agv_Info agv in Common.agvInfo)
//{
//{
// if (!SettingString.C4_AGV_IPs.Contains(agv.IP))
// if (agv.CurJob is GoFullShelfStationJob)
// continue;
// if (agv.CurJob is GoEmptyShelfLineJob && ((GoEmptyShelfLineJob)agv.CurJob).EmptyShelfPlace.Equals(emptyNodeName))
// {
// {
// return null;
// return null;
// }
// }
//}
//}
return
new
Go
FullShelfStationJob
(
currentAgv
.
Plac
e
);
return
new
Go
EmptyShelfLineJob
(
currentAgv
.
Place
,
emptyNodeNam
e
);
}
}
}
}
//
回收空料架
//
出满料
if
(
Common
.
Find
EmptyShelfNode
(
currentAgv
,
out
string
emptyNodeName
))
if
(
Common
.
Find
FullShelfTask
(
currentAgv
))
{
{
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
currentAgv
.
IP
))
if
(
SettingString
.
C4_AGV_IPs
.
Contains
(
currentAgv
.
IP
))
{
{
int
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
Go
EmptyShelfLineJob
&&
((
GoEmptyShelfLineJob
)
s
.
CurJob
).
EmptyShelfPlace
.
Equals
(
emptyNodeName
));
int
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
Go
FullShelfStationJob
&&
!
s
.
IP
.
Equals
(
currentAgv
.
IP
));
if
(
i
>
-
1
)
if
(
i
>
-
1
)
return
null
;
return
null
;
//foreach (Agv_Info agv in Common.agvInfo)
//foreach (Agv_Info agv in Common.agvInfo)
//{
//{
// if (!SettingString.C4_AGV_IPs.Contains(agv.IP))
// continue;
// if (agv.CurJob is GoFullShelfStationJob)
// if (agv.CurJob is GoEmptyShelfLineJob && ((GoEmptyShelfLineJob)agv.CurJob).EmptyShelfPlace.Equals(emptyNodeName))
// {
// {
// return null;
// return null;
// }
// }
//}
//}
return
new
Go
EmptyShelfLineJob
(
currentAgv
.
Place
,
emptyNodeNam
e
);
return
new
Go
FullShelfStationJob
(
currentAgv
.
Plac
e
);
}
}
}
}
return
null
;
return
null
;
}
}
}
}
...
...
AGVControl-ProductionLine/bean/node/DoubleLineNodeFor4D.cs
查看文件 @
3bb5179
using
log4net.Util
;
using
BLL
;
using
log4net.Util
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Linq
;
...
@@ -41,7 +42,7 @@ namespace AGVControl
...
@@ -41,7 +42,7 @@ namespace AGVControl
emptyJobCnt
++;
emptyJobCnt
++;
}
}
}
}
if
((
SettingString
.
AGVCNT
/
2
-
emptyJobCnt
).
Equals
(
2
))
//保留两
辆小车出满料架
if
((
SettingString
.
AGVCNT
/
2
-
emptyJobCnt
).
Equals
(
1
))
//保留1
辆小车出满料架
{
{
return
null
;
return
null
;
}
}
...
@@ -69,20 +70,6 @@ namespace AGVControl
...
@@ -69,20 +70,6 @@ namespace AGVControl
}
}
}
}
//出满料
if
(
Common
.
FindFullShelfTask
(
currentAgv
))
{
if
(!
SettingString
.
C4_AGV_IPs
.
Contains
(
currentAgv
.
IP
))
{
int
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
GoFullShelfStationJob
&&
!
s
.
IP
.
Equals
(
currentAgv
.
IP
));
if
(
i
>
-
1
)
return
null
;
return
new
GoFullShelfStationJob
(
currentAgv
.
Place
);
}
}
//回收空料架
//回收空料架
if
(
Common
.
FindEmptyShelfNode
(
currentAgv
,
out
string
emptyNodeName
))
if
(
Common
.
FindEmptyShelfNode
(
currentAgv
,
out
string
emptyNodeName
))
{
{
...
@@ -104,6 +91,38 @@ namespace AGVControl
...
@@ -104,6 +91,38 @@ namespace AGVControl
return
new
GoEmptyShelfLineJob
(
currentAgv
.
Place
,
emptyNodeName
);
return
new
GoEmptyShelfLineJob
(
currentAgv
.
Place
,
emptyNodeName
);
}
}
}
}
//出满料
if
(
Common
.
FindFullShelfTask
(
currentAgv
))
{
if
(!
SettingString
.
C4_AGV_IPs
.
Contains
(
currentAgv
.
IP
))
{
int
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
GoFullShelfStationJob
&&
!
s
.
IP
.
Equals
(
currentAgv
.
IP
));
if
(
i
>
-
1
)
{
return
null
;
}
ClientNode
node
=
Common
.
nodeInfo
.
Find
(
s
=>
s
.
Name
.
Equals
(
SettingString
.
A6
)
&&
(
s
.
StateEquals
(
eNodeStatus
.
NeedLeave
)
||
s
.
StateEquals
(
eNodeStatus
.
NeedEnterLeave
))
&&
!
s
.
RFID
.
Equals
(
"00"
));
if
(
node
!=
null
&&
node
.
Name
.
Equals
(
SettingString
.
A6
))
{
if
(
AGVManager
.
FindFullShelfTarget
(
node
.
RFID
,
out
AGVManager
.
BoxDestInfo
boxDestInfo
))
{
if
(
boxDestInfo
!=
null
)
{
i
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
CurJob
is
SendFullShelfToLineJob
&&
!
s
.
IP
.
Equals
(
currentAgv
.
IP
)
&&
((
SendFullShelfToLineJob
)
s
.
CurJob
).
FullShelfPlace
.
Equals
(
boxDestInfo
.
location
));
if
(
i
>
-
1
)
return
null
;
}
}
}
return
new
GoFullShelfStationJob
(
currentAgv
.
Place
);
}
}
return
null
;
return
null
;
}
}
}
}
...
...
AGVControl-ProductionLine/bin/Debug/AGVControl-ProductionLine.exe
查看文件 @
3bb5179
此文件类型无法预览
AGVControl-ProductionLine/bin/Debug/AGVControl-ProductionLine.pdb
查看文件 @
3bb5179
此文件类型无法预览
AGVControl-ProductionLine/bin/Debug/logs/AgvServer.log
查看文件 @
3bb5179
此文件的差异太大,无法显示。
AGVControl-ProductionLine/bin/Debug/logs/AgvServer.log2020-09-07
0 → 100644
查看文件 @
3bb5179
[2020-09-07 04:48:23,483][1][AgvServer:47]INFO =====程序开始=====
[2020-09-07 04:48:23,878][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/7ed952c3-b520-11ea-b6ad-00012998f5a0 Return:
[2020-09-07 04:48:23,930][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:23,931][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/929eb1c2-b520-11ea-b6ad-00012998f5a0 Return:
[2020-09-07 04:48:23,983][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:23,984][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/3b823fe4-b368-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,035][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,039][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/ede15fcb-b367-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,091][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,093][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/43855a9b-b365-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,144][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,154][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/73c8b98c-b368-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,206][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,207][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/5436efd7-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,258][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,260][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/6b7710c1-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,312][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,314][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/8f039d2e-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,366][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,367][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/9e0b64ab-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,418][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,420][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/aec7da80-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,471][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,472][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/c10984c9-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,524][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,525][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/d6e0b92a-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,576][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,579][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/efb04c55-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,631][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,635][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/fd6b1f95-b432-11ea-a1a5-00012999830e Return:
[2020-09-07 04:48:24,687][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,689][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/1e546c3a-8abe-11ea-ab63-000129922ca6 Return:
[2020-09-07 04:48:24,749][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,823][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/431649a4-8abe-11ea-ab63-000129922ca6 Return:
[2020-09-07 04:48:24,877][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,883][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/d402fbc2-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:24,934][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,935][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/ce0d60e9-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:24,986][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:24,988][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/c768170a-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,039][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,041][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/c2de9745-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,092][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,094][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/be468ef4-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,146][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,148][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/b9117881-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,199][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,200][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/b3cda9db-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,252][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,254][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/ae09fc56-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,305][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,306][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/a64bdbbb-cdac-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,357][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,358][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/604b1c3c-ca4e-11ea-810b-00012999830e Return:
[2020-09-07 04:48:25,410][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,411][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/07841fc6-d0d4-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,462][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,463][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/0efca2c6-d0d4-11ea-a3e4-94c691a7387d Return:
[2020-09-07 04:48:25,515][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,516][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/cb7f117b-ca88-11ea-9b28-0001299981d4 Return:
[2020-09-07 04:48:25,568][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,569][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/cb7f117b-ca88-11ea-9b28-0001299981d4 Return:
[2020-09-07 04:48:25,621][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,623][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/positions/ac6c413e-895e-11ea-9374-000129922ca6 Return:
[2020-09-07 04:48:25,673][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,724][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,775][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,826][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,877][1][AgvServer:1408]DEBUG GetNodesPosition 获取节点位置失败
[2020-09-07 04:48:25,879][1][AgvServer:54]INFO Server Start
[2020-09-07 04:48:26,488][1][AgvServer:161]ERROR Open
System.ArgumentException: 此集合已经采用方案 http 的地址。此集合中每个方案中最多只能包含一个地址。如果服务承载于 IIS 中,则可以通过将“system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled”设置为 true,或指定“system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters”来解决此问题。
参数名: item
在 System.ServiceModel.UriSchemeKeyedCollection.InsertItem(Int32 index, Uri item)
在 System.Collections.Generic.SynchronizedCollection`1.Add(T item)
在 System.ServiceModel.ServiceHostBase.AddBaseAddress(Uri baseAddress)
在 System.ServiceModel.ServiceHostBase.LoadConfigurationSectionHelper(Uri baseAddress)
在 System.ServiceModel.Description.ConfigLoader.LoadHostConfig(ServiceElement serviceElement, ServiceHostBase host, Action`1 addBaseAddress)
在 System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost)
在 System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection)
在 System.ServiceModel.ServiceHostBase.ApplyConfiguration()
在 System.ServiceModel.ServiceHost.ApplyConfiguration()
在 System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
在 System.ServiceModel.ServiceHost.InitializeDescription(Type serviceType, UriSchemeKeyedCollection baseAddresses)
在 System.ServiceModel.ServiceHost.InitializeDescription(Object singletonInstance, UriSchemeKeyedCollection baseAddresses)
在 System.ServiceModel.ServiceHost..ctor(Object singletonInstance, Uri[] baseAddresses)
在 System.ServiceModel.Web.WebServiceHost..ctor(Object singletonInstance, Uri[] baseAddresses)
在 BLL.WebService.Open(String url) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\LineWebService.cs:行号 155
[2020-09-07 04:48:27,029][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.71/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status Return:
[2020-09-07 04:48:27,034][1][AgvServer:72]DEBUG URL: http://10.85.199.71/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status
Return:
[2020-09-07 04:48:27,048][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.72/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status Return:
[2020-09-07 04:48:27,048][1][AgvServer:72]DEBUG URL: http://10.85.199.72/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status
Return:
[2020-09-07 04:48:27,053][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.73/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status Return:
[2020-09-07 04:48:27,053][1][AgvServer:72]DEBUG URL: http://10.85.199.73/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status
Return:
[2020-09-07 04:48:27,058][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.74/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status Return:
[2020-09-07 04:48:27,058][1][AgvServer:72]DEBUG URL: http://10.85.199.74/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status
Return:
[2020-09-07 04:48:27,063][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.80/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status Return:
[2020-09-07 04:48:27,063][1][AgvServer:72]DEBUG URL: http://10.85.199.80/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status
Return:
[2020-09-07 04:48:27,067][1][AgvServer:650]DEBUG HttpGet URL: http://10.85.199.81/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status Return:
[2020-09-07 04:48:27,068][1][AgvServer:72]DEBUG URL: http://10.85.199.81/api/v2.0.0/io_modules/007615a5-2220-11ea-99f2-94c691a73b53/status
Return:
[2020-09-07 04:48:28,272][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:28,274][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:28,712][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:28,712][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:29,075][6][AgvServer:622]INFO Ping 10.85.199.71 请求没有响应
[2020-09-07 04:48:29,077][6][AgvServer:284]DEBUG MiR_R1763 Offline
[2020-09-07 04:48:29,709][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:29,709][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:30,727][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:30,727][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:31,075][6][AgvServer:622]INFO Ping 10.85.199.72 请求没有响应
[2020-09-07 04:48:31,075][6][AgvServer:284]DEBUG MiR_R1764 Offline
[2020-09-07 04:48:31,092][6][AgvServer:629]ERROR CheckIP
System.Net.NetworkInformation.PingException: Ping 请求期间发生异常。 ---> System.ComponentModel.Win32Exception: Unknown error (0x2b2a)
在 System.Net.NetworkInformation.Ping.InternalSend(IPAddress address, Byte[] buffer, Int32 timeout, PingOptions options, Boolean async)
在 System.Net.NetworkInformation.Ping.Send(IPAddress address, Int32 timeout, Byte[] buffer, PingOptions options)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.NetworkInformation.Ping.Send(IPAddress address, Int32 timeout, Byte[] buffer, PingOptions options)
在 System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options)
在 System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout)
在 BLL.MiR_API.CheckIP(String ip) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\MiR_API.cs:行号 618
[2020-09-07 04:48:31,093][6][AgvServer:284]DEBUG MiR_R1767 Offline
[2020-09-07 04:48:31,364][8][AgvServer:232]DEBUG KeepLive 没有找到A5
[2020-09-07 04:48:31,669][8][AgvServer:232]DEBUG KeepLive 没有找到A6
[2020-09-07 04:48:31,743][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:31,743][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:31,975][8][AgvServer:232]DEBUG KeepLive 没有找到E1
[2020-09-07 04:48:32,279][8][AgvServer:232]DEBUG KeepLive 没有找到E2
[2020-09-07 04:48:32,584][8][AgvServer:232]DEBUG KeepLive 没有找到E3
[2020-09-07 04:48:32,741][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:32,741][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:32,889][8][AgvServer:232]DEBUG KeepLive 没有找到E4
[2020-09-07 04:48:33,074][6][AgvServer:622]INFO Ping 10.85.199.74 请求没有响应
[2020-09-07 04:48:33,074][6][AgvServer:284]DEBUG MiR_R1768 Offline
[2020-09-07 04:48:33,194][8][AgvServer:232]DEBUG KeepLive 没有找到E5
[2020-09-07 04:48:33,499][8][AgvServer:232]DEBUG KeepLive 没有找到E6
[2020-09-07 04:48:33,742][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:33,742][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:33,804][8][AgvServer:232]DEBUG KeepLive 没有找到E8
[2020-09-07 04:48:34,109][8][AgvServer:232]DEBUG KeepLive 没有找到E9
[2020-09-07 04:48:34,413][8][AgvServer:232]DEBUG KeepLive 没有找到E10
[2020-09-07 04:48:34,716][8][AgvServer:232]DEBUG KeepLive 没有找到E11
[2020-09-07 04:48:34,742][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:34,742][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:35,021][8][AgvServer:232]DEBUG KeepLive 没有找到E12
[2020-09-07 04:48:35,075][6][AgvServer:622]INFO Ping 10.85.199.80 请求没有响应
[2020-09-07 04:48:35,075][6][AgvServer:284]DEBUG MiR_R1579 Offline
[2020-09-07 04:48:35,325][8][AgvServer:232]DEBUG KeepLive 没有找到E14
[2020-09-07 04:48:35,629][8][AgvServer:232]DEBUG KeepLive 没有找到E15
[2020-09-07 04:48:35,758][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:35,759][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:35,934][8][AgvServer:232]DEBUG KeepLive 没有找到E21
[2020-09-07 04:48:36,239][8][AgvServer:232]DEBUG KeepLive 没有找到E22
[2020-09-07 04:48:36,544][8][AgvServer:232]DEBUG KeepLive 没有找到G1
[2020-09-07 04:48:36,772][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:36,772][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:36,850][8][AgvServer:232]DEBUG KeepLive 没有找到G2
[2020-09-07 04:48:37,075][6][AgvServer:622]INFO Ping 10.85.199.81 请求没有响应
[2020-09-07 04:48:37,075][6][AgvServer:284]DEBUG MiR_R1580 Offline
[2020-09-07 04:48:37,085][6][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:37,085][6][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22%e4%b8%8b%e6%96%99%e5%8c%ba(A5)%22%2c%22msgKey%22%3a%22lineAgv.A5.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%22%e4%b8%8a%e6%96%99%e5%8c%ba(A6)%22%2c%22msgKey%22%3a%22lineAgv.A6.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-1%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E1.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-2%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E2.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-3%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E3.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-4%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E4.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-5%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E5.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-6%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E6.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-8%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E8.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-9%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E9.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-10%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E10.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-11%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E11.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-12%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E12.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-14%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E14.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-15%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E15.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-FeedeerIn%22%2c%22msgKey%22%3a%22lineAgv.E21.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-FeederOut%22%2c%22msgKey%22%3a%22lineAgv.E22.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-1%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G1.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-2%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G2.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-3%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G3.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-4%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G4.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-5%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G5.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-6%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G6.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-7%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G7.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-8%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G8.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-9%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G9.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-10%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G10.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-14%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G14.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-15%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G15.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-FeederIn%22%2c%22msgKey%22%3a%22lineAgv.G21.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-FeederOut%22%2c%22msgKey%22%3a%22lineAgv.G22.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224D-16%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.E16.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-11%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G11.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-12%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G12.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-13%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G13.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%2c%7b%22name%22%3a%224C-16%e7%ba%bf%22%2c%22msgKey%22%3a%22lineAgv.G16.OffLine%22%2c%22msgValue%22%3a%22%e6%8e%a5%e9%a9%b3%e5%8f%b0%e7%8a%b6%e6%80%81%ef%bc%9a%e7%a6%bb%e7%ba%bf%22%2c%22type%22%3a0%7d%5d】【】
[2020-09-07 04:48:37,155][8][AgvServer:232]DEBUG KeepLive 没有找到G3
[2020-09-07 04:48:37,460][8][AgvServer:232]DEBUG KeepLive 没有找到G4
[2020-09-07 04:48:37,765][8][AgvServer:232]DEBUG KeepLive 没有找到G5
[2020-09-07 04:48:37,776][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:37,776][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:38,070][8][AgvServer:232]DEBUG KeepLive 没有找到G6
[2020-09-07 04:48:38,375][8][AgvServer:232]DEBUG KeepLive 没有找到G7
[2020-09-07 04:48:38,680][8][AgvServer:232]DEBUG KeepLive 没有找到G8
[2020-09-07 04:48:38,789][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:38,789][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:38,989][8][AgvServer:232]DEBUG KeepLive 没有找到G9
[2020-09-07 04:48:39,293][8][AgvServer:232]DEBUG KeepLive 没有找到G10
[2020-09-07 04:48:39,574][6][AgvServer:622]INFO Ping 10.85.199.71 请求没有响应
[2020-09-07 04:48:39,574][6][AgvServer:284]DEBUG MiR_R1763 Offline
[2020-09-07 04:48:39,597][8][AgvServer:232]DEBUG KeepLive 没有找到G14
[2020-09-07 04:48:39,791][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:39,791][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:39,902][8][AgvServer:232]DEBUG KeepLive 没有找到G15
[2020-09-07 04:48:40,208][8][AgvServer:232]DEBUG KeepLive 没有找到G21
[2020-09-07 04:48:40,513][8][AgvServer:232]DEBUG KeepLive 没有找到G22
[2020-09-07 04:48:40,788][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:40,788][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:40,817][8][AgvServer:232]DEBUG KeepLive 没有找到E16
[2020-09-07 04:48:41,121][8][AgvServer:232]DEBUG KeepLive 没有找到G11
[2020-09-07 04:48:41,426][8][AgvServer:232]DEBUG KeepLive 没有找到G12
[2020-09-07 04:48:41,575][6][AgvServer:622]INFO Ping 10.85.199.72 请求没有响应
[2020-09-07 04:48:41,575][6][AgvServer:284]DEBUG MiR_R1764 Offline
[2020-09-07 04:48:41,582][6][AgvServer:629]ERROR CheckIP
System.Net.NetworkInformation.PingException: Ping 请求期间发生异常。 ---> System.ComponentModel.Win32Exception: Unknown error (0x2b2a)
在 System.Net.NetworkInformation.Ping.InternalSend(IPAddress address, Byte[] buffer, Int32 timeout, PingOptions options, Boolean async)
在 System.Net.NetworkInformation.Ping.Send(IPAddress address, Int32 timeout, Byte[] buffer, PingOptions options)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.NetworkInformation.Ping.Send(IPAddress address, Int32 timeout, Byte[] buffer, PingOptions options)
在 System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout, Byte[] buffer, PingOptions options)
在 System.Net.NetworkInformation.Ping.Send(String hostNameOrAddress, Int32 timeout)
在 BLL.MiR_API.CheckIP(String ip) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\MiR_API.cs:行号 618
[2020-09-07 04:48:41,583][6][AgvServer:284]DEBUG MiR_R1767 Offline
[2020-09-07 04:48:41,731][8][AgvServer:232]DEBUG KeepLive 没有找到G13
[2020-09-07 04:48:41,790][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:41,790][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:42,037][8][AgvServer:232]DEBUG KeepLive 没有找到G16
[2020-09-07 04:48:42,790][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:42,790][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
[2020-09-07 04:48:43,575][6][AgvServer:622]INFO Ping 10.85.199.74 请求没有响应
[2020-09-07 04:48:43,575][6][AgvServer:284]DEBUG MiR_R1768 Offline
[2020-09-07 04:48:43,804][1][AgvServer:147]ERROR POST ERROR:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 套接字操作尝试一个无法连接的主机。 10.85.199.25:80
在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
在 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.WebClient.UploadDataInternal(Uri address, String method, Byte[] data, WebRequest& request)
在 System.Net.WebClient.UploadString(Uri address, String method, String data)
在 System.Net.WebClient.UploadString(String address, String method, String data)
在 BLL.HttpHelper.Post(String url, String paramData, Encoding encoding) 位置 C:\myproject\Gitee\AGVControl-Qisda-ProductionLine\AGVControl-ProductionLine\BLL\HttpHelper.cs:行号 142
[2020-09-07 04:48:43,805][1][AgvServer:351]DEBUG 异常看板【http://10.85.199.25/myproject/rest/api/qisda/device/updateDeviceAlarmMsg?deviceAlarmList=%5b%7b%22name%22%3a%22MiR_R1763%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1763.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1764%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1764.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1767%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1767.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1768%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1768.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1579%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1579.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%2c%7b%22name%22%3a%22MiR_R1580%22%2c%22msgKey%22%3a%22lineAgv.MiR_R1580.Msg%22%2c%22msgValue%22%3a%22%22%2c%22type%22%3a1%7d%5d】【】
AGVControl-ProductionLine/bin/Debug/logs/LineWebService.log2020-09-07
0 → 100644
查看文件 @
3bb5179
文件属性发生变化
AGVControl-ProductionLine/obj/Debug/AGVControl-ProductionLine.csproj.GenerateResource.cache
查看文件 @
3bb5179
此文件类型无法预览
AGVControl-ProductionLine/obj/Debug/AGVControl-ProductionLine.exe
查看文件 @
3bb5179
此文件类型无法预览
AGVControl-ProductionLine/obj/Debug/AGVControl-ProductionLine.pdb
查看文件 @
3bb5179
此文件类型无法预览
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论