Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 33e47724
由
LN
编写于
2020-12-21 10:48:07 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
入料料架送出时增加延迟。出料随意放逻辑修改。
1 个父辈
33c9f43e
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
85 行增加
和
47 行删除
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
source/DeviceLibrary/assemblyLine/HY/HY_C1Line.cs
source/DeviceLibrary/model/StoreStep.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
33e4772
...
...
@@ -608,26 +608,41 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_58_WaitShelfGo
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_59_LineStop
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_59_WaitTime
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 横移电机再转动3秒,等待料架到达出口"
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
HIGH
);
int
time
=
200
;
if
(
HasOutLine
)
{
time
=
3000
;
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
time
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Out_Check
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_59_WaitTime
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_60_LineStop
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 料架到达出口,线体横移电机停止 "
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
LOW
);
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_
59
_LineStop
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_
60
_LineStop
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_6
0
_TopDown
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_6
1
_TopDown
);
InLog
(
"上料完成"
+
MoveInfo
.
SLog
+
", 料架到达出口,顶升气缸下降 ,清理缓存料架RFID "
);
UpdateLastShelfID
();
TopCylinderDown
(
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_6
0
_TopDown
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_6
1
_TopDown
))
{
if
(
HasOutLine
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_6
1
_OutLineRun
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_6
2
_OutLineRun
);
InLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"
);
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
HIGH
);
...
...
@@ -645,7 +660,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
ClientLevel
.
Low
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_6
1
_OutLineRun
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FI_6
2
_OutLineRun
))
{
MoveEndS
();
LastOutShelfId
=
CurrShelfId
;
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
查看文件 @
33e4772
...
...
@@ -468,28 +468,42 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_58_WaitShelfGo
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_59_LineStop
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_59_WaitTime
);
OutLog
(
"送出料串:"
+
MoveInfo
.
SLog
+
", 横移电机再转动3秒,等待料架到达出口"
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
HIGH
);
int
time
=
200
;
if
(
HasOutLine
)
{
time
=
3000
;
}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
time
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Out_Check
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_59_WaitTime
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_60_LineStop
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 料架到达出口,线体横移电机停止 "
);
IOMove
(
IO_Type
.
SL_LocationSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutSideWay_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_RollerLine_Run
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_59_LineStop
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_60_LineStop
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_6
0
_TopDown
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_6
1
_TopDown
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 料架到达出口,顶升气缸下降 ,清空LastOutParam,清理缓存料架RFID "
);
UpdateLastShelfID
();
TopCylinderDown
(
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
LastOutParam
=
new
InOutParam
();
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_6
0
_TopDown
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_6
1
_TopDown
))
{
if
(
HasOutLine
)
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_6
1
_OutLineRun
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_6
2
_OutLineRun
);
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"
);
IOMove
(
IO_Type
.
SL_Out_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SL_OutLine_Run
,
IO_VALUE
.
HIGH
);
...
...
@@ -506,7 +520,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient
.
NeedLeave
(
Config
.
AgvOutName
,
LastOutShelfId
,
Asa
.
ClientLevel
.
High
);
}
}
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_6
1
_OutLineRun
))
else
if
(
MoveInfo
.
IsStep
(
LineMoveStep
.
FO_6
2
_OutLineRun
))
{
MoveEndS
();
OutLog
(
"送出料串: "
+
MoveInfo
.
SLog
+
", 出料线体停止,料架到达出口处, 通知AGV取空料架, 出料结束"
);
...
...
source/DeviceLibrary/assemblyLine/HY/HY_C1Line.cs
查看文件 @
33e4772
...
...
@@ -883,7 +883,7 @@ namespace OnlineStore.DeviceLibrary
PreIsToOut
=
true
;
//横移一个放一个
MoveInfo
.
MoveParam
=
new
InOutParam
(
trayNum
);
LogInfo
(
"
托盘需要横移到
出料线:托盘横移到出料线测试功能打开"
);
LogInfo
(
"
C1->
出料线:托盘横移到出料线测试功能打开"
);
return
true
;
}
else
...
...
@@ -900,7 +900,7 @@ namespace OnlineStore.DeviceLibrary
InOutParam
param
=
trayInfo
.
InoutPar
;
if
(
trayInfo
.
IsFull
&&
trayInfo
.
InoutPar
.
InStoreNg
&&
this
.
DeviceID
.
Equals
(
216
))
{
LogInfo
(
"
托盘需要横移到出料线:入料
NG料"
+
""
+
param
.
ToStr
());
LogInfo
(
"
C1->出料线:
NG料"
+
""
+
param
.
ToStr
());
//如果分配了库位,需要调用取消
if
(
trayInfo
.
InoutPar
.
WareCode
!=
""
&&
trayInfo
.
InoutPar
.
PosId
!=
""
)
{
...
...
@@ -912,14 +912,14 @@ namespace OnlineStore.DeviceLibrary
else
if
(
trayInfo
.
InOrOutStore
.
Equals
(
ReelType
.
OutStore
)
&&
param
.
urgentReel
&&
this
.
DeviceID
.
Equals
(
216
))
{
//紧急料到NG箱
LogInfo
(
"
托盘需要横移到出料线:紧急出
料"
+
""
+
param
.
ToStr
());
LogInfo
(
"
C1->出料线:紧急
料"
+
""
+
param
.
ToStr
());
MoveInfo
.
MoveParam
=
param
;
return
true
;
}
else
if
(
trayInfo
.
InOrOutStore
.
Equals
(
ReelType
.
OutStore
)
&&
param
.
urgentReel
.
Equals
(
false
)
&&
param
.
cutReel
.
Equals
(
false
))
{
LogInfo
(
"
托盘需要横移到出料线:工单出库
料"
+
""
+
param
.
ToStr
());
LogInfo
(
"
C1->出料线:工单
料"
+
""
+
param
.
ToStr
());
List
<
int
>
leftLineList
=
new
List
<
int
>
{
204
,
206
};
List
<
int
>
rightLineList
=
new
List
<
int
>
{
213
,
216
};
List
<
int
>
mustLine
=
new
List
<
int
>();
...
...
@@ -976,7 +976,7 @@ namespace OnlineStore.DeviceLibrary
{
if
(
mustLine
.
Contains
(
DeviceID
))
{
LogInfo
(
"
托盘需要横移到出料线:工单出
料,必须线"
+
""
+
param
.
ToStr
());
LogInfo
(
"
C1->出料线:工单
料,必须线"
+
""
+
param
.
ToStr
());
MoveInfo
.
MoveParam
=
param
;
return
true
;
}
...
...
@@ -985,7 +985,7 @@ namespace OnlineStore.DeviceLibrary
{
if
(
firstLine
.
Contains
(
DeviceID
)
)
{
LogInfo
(
"
托盘需要横移到出料线:工单出
料,优先线"
+
""
+
param
.
ToStr
());
LogInfo
(
"
C1->出料线:工单
料,优先线"
+
""
+
param
.
ToStr
());
MoveInfo
.
MoveParam
=
param
;
return
true
;
}
...
...
@@ -994,17 +994,34 @@ namespace OnlineStore.DeviceLibrary
TimeSpan
span
=
DateTime
.
Now
-
trayInfo
.
LastUpdateTime
;
if
(
span
.
TotalSeconds
>
300
)
{
LogInfo
(
"
托盘需要横移到出料线:工单出
料,超时五分钟"
+
""
+
param
.
ToStr
());
LogInfo
(
"
C1->出料线:工单
料,超时五分钟"
+
""
+
param
.
ToStr
());
MoveInfo
.
MoveParam
=
param
;
return
true
;
}
}
}
else
{
LogInfo
(
" 托盘需要横移到出料线:工单出料,随意放"
+
""
+
param
.
ToStr
());
MoveInfo
.
MoveParam
=
param
;
return
true
;
{
if
(
DeviceID
.
Equals
(
216
)
||
DeviceID
.
Equals
(
213
))
{
if
(
LastValue
<=
2
)
{
LogInfo
(
" C1->出料线:工单料,随意放"
+
LastValue
+
","
+
""
+
param
.
ToStr
());
LastValue
++;
MoveInfo
.
MoveParam
=
param
;
return
true
;
}
else
{
LastValue
=
0
;
}
}
else
{
LogInfo
(
" C1->出料线:工单料,随意放"
+
""
+
param
.
ToStr
());
MoveInfo
.
MoveParam
=
param
;
return
true
;
}
}
}
}
...
...
@@ -1016,8 +1033,8 @@ namespace OnlineStore.DeviceLibrary
}
return
false
;
}
private
int
LastValue
=
0
;
#
region
阻挡气缸处理
private
void
HY_StopCylinderUp
(
LineMoveInfo
moveinfo
=
null
)
...
...
source/DeviceLibrary/model/StoreStep.cs
查看文件 @
33e4772
...
...
@@ -646,29 +646,25 @@ namespace OnlineStore.DeviceLibrary
///上料完成,等待料架到达出口
/// </summary>
FI_58_WaitShelfGo
,
/// <summary>
/// 到达出口后再转动3秒
/// </summary>
FI_59_WaitTime
,
/// <summary>
///上料完成, 料架到达出口,线体横移电机停止
/// </summary>
FI_
59
_LineStop
,
FI_
60
_LineStop
,
/// <summary>
///上料完成, 料架到达出口,顶升气缸下降,定位气缸下降,
/// </summary>
FI_6
0
_TopDown
,
FI_6
1
_TopDown
,
/// <summary>
///上料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架
/// </summary>
FI_61_OutLineRun
,
/// <summary>
///上料完成, AGV到达,继续转动出口线体,送走出料料架,
/// </summary>
FI_62_OutLineRun
,
/// <summary>
///上料完成, 料架送出,
/// </summary>
FI_63_OutLineRun
,
#
endregion
#
region
入料装置出料处理,
2201
开始
...
...
@@ -820,29 +816,25 @@ namespace OnlineStore.DeviceLibrary
///出料完成, 等待料架离开定位工位
/// </summary>
FO_58_WaitShelfGo
,
/// <summary>
///出料完成, 再转动3秒后停止
/// </summary>
FO_59_WaitTime
,
/// <summary>
///出料完成, 料架到达出口,线体横移电机停止
/// </summary>
FO_
59
_LineStop
,
FO_
60
_LineStop
,
/// <summary>
///出料完成, 料架到达出口,顶升气缸下降,定位气缸下降,
/// </summary>
FO_6
0
_TopDown
,
FO_6
1
_TopDown
,
/// <summary>
///出料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架
/// </summary>
FO_61_OutLineRun
,
/// <summary>
///出料完成, AGV到达,继续转动出口线体,送走出料料架,
/// </summary>
FO_62_OutLineRun
,
/// <summary>
///出料完成, 料架送出,
/// </summary>
FO_63_OutLineRun
,
#
endregion
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论