Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO908-XLRStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3959b19b
由
LN
编写于
2021-08-22 14:10:47 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge branch 'master' of
http://106.15.194.121:8083/lina/SO908-XLRStore
2 个父辈
b6054b76
f6490380
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
147 行增加
和
21 行删除
source/DeviceLibrary/storeBean/boxBean/BoxEquip.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_InExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip.cs
查看文件 @
3959b19
...
@@ -589,43 +589,60 @@ namespace OnlineStore.DeviceLibrary
...
@@ -589,43 +589,60 @@ namespace OnlineStore.DeviceLibrary
private
DateTime
dtUpperA
=
DateTime
.
Now
;
private
DateTime
dtUpperA
=
DateTime
.
Now
;
private
DateTime
dtUpperB
=
DateTime
.
Now
;
private
DateTime
dtUpperB
=
DateTime
.
Now
;
private
DateTime
errUpperA
=
DateTime
.
Now
;
private
DateTime
errUpperB
=
DateTime
.
Now
;
private
DateTime
errUnderA
=
DateTime
.
Now
;
private
DateTime
errUnderB
=
DateTime
.
Now
;
int
SigLastTime
=
2
;
//5秒
int
SigLastTime
=
2
;
//5秒
protected
override
void
OnTimerProcess
()
protected
override
void
OnTimerProcess
()
{
{
if
(!
runStatus
.
Equals
(
RunStatus
.
Runing
))
if
(!
runStatus
.
Equals
(
RunStatus
.
Runing
))
return
;
return
;
TimeSpan
timeSpanA
=
DateTime
.
Now
-
dtUpperA
;
TimeSpan
timeSpanA
=
DateTime
.
Now
-
dtUpperA
;
TimeSpan
tsUppA
=
DateTime
.
Now
-
errUpperA
;
TimeSpan
tsUnA
=
DateTime
.
Now
-
errUnderA
;
TimeSpan
tsUppB
=
DateTime
.
Now
-
errUpperB
;
TimeSpan
tsUnB
=
DateTime
.
Now
-
errUnderB
;
int
errSeconds
=
10
;
if
(
IOValue
(
IO_Type
.
UpperArea_Check_A
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
AInStoreInfo
!=
null
)
if
(
IOValue
(
IO_Type
.
UpperArea_Check_A
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
AInStoreInfo
!=
null
)
{
{
SetWarnMsg
(
"A进料上暂存区有料盘,但信号未亮"
);
if
(
tsUppA
.
TotalSeconds
>
errSeconds
)
SetWarnMsg
(
"A进料上暂存区有料盘,但信号未亮"
);
}
}
else
else
{
{
ClearSpecifiedAlarm
(
"A进料上暂存区有料盘,但信号未亮"
);
ClearSpecifiedAlarm
(
"A进料上暂存区有料盘,但信号未亮"
);
errUpperA
=
DateTime
.
Now
;
}
}
if
(
IOValue
(
IO_Type
.
UnderArea_Check_A
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
AOutStoreInfo
!=
null
)
if
(
IOValue
(
IO_Type
.
UnderArea_Check_A
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
AOutStoreInfo
!=
null
)
{
{
SetWarnMsg
(
"A出料下暂存区有料盘,但信号未亮"
);
if
(
tsUnA
.
TotalSeconds
>
errSeconds
)
SetWarnMsg
(
"A出料下暂存区有料盘,但信号未亮"
);
}
}
else
else
{
{
ClearSpecifiedAlarm
(
"A出料下暂存区有料盘,但信号未亮"
);
ClearSpecifiedAlarm
(
"A出料下暂存区有料盘,但信号未亮"
);
errUnderA
=
DateTime
.
Now
;
}
}
if
(
IOValue
(
IO_Type
.
UpperArea_Check_B
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
BInStoreInfo
!=
null
)
if
(
IOValue
(
IO_Type
.
UpperArea_Check_B
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
BInStoreInfo
!=
null
)
{
{
SetWarnMsg
(
"B进料上暂存区有料盘,但信号未亮"
);
if
(
tsUppB
.
TotalSeconds
>
errSeconds
)
SetWarnMsg
(
"B进料上暂存区有料盘,但信号未亮"
);
}
}
else
else
{
{
ClearSpecifiedAlarm
(
"B进料上暂存区有料盘,但信号未亮"
);
ClearSpecifiedAlarm
(
"B进料上暂存区有料盘,但信号未亮"
);
errUpperB
=
DateTime
.
Now
;
}
}
if
(
IOValue
(
IO_Type
.
UnderArea_Check_B
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
BOutStoreInfo
!=
null
)
if
(
IOValue
(
IO_Type
.
UnderArea_Check_B
).
Equals
(
IO_VALUE
.
LOW
)
&&
BufferDataManager
.
BOutStoreInfo
!=
null
)
{
{
SetWarnMsg
(
"B出料下暂存区有料盘,但信号未亮"
);
if
(
tsUnB
.
TotalSeconds
>
errSeconds
)
SetWarnMsg
(
"B出料下暂存区有料盘,但信号未亮"
);
}
}
else
else
{
{
ClearSpecifiedAlarm
(
"B出料下暂存区有料盘,但信号未亮"
);
ClearSpecifiedAlarm
(
"B出料下暂存区有料盘,但信号未亮"
);
errUnderB
=
DateTime
.
Now
;
}
}
//检测A上暂存区是否有料盘
//检测A上暂存区是否有料盘
if
(
IOValue
(
IO_Type
.
UpperArea_Check_A
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
UpperArea_Check_A
).
Equals
(
IO_VALUE
.
HIGH
))
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_InExecute.cs
查看文件 @
3959b19
...
@@ -54,6 +54,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -54,6 +54,8 @@ namespace OnlineStore.DeviceLibrary
if
(!
AutoInout
.
autoNext
&&
!
InDoorCheck
(
param
))
if
(!
AutoInout
.
autoNext
&&
!
InDoorCheck
(
param
))
{
{
if
(
param
==
null
||
param
.
PosInfo
==
null
)
return
false
;
SetWarnMsg
(
Name
+
$
" 启动入库出错,入口料盘无入库信息[barcode={param.PosInfo.barcode},PosSide={param.PosInfo.GetPosSide()}], 任务取消"
);
SetWarnMsg
(
Name
+
$
" 启动入库出错,入口料盘无入库信息[barcode={param.PosInfo.barcode},PosSide={param.PosInfo.GetPosSide()}], 任务取消"
);
SServerManager
.
cancelPutInTask
(
Name
,
param
.
PosInfo
.
barcode
);
SServerManager
.
cancelPutInTask
(
Name
,
param
.
PosInfo
.
barcode
);
return
false
;
return
false
;
...
@@ -186,9 +188,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -186,9 +188,16 @@ namespace OnlineStore.DeviceLibrary
break
;
break
;
case
StepEnum
.
SI_03_VerifyBufferState
:
case
StepEnum
.
SI_03_VerifyBufferState
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_04_InOutToBuff
);
if
(!
CheckInputMiddleAxisInBuff
())
LogInfo
(
$
"入库 {MoveInfo.SLog}:移栽X轴到暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
{
XAxis_To_P2
();
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_04_InOutToBuff
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:移栽X轴到暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
XAxis_To_P2
();
}
else
if
(
MoveInfo
.
IsTimeOut
())
{
SetWarnMsg
(
$
"等待上料机构旋转轴离开{MoveInfo.MoveParam.PosInfo.GetPosSide()}面暂存区超时"
);
}
break
;
break
;
case
StepEnum
.
SI_04_InOutToBuff
:
case
StepEnum
.
SI_04_InOutToBuff
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_05_GetReel
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_05_GetReel
);
...
@@ -322,9 +331,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -322,9 +331,9 @@ namespace OnlineStore.DeviceLibrary
if
(!
CheckInStoreOtherSideInfo
())
if
(!
CheckInStoreOtherSideInfo
())
{
{
SetBoxStatus
(
DeviceStatus
.
StoreOnline
,
RunStatus
.
Runing
);
SetBoxStatus
(
DeviceStatus
.
StoreOnline
,
RunStatus
.
Runing
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:入库结束[{MoveInfo.MoveParam.PosInfo.PosId}][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
AutoInout
.
InOutEndProcess
(
this
,
MoveType
.
InStore
);
AutoInout
.
InOutEndProcess
(
this
,
MoveType
.
InStore
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:入库结束[{MoveInfo.MoveParam.PosInfo.PosId}][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
}
}
else
else
{
{
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
查看文件 @
3959b19
...
@@ -201,9 +201,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -201,9 +201,16 @@ namespace OnlineStore.DeviceLibrary
}
}
break
;
break
;
case
StepEnum
.
SO_16_VerifyBufferState
:
case
StepEnum
.
SO_16_VerifyBufferState
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_17_InOutToBuff
);
if
(!
CheckInputMiddleAxisInBuff
())
LogInfo
(
$
"出库 {MoveInfo.SLog}:移栽X轴到进出料暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
{
XAxis_To_P2
();
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_17_InOutToBuff
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:移栽X轴到进出料暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
XAxis_To_P2
();
}
else
{
SetWarnMsg
(
$
"等待上料机构旋转轴离开{MoveInfo.MoveParam.PosInfo.GetPosSide()}面暂存区超时"
);
}
break
;
break
;
case
StepEnum
.
SO_17_InOutToBuff
:
case
StepEnum
.
SO_17_InOutToBuff
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_18_PutReel
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_18_PutReel
);
...
@@ -216,10 +223,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -216,10 +223,10 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_19_InOutBackFromBuff
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_19_InOutBackFromBuff
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
XAxis_To_P1
();
XAxis_To_P1
();
//出库料盘放置成功,将料盘信息写入对应出料口
SetReelInfoToBuff
();
break
;
break
;
case
StepEnum
.
SO_19_InOutBackFromBuff
:
case
StepEnum
.
SO_19_InOutBackFromBuff
:
//出库料盘放置成功,将料盘信息写入对应出料口
SetReelInfoToBuff
();
if
(
MoveInfo
.
MoveParam
.
PosInfoBack
==
null
)
if
(
MoveInfo
.
MoveParam
.
PosInfoBack
==
null
)
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_20_Finish
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_20_Finish
);
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
查看文件 @
3959b19
...
@@ -19,16 +19,109 @@ namespace OnlineStore.DeviceLibrary
...
@@ -19,16 +19,109 @@ namespace OnlineStore.DeviceLibrary
{
{
return
false
;
return
false
;
}
}
/// <summary>
//public bool InputMiddleAxisCanMove()
/// 判断旋转轴是否在暂存区,返回true表示在暂存区
/// </summary>
/// <param name="areaNum">1=A上暂存区,2=A下暂存区,3=B上暂存区,4=B下暂存区</param>
/// <returns></returns>
//public bool AxisInWorkingArea()
//{
//{
// if()
// int updownP = UpdownAxis.GetAclPosition();
// int xP = XAxis_A.GetAclPosition();
// int middleWucha = 20000;
// int updownWucha = 20000;
// //旋转轴在A暂存区
// if (UpdownAxis.GetAclPosition() >= (Config.Updown_P5 - axisDiff) && UpdownAxis.GetAclPosition() <= (Config.Updown_P4 + axisDiff))
// {
// }
// if (MiddleAxis.IsInPosition(Config.Middle_P4_AUpper, middleWucha) || MiddleAxis.IsInPosition(Config.Middle_P7_AUnder, middleWucha))
// {
// //如果升降轴低于下方高点
// if (updownP > Config.Updown_P6_AUnderH - updownWucha)
// {
// //在A下暂存区
// if (areaNum == 2)
// {
// return true;
// }
// }
// //升降轴高于上方低点
// else if (updownP < Config.Updown_P5_AUpperL + updownWucha)
// {
// if (areaNum == 1)
// {
// return true;
// }
// }
// else
// {
// if (areaNum == 1 || areaNum == 2)
// {
// return true;
// }
// }
// }
// else if (MiddleAxis.IsInPosition(Config.Middle_P5_BUpper, middleWucha) || MiddleAxis.IsInPosition(Config.Middle_P8_BUnder, middleWucha))
// {
// //如果升降轴低于下方高点
// if (updownP > Config.Updown_P12_BUnderH - updownWucha)
// {
// if (areaNum == 4)
// {
// return true;
// }
// }
// //升降轴高于上方低点
// else if (updownP < Config.Updown_P11_BUpperL + updownWucha)
// {
// if (areaNum == 3)
// {
// return true;
// }
// }
// else
// {
// if (areaNum == 3 || areaNum == 4)
// {
// return true;
// }
// }
// }
// return false;
// return false;
//}
//}
//public bool CheckInputMiddleAxisInSafe()
/// <summary>
//{
/// 1=A上入库料暂存区,2=A下出库料暂存区,3=B上入库暂存区,4=B下出库暂存区
// StoreManager.XLRStore.inputEquip.axiswo
/// </summary>
//}
/// <returns></returns>
public
bool
CheckInputMiddleAxisInBuff
()
{
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
InStore
))
{
if
(
CheckASide
())
{
return
StoreManager
.
XLRStore
.
inputEquip
.
AxisInWorkingArea
(
1
);
}
else
{
return
StoreManager
.
XLRStore
.
inputEquip
.
AxisInWorkingArea
(
3
);
}
}
else
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
OutStore
))
{
if
(
CheckASide
())
{
return
StoreManager
.
XLRStore
.
inputEquip
.
AxisInWorkingArea
(
2
);
}
else
{
return
StoreManager
.
XLRStore
.
inputEquip
.
AxisInWorkingArea
(
4
);
}
}
return
true
;
}
/// <summary>
/// <summary>
/// 忽略相机检测到的抽屉误差误差
/// 忽略相机检测到的抽屉误差误差
/// </summary>
/// </summary>
...
@@ -233,7 +326,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -233,7 +326,7 @@ namespace OnlineStore.DeviceLibrary
{
{
XAxis_B
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
MoveP
.
XAxis_AB_P3
,
Config
.
XAxis_B_P3_Speed
);
XAxis_B
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
MoveP
.
XAxis_AB_P3
,
Config
.
XAxis_B_P3_Speed
);
}
}
}
}
/// <summary>
/// <summary>
/// AB面移栽X轴到待机点
/// AB面移栽X轴到待机点
/// </summary>
/// </summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论