Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
顾剑亮
/
Camera
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
图表
网络
创建新的问题
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit dd584799
由
张东亮
编写于
2020-08-18 10:24:39 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
分盘线
1 个父辈
ca463496
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
122 行增加
和
93 行删除
.vs/AGVControl/v16/.suo
AGVControl/BLL/AGVManager.cs
AGVControl/BLL/Control.cs
AGVControl/Common.cs
AGVControl/FrmMain.cs
AGVControl/Program.cs
AGVControl/bin/Debug/AGVControl.exe
AGVControl/bin/Debug/AGVControl.pdb
AGVControl/obj/Debug/AGVControl.csproj.FileListAbsolute.txt
AGVControl/obj/Debug/AGVControl.csproj.GenerateResource.cache
AGVControl/obj/Debug/AGVControl.exe
AGVControl/obj/Debug/AGVControl.pdb
AGVControl/obj/Debug/Interop.IWshRuntimeLibrary.dll
.vs/AGVControl/v16/.suo
查看文件 @
dd58479
此文件类型无法预览
AGVControl/BLL/AGVManager.cs
查看文件 @
dd58479
...
...
@@ -35,32 +35,10 @@ namespace BLL
return
true
;
}
if
(
serverResult
.
code
!=
0
)
return
true
;
agv
.
LeftTaskCnt
=
serverResult
.
data
.
taskCount
;
if
(
serverResult
.
data
.
taskCount
==
0
)
//该料架出库完成
{
//清除mark
List
<
string
>
markLst
=
new
List
<
string
>();
foreach
(
var
mark
in
Common
.
control
.
Marks
)
{
int
count
=
0
;
foreach
(
var
node
in
Common
.
nodeInfo
)
{
if
(
mark
.
Equals
(
node
.
Mark
))
count
++;
}
if
(
count
==
0
)
//mark存在标记,但节点任务没有,删除该mark
{
markLst
.
Add
(
mark
);
}
}
if
(
markLst
.
Count
!=
0
)
{
for
(
int
i
=
0
;
i
<
markLst
.
Count
;
i
++)
{
Common
.
control
.
Marks
.
Remove
(
markLst
[
i
]);
}
}
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 料架【"
+
agv
.
RFID
+
"】 无剩余出库任务,serverResult.shelfTaskData.taskCount="
+
serverResult
.
data
.
taskCount
.
ToString
());
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 料架【"
+
agv
.
RFID
+
"】 无剩余出库任务,serverResult.shelfTaskData.taskCount="
+
serverResult
.
data
.
taskCount
.
ToString
());
return
true
;
}
else
//该料架的出库任务未完成
...
...
AGVControl/BLL/Control.cs
查看文件 @
dd58479
...
...
@@ -94,7 +94,7 @@ namespace BLL
continue
;
}
Common
.
log
.
OutInfo
(
"AgvCall "
+
Common
.
agvInfo
[
i
].
Name
+
" "
+
Common
.
agvInfo
[
i
].
MissionStatus
);
//
Common.log.OutInfo("AgvCall " + Common.agvInfo[i].Name + " " + Common.agvInfo[i].MissionStatus);
switch
(
Common
.
agvInfo
[
i
].
MissionStatus
)
{
case
Mission_Status
.
None
:
//有空闲车辆
...
...
@@ -404,10 +404,21 @@ namespace BLL
{
try
{
string
log
;
int
nodeIdx
=
-
1
;
bool
rtn
;
string
log
;
Agv_Info
agv
=
Common
.
agvInfo
[
agvIdx
];
//检测IO信号
rtn
=
Common
.
mir
.
Get_IO_Status
(
agv
,
out
bool
[]
input
,
out
bool
[]
output
);
if
(
rtn
)
{
if
(
input
[
3
])
{
agv
.
IsUse
=
false
;
AgvChanged
?.
Invoke
(
agvIdx
);
System
.
Windows
.
Forms
.
MessageBox
.
Show
(
"关闭小车调用,因检测到车上有料架/料串,不执行任务!请将料架移除再打开调用。"
);
return
;
}
int
nodeIdx
=
-
1
;
int
high
=
0
,
middle
=
0
,
low
=
0
;
List
<
int
>
node
=
new
List
<
int
>();
//清除节点AGV的名称
...
...
@@ -474,48 +485,55 @@ namespace BLL
n
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"A4"
&&
s
.
Action
==
ClientAction
.
NeedLeave
&&
s
.
AgvName
.
Equals
(
""
)
&&
s
.
IsUse
);
if
(
n
==
-
1
)
{
//nodeIdx = -1;
Common
.
log
.
OutInfo
(
"A4不是NeedLeave或被占用"
);
Common
.
log
.
OutTextBox
(
"A4没有架子或被占用"
);
n
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"A8"
&&
s
.
Action
==
ClientAction
.
NeedEnter
&&
s
.
AgvName
.
Equals
(
""
)
&&
s
.
IsUse
);
if
(
n
==
-
1
)
{
Common
.
log
.
OutInfo
(
"A8不是NeedEnter或被占用"
);
Common
.
log
.
OutTextBox
(
"A4、A7无空架子用与包装仓出库"
);
}
else
{
agv
.
Place
=
Common
.
nodeInfo
[
n
].
Name
;
agv
.
Mark
=
Common
.
nodeInfo
[
nodeIdx
].
Mark
;
//agv.CloseDoor = false;
nodeIdx
=
-
1
;
Common
.
log
.
OutInfo
(
"A7,A4不是NeedLeave或被占用"
);
Common
.
log
.
OutTextBox
(
"A7,A4没有架子或被占用"
);
#
region
有出库任务,但
A7
,
A4
无空架子
//n = Common.nodeInfo.FindIndex(s => s.Name == "A8" && s.Action == ClientAction.NeedEnter && s.AgvName.Equals("") && s.IsUse);
//if (n == -1)
//{
// ClientNode a8Node = Common.nodeInfo.Find(s => s.Name.Equals("A8"));
// log = string.Format("A4、A7均无空架用于包装仓出库,且{0}已满,不可将A7架子放到{0}。需要人工干预 [ClientAction={1}]", a8Node.Name, a8Node.Action.ToString());
// Common.log.OutInfo(log);
// Common.log.OutTextBox(log);
//}
////A7,A4均无空架子,可将A7的架子移动到A8
//else
//{
// agv.Place = "A7";
// //agv.Mark = Common.nodeInfo[nodeIdx].Mark;
// //agv.CloseDoor = false;
rtn
=
Common
.
mir
.
Add_Mission_Fleet
(
agv
,
Common
.
agvMission
[
"Move"
+
agv
.
Place
]);
if
(
rtn
)
{
agv
.
CloseDoor
=
false
;
Common
.
nodeInfo
[
n
].
AgvName
=
agv
.
Name
;
agv
.
TaskSend
=
true
;
//_mark.Add(Common.nodeInfo[nodeIdx].Mark);
MarkAdd
(
Common
.
nodeInfo
[
nodeIdx
].
Mark
);
Common
.
log
.
OutString
(
"Mark缓存 "
+
string
.
Join
(
","
,
Marks
.
ToArray
()));
// rtn = Common.mir.Add_Mission_Fleet(agv, Common.agvMission["Move" + agv.Place]);
// if (rtn)
// {
// agv.CloseDoor = false;
// Common.nodeInfo[n].AgvName = agv.Name;
// agv.TaskSend = true;
// //_mark.Add(Common.nodeInfo[nodeIdx].Mark);
// //MarkAdd(Common.nodeInfo[nodeIdx].Mark);
// log = string.Format("{0} Move To {1}[{2}] ", agv.Name, agv.Place,
// "A7,A4无料架用于包装仓");
// Common.log.OutInfo(log);
// Common.log.OutTextBox(log);
// Common.mir.State_Ready(agv);
// Common.server.NodeRefresh(n);
// AgvChanged?.Invoke(agvIdx);
// }
// else
// {
// agv.TaskSend = false;
// log = string.Format("{0} Move To {1}失败[{2}] ", agv.Name, agv.Place,
// "A7,A4无料架用于包装仓");
// //防止上一个任务已执行但返回失败时,删除任务
// //Common.mir.Del_Mission(agv);
// Common.log.OutInfo(log);
// Common.log.OutTextBox(log);
// }
//}
#
endregion
log
=
string
.
Format
(
"{0} Move To {1}[{2}] [{3}]"
,
agv
.
Name
,
agv
.
Place
,
Common
.
nodeInfo
[
nodeIdx
].
Action
.
ToString
(),
Common
.
nodeInfo
[
nodeIdx
].
Mark
);
Common
.
log
.
OutInfo
(
log
);
Common
.
log
.
OutTextBox
(
log
);
Common
.
mir
.
State_Ready
(
agv
);
Common
.
server
.
NodeRefresh
(
n
);
}
else
{
agv
.
TaskSend
=
false
;
log
=
string
.
Format
(
"{0} Move To {1} 失败"
,
agv
.
Name
,
agv
.
Place
);
//防止上一个任务已执行但返回失败时,删除任务
//Common.mir.Del_Mission(agv);
Common
.
log
.
OutInfo
(
log
);
Common
.
log
.
OutTextBox
(
log
);
}
}
}
else
{
...
...
@@ -589,7 +607,7 @@ namespace BLL
for
(
int
i
=
0
;
i
<
Common
.
nodeInfo
.
Count
;
i
++)
{
if
(
Common
.
nodeInfo
[
i
].
Action
==
ClientAction
.
NeedLeave
&&
Common
.
nodeInfo
[
i
].
Name
!=
"A4"
&&
Common
.
nodeInfo
[
i
].
Name
!=
"A7"
&&
Common
.
nodeInfo
[
i
].
AgvName
==
""
&&
Common
.
nodeInfo
[
i
].
IsUse
)
Common
.
nodeInfo
[
i
].
AgvName
==
""
&&
Common
.
nodeInfo
[
i
].
IsUse
)
{
switch
(
Common
.
nodeInfo
[
i
].
Level
)
{
...
...
@@ -683,6 +701,27 @@ namespace BLL
break
;
}
}
else
if
(
Common
.
nodeInfo
[
node
[
i
]].
Name
==
"A7"
&&
Common
.
nodeInfo
[
node
[
i
]].
RFID
.
StartsWith
(
"A"
))
//A7有空料架
{
int
n
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"A4"
&&
s
.
Action
==
ClientAction
.
None
&&
s
.
IsUse
);
if
(
n
>
-
1
)
//B区域无出库任务,A4无料架,往A3送一个空架子,便于出料串
{
n
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"A3"
&&
s
.
Action
==
ClientAction
.
NeedEnter
&&
s
.
AgvName
==
""
&&
s
.
IsUse
);
//入料口有一个没有占用
if
(
n
>
-
1
)
{
nodeIdx
=
node
[
i
];
break
;
}
}
n
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"C7"
&&
s
.
Action
==
ClientAction
.
NeedEnter
&&
s
.
AgvName
==
""
&&
s
.
IsUse
);
//入料口有一个没有占用
if
(
n
>
-
1
)
{
nodeIdx
=
node
[
i
];
break
;
}
}
else
if
(
Common
.
nodeInfo
[
node
[
i
]].
Name
==
"C2"
||
Common
.
nodeInfo
[
node
[
i
]].
Name
==
"C4"
||
Common
.
nodeInfo
[
node
[
i
]].
Name
==
"C6"
)
//C2,4,6准备出空架子,A2需要料
{
int
n
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"C7"
&&
s
.
Action
==
ClientAction
.
NeedEnter
&&
s
.
AgvName
==
""
&&
s
.
IsUse
);
...
...
@@ -753,7 +792,7 @@ namespace BLL
}
}
catch
(
Exception
ex
)
...
...
@@ -1447,7 +1486,7 @@ namespace BLL
else
{
int
idx
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
Name
.
Equals
(
agv
.
Name
));
rtn
=
FindAreaBOutStore
(
idx
,
out
ResultType
resultType
,
false
);
rtn
=
FindAreaBOutStore
(
idx
,
out
ResultType
resultType
,
false
);
if
(!
rtn
&&
resultType
.
Equals
(
ResultType
.
NoEmptyShelf
))
{
rtn
=
FindNeedEnter
(
agv
,
"A8"
);
...
...
@@ -1524,15 +1563,34 @@ namespace BLL
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 在A8送完料架,检测到B区有出库任务,开始执行"
);
if
(!
rtn
&&
resultType
.
Equals
(
ResultType
.
NoEmptyShelf
))
{
rtn
=
FindNeed
Enter
(
agv
,
"A7"
);
rtn
=
FindNeed
Leave
(
agv
,
"A7"
);
if
(
rtn
)
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 在A8送完料架,检测到B区有出库任务,去A7"
);
}
if
(!
rtn
)
{
int
nodeIdx
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
.
Equals
(
"A7"
)
&&
s
.
Action
==
ClientAction
.
NeedLeave
&&
s
.
AgvName
.
Equals
(
""
)
&&
s
.
RFID
.
StartsWith
(
"B"
)
&&
s
.
IsUse
);
if
(
nodeIdx
>
-
1
)
{
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 在A8送完料架,检测到A7出料串["
+
agv
.
RFID
+
"],去A7"
);
rtn
=
MoveNode
(
agv
,
nodeIdx
);
if
(
rtn
)
{
agv
.
NextMission
=
""
;
}
else
{
agv
.
NextMission
=
"A7"
;
//Common.mir.Add_Mission_Fleet(agv, "Common.agvMission["MoveStandbyTemp"]");
}
}
}
if
(!
rtn
)
{
rtn
=
FindNeedLeave
(
agv
,
"A1"
);
if
(
rtn
)
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 在A8送完料架,检测到A1有出料架/任务,开始执行"
);
Common
.
log
.
OutInfo
(
agv
.
Name
+
" 在A8送完料架,检测到A1有出料架/
料串
任务,开始执行"
);
}
if
(!
rtn
)
...
...
@@ -2786,7 +2844,7 @@ namespace BLL
if
(
nodeIdx
==
-
1
)
{
nodeIdx
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
"A3"
&&
s
.
Action
==
ClientAction
.
NeedEnter
&&
s
.
AgvName
==
""
&&
s
.
IsUse
);
if
(
nodeIdx
==
-
1
)
if
(
nodeIdx
>
-
1
)
{
ClearMarkByNodeMark
();
string
log
=
agv
.
Name
+
" A4 FindNeedEnterWithMark 节点mark没有找到[Mark="
+
agv
.
Mark
+
"],去A3"
;
...
...
@@ -2821,7 +2879,7 @@ namespace BLL
if
(!
agv
.
Mark
.
Split
(
','
)[
1
].
Equals
(
"pack"
))
{
ClearMarkByNodeMark
();
string
log
=
agv
.
Name
+
" [Mark="
+
agv
.
Mark
+
"] 出库任务完成"
;
string
log
=
agv
.
Name
+
"
工单料
[Mark="
+
agv
.
Mark
+
"] 出库任务完成"
;
Common
.
log
.
OutInfo
(
log
);
Common
.
log
.
OutTextBox
(
log
);
return
false
;
...
...
AGVControl/Common.cs
查看文件 @
dd58479
...
...
@@ -345,10 +345,6 @@ namespace AGVControl
/// </summary>
public
bool
StandbyTemp
{
set
;
get
;
}
/// <summary>
/// 是否清除任务缓存
/// </summary>
public
bool
IsClearRunInfo
=
false
;
public
string
CurTaskName
{
get
;
set
;
}
...
...
AGVControl/FrmMain.cs
查看文件 @
dd58479
...
...
@@ -168,14 +168,14 @@ namespace AGVControl
{
if
(
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
.
Length
>
1
)
{
if
(
MessageBox
.
Show
(
Common
.
agvInfo
[
e
.
RowIndex
].
Name
+
" 正在执行
包装仓
出库任务,确定清除当前任务?"
,
"警告"
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
if
(
MessageBox
.
Show
(
Common
.
agvInfo
[
e
.
RowIndex
].
Name
+
" 正在执行出库任务,确定清除当前任务?"
,
"警告"
,
MessageBoxButtons
.
YesNo
)
==
DialogResult
.
No
)
{
return
;
}
}
Common
.
agvInfo
[
e
.
RowIndex
].
IsUse
=
false
;
//清除小车缓存
Common
.
log
.
OutInfo
(
string
.
Format
(
"手动清除缓存:{0}[CurTaskName={1}]"
,
Common
.
agvInfo
[
e
.
RowIndex
].
ToRow
(),
Common
.
agvInfo
[
e
.
RowIndex
].
CurTaskName
));
Common
.
log
.
OutInfo
(
string
.
Format
(
"手动清除
小车
缓存:{0}[CurTaskName={1}]"
,
Common
.
agvInfo
[
e
.
RowIndex
].
ToRow
(),
Common
.
agvInfo
[
e
.
RowIndex
].
CurTaskName
));
string
place
=
Common
.
agvInfo
[
e
.
RowIndex
].
Place
;
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
Place
=
""
;
...
...
@@ -183,7 +183,6 @@ namespace AGVControl
Common
.
agvInfo
[
e
.
RowIndex
].
NextMission
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
LeftTaskCnt
=
0
;
Common
.
agvInfo
[
e
.
RowIndex
].
CurTaskName
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
IsClearRunInfo
=
true
;
//清除节点缓存
int
idx
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
place
);
...
...
@@ -214,7 +213,6 @@ namespace AGVControl
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
e
.
RowIndex
],
Common
.
agvMission
[
"Init"
]);
Common
.
mir
.
State_Ready
(
Common
.
agvInfo
[
e
.
RowIndex
]);
DgvAgv
.
Rows
[
e
.
RowIndex
].
SetValues
(
Common
.
agvInfo
[
e
.
RowIndex
].
ToRow
());
Common
.
agvInfo
[
e
.
RowIndex
].
IsUse
=
true
;
}
}
...
...
@@ -231,7 +229,7 @@ namespace AGVControl
else
if
(
e
.
ColumnIndex
==
8
)
{
//清除节点缓存
Common
.
log
.
OutInfo
(
string
.
Format
(
"手动清除缓存,{0} {1}"
,
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
,
Common
.
nodeInfo
[
e
.
RowIndex
].
Name
));
Common
.
log
.
OutInfo
(
string
.
Format
(
"手动清除
节点
缓存,{0} {1}"
,
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
,
Common
.
nodeInfo
[
e
.
RowIndex
].
Name
));
string
name
=
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
;
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
=
""
;
DgvNode
.
Rows
[
e
.
RowIndex
].
Cells
[
5
].
Value
=
""
;
...
...
@@ -240,10 +238,13 @@ namespace AGVControl
int
idx
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
Name
==
name
);
if
(
idx
>
-
1
)
{
Common
.
agvInfo
[
idx
].
Mark
=
""
;
Common
.
agvInfo
[
idx
].
Place
=
""
;
Common
.
agvInfo
[
idx
].
RFID
=
""
;
Common
.
agvInfo
[
idx
].
NextMission
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
Place
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
RFID
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
NextMission
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
LeftTaskCnt
=
0
;
Common
.
agvInfo
[
e
.
RowIndex
].
CurTaskName
=
""
;
DgvAgv
.
Rows
[
idx
].
SetValues
(
Common
.
agvInfo
[
idx
].
ToRow
());
//添加Init任务
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
"Init"
]);
...
...
@@ -262,16 +263,11 @@ namespace AGVControl
if
(
idx
<
0
)
return
;
if
(
Common
.
agvInfo
[
idx
].
IsCon
)
{
if
(!
Common
.
agvInfo
[
idx
].
IsClearRunInfo
)
{
MessageBox
.
Show
(
"请先清除当前小车的任务缓存!"
);
return
;
}
bool
rtn
=
Common
.
mir
.
Add_Mission
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
LstAgvPlace
.
Text
]);
if
(!
rtn
)
return
;
Common
.
agvInfo
[
idx
].
Place
=
""
;
Common
.
agvInfo
[
idx
].
IsClearRunInfo
=
false
;
Common
.
log
.
OutInfo
(
"手动添加任务: "
+
LstAgvPlace
.
Text
);
Common
.
log
.
OutTextBox
(
"手动添加任务: "
+
LstAgvPlace
.
Text
);
DgvAgv
.
Rows
[
idx
].
SetValues
(
Common
.
agvInfo
[
idx
].
ToRow
());
...
...
AGVControl/Program.cs
查看文件 @
dd58479
...
...
@@ -106,6 +106,8 @@ namespace AGVControl
new
ClientNode
(
"A2"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A2"
].
Value
)),
new
ClientNode
(
"A3"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A3"
].
Value
)),
new
ClientNode
(
"A4"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A4"
].
Value
)),
new
ClientNode
(
"A7"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A7"
].
Value
)),
new
ClientNode
(
"A8"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A8"
].
Value
)),
new
ClientNode
(
"B1"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B1"
].
Value
)),
new
ClientNode
(
"B2"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B2"
].
Value
)),
new
ClientNode
(
"B3"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B3"
].
Value
)),
...
...
AGVControl/bin/Debug/AGVControl.exe
查看文件 @
dd58479
此文件类型无法预览
AGVControl/bin/Debug/AGVControl.pdb
查看文件 @
dd58479
此文件类型无法预览
AGVControl/obj/Debug/AGVControl.csproj.FileListAbsolute.txt
查看文件 @
dd58479
...
...
@@ -91,4 +91,3 @@ C:\ZDL\Gitee\AGVControl\AGVControl\obj\Debug\AGVControl.csproj.CopyComplete
C:\ZDL\Gitee\AGVControl\AGVControl\obj\Debug\AGVControl.exe
C:\ZDL\Gitee\AGVControl\AGVControl\obj\Debug\AGVControl.pdb
C:\ZDL\Gitee\AGVControl\AGVControl\obj\Debug\AGVControl.csproj.CoreCompileInputs.cache
C:\ZDL\Gitee\AGVControl\AGVControl\obj\Debug\AGVControl.csprojAssemblyReference.cache
AGVControl/obj/Debug/AGVControl.csproj.GenerateResource.cache
查看文件 @
dd58479
此文件类型无法预览
AGVControl/obj/Debug/AGVControl.exe
查看文件 @
dd58479
此文件类型无法预览
AGVControl/obj/Debug/AGVControl.pdb
查看文件 @
dd58479
此文件类型无法预览
AGVControl/obj/Debug/Interop.IWshRuntimeLibrary.dll
查看文件 @
dd58479
此文件类型无法预览
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论