Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
顾剑亮
/
Camera
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
图表
网络
创建新的问题
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4a5e4488
由
张东亮
编写于
2020-08-18 10:35:35 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
分盘线
2 个父辈
411cfaab
dd584799
全部展开
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
73 行增加
和
44 行删除
.vs/AGVControl/v16/.suo
AGVControl/BLL/Control.cs
AGVControl/BLL/MiR_API.cs
AGVControl/Common.cs
AGVControl/FrmMain.Designer.cs
AGVControl/FrmMain.cs
AGVControl/Program.cs
AGVControl/bin/Debug/AGVControl.exe
AGVControl/bin/Debug/AGVControl.pdb
AGVControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
.vs/AGVControl/v16/.suo
查看文件 @
4a5e448
此文件类型无法预览
AGVControl/BLL/Control.cs
查看文件 @
4a5e448
此文件的差异被折叠,
点击展开。
AGVControl/BLL/MiR_API.cs
查看文件 @
4a5e448
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Web.Script.Serialization
;
using
System.Web.Script.Serialization
;
using
AGVControl
;
using
RestSharp
;
using
RestSharp
;
namespace
BLL
namespace
BLL
...
@@ -190,6 +192,10 @@ namespace BLL
...
@@ -190,6 +192,10 @@ namespace BLL
{
{
//防止上一个任务已执行但返回失败时,删除任务
//防止上一个任务已执行但返回失败时,删除任务
Del_Mission
(
info
);
Del_Mission
(
info
);
var
key
=
Common
.
agvMission
.
Where
(
qq
=>
qq
.
Value
==
mission_id
).
Select
(
qq
=>
qq
.
Key
);
info
.
CurTaskName
=
key
.
ToList
()[
0
];
Common
.
log
.
OutInfo
(
string
.
Format
(
"{0} Add_Mission [{1}]"
,
info
.
Name
,
key
.
ToList
()[
0
]));
string
url
=
"http://"
+
info
.
IP
+
"/api/v2.0.0/mission_queue"
;
string
url
=
"http://"
+
info
.
IP
+
"/api/v2.0.0/mission_queue"
;
string
body
=
"{\"mission_id\":\""
+
mission_id
+
"\"}"
;
string
body
=
"{\"mission_id\":\""
+
mission_id
+
"\"}"
;
...
@@ -227,6 +233,9 @@ namespace BLL
...
@@ -227,6 +233,9 @@ namespace BLL
{
{
//防止上一个任务已执行但返回失败时,删除任务
//防止上一个任务已执行但返回失败时,删除任务
Del_Mission
(
info
);
Del_Mission
(
info
);
var
key
=
Common
.
agvMission
.
Where
(
qq
=>
qq
.
Value
==
mission_id
).
Select
(
qq
=>
qq
.
Key
);
info
.
CurTaskName
=
key
.
ToList
()[
0
];
Common
.
log
.
OutInfo
(
string
.
Format
(
"{0} Add_Mission_Fleet [{1}]"
,
info
.
Name
,
key
.
ToList
()[
0
]));
string
ip
=
AGVControl
.
Common
.
appConfig
.
AppSettings
.
Settings
[
"FLEET"
].
Value
;
string
ip
=
AGVControl
.
Common
.
appConfig
.
AppSettings
.
Settings
[
"FLEET"
].
Value
;
string
url
=
"http://"
+
ip
+
"/api/v2.0.0/mission_scheduler"
;
string
url
=
"http://"
+
ip
+
"/api/v2.0.0/mission_scheduler"
;
...
...
AGVControl/Common.cs
查看文件 @
4a5e448
...
@@ -345,10 +345,9 @@ namespace AGVControl
...
@@ -345,10 +345,9 @@ namespace AGVControl
/// </summary>
/// </summary>
public
bool
StandbyTemp
{
set
;
get
;
}
public
bool
StandbyTemp
{
set
;
get
;
}
/// <summary>
/// 是否清除任务缓存
public
string
CurTaskName
{
get
;
set
;
}
/// </summary>
public
bool
IsClearRunInfo
=
false
;
/// <summary>
/// <summary>
/// 剩余出库任务,针对包装仓出库
/// 剩余出库任务,针对包装仓出库
/// </summary>
/// </summary>
...
@@ -383,32 +382,36 @@ namespace AGVControl
...
@@ -383,32 +382,36 @@ namespace AGVControl
public
string
[]
ToRow
()
public
string
[]
ToRow
()
{
{
//AGV名称,IP,AGV状态,任务状态,地点,后续任务,在线,电量,调用,清除缓存
//AGV名称,IP,AGV状态,任务状态,地点,后续任务,在线,电量,调用,清除缓存
string
[]
s
=
new
string
[
11
]
;
List
<
string
>
vs
=
new
List
<
string
>()
;
s
[
0
]
=
Name
;
vs
.
Add
(
Name
)
;
s
[
1
]
=
IP
;
// vs.Add(IP)
;
if
(
IsCon
)
if
(
IsCon
)
{
{
s
[
2
]
=
StateText
;
vs
.
Add
(
StateText
);
s
[
3
]
=
string
.
Format
(
"{0}({1})"
,
MissionStatus
.
ToString
(),
(
int
)
MissionStatus
);
vs
.
Add
(
string
.
Format
(
"{0}({1})"
,
MissionStatus
.
ToString
(),
(
int
)
MissionStatus
));
s
[
4
]
=
Mark
;
vs
.
Add
(
Mark
);
s
[
5
]
=
Place
;
vs
.
Add
(
RFID
);
s
[
6
]
=
NextMission
;
vs
.
Add
(
Place
);
vs
.
Add
(
NextMission
);
}
}
s
[
7
]
=
IsCon
.
ToString
();
else
s
[
8
]
=
Battery
+
"%"
;
vs
.
AddRange
(
new
string
[]{
""
,
""
,
""
,
""
,
""
,
""
});
s
[
9
]
=
IsUse
.
ToString
();
vs
.
Add
(
IsCon
.
ToString
());
s
[
10
]
=
"Clear"
;
vs
.
Add
(
Battery
+
"%"
);
vs
.
Add
(
IsUse
.
ToString
());
return
s
;
vs
.
Add
(
"Clear"
);
return
vs
.
ToArray
();
}
}
public
string
[]
ToMission
()
public
string
[]
ToMission
()
{
{
//AGV名称,IP,AGV状态,任务状态,地点,后续任务,在线,电量,调用,清除缓存
//AGV名称,IP,AGV状态,任务状态,地点,后续任务,在线,电量,调用,清除缓存
string
[]
s
=
new
string
[
2
];
string
[]
s
=
new
string
[
3
];
s
[
0
]
=
Name
;
s
[
0
]
=
Name
;
s
[
1
]
=
Mission_text
;
s
[
1
]
=
CurTaskName
;
s
[
2
]
=
Mission_text
;
return
s
;
return
s
;
}
}
...
...
AGVControl/FrmMain.Designer.cs
查看文件 @
4a5e448
此文件的差异被折叠,
点击展开。
AGVControl/FrmMain.cs
查看文件 @
4a5e448
using
BLL
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.ComponentModel
;
using
System.Data
;
using
System.Data
;
...
@@ -32,6 +31,8 @@ namespace AGVControl
...
@@ -32,6 +31,8 @@ namespace AGVControl
n
=
DgvAgv
.
Rows
.
Add
(
Common
.
agvInfo
[
i
].
ToRow
());
n
=
DgvAgv
.
Rows
.
Add
(
Common
.
agvInfo
[
i
].
ToRow
());
dgvMission
.
Rows
.
Add
(
Common
.
agvInfo
[
i
].
ToMission
());
dgvMission
.
Rows
.
Add
(
Common
.
agvInfo
[
i
].
ToMission
());
DgvAgv
.
Rows
[
n
].
HeaderCell
.
Value
=
(
n
+
1
).
ToString
();
DgvAgv
.
Rows
[
n
].
HeaderCell
.
Value
=
(
n
+
1
).
ToString
();
if
(
i
%
2
==
0
)
DgvAgv
.
Rows
[
n
].
DefaultCellStyle
.
BackColor
=
Color
.
LightBlue
;
if
(!
Common
.
agvInfo
[
i
].
IsCon
)
if
(!
Common
.
agvInfo
[
i
].
IsCon
)
DgvAgv
.
Rows
[
n
].
DefaultCellStyle
.
ForeColor
=
Color
.
Red
;
DgvAgv
.
Rows
[
n
].
DefaultCellStyle
.
ForeColor
=
Color
.
Red
;
}
}
...
@@ -40,6 +41,8 @@ namespace AGVControl
...
@@ -40,6 +41,8 @@ namespace AGVControl
{
{
n
=
DgvNode
.
Rows
.
Add
(
Common
.
nodeInfo
[
i
].
ToRow
());
n
=
DgvNode
.
Rows
.
Add
(
Common
.
nodeInfo
[
i
].
ToRow
());
DgvNode
.
Rows
[
n
].
HeaderCell
.
Value
=
(
n
+
1
).
ToString
();
DgvNode
.
Rows
[
n
].
HeaderCell
.
Value
=
(
n
+
1
).
ToString
();
if
(
i
%
2
==
0
)
DgvNode
.
Rows
[
n
].
DefaultCellStyle
.
BackColor
=
Color
.
LightBlue
;
if
(!
Common
.
nodeInfo
[
i
].
Online
)
if
(!
Common
.
nodeInfo
[
i
].
Online
)
DgvNode
.
Rows
[
n
].
DefaultCellStyle
.
ForeColor
=
Color
.
Red
;
DgvNode
.
Rows
[
n
].
DefaultCellStyle
.
ForeColor
=
Color
.
Red
;
}
}
...
@@ -67,7 +70,7 @@ namespace AGVControl
...
@@ -67,7 +70,7 @@ namespace AGVControl
label4
.
Text
=
""
;
label4
.
Text
=
""
;
foreach
(
var
item
in
Common
.
agvInfo
)
foreach
(
var
item
in
Common
.
agvInfo
)
{
{
task
+=
string
.
Format
(
"{0}: [Mark={1}] [RFID={2}] [剩余任务={3}]\r\n"
,
item
.
Name
,
item
.
Mark
,
item
.
RFID
,
item
.
LeftTaskCnt
);
task
+=
string
.
Format
(
"{0}: [Mark={1}] [RFID={2}] [剩余任务={3}]\r\n"
,
item
.
Name
,
item
.
Mark
,
item
.
RFID
,
item
.
LeftTaskCnt
);
}
}
label4
.
Text
=
task
;
label4
.
Text
=
task
;
}));
}));
...
@@ -163,15 +166,23 @@ namespace AGVControl
...
@@ -163,15 +166,23 @@ namespace AGVControl
}
}
else
if
(
e
.
ColumnIndex
==
10
)
else
if
(
e
.
ColumnIndex
==
10
)
{
{
if
(
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
.
Length
>
1
)
{
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} {1} Mark={2}"
,
Common
.
agvInfo
[
e
.
RowIndex
].
Name
,
Common
.
agvInfo
[
e
.
RowIndex
].
Place
,
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
));
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
;
string
place
=
Common
.
agvInfo
[
e
.
RowIndex
].
Place
;
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
Mark
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
Place
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
Place
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
RFID
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
RFID
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
NextMission
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
NextMission
=
""
;
Common
.
agvInfo
[
e
.
RowIndex
].
IsClearRunInfo
=
true
;
Common
.
agvInfo
[
e
.
RowIndex
].
LeftTaskCnt
=
0
;
DgvAgv
.
Rows
[
e
.
RowIndex
].
SetValues
(
Common
.
agvInfo
[
e
.
RowIndex
].
ToRow
())
;
Common
.
agvInfo
[
e
.
RowIndex
].
CurTaskName
=
""
;
//清除节点缓存
//清除节点缓存
int
idx
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
place
);
int
idx
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
Name
==
place
);
...
@@ -180,7 +191,14 @@ namespace AGVControl
...
@@ -180,7 +191,14 @@ namespace AGVControl
Common
.
nodeInfo
[
idx
].
AgvName
=
""
;
Common
.
nodeInfo
[
idx
].
AgvName
=
""
;
DgvNode
.
Rows
[
idx
].
Cells
[
5
].
Value
=
""
;
DgvNode
.
Rows
[
idx
].
Cells
[
5
].
Value
=
""
;
}
}
idx
=
Common
.
nodeInfo
.
FindIndex
(
s
=>
s
.
AgvName
==
Common
.
agvInfo
[
e
.
RowIndex
].
Name
);
if
(
idx
>
-
1
)
{
Common
.
nodeInfo
[
idx
].
AgvName
=
""
;
DgvNode
.
Rows
[
idx
].
Cells
[
5
].
Value
=
""
;
}
string
task
=
""
;
string
task
=
""
;
Invoke
(
new
Action
(()
=>
Invoke
(
new
Action
(()
=>
{
{
label4
.
Text
=
""
;
label4
.
Text
=
""
;
...
@@ -190,9 +208,11 @@ namespace AGVControl
...
@@ -190,9 +208,11 @@ namespace AGVControl
}
}
label4
.
Text
=
task
;
label4
.
Text
=
task
;
}));
}));
//添加Init任务
//添加Init任务
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
e
.
RowIndex
],
Common
.
agvMission
[
"Init"
]);
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
e
.
RowIndex
],
Common
.
agvMission
[
"Init"
]);
Common
.
mir
.
State_Ready
(
Common
.
agvInfo
[
e
.
RowIndex
]);
Common
.
mir
.
State_Ready
(
Common
.
agvInfo
[
e
.
RowIndex
]);
DgvAgv
.
Rows
[
e
.
RowIndex
].
SetValues
(
Common
.
agvInfo
[
e
.
RowIndex
].
ToRow
());
}
}
}
}
...
@@ -209,7 +229,7 @@ namespace AGVControl
...
@@ -209,7 +229,7 @@ namespace AGVControl
else
if
(
e
.
ColumnIndex
==
8
)
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
;
string
name
=
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
;
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
=
""
;
Common
.
nodeInfo
[
e
.
RowIndex
].
AgvName
=
""
;
DgvNode
.
Rows
[
e
.
RowIndex
].
Cells
[
5
].
Value
=
""
;
DgvNode
.
Rows
[
e
.
RowIndex
].
Cells
[
5
].
Value
=
""
;
...
@@ -218,10 +238,13 @@ namespace AGVControl
...
@@ -218,10 +238,13 @@ namespace AGVControl
int
idx
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
Name
==
name
);
int
idx
=
Common
.
agvInfo
.
FindIndex
(
s
=>
s
.
Name
==
name
);
if
(
idx
>
-
1
)
if
(
idx
>
-
1
)
{
{
Common
.
agvInfo
[
idx
].
Mark
=
""
;
Common
.
agvInfo
[
idx
].
Place
=
""
;
Common
.
agvInfo
[
idx
].
RFID
=
""
;
Common
.
agvInfo
[
idx
].
NextMission
=
""
;
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
());
DgvAgv
.
Rows
[
idx
].
SetValues
(
Common
.
agvInfo
[
idx
].
ToRow
());
//添加Init任务
//添加Init任务
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
"Init"
]);
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
"Init"
]);
...
@@ -240,21 +263,14 @@ namespace AGVControl
...
@@ -240,21 +263,14 @@ namespace AGVControl
if
(
idx
<
0
)
return
;
if
(
idx
<
0
)
return
;
if
(
Common
.
agvInfo
[
idx
].
IsCon
)
if
(
Common
.
agvInfo
[
idx
].
IsCon
)
{
{
if
(!
Common
.
agvInfo
[
idx
].
IsClearRunInfo
)
{
bool
rtn
=
Common
.
mir
.
Add_Mission
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
LstAgvPlace
.
Text
]);
MessageBox
.
Show
(
"请先清除当前小车的任务缓存!"
);
return
;
}
bool
rtn
=
Common
.
mir
.
Add_Mission_Fleet
(
Common
.
agvInfo
[
idx
],
Common
.
agvMission
[
LstAgvPlace
.
Text
]);
if
(!
rtn
)
if
(!
rtn
)
return
;
return
;
Common
.
agvInfo
[
idx
].
Place
=
""
;
Common
.
agvInfo
[
idx
].
Place
=
""
;
Common
.
agvInfo
[
idx
].
IsClearRunInfo
=
false
;
Common
.
log
.
OutInfo
(
"手动添加任务: "
+
LstAgvPlace
.
Text
);
//if (LstAgvPlace.Text.StartsWith("Move") && LstAgvPlace.Text.Length ==6)
Common
.
log
.
OutTextBox
(
"手动添加任务: "
+
LstAgvPlace
.
Text
);
//{
DgvAgv
.
Rows
[
idx
].
SetValues
(
Common
.
agvInfo
[
idx
].
ToRow
());
// Common.agvInfo[idx].Place = LstAgvPlace.Text.Substring(4);
//}
}
}
}
}
catch
(
Exception
ex
){
Common
.
log
.
OutInfo
(
"手动添加任务失败: "
+
ex
.
Message
+
ex
.
StackTrace
);
};
catch
(
Exception
ex
){
Common
.
log
.
OutInfo
(
"手动添加任务失败: "
+
ex
.
Message
+
ex
.
StackTrace
);
};
...
@@ -325,7 +341,7 @@ namespace AGVControl
...
@@ -325,7 +341,7 @@ namespace AGVControl
private
void
BtnReadWriteCharge_Click
(
object
sender
,
EventArgs
e
)
private
void
BtnReadWriteCharge_Click
(
object
sender
,
EventArgs
e
)
{
{
string
name
=
(
sender
as
System
.
Windows
.
Forms
.
Control
).
Name
;
string
name
=
(
sender
as
Control
).
Name
;
int
num
=
Convert
.
ToInt32
(
name
.
Substring
(
name
.
Length
-
1
,
1
));
int
num
=
Convert
.
ToInt32
(
name
.
Substring
(
name
.
Length
-
1
,
1
));
if
(
name
.
IndexOf
(
"Read"
)
>
0
)
if
(
name
.
IndexOf
(
"Read"
)
>
0
)
...
@@ -385,6 +401,5 @@ namespace AGVControl
...
@@ -385,6 +401,5 @@ namespace AGVControl
{
{
System
.
Diagnostics
.
Process
.
Start
(
".\\AGV点位分布.xlsx"
);
System
.
Diagnostics
.
Process
.
Start
(
".\\AGV点位分布.xlsx"
);
}
}
}
}
}
}
AGVControl/Program.cs
查看文件 @
4a5e448
...
@@ -106,6 +106,8 @@ namespace AGVControl
...
@@ -106,6 +106,8 @@ namespace AGVControl
new
ClientNode
(
"A2"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A2"
].
Value
)),
new
ClientNode
(
"A2"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A2"
].
Value
)),
new
ClientNode
(
"A3"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"A3"
].
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
(
"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
(
"B1"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B1"
].
Value
)),
new
ClientNode
(
"B2"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B2"
].
Value
)),
new
ClientNode
(
"B2"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B2"
].
Value
)),
new
ClientNode
(
"B3"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B3"
].
Value
)),
new
ClientNode
(
"B3"
,
Convert
.
ToBoolean
(
Common
.
appConfig
.
AppSettings
.
Settings
[
"B3"
].
Value
)),
...
...
AGVControl/bin/Debug/AGVControl.exe
查看文件 @
4a5e448
此文件类型无法预览
AGVControl/bin/Debug/AGVControl.pdb
查看文件 @
4a5e448
此文件类型无法预览
AGVControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
查看文件 @
4a5e448
此文件类型无法预览
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论