Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3806a146
由
LN
编写于
2020-04-11 15:37:58 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
出库时未读到料架号,直接送出料架
1 个父辈
2cb0822d
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
43 行增加
和
55 行删除
source/ACPackingStore/FrmBox.cs
source/ACPackingStore/记录.txt
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
source/DeviceLibrary/store/InOutParam.cs
source/ACPackingStore/FrmBox.cs
查看文件 @
3806a14
...
@@ -155,15 +155,18 @@ namespace OnlineStore.ACPackingStore
...
@@ -155,15 +155,18 @@ namespace OnlineStore.ACPackingStore
lblWarnMsg
.
Text
=
BoxBean
.
GetWarnMsg
();
lblWarnMsg
.
Text
=
BoxBean
.
GetWarnMsg
();
lblMoveInfo
.
Text
=
BoxBean
.
GetMoveStr
();
lblMoveInfo
.
Text
=
BoxBean
.
GetMoveStr
();
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
||
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
))
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
lblMoveEquipInfo
.
Text
=
"入库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToShortStr
();
}
else
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
)
{
{
lblMoveEquipInfo
.
Text
=
"出库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToShortStr
();
lblMoveEquipInfo
.
Text
=
"入库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToShortStr
();
}
}
else
else
{
{
lblMoveEquipInfo
.
Text
=
""
;
lblMoveEquipInfo
.
Text
=
""
;
// lblMoveEquipInfo.Text = "";
// lblMoveEquipInfo.Text = "";
}
}
//ReadPosistion();
//ReadPosistion();
if
(
BoxBean
.
storeRunStatus
>
StoreRunStatus
.
Wait
)
if
(
BoxBean
.
storeRunStatus
>
StoreRunStatus
.
Wait
)
...
...
source/ACPackingStore/记录.txt
查看文件 @
3806a14
...
@@ -109,7 +109,7 @@ BoxConfig_1.csv 和 BoxConfig_2.csv 需要增加一行配置:
...
@@ -109,7 +109,7 @@ BoxConfig_1.csv 和 BoxConfig_2.csv 需要增加一行配置:
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
20200410
修改问题:
修改问题:
料架号不一致,送出料架时料架信息使用上次的。
料架号不一致,送出料架时料架信息使用上次的。
出库时发现料架对不上,送出料架时发的mark应该用原来的
出库时发现料架对不上,送出料架时发的mark应该用原来的
...
@@ -118,7 +118,7 @@ PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P
...
@@ -118,7 +118,7 @@ PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P
agv到达时,根据rfid判断是否有料架
agv到达时,根据rfid判断是否有料架
出库时未读到料架号,直接送出料架
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
3806a14
...
@@ -995,17 +995,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -995,17 +995,6 @@ namespace OnlineStore.DeviceLibrary
{
{
//判断是否需要送出料架
//判断是否需要送出料架
bool
isNeedSend
=
false
;
bool
isNeedSend
=
false
;
//包装料料仓料架=A
//if (AutoInout.autoNext)
//{
// InOutStoreLog("出库完成,自动出入库启动中,不需要送出料架");
// isNeedSend = false;
//}
//else if (EmprtShelfList.Count <= 0)
//{
// InOutStoreLog("出库完成,料架【" + CurrShelfID + "】没有剩余位置,送出料架");
// isNeedSend = true;
//}
string
logName
=
"【"
+
CurrShelfID
+
"】【"
+
GetLastRfid
()
+
"】"
;
string
logName
=
"【"
+
CurrShelfID
+
"】【"
+
GetLastRfid
()
+
"】"
;
//只有rfid不为空才需要送出料架
//只有rfid不为空才需要送出料架
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
查看文件 @
3806a14
...
@@ -27,7 +27,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -27,7 +27,7 @@ namespace OnlineStore.DeviceLibrary
private
void
ShelfEnterProcess
()
private
void
ShelfEnterProcess
()
{
{
string
mark
=
GetMarkInfo
();
string
mark
=
GetMarkInfo
();
string
moveName
=
"入库料架["
+
mark
+
"]"
;
string
moveName
=
"入库料架["
+
CurrShelfID
+
"]"
;
bool
instoreShelf
=
true
;
bool
instoreShelf
=
true
;
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
{
...
@@ -70,7 +70,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -70,7 +70,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_04_WaitTakeSingle
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_04_WaitTakeSingle
))
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_05_LineStop
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_05_LineStop
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"调用Agv
Client.
FinishEnter,取料位检测到信号,停止线体正转"
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"调用Agv
"
+
Config
.
AgvNodeName
+
"
FinishEnter,取料位检测到信号,停止线体正转"
);
LineStop
();
LineStop
();
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
mark
,
""
,
ClientAction
.
FinishEnter
,
ClientLevel
.
High
,
true
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
mark
,
""
,
ClientAction
.
FinishEnter
,
ClientLevel
.
High
,
true
);
...
@@ -106,14 +106,34 @@ namespace OnlineStore.DeviceLibrary
...
@@ -106,14 +106,34 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_07_LineRun
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_07_LineRun
))
{
{
LineStop
();
LineStop
();
UpdateShelfId
();
//如果未读到料架号,将料架送出
if
(
CurrShelfID
.
EndsWith
(
"00"
)
&&
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
LogInfo
(
" 执行出库【"
+
MoveInfo
.
MoveParam
.
ToStr
()
+
"】失败,料架号["
+
CurrShelfID
+
"]无效,加入等待队列"
);
waitOutStoreList
.
Enqueue
(
MoveInfo
.
MoveParam
);
LogUtil
.
error
(
Name
+
"出库 料架号["
+
CurrShelfID
+
"]无效,送出料架,稍后重新出库"
);
MoveInfo
.
MoveParam
.
rfid
=
CurrShelfID
;
//送出料架,并且记录出库信息,等会重新出库
StartShelfOut
();
return
;
}
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_08_LocationUp
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_08_LocationUp
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"停止线体,读取料架
号
,设置"
+
Config
.
AgvNodeName
+
"=None"
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"停止线体,读取料架
"
+
CurrShelfID
+
"
,设置"
+
Config
.
AgvNodeName
+
"=None"
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
if
(!
instoreShelf
)
if
(!
instoreShelf
)
{
{
// LastRfidID = MoveInfo.MoveParam.rfid;
if
(
MoveInfo
.
MoveParam
.
ShelfPosID
.
Equals
(
""
))
{
MoveInfo
.
MoveParam
.
UpdateShelfPosId
(
ShelfPosList
[
0
]);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": ShelfPosID未设置,默认ShelfPosID="
+
MoveInfo
.
MoveParam
.
ShelfPosID
);
}
// LastRfidID = MoveInfo.MoveParam.rfid;
LastOutParam
=
MoveInfo
.
MoveParam
;
LastOutParam
=
MoveInfo
.
MoveParam
;
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子进入库位中, 进出轴至P3(库位取放料点) "
);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子进入库位中, 进出轴至P3(库位取放料点) "
);
ACAxisMove
(
Config
.
InOut_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
...
@@ -123,7 +143,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -123,7 +143,6 @@ namespace OnlineStore.DeviceLibrary
LastOutParam
=
new
InOutParam
();
LastOutParam
=
new
InOutParam
();
// LastRfidID = "";
// LastRfidID = "";
}
}
UpdateShelfId
();
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_08_LocationUp
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_08_LocationUp
))
{
{
...
@@ -180,15 +199,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -180,15 +199,20 @@ namespace OnlineStore.DeviceLibrary
private
string
GetMarkInfo
(
string
defualtMark
=
""
)
private
string
GetMarkInfo
(
string
defualtMark
=
""
)
{
{
string
mark
=
defualtMark
;
string
mark
=
defualtMark
;
//如果料架号是空,需要送到VMI线
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
{
if
(
CurrShelfID
.
EndsWith
(
"00"
))
{
mark
=
defualtMark
;
}
//包装料会发往分盘区, 紧急料区, 包装线区
//包装料会发往分盘区, 紧急料区, 包装线区
// urgentReel 这个为true是紧急料 出到紧急料区
// urgentReel 这个为true是紧急料 出到紧急料区
// cutReel 为true是分盘料,AGV会拉到到分盘区
// cutReel 为true是分盘料,AGV会拉到到分盘区
//料串会发到分盘区和紧急料区
//料串会发到分盘区和紧急料区
//两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区
//两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区
if
(
MoveInfo
.
MoveParam
.
urgentReel
)
else
if
(
MoveInfo
.
MoveParam
.
urgentReel
)
{
{
//紧急料,需要到紧急料区
//紧急料,需要到紧急料区
mark
=
MoveInfo
.
MoveParam
.
rfid
+
",urgent"
;
mark
=
MoveInfo
.
MoveParam
.
rfid
+
",urgent"
;
...
@@ -205,35 +229,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -205,35 +229,7 @@ namespace OnlineStore.DeviceLibrary
}
}
return
mark
;
return
mark
;
}
}
//private void LogCPU()
//{
// try
// {
// Process[] processes = Process.GetProcesses();
// long totalMemery = 0;
// StringBuilder sbResult = new StringBuilder();
// int interval = 1000;
// var prevCpuTime = TimeSpan.Zero;
// foreach (Process process in processes)
// {
// if (process.ProcessName.EndsWith("ACPackingStore"))
// {
// sbResult.AppendFormat(DateTime.Now.ToLongTimeString() + Name+ ", 名称:{0} 内存:{1}M ", process.ProcessName, process.PrivateMemorySize64 / 1024 / 1024F);
// totalMemery += process.PrivateMemorySize64 / 1024;
// double value = (process.TotalProcessorTime - prevCpuTime).TotalMilliseconds / interval / Environment.ProcessorCount;
// sbResult.AppendFormat(" CPU : " + Math.Round(value, 2) + "%");
// // string result = string.Format("进程总数 {0} 个,共占内存:{1}MB \n", processes.Length, totalMemery / 1024) + sbResult.ToString();
// LogUtil.info(sbResult.ToString());
// }
// }
// }
// catch (Exception ex)
// {
// LogUtil.error("LogM Error: " + ex.ToString());
// }
//}
private
void
ShelfOutProcess
()
private
void
ShelfOutProcess
()
{
{
string
mark
=
GetMarkInfo
();
string
mark
=
GetMarkInfo
();
...
...
source/DeviceLibrary/store/InOutParam.cs
查看文件 @
3806a14
...
@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary
}
}
public
string
ToShortStr
()
public
string
ToShortStr
()
{
{
return
"
["
+
PosID
+
"]["
+
ShelfPosID
+
"]["
+
PlateW
+
"x"
+
PlateH
+
"]["
+
WareCode
+
"]"
;
return
"
["
+
rfid
+
"]
["
+
PosID
+
"]["
+
ShelfPosID
+
"]["
+
PlateW
+
"x"
+
PlateH
+
"]["
+
WareCode
+
"]"
;
}
}
internal
void
UpdateShelfPosId
(
string
pId
)
internal
void
UpdateShelfPosId
(
string
pId
)
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论