Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
AutoCountMachine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit dbedd0e8
由
刘韬
编写于
2020-11-17 15:54:33 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
优化节拍
1 个父辈
7bb711d0
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
98 行增加
和
44 行删除
RC1266-AutoCountMachine/source/AutoCountClient/FrmAnalyze.cs
RC1266-AutoCountMachine/source/AutoCountClient/Program.cs
RC1266-AutoCountMachine/source/DeviceLibrary/agvClient/AgvClient.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/BatchMoveBean_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/EquipBase.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/InputEquip_InStore.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/AutoCountClient/FrmAnalyze.cs
查看文件 @
dbedd0e
...
@@ -48,7 +48,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -48,7 +48,7 @@ namespace OnlineStore.AutoCountClient
MessageBox
.
Show
(
"数据未初始化完成,请稍后!"
);
MessageBox
.
Show
(
"数据未初始化完成,请稍后!"
);
return
;
return
;
}
}
//RobotManager.robot.sQLite.Insert("", 0, 0, 0, "123");
DateTime
startTime
=
dtpStartTime
.
Value
;
DateTime
startTime
=
dtpStartTime
.
Value
;
DateTime
endTime
=
dtpEndTime
.
Value
;
DateTime
endTime
=
dtpEndTime
.
Value
;
...
...
RC1266-AutoCountMachine/source/AutoCountClient/Program.cs
查看文件 @
dbedd0e
...
@@ -53,8 +53,10 @@ namespace OnlineStore.AutoCountClient
...
@@ -53,8 +53,10 @@ namespace OnlineStore.AutoCountClient
/// </summary>
/// </summary>
[
STAThread
]
[
STAThread
]
static
void
Main
(
string
[]
Args
)
static
void
Main
(
string
[]
Args
)
{
{
//string code = " (X: 380,Y: 148) L00000000000WG9D19055;E20191230 0180;B7H.10618.5B1008082019123004000;R0080820191230E9600";
//string code = " (X: 380,Y: 148) L00000000000WG9D19055;E20191230 0180;B7H.10618.5B1008082019123004000;R0080820191230E9600";
//string r = CodeManager.ReplaceCode(code);
//string r = CodeManager.ReplaceCode(code);
Application
.
SetUnhandledExceptionMode
(
UnhandledExceptionMode
.
CatchException
);
Application
.
SetUnhandledExceptionMode
(
UnhandledExceptionMode
.
CatchException
);
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
dbedd0e
...
@@ -95,11 +95,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -95,11 +95,11 @@ namespace OnlineStore.DeviceLibrary
//UpdateAction(id, ClientAction.Ready);
//UpdateAction(id, ClientAction.Ready);
LogUtil
.
info
(
"收到 AgvClient_Ready ["
+
id
+
"] ["
+
rfid
+
"] "
+
GetAction
(
id
).
ToString
());
LogUtil
.
info
(
"收到 AgvClient_Ready ["
+
id
+
"] ["
+
rfid
+
"] "
+
GetAction
(
id
).
ToString
());
if
(
GetAction
(
id
)
==
ClientAction
.
NeedEnter
)
if
(
GetAction
(
id
)
==
ClientAction
.
NeedEnter
||
id
==
"D1"
)
{
{
SetStatus
(
id
,
""
,
ClientAction
.
MayEnter
);
SetStatus
(
id
,
""
,
ClientAction
.
MayEnter
);
}
}
else
if
(
GetAction
(
id
)
==
ClientAction
.
NeedLeave
)
else
if
(
GetAction
(
id
)
==
ClientAction
.
NeedLeave
||
id
==
"D2"
)
{
{
SetStatus
(
id
,
""
,
ClientAction
.
MayLeave
);
SetStatus
(
id
,
""
,
ClientAction
.
MayLeave
);
}
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/BatchMoveBean_Partial.cs
查看文件 @
dbedd0e
...
@@ -411,7 +411,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -411,7 +411,7 @@ namespace OnlineStore.DeviceLibrary
if
(!
first
)
if
(!
first
)
{
{
//如果不是第一次取盘,则每次最多上升16mm
//如果不是第一次取盘,则每次最多上升16mm
targetP3
=
StartMovePosition
+
Robot
.
Config
.
Height_ChangeValue
*
8
0
;
targetP3
=
StartMovePosition
+
Robot
.
Config
.
Height_ChangeValue
*
6
0
;
if
(
targetP3
>
BatchAxisP3
)
if
(
targetP3
>
BatchAxisP3
)
targetP3
=
BatchAxisP3
;
targetP3
=
BatchAxisP3
;
}
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/EquipBase.cs
查看文件 @
dbedd0e
...
@@ -469,7 +469,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -469,7 +469,7 @@ namespace OnlineStore.DeviceLibrary
#
region
日志打印
#
region
日志打印
internal
int
WorkLogLevel
=
1
;
internal
int
WorkLogLevel
=
1
;
private
int
SecWorkLogLevel
=
1
;
private
int
SecWorkLogLevel
=
1
;
protected
void
WorkLog
(
string
msg
,
int
level
=
-
1
)
protected
void
WorkLog
(
string
msg
,
int
level
=
1
)
{
{
if
(
level
<
0
)
if
(
level
<
0
)
{
{
...
@@ -515,15 +515,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -515,15 +515,22 @@ namespace OnlineStore.DeviceLibrary
else
else
{
{
LogUtil
.
debug
(
SecMoveInfo
.
Name
+
"["
+
code
+
"]"
+
"["
+
SecMoveInfo
.
MoveStep
+
"] "
+
msg
);
LogUtil
.
debug
(
SecMoveInfo
.
Name
+
"["
+
code
+
"]"
+
"["
+
SecMoveInfo
.
MoveStep
+
"] "
+
msg
);
}
}
}
}
protected
void
TickLog
(
string
stepname
,
bool
steptime
=
false
)
protected
void
TickLog
(
string
stepname
,
bool
steptime
=
false
)
{
{
TimeSpan
span
=
DateTime
.
Now
-
MoveInfo
.
MoveStartTime
;
TimeSpan
span
=
DateTime
.
Now
-
MoveInfo
.
MoveStartTime
;
if
(
steptime
)
if
(
steptime
)
span
=
DateTime
.
Now
-
MoveInfo
.
LastSetpTime
;
;
span
=
DateTime
.
Now
-
MoveInfo
.
LastSetpTime
;
LogUtil
.
ticklog
(
MoveInfo
.
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
span
.
TotalSeconds
,
stepname
);
LogUtil
.
ticklog
(
MoveInfo
.
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
span
.
TotalSeconds
,
stepname
);
}
}
protected
void
SecTickLog
(
string
stepname
,
bool
steptime
=
false
)
{
TimeSpan
span
=
DateTime
.
Now
-
SecMoveInfo
.
MoveStartTime
;
if
(
steptime
)
span
=
DateTime
.
Now
-
SecMoveInfo
.
LastSetpTime
;
LogUtil
.
ticklog
(
SecMoveInfo
.
Name
,
SecMoveInfo
.
MoveParam
.
WareCode
,
span
.
TotalSeconds
,
stepname
);
}
public
virtual
string
GetMoveStr
()
public
virtual
string
GetMoveStr
()
{
{
string
msg
=
""
;
string
msg
=
""
;
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/InputEquip_InStore.cs
查看文件 @
dbedd0e
...
@@ -84,9 +84,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -84,9 +84,13 @@ namespace OnlineStore.DeviceLibrary
}
}
private
void
IW04_InoutToP2
()
private
void
IW04_InoutToP2
()
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW04_InoutToP2
);
//
MoveInfo.NextMoveStep(StepEnum.IW04_InoutToP2);
WorkLog
(
"取料: 进出轴前进到P2"
,
0
);
WorkLog
(
"取料: 进出轴前进到P2"
,
0
);
InOutAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Inout_P2
(
Config
),
Config
.
InoutAxis_P2Speed
);
InOutAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Inout_P2
(
Config
),
Config
.
InoutAxis_P2Speed
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW05_UpdownToP2
);
WorkLog
(
"取料: 升降轴下降到P2"
,
1
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Updown_P2
(
Config
),
Config
.
UpdownAxis_P2Speed
);
}
}
private
Task
GetTargetPTask
=
null
;
private
Task
GetTargetPTask
=
null
;
protected
override
void
WorkingProcess
()
protected
override
void
WorkingProcess
()
...
@@ -115,9 +119,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -115,9 +119,9 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW04_InoutToP2
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW04_InoutToP2
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW05_UpdownToP2
);
//
MoveInfo.NextMoveStep(StepEnum.IW05_UpdownToP2);
WorkLog
(
"取料: 升降轴下降到P2"
,
1
);
//
WorkLog("取料: 升降轴下降到P2",1);
UpdownAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Updown_P2
(
Config
),
Config
.
UpdownAxis_P2Speed
);
//
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.Get_Updown_P2(Config), Config.UpdownAxis_P2Speed);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW05_UpdownToP2
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW05_UpdownToP2
))
{
{
...
@@ -133,6 +137,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -133,6 +137,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW07_UpdownToP1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW07_UpdownToP1
);
WorkLog
(
"取料: 升降轴到待机点P1"
,
0
);
WorkLog
(
"取料: 升降轴到待机点P1"
,
0
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P1
,
Config
.
UpdownAxis_P1Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P1
,
Config
.
UpdownAxis_P1Speed
);
WorkLog
(
"取料: 进出轴返回P1"
,
1
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P1
,
Config
.
InoutAxis_P1Speed
);
}
}
else
else
{
{
...
@@ -157,8 +163,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -157,8 +163,10 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW08_WaitAxisCheck
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW08_WaitAxisCheck
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW09_InoutToP1
);
//MoveInfo.NextMoveStep(StepEnum.IW09_InoutToP1);
WorkLog
(
"取料: 进出轴返回P1"
,
1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW10_SaveSize
);
if
(
MoveInfo
.
MoveParam
.
InPosType
.
Equals
(
1
))
if
(
MoveInfo
.
MoveParam
.
InPosType
.
Equals
(
1
))
{
{
LeftBatchMove
.
GetTrayOK
();
LeftBatchMove
.
GetTrayOK
();
...
@@ -167,10 +175,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -167,10 +175,10 @@ namespace OnlineStore.DeviceLibrary
{
{
RightBatchMove
.
GetTrayOK
();
RightBatchMove
.
GetTrayOK
();
}
}
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P1
,
Config
.
InoutAxis_P1Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW09_InoutToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW09_InoutToP1
))
{
{
/*
bool isOk = MoveInfo.MoveParam.PlateH > 0 && MoveInfo.MoveParam.PlateW > 0;
bool isOk = MoveInfo.MoveParam.PlateH > 0 && MoveInfo.MoveParam.PlateW > 0;
BatchMoveBean moveBean = MoveInfo.MoveParam.InPosType.Equals(1) ? LeftBatchMove : RightBatchMove;
BatchMoveBean moveBean = MoveInfo.MoveParam.InPosType.Equals(1) ? LeftBatchMove : RightBatchMove;
if (moveBean.LastHeight > 0 || isOk)
if (moveBean.LastHeight > 0 || isOk)
...
@@ -188,25 +196,27 @@ namespace OnlineStore.DeviceLibrary
...
@@ -188,25 +196,27 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType,MoveInfo.logSeconds());
LogUtil.error(WarnMsg, MoveInfo.ErrorLogType,MoveInfo.logSeconds());
Alarm(AlarmType.IoSingleTimeOut);
Alarm(AlarmType.IoSingleTimeOut);
}
}
*/
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW10_SaveSize
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW10_SaveSize
))
{
{
GetTargetPTask
=
null
;
GetTargetPTask
=
null
;
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW11_GetTargetPosition
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW11_GetTargetPosition
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
100
0
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
100
));
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
WareCode
))
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
WareCode
))
{
{
MoveInfo
.
MoveParam
.
IsNgReel
=
true
;
MoveInfo
.
MoveParam
.
IsNgReel
=
true
;
MoveInfo
.
MoveParam
.
NgMsg
=
"无有效条码"
;
MoveInfo
.
MoveParam
.
NgMsg
=
"无有效条码"
;
MoveInfo
.
MoveParam
.
TargetPosType
=
1
;
MoveInfo
.
MoveParam
.
TargetPosType
=
1
;
WorkLog
(
" 无有效条码,从XRay放到NG箱:"
+
MoveInfo
.
MoveParam
.
ToStr
(),
1
);
WorkLog
(
" 无有效条码,从XRay放到NG箱:"
+
MoveInfo
.
MoveParam
.
ToStr
(),
1
);
string
outF
=
"无有效条码NG."
;
RobotManager
.
robot
.
sQLite
.
Insert
(
MoveInfo
.
MoveParam
.
WareCode
,
MoveInfo
.
MoveParam
.
PlateW
,
MoveInfo
.
MoveParam
.
PlateH
,
0
,
outF
);
}
}
//else if (MoveInfo.MoveParam.InPosType.Equals(2))
//else if (MoveInfo.MoveParam.InPosType.Equals(2))
//{
//{
// MoveInfo.MoveParam.TargetPosType = 1;
// MoveInfo.MoveParam.TargetPosType = 1;
// WorkLog(" 右侧入口入料,直接放到XRay:" + MoveInfo.MoveParam.ToStr());
// WorkLog(" 右侧入口入料,直接放到XRay:" + MoveInfo.MoveParam.ToStr());
//}
//}
else
if
(
SServerManager
.
CanConnect
())
else
if
(
SServerManager
.
CanConnect
())
{
{
GetTargetPTask
=
Task
.
Factory
.
StartNew
(
delegate
GetTargetPTask
=
Task
.
Factory
.
StartNew
(
delegate
...
@@ -226,6 +236,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -226,6 +236,9 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
MoveParam
.
TargetPosType
=
1
;
MoveInfo
.
MoveParam
.
TargetPosType
=
1
;
MoveInfo
.
MoveParam
.
IsNgReel
=
true
;
MoveInfo
.
MoveParam
.
IsNgReel
=
true
;
MoveInfo
.
MoveParam
.
NgMsg
=
msg
;
MoveInfo
.
MoveParam
.
NgMsg
=
msg
;
string
outF
=
msg
;
RobotManager
.
robot
.
sQLite
.
Insert
(
MoveInfo
.
MoveParam
.
WareCode
,
MoveInfo
.
MoveParam
.
PlateW
,
MoveInfo
.
MoveParam
.
PlateH
,
0
,
outF
);
}
}
});
});
}
}
...
@@ -273,13 +286,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -273,13 +286,15 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW21_MiddleToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW21_MiddleToP3
);
WorkLog
(
" 开始放料到XRay入口,旋转轴到P3"
,
1
);
WorkLog
(
" 开始放料到XRay入口,旋转轴到P3"
,
1
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P3
,
Config
.
MiddleAxis_P3Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P3
,
Config
.
MiddleAxis_P3Speed
);
}
}
else
else
{
{
ClearTimeoutAlarm
(
"验证是否测值"
);
ClearTimeoutAlarm
(
"验证是否测值"
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW31_MIddleToP4
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW31_MIddleToP4
);
WorkLog
(
" 开始放料到测值工位,旋转轴到P4"
,
1
);
WorkLog
(
" 开始放料到测值工位,旋转轴到P4"
,
1
);
string
outF
=
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
2
)?
"电容"
:
"电阻"
;
outF
+=
"需测值"
;
RobotManager
.
robot
.
sQLite
.
Insert
(
MoveInfo
.
MoveParam
.
WareCode
,
MoveInfo
.
MoveParam
.
PlateW
,
MoveInfo
.
MoveParam
.
PlateH
,
0
,
outF
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P4
,
Config
.
MiddleAxis_P4Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P4
,
Config
.
MiddleAxis_P4Speed
);
}
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
}
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
...
@@ -294,8 +309,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -294,8 +309,8 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
IOValue
(
IO_Type
.
TakeAxis_Location_1
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
TakeAxis_Location_1
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
//
MoveInfo.NextMoveStep(StepEnum.IW22_UpdownToP3);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW22_UpdownToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW23_InoutToP3
);
//
MoveInfo.NextMoveStep(StepEnum.IW23_InoutToP3);
WorkLog
(
"->XRay: 升降轴到P3"
,
1
);
WorkLog
(
"->XRay: 升降轴到P3"
,
1
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P3
,
Config
.
UpdownAxis_P3Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P3
,
Config
.
UpdownAxis_P3Speed
);
WorkLog
(
"->XRay:进出轴到P3"
,
1
);
WorkLog
(
"->XRay:进出轴到P3"
,
1
);
...
@@ -313,7 +328,27 @@ namespace OnlineStore.DeviceLibrary
...
@@ -313,7 +328,27 @@ namespace OnlineStore.DeviceLibrary
{
{
//向上合并
//向上合并
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW23_InoutToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW23_InoutToP3
);
bool
isOk
=
MoveInfo
.
MoveParam
.
PlateH
>
0
&&
MoveInfo
.
MoveParam
.
PlateW
>
0
;
BatchMoveBean
moveBean
=
MoveInfo
.
MoveParam
.
InPosType
.
Equals
(
1
)
?
LeftBatchMove
:
RightBatchMove
;
if
(
moveBean
.
LastHeight
>
0
||
isOk
)
{
ClearTimeoutAlarm
(
"测高结束超时"
);
//MoveInfo.NextMoveStep(StepEnum.IW10_SaveSize);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW23_InoutToP3
);
MoveInfo
.
MoveParam
.
PlateH
=
moveBean
.
LastHeight
;
MoveInfo
.
MoveParam
.
PlateW
=
GetWidth
();
WorkLog
(
"测高结束, 记录尺寸【"
+
MoveInfo
.
MoveParam
.
PlateW
+
"X"
+
MoveInfo
.
MoveParam
.
PlateH
+
"】,开始下一盘预扫码"
,
1
);
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
{
WarnMsg
=
Name
+
"等待"
+
moveBean
.
Name
+
"测高结束超时["
+
MoveInfo
.
TimeOutSeconds
+
"]秒"
;
LogUtil
.
error
(
WarnMsg
,
MoveInfo
.
ErrorLogType
,
MoveInfo
.
logSeconds
());
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW23_InoutToP3
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW23_InoutToP3
))
{
{
...
@@ -321,7 +356,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -321,7 +356,7 @@ namespace OnlineStore.DeviceLibrary
WorkLog
(
"->XRay:等待XRay可放料"
,
1
);
WorkLog
(
"->XRay:等待XRay可放料"
,
1
);
MoveInfo
.
TimeOutSeconds
=
120
;
MoveInfo
.
TimeOutSeconds
=
120
;
//TODO
//TODO
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
LOW
));
}
}
...
@@ -365,7 +400,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -365,7 +400,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW42_InoutToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW42_InoutToP1
))
{
{
//可上合并
//可上合并
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW43_UpdownToP1
);
//
MoveInfo.NextMoveStep(StepEnum.IW43_UpdownToP1);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW43_UpdownToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW43_UpdownToP1
))
...
@@ -378,7 +413,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -378,7 +413,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW44_MiddleToP2
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW44_MiddleToP2
))
{
{
TimeSpan
span
=
DateTime
.
Now
-
MoveInfo
.
MoveStartTime
;
TimeSpan
span
=
DateTime
.
Now
-
MoveInfo
.
MoveStartTime
;
TickLog
(
"放料完成"
,
tru
e
);
TickLog
(
"放料完成"
,
fals
e
);
WorkLog
(
"放料完成,耗时("
+
FormUtil
.
GetSpanStr
(
span
)
+
")"
);
WorkLog
(
"放料完成,耗时("
+
FormUtil
.
GetSpanStr
(
span
)
+
")"
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip.cs
查看文件 @
dbedd0e
...
@@ -577,7 +577,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -577,7 +577,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient
.
NeedEnter
(
Config
.
AgvInName
,
""
,
Asa
.
ClientLevel
.
High
);
AgvClient
.
NeedEnter
(
Config
.
AgvInName
,
""
,
Asa
.
ClientLevel
.
High
);
}
}
}
}
else
if
(
AgvClient
.
GetAction
(
Config
.
AgvInName
)
!=
Asa
.
ClientAction
.
MayEnter
)
else
if
(
AgvClient
.
GetAction
(
Config
.
AgvInName
)
!=
Asa
.
ClientAction
.
MayEnter
&&
AgvClient
.
GetAction
(
Config
.
AgvInName
)
!=
Asa
.
ClientAction
.
None
)
{
{
needEnterWatch
.
Stop
();
needEnterWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
...
@@ -592,7 +592,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -592,7 +592,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
""
,
Asa
.
ClientLevel
.
High
);
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
""
,
Asa
.
ClientLevel
.
High
);
}
}
}
}
else
if
(
AgvClient
.
GetAction
(
Config
.
AgvOutName
)
!=
Asa
.
ClientAction
.
MayLeave
)
else
if
(
AgvClient
.
GetAction
(
Config
.
AgvOutName
)
!=
Asa
.
ClientAction
.
MayLeave
&&
AgvClient
.
GetAction
(
Config
.
AgvOutName
)
!=
Asa
.
ClientAction
.
None
)
{
{
needLeaveWatch
.
Stop
();
needLeaveWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Partial.cs
查看文件 @
dbedd0e
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip_Partial.cs
查看文件 @
dbedd0e
...
@@ -99,22 +99,31 @@ namespace OnlineStore.DeviceLibrary
...
@@ -99,22 +99,31 @@ namespace OnlineStore.DeviceLibrary
WorkLog
(
"料盘处理:左侧门打开,挡停下降"
,
0
);
WorkLog
(
"料盘处理:左侧门打开,挡停下降"
,
0
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW02_InDoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW04_InLineRun
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW04_InLineRun
);
WorkLog
(
"料盘处理:入口和中间皮带线转动"
,
0
);
WorkLog
(
"料盘处理:入口和中间皮带线转动"
,
0
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW04_InLineRun
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW05_WaitMCheck
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW05_WaitMCheck
);
WorkLog
(
"料盘处理:等待扫描区域信号检测"
,
0
);
WorkLog
(
"料盘处理:等待扫描区域信号检测"
,
0
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
//IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
//IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW02_InDoorOpen
))
{
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW04_InLineRun
))
{
//MoveInfo.NextMoveStep(StepEnum.XW05_WaitMCheck);
//WorkLog("料盘处理:等待扫描区域信号检测", 0);
//IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH);
//IOMove(IO_Type.X_MLine_Run, IO_VALUE.HIGH);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.HIGH));
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW05_WaitMCheck
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW05_WaitMCheck
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
...
@@ -125,7 +134,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -125,7 +134,7 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
4
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW06_WaitTime
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW06_WaitTime
))
...
@@ -189,7 +198,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -189,7 +198,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW11_StartCount
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW11_StartCount
);
WorkLog
(
"点料:启用X射线点料,等待X射线可以启动"
);
WorkLog
(
"点料:启用X射线点料,等待X射线可以启动"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Down
,
IO_Type
.
X_InDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Down
,
IO_Type
.
X_InDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_Down
,
IO_Type
.
X_OutDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_Down
,
IO_Type
.
X_OutDoor_Up
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_Lock_On
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_Lock_On
,
IO_VALUE
.
HIGH
));
...
@@ -225,8 +234,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -225,8 +234,9 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW12_XRayStart
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW12_XRayStart
))
{
{
TickLog
(
"打开xray"
,
true
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW13_GetXRayImage
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW13_GetXRayImage
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
8000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(8000));
WorkLog
(
"点料:清理"
+
path1_tif
+
"内容,开始获取X射线图形 "
);
WorkLog
(
"点料:清理"
+
path1_tif
+
"内容,开始获取X射线图形 "
);
CapImage
();
CapImage
();
...
@@ -292,7 +302,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -292,7 +302,7 @@ namespace OnlineStore.DeviceLibrary
else
else
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW23_OutLineRun
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW23_OutLineRun
);
WorkLog
(
"料盘处理:中间皮带线,出口皮带线转动"
,
0
);
WorkLog
(
"料盘处理:中间皮带线,出口皮带线转动"
,
1
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.LOW));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_ReelCheck, IO_VALUE.LOW));
...
@@ -301,7 +311,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -301,7 +311,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW23_OutLineRun
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW23_OutLineRun
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW24_WaitOutCheck
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW24_WaitOutCheck
);
WorkLog
(
"料盘处理:继续转动3秒后,等待出口皮带线检测到料盘"
,
0
);
WorkLog
(
"料盘处理:继续转动3秒后,等待出口皮带线检测到料盘"
,
1
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
...
@@ -316,7 +326,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -316,7 +326,7 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
X_OLine_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
(
1
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Out_TrayCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Out_TrayCheck
,
IO_VALUE
.
HIGH
));
//CylinderMove(null, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up);
//CylinderMove(null, IO_Type.X_OutDoor_Down, IO_Type.X_OutDoor_Up);
CylinderMove
(
null
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
CylinderMove
(
null
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
...
@@ -366,7 +376,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -366,7 +376,7 @@ namespace OnlineStore.DeviceLibrary
private
void
XW12_XRayStart
()
private
void
XW12_XRayStart
()
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW12_XRayStart
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW12_XRayStart
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
InXWork
=
true
;
InXWork
=
true
;
bool
result
=
xRay
.
Start
();
bool
result
=
xRay
.
Start
();
WorkLog
(
"料盘处理:启动X射线["
+
result
+
"],等待1秒"
);
WorkLog
(
"料盘处理:启动X射线["
+
result
+
"],等待1秒"
);
...
@@ -386,7 +396,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -386,7 +396,7 @@ namespace OnlineStore.DeviceLibrary
}
}
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW15_GetResult
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW15_GetResult
);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300000));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300000));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
GetResultTask
=
Task
.
Factory
.
StartNew
(
delegate
{
GetResultTask
=
Task
.
Factory
.
StartNew
(
delegate
{
try
try
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论