Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4b8e2868
由
张东亮
编写于
2023-04-06 10:28:49 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
添加空包装料架检测
1 个父辈
992e9594
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
50 行增加
和
22 行删除
source/DeviceLibrary/PackingStore/AC_BOX_Bean_InStore.cs
source/DeviceLibrary/PackingStore/AC_BOX_Bean_Partial.cs
source/DeviceLibrary/PackingStore/AC_BOX_Bean_Shelf.cs
source/DeviceLibrary/PackingStore/PackingStoreBean.cs
source/DeviceLibrary/PackingStore/StoreManager.cs
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
source/DeviceLibrary/PackingStore/AC_BOX_Bean_InStore.cs
查看文件 @
4b8e286
...
@@ -182,7 +182,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -182,7 +182,12 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
if
(
MoveInfo
.
NextShelfPos
())
if
(
CheckShelfIsEmpty
())
{
InOutStoreLog
(
"检测到料架为空,送出料架"
);
StartShelfOut
();
}
else
if
(
MoveInfo
.
NextShelfPos
())
{
{
//新的料架库位
//新的料架库位
startInStoreTime
=
DateTime
.
Now
;
startInStoreTime
=
DateTime
.
Now
;
...
@@ -195,6 +200,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -195,6 +200,7 @@ namespace OnlineStore.DeviceLibrary
else
else
{
{
//所有料盘已取料完成,送出料架
//所有料盘已取料完成,送出料架
InOutStoreLog
(
"所有料盘已取料完成,送出料架"
);
StartShelfOut
();
StartShelfOut
();
}
}
}
}
...
...
source/DeviceLibrary/PackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
4b8e286
...
@@ -45,6 +45,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -45,6 +45,14 @@ namespace OnlineStore.DeviceLibrary
return
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)
&&
(
MoveInfo
?.
MoveType
.
Equals
(
StoreMoveType
.
None
)
??
false
);
return
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)
&&
(
MoveInfo
?.
MoveType
.
Equals
(
StoreMoveType
.
None
)
??
false
);
}
}
/// <summary>
/// <summary>
/// 检查料架是否是空料架
/// </summary>
/// <returns></returns>
bool
CheckShelfIsEmpty
()
{
return
IOValue
(
IO_Type
.
EmptyShelf_Check
).
Equals
(
IO_VALUE
.
HIGH
);
}
/// <summary>
/// 获取料架备注
/// 获取料架备注
/// 包含料信息
/// 包含料信息
/// </summary>
/// </summary>
...
...
source/DeviceLibrary/PackingStore/AC_BOX_Bean_Shelf.cs
查看文件 @
4b8e286
...
@@ -184,6 +184,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -184,6 +184,13 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
instoreShelf
)
if
(
instoreShelf
)
{
{
if
(
CheckShelfIsEmpty
())
//空料架
{
LogRunStepInfo
(
moveName
+
"检测到料架为空料架,不进行入库,即将送出料架"
);
StartShelfOut
();
}
else
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_10_StartGetTray
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_10_StartGetTray
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
((
int
)
TimeSpan
.
FromMinutes
(
75
).
TotalMilliseconds
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
((
int
)
TimeSpan
.
FromMinutes
(
75
).
TotalMilliseconds
));
//获取料架的锁定状态
//获取料架的锁定状态
...
@@ -205,14 +212,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -205,14 +212,16 @@ namespace OnlineStore.DeviceLibrary
}
}
MoveInfo
.
EndStepWait
();
MoveInfo
.
EndStepWait
();
}
}
}
else
else
{
{
//if (string.IsNullOrEmpty(StoreManager.FindRealRfidByTempRfid(MoveInfo.MoveParam.rfid)))
if
(
string
.
IsNullOrEmpty
(
StoreManager
.
FindRealRfidByTempRfid
(
MoveInfo
.
MoveParam
.
rfid
))
//{
&&
!
CheckShelfIsEmpty
())
//还未出库的料架检查是否是空料架
// //新料架,检查料架上是否有治具
{
// MoveInfo.NextMoveStep(StoreMoveStep.SO_PreCheck_01_StartGetTray);
LogRunStepInfo
(
moveName
+
"未使用的出库料架检测到料架不为空,即将送出料架"
);
//}
StartShelfOut
();
//else
}
else
{
{
SO_03_ToBagPosition
();
SO_03_ToBagPosition
();
}
}
...
...
source/DeviceLibrary/PackingStore/PackingStoreBean.cs
查看文件 @
4b8e286
...
@@ -219,7 +219,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -219,7 +219,7 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus
=
StoreRunStatus
.
Wait
;
storeRunStatus
=
StoreRunStatus
.
Wait
;
// RFIDManager.Close();
// RFIDManager.Close();
TimeSpan
span
=
DateTime
.
Now
-
StartTime
;
TimeSpan
span
=
DateTime
.
Now
-
StartTime
;
LogUtil
.
info
(
Name
+
",停止运行,关闭rfid,总运行时间:"
+
span
.
ToString
());
LogUtil
.
info
(
Name
+
",停止运行,关闭rfid,总运行时间:"
+
span
.
ToString
());
}
}
#
region
灯光处理
#
region
灯光处理
...
@@ -261,6 +261,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -261,6 +261,10 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
);
}
}
}
}
else
if
(
isInOut
)
{
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
);
}
else
else
{
{
if
(
IsDoValue
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
))
if
(
IsDoValue
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
))
...
@@ -268,25 +272,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -268,25 +272,20 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
}
}
}
}
if
(
alarmType
.
Equals
(
StoreAlarmType
.
None
).
Equals
(
false
)
||
isNoAirCheck
||
isInSuddenDown
)
if
(
alarmType
.
Equals
(
StoreAlarmType
.
None
).
Equals
(
false
)
||
isNoAirCheck
||
isInSuddenDown
)
{
{
isNeedAlarmLed
=
true
;
isNeedAlarmLed
=
true
;
}
}
//忙碌中,判断是否有移栽在出入库执行
,绿灯闪烁
//忙碌中,判断是否有移栽在出入库执行
绿灯灭
if
(
isInOut
)
if
(
isInOut
)
{
{
if
(
IsDoValue
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
))
{
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
}
else
{
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
}
}
}
else
else
if
(
IsDoValue
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
))
{
{
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
}
}
//报警中 ,红灯闪烁
//报警中 ,红灯闪烁
...
@@ -370,7 +369,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -370,7 +369,7 @@ namespace OnlineStore.DeviceLibrary
foreach
(
AC_BOX_Bean
box
in
this
.
BoxMap
.
Values
)
foreach
(
AC_BOX_Bean
box
in
this
.
BoxMap
.
Values
)
{
{
if
((
box
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
HomeMoving
)
||
box
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Reset
))
)
if
((
box
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
HomeMoving
)
||
box
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Reset
)))
//if ((box.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || box.storeRunStatus.Equals(StoreRunStatus.Reset)) && box.IsDebug.Equals(false))
//if ((box.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || box.storeRunStatus.Equals(StoreRunStatus.Reset)) && box.IsDebug.Equals(false))
{
{
if
(
box
.
alarmType
.
Equals
(
StoreAlarmType
.
None
))
if
(
box
.
alarmType
.
Equals
(
StoreAlarmType
.
None
))
...
@@ -431,7 +430,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -431,7 +430,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
box
.
Config
.
AgvNodeName
.
Equals
(
name
))
if
(
box
.
Config
.
AgvNodeName
.
Equals
(
name
))
{
{
return
box
.
ProcessAGVAction
(
name
,
rfid
,
action
);
return
box
.
ProcessAGVAction
(
name
,
rfid
,
action
);
}
}
}
}
return
false
;
return
false
;
...
...
source/DeviceLibrary/PackingStore/StoreManager.cs
查看文件 @
4b8e286
...
@@ -563,7 +563,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -563,7 +563,7 @@ namespace OnlineStore.DeviceLibrary
///
///
/// </summary>
/// </summary>
/// <param name="tempRfid"></param>
/// <param name="tempRfid"></param>
/// <returns>"":未找到真实料架,即
改
任务还未出库</returns>
/// <returns>"":未找到真实料架,即
该
任务还未出库</returns>
public
static
string
FindRealRfidByTempRfid
(
string
tempRfid
)
public
static
string
FindRealRfidByTempRfid
(
string
tempRfid
)
{
{
string
msg
=
""
;
string
msg
=
""
;
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
4b8e286
...
@@ -3,6 +3,7 @@ DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
...
@@ -3,6 +3,7 @@ DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
DI,L侧线体空料架检测,EmptyShelf_Check,7,PRO_AOI_IP_1,0,线体空料架检测1,X08,DI-08,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
,,,,,,,,,,
,,,,,,,,,,
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
查看文件 @
4b8e286
...
@@ -3,6 +3,7 @@ DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
...
@@ -3,6 +3,7 @@ DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DI,R侧线体空料架检测,EmptyShelf_Check,8,PRO_AOI_IP_1,0,线体空料架检测2,X09,DI-09,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
DO,NG料线体电机反转,NGLine_BackRun,5,PRO_AOI_IP_1,0,NG料线体电机反转,Y06,DO-06,0,
,,,,,,,,,,
,,,,,,,,,,
...
...
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
查看文件 @
4b8e286
...
@@ -48,6 +48,10 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -48,6 +48,10 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
/// </summary>
public
static
string
DoorLimit
=
"DoorLimit"
;
public
static
string
DoorLimit
=
"DoorLimit"
;
/// <summary>
/// <summary>
/// DI,L侧线体空料架检测,EmptyShelf_Check,7,PRO_AOI_IP_1,0,线体空料架检测1,X08,DI-08,0,
/// </summary>
public
static
string
EmptyShelf_Check
=
"EmptyShelf_Check"
;
/// <summary>
/// DI L侧料盘检测1(识别区) TrayCheck_1 0 X21 DI-21
/// DI L侧料盘检测1(识别区) TrayCheck_1 0 X21 DI-21
/// </summary>
/// </summary>
public
static
string
TrayCheck_1
=
"TrayCheck_1"
;
public
static
string
TrayCheck_1
=
"TrayCheck_1"
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论