Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
SO1131-ConveyorLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ed1d2e2f
由
张东亮
编写于
2023-09-19 15:52:17 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
添加位置误差
1 个父辈
0c68e781
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
24 行增加
和
10 行删除
source/AssemblyLineClient/FrmLine.Designer.cs
source/AssemblyLineClient/FrmLine.cs
source/DeviceLibrary/lineManager/ALineManager.cs
source/DeviceLibrary/lineManager/SServerManager.cs
source/AssemblyLineClient/FrmLine.Designer.cs
查看文件 @
ed1d2e2
此文件的差异被折叠,
点击展开。
source/AssemblyLineClient/FrmLine.cs
查看文件 @
ed1d2e2
...
...
@@ -472,6 +472,9 @@ namespace OnlineStore.AssemblyLine
SetMenuS
(
复位
RToolStripMenuItem
,
false
);
SetMenuS
(
停止
TToolStripMenuItem
,
false
);
}
textBox1
.
Text
=
$
"从AGV获取的信息:{LineManager.RobotInfo}\r\n"
+
$
"上报的信息:{LineManager.UploadInfo}\r\n"
+
$
"位置信息:{LineManager.posInfo}"
;
}
catch
{
}
finally
...
...
source/DeviceLibrary/lineManager/ALineManager.cs
查看文件 @
ed1d2e2
...
...
@@ -232,11 +232,16 @@ namespace OnlineStore.DeviceLibrary
return
false
;
}
static
Dictionary
<
string
,
List
<
Point
>>
AgvPoints
=
new
Dictionary
<
string
,
List
<
Point
>>();
static
string
posInfo
=
""
;
public
static
string
posInfo
=
""
;
public
static
string
RobotInfo
=
""
;
public
static
string
UploadInfo
=
""
;
public
static
void
UploadAGVStatus
(
RobotStates
robotStates
)
{
try
{
RobotInfo
=
JsonHelper
.
SerializeObject
(
robotStates
);
int
errorX
=
ConfigHelper
.
Config
.
Get
(
"errorPosX"
,
1000
);
int
errorY
=
ConfigHelper
.
Config
.
Get
(
"errorPosY"
,
1000
);
if
(
robotStates
!=
null
&&
robotStates
.
robots
!=
null
)
{
List
<
AgvStatus
>
agvs
=
new
List
<
AgvStatus
>();
...
...
@@ -249,7 +254,8 @@ namespace OnlineStore.DeviceLibrary
status
.
type
=
j
+
1
;
foreach
(
var
key
in
AgvPoints
.
Keys
)
{
var
find
=
AgvPoints
[
key
].
Find
(
s
=>
s
.
X
.
Equals
(
item
.
positionX
)
&&
s
.
Y
.
Equals
(
item
.
positionY
));
var
find
=
AgvPoints
[
key
].
Find
(
s
=>
(
s
.
X
-
errorX
<=
item
.
positionX
&&
s
.
X
+
errorX
>=
item
.
positionX
)
&&
(
s
.
Y
-
errorY
<=
item
.
positionY
&&
s
.
Y
+
errorY
>=
item
.
positionY
));
if
(
find
!=
null
&&
find
.
X
!=
0
&&
find
.
Y
!=
0
)
{
status
.
loc
=
key
;
...
...
@@ -262,9 +268,10 @@ namespace OnlineStore.DeviceLibrary
}
agvs
.
Add
(
status
);
}
UploadInfo
=
JsonHelper
.
SerializeObject
(
agvs
);
SServerManager
.
UpdateAgvStatus
(
agvs
);
StringBuilder
sb
=
new
StringBuilder
();
robotStates
.
robots
.
ForEach
(
s
=>
sb
.
Append
(
$
"
{s.robotCode} 当前位置:{s.positionX},{s.positionY}
"
));
robotStates
.
robots
.
ForEach
(
s
=>
sb
.
Append
(
$
"
{s.robotCode} [{s.energyLevel}]当前位置:{s.positionX},{s.positionY};
"
));
string
curPosInfo
=
sb
.
ToString
();
if
(!
posInfo
.
Equals
(
curPosInfo
))
{
...
...
source/DeviceLibrary/lineManager/SServerManager.cs
查看文件 @
ed1d2e2
...
...
@@ -424,7 +424,7 @@ namespace OnlineStore.DeviceLibrary
/// <param name="status">状态</param>
/// <param name="locInfo">位置</param>
/// <returns></returns>
public
static
bool
UpdateLocInfo
(
string
deviceName
,
string
barcode
,
string
status
,
string
locInfo
,
out
bool
canRemove
,
out
string
msg
)
public
static
bool
UpdateLocInfo
(
string
deviceName
,
string
barcode
,
string
status
,
string
locInfo
,
out
bool
canRemove
,
out
string
msg
)
{
msg
=
""
;
canRemove
=
false
;
...
...
@@ -448,7 +448,7 @@ namespace OnlineStore.DeviceLibrary
string
server
=
GetAddr
(
Addr_UpdateLocInfo
,
paramMap
);
DateTime
startTime
=
DateTime
.
Now
;
string
resultStr
=
HttpHelper
.
Get
(
server
);
msg
=
(
"UpdateTrayLoc "
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
" 【"
+
server
+
"】【"
+
resultStr
+
"】"
);
msg
=
(
"UpdateTrayLoc "
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
" 【"
+
server
+
"】【"
+
resultStr
+
"】"
);
// 返回: { "code": 0, "msg":"ok", "data":""}
ServerData
serverResult
=
JsonHelper
.
DeserializeJsonToObject
<
ServerData
>(
resultStr
);
if
(
serverResult
==
null
)
...
...
@@ -460,14 +460,14 @@ namespace OnlineStore.DeviceLibrary
{
canRemove
=
true
;
// code: 0为正常,其他为异常, msg: 消息, data: 为空
// msg = deviceName + " UpdateTrayLoc 任务已完成【" + barcode + "】【" + status + "】【" + locInfo + "】 :" + "【" + serverResult.code + "】" + serverResult.msg;
// msg = deviceName + " UpdateTrayLoc 任务已完成【" + barcode + "】【" + status + "】【" + locInfo + "】 :" + "【" + serverResult.code + "】" + serverResult.msg;
//LogUtil.info(msg);
return
true
;
}
else
if
(
serverResult
.
code
.
Equals
(
0
).
Equals
(
true
))
{
// code: 0为正常,其他为异常, msg: 消息, data: 为空
// msg = deviceName + " UpdateTrayLoc【" + barcode + "】【" + status + "】【" + locInfo + "】 :" + "【" + serverResult.code + "】" + serverResult.msg;
// msg = deviceName + " UpdateTrayLoc【" + barcode + "】【" + status + "】【" + locInfo + "】 :" + "【" + serverResult.code + "】" + serverResult.msg;
// LogUtil.info(msg);
return
true
;
}
...
...
@@ -531,7 +531,7 @@ namespace OnlineStore.DeviceLibrary
{
try
{
if
(
agvStatuses
==
null
||
agvStatuses
.
Count
==
0
)
if
(
agvStatuses
==
null
||
agvStatuses
.
Count
==
0
)
{
LogUtil
.
error
(
$
"UpdateAgvStatus 无信息"
);
return
false
;
...
...
@@ -542,10 +542,14 @@ namespace OnlineStore.DeviceLibrary
string
content
=
JsonHelper
.
SerializeObject
(
agvStatuses
);
string
json
=
HttpHelper
.
Post
(
server
,
content
);
ServerData
rtnData
=
JsonHelper
.
DeserializeJsonToObject
<
ServerData
>(
json
);
if
(!
agvStr
.
Equals
(
json
))
if
(
string
.
IsNullOrEmpty
(
json
))
{
LogUtil
.
error
(
$
"UpdateAgvStatus【{content}】【{json}】"
);
}
else
if
(!
agvStr
.
Equals
(
content
))
{
LogUtil
.
info
(
$
"UpdateAgvStatus【{content}】【{json}】"
);
agvStr
=
json
;
agvStr
=
content
;
}
if
(
rtnData
!=
null
&&
rtnData
.
code
==
0
)
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论