Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO827-AutoScanAndLabel
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit da138686
由
刘韬
编写于
2022-09-20 13:20:09 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge branch 'SO00075(SO1164)扫码贴标机' of
http://106.15.194.121:8083/liutao/SO827-A…
…utoScanAndLabel into SO00075(SO1164)扫码贴标机
2 个父辈
4b743e13
bc933daf
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
44 行增加
和
26 行删除
AutoScanAndLabel/UC/AgvControl.cs
DL.StandardRobots/Robots/StandardRobot.cs
DL.StandardRobots/TCP/ModbusTCPMaster.cs
AutoScanAndLabel/UC/AgvControl.cs
查看文件 @
da13868
...
...
@@ -25,7 +25,7 @@ namespace AutoScanAndLabel.UC
serverIp
=
ConfigHelper
.
Config
.
Get
(
Setting_Init
.
STD_IP
,
"127.0.0.1"
);
AGVManager
.
Connect
(
serverIp
);
load
();
groupBox2
.
Text
=
crc
.
GetString
(
"Res0071"
,
"任务状态"
)+
"["
+
serverIp
+
"]"
;
groupBox2
.
Text
=
crc
.
GetString
(
"Res0071"
,
"任务状态"
)
+
"["
+
serverIp
+
"]"
;
AGVManager
.
Register
(
MissionStateChanged
);
endit
(
false
);
}
...
...
@@ -51,9 +51,9 @@ namespace AutoScanAndLabel.UC
{
try
{
lblCurMissionId
.
Text
=
crc
.
GetString
(
"Res0075"
,
"任务编号:"
)+
state
.
MissionId
;
lblCurRunMissionId
.
Text
=
crc
.
GetString
(
"Res0076"
,
"运行编号:"
)+
state
.
RunMissionId
;
switch
(
state
.
MissionRunState
)
lblCurMissionId
.
Text
=
crc
.
GetString
(
"Res0075"
,
"任务编号:"
)
+
state
.
MissionId
;
lblCurRunMissionId
.
Text
=
crc
.
GetString
(
"Res0076"
,
"运行编号:"
)
+
state
.
RunMissionId
;
switch
(
state
.
MissionRunState
)
{
case
MissionRunState
.
无效状态
:
lblMissionRunstate
.
Text
=
crc
.
GetString
(
"Res0077"
,
"任务状态:"
)
+
crc
.
GetString
(
MissionRunState
.
无效状态
.
ToString
(),
MissionRunState
.
无效状态
.
ToString
());
...
...
@@ -71,7 +71,7 @@ namespace AutoScanAndLabel.UC
lblMissionRunstate
.
Text
=
crc
.
GetString
(
"Res0077"
,
"任务状态:"
)
+
crc
.
GetString
(
MissionRunState
.
暂停执行
.
ToString
(),
MissionRunState
.
暂停执行
.
ToString
());
break
;
}
switch
(
state
.
MissionResult
)
switch
(
state
.
MissionResult
)
{
case
MissionResult
.
无效状态
:
lblMissionResult
.
Text
=
crc
.
GetString
(
"Res0078"
,
"运行结果:"
)
+
crc
.
GetString
(
MissionResult
.
无效状态
.
ToString
(),
MissionResult
.
无效状态
.
ToString
());
...
...
@@ -100,12 +100,12 @@ namespace AutoScanAndLabel.UC
{
if
(!
RobotManage
.
isRunning
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
return
;
}
if
(
InCalling
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
return
;
}
if
(
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
RightEnd_Check
).
Equals
(
IO_VALUE
.
LOW
))
...
...
@@ -138,19 +138,19 @@ namespace AutoScanAndLabel.UC
});
}
else
MessageBox
.
Show
(
crc
.
GetString
(
"Res0080"
,
"当前有料串不能请求进入料串"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0080"
,
"当前有料串不能请求进入料串"
));
}
private
void
button_rightleavefull_Click
(
object
sender
,
EventArgs
e
)
{
if
(!
RobotManage
.
isRunning
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
return
;
}
if
(
InCalling
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
return
;
}
if
(
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
RightEnd_Check
).
Equals
(
IO_VALUE
.
HIGH
))
...
...
@@ -178,39 +178,39 @@ namespace AutoScanAndLabel.UC
while
(!
WaitMissionOk
())
{
//Task.Delay(1000).Wait();
Thread
.
Sleep
(
1000
);
Thread
.
Sleep
(
1000
);
}
ToStandby
();
InCalling
=
false
;
});
}
else
MessageBox
.
Show
(
crc
.
GetString
(
"Res0081"
,
"当前没有料串不能请求取料串"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0081"
,
"当前没有料串不能请求取料串"
));
}
private
void
RequestLeft
()
{
int
.
TryParse
(
ConfigHelper
.
Config
.
Get
(
Setting_Init
.
LStation
,
"3"
),
out
int
val
);
AGVManager
.
AddMis
sion
(
val
);
autoAddMi
sion
(
val
);
}
private
void
RequestRight
()
{
int
.
TryParse
(
ConfigHelper
.
Config
.
Get
(
Setting_Init
.
RStation
,
"4"
),
out
int
val
);
AGVManager
.
AddMis
sion
(
val
);
autoAddMi
sion
(
val
);
}
private
void
ShelfEnterAgv
()
{
int
.
TryParse
(
ConfigHelper
.
Config
.
Get
(
Setting_Init
.
ShelfInAGV
,
"4"
),
out
int
val
);
AGVManager
.
AddMis
sion
(
val
);
autoAddMi
sion
(
val
);
}
private
void
ShelfOutAgv
()
{
int
.
TryParse
(
ConfigHelper
.
Config
.
Get
(
Setting_Init
.
ShelfOutAGV
,
"4"
),
out
int
val
);
AGVManager
.
AddMis
sion
(
val
);
autoAddMi
sion
(
val
);
}
private
void
ToStandby
()
{
int
.
TryParse
(
ConfigHelper
.
Config
.
Get
(
Setting_Init
.
Standby
,
"4"
),
out
int
val
);
AGVManager
.
AddMis
sion
(
val
);
autoAddMi
sion
(
val
);
}
private
bool
WaitMissionOk
(
uint
missionId
)
{
...
...
@@ -218,18 +218,28 @@ namespace AutoScanAndLabel.UC
}
private
bool
WaitMissionOk
()
{
return
WaitMissionOk
((
uint
)
AGVManager
.
CurMissionId
);
bool
rtn
=
WaitMissionOk
((
uint
)
AGVManager
.
CurMissionId
);
if
(
rtn
)
{
LogUtil
.
info
(
"任务编号"
+
AGVManager
.
CurMissionId
+
"执行完成"
);
}
return
rtn
;
}
void
autoAddMision
(
int
id
)
{
AGVManager
.
AddMission
(
id
);
LogUtil
.
info
(
"自动任务:发送任务编号"
+
id
);
}
private
void
button_Leftleavefull_Click
(
object
sender
,
EventArgs
e
)
{
if
(!
RobotManage
.
isRunning
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
return
;
}
if
(
InCalling
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
return
;
}
if
(
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
LeftEnd_Check
).
Equals
(
IO_VALUE
.
HIGH
))
...
...
@@ -240,7 +250,7 @@ namespace AutoScanAndLabel.UC
//请求AGV代码放这里
RequestLeft
();
//等待agv到位
while
(!
WaitMissionOk
())
while
(!
WaitMissionOk
())
{
//Task.Delay(1000).Wait();
Thread
.
Sleep
(
1000
);
...
...
@@ -264,19 +274,19 @@ namespace AutoScanAndLabel.UC
});
}
else
MessageBox
.
Show
(
crc
.
GetString
(
"Res0081"
,
"当前没有料串不能请求取料串"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0081"
,
"当前没有料串不能请求取料串"
));
}
private
void
button_leftneedempty_Click
(
object
sender
,
EventArgs
e
)
{
if
(!
RobotManage
.
isRunning
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0079"
,
"机器尚未启动不能呼叫Agv"
));
return
;
}
if
(
InCalling
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0035"
,
"已呼叫Agv,不能重复呼叫"
));
return
;
}
if
(
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
LeftEnd_Check
).
Equals
(
IO_VALUE
.
LOW
))
...
...
@@ -310,7 +320,7 @@ namespace AutoScanAndLabel.UC
});
}
else
MessageBox
.
Show
(
crc
.
GetString
(
"Res0080"
,
"当前有料串不能请求进入料串"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0080"
,
"当前有料串不能请求进入料串"
));
}
private
void
checkBox1_CheckedChanged
(
object
sender
,
EventArgs
e
)
...
...
@@ -323,8 +333,9 @@ namespace AutoScanAndLabel.UC
}
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
{
int
.
TryParse
(
txtMissionId
.
Text
,
out
int
val
);
int
.
TryParse
(
txtMissionId
.
Text
,
out
int
val
);
AGVManager
.
AddMission
(
val
);
LogUtil
.
info
(
"手动发送任务编号:"
+
val
);
}
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
...
...
DL.StandardRobots/Robots/StandardRobot.cs
查看文件 @
da13868
...
...
@@ -65,6 +65,7 @@ namespace DL.StandardRobot
missionState
.
RunMissionId
=
preState
.
RunMissionId
;
missionState
.
MissionRunState
=
preState
.
MissionRunState
;
missionState
.
MissionResult
=
preState
.
MissionResult
;
LogUtil
.
Error
(
$
"ReceiveData:[{requestInfo}][{JsonHelper.SerializeObject(missionState)}]"
);
MissionSateChanged
?.
Invoke
(
missionState
);
}
...
...
@@ -157,6 +158,7 @@ namespace DL.StandardRobot
request
.
Values
=
new
int
[]
{(
int
)
GetUInt16
(
byte4
.
ByteH1
,
byte4
.
ByteH2
),
(
int
)
GetUInt16
(
byte4
.
ByteL1
,
byte4
.
ByteL2
)
};
_client
.
AddRequest
(
request
);
missionState
.
MissionId
=
(
uint
)
id
;
LogUtil
.
Info
(
$
"AddMission missionId:{id}"
);
MissionSateChanged
?.
Invoke
(
missionState
);
return
true
;
}
...
...
DL.StandardRobots/TCP/ModbusTCPMaster.cs
查看文件 @
da13868
...
...
@@ -328,6 +328,11 @@ namespace DL.Com.TCP
/// <param name="request"></param>
void
EnRequestQueue
(
RequestInfo
request
)
{
if
(
requestInfos
.
Count
>
0
)
{
LogUtil
.
Info
(
$
"The count of request queue is {requestInfos.Count},clear the queue:{JsonHelper.SerializeObject(requestInfos)}"
);
requestInfos
=
new
ConcurrentQueue
<
RequestInfo
>();
}
requestInfos
.
Enqueue
(
request
);
if
(!
GetFunction
(
request
.
FunCode
).
Equals
(
RegisterFunction
.
Read
))
LogUtil
.
Info
(
$
"Enqueue Request {request}"
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论