Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
AutoCountMachine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 86995993
由
LN
编写于
2020-05-26 19:14:09 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
调试bug修改
1 个父辈
5ddaf0ae
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
64 行增加
和
60 行删除
RC1266-AutoCountMachine/source/AutoCountClient/FrmInputEquip.cs
RC1266-AutoCountMachine/source/AutoCountClient/FrmRobotMain.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/deviceLibrary/halcon/CodeManager.cs
RC1266-AutoCountMachine/source/DeviceLibrary/model/MoveStep.cs
RC1266-AutoCountMachine/source/AutoCountClient/FrmInputEquip.cs
查看文件 @
8699599
...
...
@@ -693,6 +693,7 @@ namespace OnlineStore.AutoCountClient
private
void
btnPutTray_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
equipBean
.
Name
+
"点击 取料测试"
);
if
(
equipBean
.
runStatus
.
Equals
(
RobotRunStatus
.
Runing
)
&&
equipBean
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
{
int
inp
=
comInP
.
SelectedIndex
+
1
;
...
...
RC1266-AutoCountMachine/source/AutoCountClient/FrmRobotMain.cs
查看文件 @
8699599
...
...
@@ -564,6 +564,7 @@ namespace OnlineStore.AutoCountClient
private
void
二维码学习
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
IOManager
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
if
(
Camera
.
_cam
!=
null
)
{
Camera
.
_cam
.
CloseAll
();
...
...
@@ -571,6 +572,7 @@ namespace OnlineStore.AutoCountClient
CodeLibrary
.
FrmCodeDecode
frm
=
new
CodeLibrary
.
FrmCodeDecode
();
frm
.
ShowDialog
();
frm
.
Dispose
();
IOManager
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip.cs
查看文件 @
8699599
...
...
@@ -510,13 +510,17 @@ namespace OnlineStore.DeviceLibrary
msg
+=
"贴标状态:"
+
SecMoveInfo
.
MoveType
+
" "
+
SecMoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"料串状态:"
+
ShelfMoveInfo
.
MoveType
+
" "
+
ShelfMoveInfo
.
MoveStep
+
"\n"
;
// msg += "标签信息:" + Out_ReelInfo.ToStr() + " \r\n";
msg
+=
"当前料串:"
+
WorkShelfId
+
",累积出料 "
+
OutReelCount
+
" 盘共 "
+
OutReelHeight
+
" mm \r\n"
;
msg
+=
"打印机["
+
RobotManager
.
PrintName
+
"]:"
+
RobotManager
.
LastPrintStatus
+
"\n"
;
// msg += "标签信息:" + Out_ReelInfo.ToStr() + " \r\n";
msg
+=
"当前料串:"
+
WorkShelfId
+
",累积出料 "
+
OutReelCount
+
" 盘共 "
+
OutReelHeight
+
" mm \r\n"
;
msg
+=
"打印机["
+
RobotManager
.
PrintName
+
"]:"
+
RobotManager
.
LastPrintStatus
+
"\n"
;
if
(
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
))
{
msg
+=
"当前料盘:"
+
MoveInfo
.
MoveParam
.
OutStr
()
+
" \r\n"
;
msg
+=
"取放料盘:"
+
MoveInfo
.
MoveParam
.
OutStr
()
+
" \r\n"
;
}
else
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Labelling
))
{
msg
+=
"贴标料盘:"
+
SecMoveInfo
.
MoveParam
.
OutStr
()
+
" \r\n"
;
}
return
msg
;
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Partial.cs
查看文件 @
8699599
...
...
@@ -55,11 +55,11 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
MoveInfo
.
Name
+
"StartWorking 失败 , MoveInfo 忙碌中="
+
MoveInfo
.
MoveType
);
return
false
;
}
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
).
Equals
(
false
))
{
LogUtil
.
error
(
MoveInfo
.
Name
+
"StartWorking 失败 , 贴标模块忙碌中="
+
SecMoveInfo
.
MoveType
);
return
false
;
}
//
if (SecMoveInfo.MoveType.Equals(RobotMoveType.None).Equals(false))
//
{
//
LogUtil.error(MoveInfo.Name + "StartWorking 失败 , 贴标模块忙碌中=" + SecMoveInfo.MoveType);
//
return false;
//
}
if
(
IOValue
(
IO_Type
.
Out_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
X_OLine_Run
).
Equals
(
IO_VALUE
.
LOW
))
{
...
...
@@ -67,7 +67,7 @@ namespace OnlineStore.DeviceLibrary
if
(
param
.
PlateW
>
0
&&
param
.
PlateH
>
0
)
{
MoveInfo
.
MoveParam
=
param
;
WorkLog
(
"
["
+
param
.
OutStr
()
+
"],准备开始取料,检测到Xray出口有料,且皮带线停止转动
"
);
WorkLog
(
"
检测到XRay出口料盘["
+
param
.
OutStr
()
+
"],准备开始取料
"
);
}
else
{
...
...
@@ -79,7 +79,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
MoveParam
.
SetReelInfo
(
reelInfo
);
WorkLog
(
"
X光点料机出口检测到料盘["
+
reelInfo
.
ToStr
()
+
"],准备开始取料,检测到Xray出口有料,且皮带线停止转动
"
);
WorkLog
(
"
检测到XRay出口料盘["
+
reelInfo
.
ToStr
()
+
"],准备开始取料
"
);
}
if
(
MoveInfo
.
MoveParam
.
PlateW
<=
0
||
MoveInfo
.
MoveParam
.
PlateH
<=
0
)
...
...
@@ -128,10 +128,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
OT07_MoveZToP2
);
WorkLog
(
"取料:取料Z轴到P2 "
);
MoveZAxis
.
AbsMove
(
MoveInfo
,
Config
.
GetMoveZP2
(
MoveInfo
.
MoveParam
.
PlateH
),
Config
.
MoveZ_P2Speed
);
//MoveInfo.NextMoveStep(StepEnum.OT21_NG_MoveXToP1);
//WorkLog("NG料:取料X轴到P1 ");
//MoveXAxis.AbsMove(MoveInfo, Config.MoveX_P1, Config.MoveX_P1Speed);
}
else
{
...
...
@@ -346,19 +342,20 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SecMoveInfo
.
IsStep
(
StepEnum
.
OL01_Paste_Back
))
{
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OL02_TakeForward
);
SecWorkLog
(
"贴标: 取码气缸前进,贴标XYR都到待机点P2"
);
CylinderMove
(
SecMoveInfo
,
IO_Type
.
TakeCode_Back
,
IO_Type
.
TakeCode_Forward
);
LabelXAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelX_P2
,
Config
.
LabelX_P2Speed
);
LabelYAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelY_P2
,
Config
.
LabelY_P2Speed
);
LabelRAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelR_P2
,
Config
.
LabelR_P2Speed
);
SecWorkLog
(
"贴标: 取码气缸前进,"
);
CylinderMove
(
SecMoveInfo
,
IO_Type
.
TakeCode_Back
,
IO_Type
.
TakeCode_Forward
);
}
else
if
(
SecMoveInfo
.
IsStep
(
StepEnum
.
OL02_TakeForward
))
{
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OL03_PrintLabel
);
RobotManager
.
LastPrintStatus
=
Asa
.
PrintLabel
.
PrinterStatus
.
Unknown
;
SecWorkLog
(
"贴标: 开始打印标签 ,重置状态=Unknown,等待2000ms"
);
SecMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
SecWorkLog
(
"贴标: 重置状态=Unknown,开始打印标签 ,贴标XYR轴到取标签点P2,,等待2000ms"
);
SecMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
LabelXAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelX_P2
,
Config
.
LabelX_P2Speed
);
LabelYAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelY_P2
,
Config
.
LabelY_P2Speed
);
LabelRAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelR_P2
,
Config
.
LabelR_P2Speed
);
StartPrintLabel
(
SecMoveInfo
.
MoveParam
.
WareCode
,
SecMoveInfo
.
MoveParam
.
WareCount
.
ToString
());
}
else
if
(
SecMoveInfo
.
IsStep
(
StepEnum
.
OL03_PrintLabel
))
...
...
@@ -370,25 +367,25 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SecMoveInfo
.
IsStep
(
StepEnum
.
OL04_PrintOk
))
{
bool
isPrintOk
=
RobotManager
.
LastPrintStatus
.
Equals
(
Asa
.
PrintLabel
.
PrinterStatus
.
Idle
);
bool
isTimeOut
=
SecMoveInfo
.
IsTimeOut
(
3
0
);
bool
isTimeOut
=
SecMoveInfo
.
IsTimeOut
(
5
0
);
if
(
isPrintOk
||
isTimeOut
)
{
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OL05_TakeBack
);
SecWorkLog
(
"贴标: 打印结束["
+
RobotManager
.
LastPrintStatus
+
"]["
+(
isTimeOut
?
"超时
12
0秒"
:
""
)+
"],取码气缸后退"
);
SecWorkLog
(
"贴标: 打印结束["
+
RobotManager
.
LastPrintStatus
+
"]["
+(
isTimeOut
?
"超时
5
0秒"
:
""
)+
"],取码气缸后退"
);
CylinderMove
(
SecMoveInfo
,
IO_Type
.
TakeCode_Forward
,
IO_Type
.
TakeCode_Back
);
}
}
else
if
(
SecMoveInfo
.
IsStep
(
StepEnum
.
OL05_TakeBack
))
{
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OL06_XYRToP2
);
SecWorkLog
(
"贴标: 贴标XYR都到待机
点P2"
);
//
SecMoveInfo.NextMoveStep(StepEnum.OL06_XYRToP2);
// SecWorkLog("贴标: 贴标XYR轴到取标签
点P2");
LabelXAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelX_P2
,
Config
.
LabelX_P2Speed
);
LabelYAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelY_P2
,
Config
.
LabelY_P2Speed
);
LabelRAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelR_P2
,
Config
.
LabelR_P2Speed
);
}
else
if
(
SecMoveInfo
.
IsStep
(
StepEnum
.
OL06_XYRToP2
))
{
//
LabelXAxis.AbsMove(SecMoveInfo, Config.LabelX_P2, Config.LabelX_P2Speed);
//
LabelYAxis.AbsMove(SecMoveInfo, Config.LabelY_P2, Config.LabelY_P2Speed);
//
LabelRAxis.AbsMove(SecMoveInfo, Config.LabelR_P2, Config.LabelR_P2Speed);
//
}
//
else if (SecMoveInfo.IsStep(StepEnum.OL06_XYRToP2))
//
{
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OL07_ZToP2
);
SecWorkLog
(
"贴标: Z轴到取标签点P2"
);
LabelZAxis
.
AbsMove
(
SecMoveInfo
,
Config
.
LabelZ_P2
,
Config
.
LabelZ_P2Speed
);
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip_Partial.cs
查看文件 @
8699599
...
...
@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NewMove
(
RobotMoveType
.
Working
);
MoveInfo
.
MoveParam
.
SetReelInfo
(
In_ReelInfo
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW01_WaitInReel
);
WorkLog
(
"入口皮带线有料["
+
In_ReelInfo
.
ToStr
()
+
"],开始
准备点料
"
);
WorkLog
(
"入口皮带线有料["
+
In_ReelInfo
.
ToStr
()
+
"],开始
处理
"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
LOW
));
...
...
@@ -90,17 +90,18 @@ namespace OnlineStore.DeviceLibrary
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW01_WaitInReel
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW02_InDoorOpen
);
WorkLog
(
"料盘处理:左侧门打开"
);
WorkLog
(
"料盘处理:左侧门打开
,挡停下降
"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW02_InDoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW03_StopCylinderDown
);
WorkLog
(
"料盘处理:挡停下降"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW0
3_StopCylinderDow
n
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW0
2_InDoorOpe
n
))
{
// MoveInfo.NextMoveStep(StepEnum.XW03_StopCylinderDown);
// WorkLog("料盘处理:挡停下降");
// CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down);
//}
//else if (MoveInfo.IsStep(StepEnum.XW03_StopCylinderDown))
//{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW04_InLineRun
);
WorkLog
(
"料盘处理:入口和中间皮带线转动,"
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
...
...
@@ -117,12 +118,12 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW05_WaitMCheck
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
WorkLog
(
"料盘处理:更新Work_ReelInfo,清空 In_ReelInfo,再转动
3
秒钟"
);
Work_ReelInfo
=
new
ReelInfo
(
In_ReelInfo
.
WareCode
,
In_ReelInfo
.
PlateW
,
In_ReelInfo
.
PlateH
);
WorkLog
(
"料盘处理:更新Work_ReelInfo,清空 In_ReelInfo,再转动
2
秒钟"
);
Work_ReelInfo
=
In_ReelInfo
.
GetReelInfo
(
);
In_ReelInfo
=
new
ReelInfo
();
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW06_WaitTime
))
...
...
@@ -136,8 +137,8 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW08_DoorClose
);
WorkLog
(
"料盘处理:左侧门关闭,右侧门关闭,准备开始点料"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_
Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_
Up
,
IO_Type
.
X_OutDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_
Down
,
IO_Type
.
X_InDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_
Down
,
IO_Type
.
X_OutDoor_Up
);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_DoorLimit_Down, IO_VALUE.HIGH));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_DoorLimit_Up, IO_VALUE.HIGH));
...
...
@@ -200,12 +201,12 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW24_WaitOutCheck
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW25_WaitTime
);
WorkLog
(
"料盘处理:清空 Work_ReelInfo,更新 再转动
3
秒"
);
WorkLog
(
"料盘处理:清空 Work_ReelInfo,更新 再转动
2
秒"
);
Out_ReelInfo
=
Work_ReelInfo
.
GetReelInfo
();
Work_ReelInfo
=
new
ReelInfo
();
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Out_TrayCheck
,
IO_VALUE
.
HIGH
));
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/deviceLibrary/halcon/CodeManager.cs
查看文件 @
8699599
...
...
@@ -311,10 +311,9 @@ namespace OnlineStore.DeviceLibrary
if
(
string
.
IsNullOrEmpty
(
cc
))
{
continue
;
}
string
rCode
=
ReplaceCode
(
cc
);
}
//L0000000000360K003732; E20200311 0365; B6D.49925.551014212020031105000; R014212020031103159##B29
string
[]
codearray
=
code
.
Split
(
';'
);
string
[]
codearray
=
ReplaceCode
(
cc
)
.
Split
(
';'
);
if
(
codearray
.
Length
>=
4
)
{
if
(
codearray
[
2
].
StartsWith
(
"B"
)
&&
codearray
[
2
].
Length
>=
13
&&
codearray
[
3
].
StartsWith
(
"R"
))
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/model/MoveStep.cs
查看文件 @
8699599
...
...
@@ -331,10 +331,10 @@ namespace OnlineStore.DeviceLibrary
/// XRay点料:左侧门打开,
/// </summary>
XW02_InDoorOpen
,
/// <summary>
/// XRay点料:挡停下降
/// </summary>
XW03_StopCylinderDown
,
///
//
<summary>
///
//
XRay点料:挡停下降
///
//
</summary>
//
XW03_StopCylinderDown,
/// <summary>
/// XRay点料:入口和中间皮带线转动
/// </summary>
...
...
@@ -661,10 +661,10 @@ namespace OnlineStore.DeviceLibrary
/// 贴标: 取码气缸后退
/// </summary>
OL05_TakeBack
,
/// <summary>
/// 贴标: 贴标XYR都到待机点P2
/// </summary>
OL06_XYRToP2
,
///
//
<summary>
///
//
贴标: 贴标XYR都到待机点P2
///
//
</summary>
//
OL06_XYRToP2,
/// <summary>
/// 贴标: Z轴到取标签点P2
/// </summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论