Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
DoubleLineClient_3D
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 6660d2b8
由
张东亮
编写于
2022-08-27 15:52:03 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
20220827
1 个父辈
3351fb59
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
110 行增加
和
55 行删除
source/DeviceLibrary/bean/RobotBase.cs
source/DeviceLibrary/doubleLine/DoubleLineBean.cs
source/DeviceLibrary/doubleLine/DoubleLineBean_S1Shelf.cs
source/DeviceLibrary/doubleLine/DoubleLineBean_lineShelf.cs
source/DeviceLibrary/packageLine/PackageLine_BenQInShelf.cs
source/DoubleLineClient_3D/FrmDoubleClient.cs
source/DeviceLibrary/bean/RobotBase.cs
查看文件 @
6660d2b
...
...
@@ -207,7 +207,11 @@ namespace OnlineStore.DeviceLibrary
//if (wait.IsDO)
//{
// if (IOManager.DOValue(wait.IoType).Equals(wait.IoValue).Equals(false))
// {
// IOMove(wait.IoType, wait.IoValue);
// LogInfo(" [" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]重写DO: " + wait.ToStr());
// }
//}
TimeSpan
rwSpan
=
DateTime
.
Now
-
preRWTime
;
...
...
source/DeviceLibrary/doubleLine/DoubleLineBean.cs
查看文件 @
6660d2b
...
...
@@ -117,7 +117,6 @@ namespace OnlineStore.DeviceLibrary
private
void
ReturnHome
()
{
LHighProcess
=
false
;
LowProcess
=
false
;
S1_ShelfTask
=
new
ShelfTaskInfo
();
S2CanGetShelf
=
true
;
needNewShelf
=
""
;
...
...
@@ -387,10 +386,10 @@ namespace OnlineStore.DeviceLibrary
{
//LeftRobot.TimerProcess();
//RightRobot.TimerProcess();
ShelfCheckPro
();
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
//WorkShelfCheck();
ShelfCheckPro
();
}
else
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
LTransWork2Buf
))
{
...
...
@@ -477,11 +476,11 @@ namespace OnlineStore.DeviceLibrary
if
(!
io
.
Equals
(
preStop
))
{
preStop
=
io
;
LogUtil
.
info
(
$
"
右下层
信号(LLow_StopCylinder2)变化为{io.ToString()}"
);
LogUtil
.
info
(
$
"
左下层出口阻挡
信号(LLow_StopCylinder2)变化为{io.ToString()}"
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
$
"
右下层
信号(LLow_StopCylinder2)变化监测出错"
,
ex
);
LogUtil
.
error
(
$
"
左下层出口阻挡
信号(LLow_StopCylinder2)变化监测出错"
,
ex
);
}
DateTime
time
=
DateTime
.
Now
;
...
...
source/DeviceLibrary/doubleLine/DoubleLineBean_S1Shelf.cs
查看文件 @
6660d2b
...
...
@@ -225,12 +225,12 @@ namespace OnlineStore.DeviceLibrary
{
if
(
needNewShelf
.
EndsWith
(
Static_String
.
BigShelf_RFID_Prefix
)
||
needNewShelf
.
StartsWith
(
Static_String
.
BigShelf_RFID_Prefix
))
{
if
(
IOManager
.
IOValue
(
IO_Type
.
LLow_StopCheck2
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOManager
.
IOValue
(
IO_Type
.
LLow_StopCheck2
).
Equals
(
IO_VALUE
.
LOW
))
{
SOneMoveInfo
.
NextMoveStep
(
MoveStep
.
S1_NewShelf
);
return
;
}
LogUtil
.
info
(
"双层线_S1"
+
AllTaskInfo
.
ToStr
()
+
"S1需要新料架【"
+
needNewShelf
+
"】,等待 LLow_StopCheck
3
"
);
LogUtil
.
info
(
"双层线_S1"
+
AllTaskInfo
.
ToStr
()
+
"S1需要新料架【"
+
needNewShelf
+
"】,等待 LLow_StopCheck
2=HIGH
"
);
//放一个C料架
SOneMoveInfo
.
NewMove
(
LineMoveType
.
S1Shelf
,
MoveStep
.
S1_C01_GetC
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LLow_StopCheck2
,
IO_VALUE
.
HIGH
));
...
...
@@ -279,10 +279,10 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
LLown_LineRun
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
HIGH
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LeftStopCylinder
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_RightStopCylinder
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LLown_LineRun
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LeftStopCylinder
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_RightStopCylinder
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LLown_LineRun
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
HIGH
,
true
));
// SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck3, IO_VALUE.LOW));
CheckAndMove
(
IO_Type
.
S1_PosStopCylinder
,
IO_VALUE
.
LOW
);
...
...
@@ -310,7 +310,6 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_C04_DToLeft
))
{
IOMove
(
IO_Type
.
LLown_LineRun
,
IO_VALUE
.
LOW
);
if
(
S1_CurrShelfId
.
Equals
(
""
))
{
SOneMoveInfo
.
NextMoveStep
(
MoveStep
.
S1_C06_SaveLeft
);
...
...
@@ -350,10 +349,18 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_C07_ToS1
))
{
if
(
SOneMoveInfo
.
IsTimeOut
(
15
))
{
S1LineRun
(
SOneMoveInfo
);
}
else
{
IOMove
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
LOW
);
S1_WaitTopUp
();
}
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_D10_GetD
))
{
...
...
@@ -392,7 +399,8 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
HIGH
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
HIGH
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LeftStopCheck
,
IO_VALUE
.
HIGH
));
}
else
...
...
@@ -404,7 +412,7 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
M_LineBackRun
,
IO_VALUE
.
HIGH
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
HIGH
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
HIGH
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_RightStopCheck
,
IO_VALUE
.
HIGH
));
}
}
...
...
@@ -425,16 +433,16 @@ namespace OnlineStore.DeviceLibrary
{
IOMove
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
LOW
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
LOW
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
LOW
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
LOW
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
LOW
,
true
));
}
else
{
IOMove
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
M_LineBackRun
,
IO_VALUE
.
LOW
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
LOW
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineBackRun
,
IO_VALUE
.
LOW
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
LOW
,
true
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
M_LineBackRun
,
IO_VALUE
.
LOW
,
true
));
}
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
}
...
...
@@ -512,9 +520,16 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_D19_ToS1
))
{
if
(
SOneMoveInfo
.
IsTimeOut
(
15
))
{
S1LineRun
(
SOneMoveInfo
);
}
else
{
IOMove
(
IO_Type
.
M_LineRun
,
IO_VALUE
.
LOW
);
S1_WaitTopUp
();
}
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_21_WaitShelf
))
{
S1_23_TopUpToReady
();
...
...
@@ -588,17 +603,26 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_32_LeftToS1
))
{
if
(
SOneMoveInfo
.
IsTimeOut
(
15
))
{
S1LineRun
(
SOneMoveInfo
);
}
else
{
SOneMoveInfo
.
NextMoveStep
(
MoveStep
.
S1_33_LeftOnS1
);
S1Log
(
" 左->S1切换 :"
+
LeftSName
+
"到达S1,停止链条转动,等待500后顶升"
);
S1_CurrShelfId
=
S1_LeftShelfId
;
S1_LeftShelfId
=
""
;
S1LineStop
(
SOneMoveInfo
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
}
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_33_LeftOnS1
))
{
S1Log
(
" 左->S1切换 :"
+
LeftSName
+
"到达S1"
);
S1_WaitTopUp
();
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_40_WaitS1ToLeft
))
{
...
...
@@ -652,10 +676,18 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_44_RightToS1
))
{
if
(
SOneMoveInfo
.
IsTimeOut
(
15
))
{
S1BackRun
();
}
else
{
SOneMoveInfo
.
NextMoveStep
(
MoveStep
.
S1_44_WaitShelfInS1
);
S1Log
(
" 右->S1切换 :等待"
+
RightSName
+
"完全在S1"
);
SOneMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
S1_NegStopCheck
,
IO_VALUE
.
HIGH
));
}
}
else
if
(
SOneMoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
S1_44_WaitShelfInS1
))
{
S1_CurrShelfId
=
S1_RightShelfId
;
...
...
source/DeviceLibrary/doubleLine/DoubleLineBean_lineShelf.cs
查看文件 @
6660d2b
...
...
@@ -28,11 +28,6 @@ namespace OnlineStore.DeviceLibrary
private
bool
ROutProcess
=
false
;
private
void
ShelfCheckPro
()
{
//左侧轨道
if
(
IOValue
(
IO_Type
.
LHigh_StopCheck1
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOValue
(
IO_Type
.
LLow_StopCheck1
).
Equals
(
IO_VALUE
.
HIGH
))
{
//料架满
}
if
(
IOValue
(
IO_Type
.
LHigh_StopCheck2
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
LHigh_StopCylinder2
).
Equals
(
IO_VALUE
.
LOW
)
&&
...
...
@@ -41,7 +36,7 @@ namespace OnlineStore.DeviceLibrary
)
{
bool
isUseHighShelf
=
(
SOneMoveInfo
.
MoveStep
>=
MoveStep
.
S1_D12_LineRun
&&
SOneMoveInfo
.
MoveStep
<=
MoveStep
.
S1_D12_LineRun
);
if
(!
isUseHighShelf
&&
LineManager
.
checkWatch
(
lhighWatch
,
3
000
))
if
(!
isUseHighShelf
&&
LineManager
.
checkWatch
(
lhighWatch
,
5
000
))
{
lhighWatch
.
Stop
();
//左侧上层需要放个料架
...
...
@@ -50,10 +45,10 @@ namespace OnlineStore.DeviceLibrary
LHighProcess
=
true
;
LogUtil
.
info
(
"左侧双层线_"
+
"左上层放料架到阻挡2"
);
IOMove
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
HIGH
,
30000
);
IOMove
(
IO_Type
.
LHigh_StopCylinder1
,
IO_VALUE
.
HIGH
,
3
000
);
IOMove
(
IO_Type
.
LHigh_StopCylinder1
,
IO_VALUE
.
HIGH
,
2
000
);
if
(
WaitIo
(
IO_Type
.
LHigh_StopCheck2
,
IO_VALUE
.
HIGH
,
30000
,
"左侧_上层放料架到阻挡2"
))
{
IOMove
(
IO_Type
.
LHigh_
LineRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
LHigh_
StopCylinder1
,
IO_VALUE
.
LOW
);
}
LHighProcess
=
false
;
});
...
...
@@ -71,7 +66,7 @@ namespace OnlineStore.DeviceLibrary
&&
RHighProcess
.
Equals
(
false
)
)
{
if
(
LineManager
.
checkWatch
(
rhighWatch
,
3
000
))
if
(
LineManager
.
checkWatch
(
rhighWatch
,
5
000
))
{
rhighWatch
.
Stop
();
//右侧上层需要放个料架
...
...
@@ -80,12 +75,13 @@ namespace OnlineStore.DeviceLibrary
RHighProcess
=
true
;
LogUtil
.
info
(
"右侧双层线_"
+
"右上层放料架到阻挡2"
);
IOMove
(
IO_Type
.
RHigh_LineRun
,
IO_VALUE
.
HIGH
,
30000
);
IOMove
(
IO_Type
.
RHigh_StopCylinder1
,
IO_VALUE
.
HIGH
,
3
000
);
IOMove
(
IO_Type
.
RHigh_StopCylinder1
,
IO_VALUE
.
HIGH
,
2
000
);
if
(
WaitIo
(
IO_Type
.
RHigh_StopCheck2
,
IO_VALUE
.
HIGH
,
30000
,
"右侧_上层放料架到阻挡2"
))
{
IOMove
(
IO_Type
.
RHigh_
LineRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
RHigh_
StopCylinder1
,
IO_VALUE
.
LOW
);
}
RHighProcess
=
false
;
LogUtil
.
info
(
"右侧双层线_"
+
"右上层放料架到阻挡2,完成"
);
});
}
}
...
...
@@ -96,23 +92,24 @@ namespace OnlineStore.DeviceLibrary
if
(
IOValue
(
IO_Type
.
LLow_StopCheck2
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
LLow_StopCheck1
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
LLow_StopCylinder2
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
LLown_LineRun
).
Equals
(
IO_VALUE
.
LOW
)
&&
LowProcess
.
Equals
(
false
))
IOValue
(
IO_Type
.
LLow_StopCylinder2
).
Equals
(
IO_VALUE
.
LOW
)
&&
LowProcess
.
Equals
(
false
))
// IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) &&
{
bool
isUseLowShelf
=
(
SOneMoveInfo
.
MoveStep
>=
MoveStep
.
S1_C02_MDown
&&
SOneMoveInfo
.
MoveStep
<=
MoveStep
.
S1_C05_CheckS1
);
if
(!
isUseLowShelf
&&
LineManager
.
checkWatch
(
lowWatch
,
3
000
))
bool
isUseLowShelf
=
false
;
//(SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep <
MoveStep.S1_C05_CheckS1);
if
(!
isUseLowShelf
&&
LineManager
.
checkWatch
(
lowWatch
,
5
000
))
{
//左侧下层需要放个料架
Task
.
Factory
.
StartNew
(
delegate
{
LowProcess
=
true
;
LogUtil
.
info
(
"左侧双层线_
"
+
"
左下层放料架到阻挡2"
);
LogUtil
.
info
(
"左侧双层线_左下层放料架到阻挡2"
);
IOMove
(
IO_Type
.
LLown_LineRun
,
IO_VALUE
.
HIGH
,
30000
);
IOMove
(
IO_Type
.
LLow_StopCylinder1
,
IO_VALUE
.
HIGH
,
3000
);
if
(
WaitIo
(
IO_Type
.
LLow_StopCheck2
,
IO_VALUE
.
HIGH
,
30000
,
"左侧_下层放料架到阻挡2"
))
IOMove
(
IO_Type
.
LLow_StopCylinder1
,
IO_VALUE
.
HIGH
,
2000
);
if
(
WaitIo
(
IO_Type
.
LLow_StopCheck2
,
IO_VALUE
.
HIGH
,
20000
,
"左侧_下层放料架到阻挡2"
))
{
IOMove
(
IO_Type
.
LLow
n_LineRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
LLow
_StopCylinder1
,
IO_VALUE
.
LOW
);
}
LogUtil
.
info
(
"左侧双层线_左下层放料架到阻挡2,完成"
);
LowProcess
=
false
;
});
}
...
...
@@ -183,7 +180,7 @@ namespace OnlineStore.DeviceLibrary
if
(
IOValue
(
IO_Type
.
R_StopCheck1
).
Equals
(
IO_VALUE
.
HIGH
)
&&
ROutProcess
.
Equals
(
false
))
{
if
(
IOValue
(
IO_Type
.
R_StopCheck2
).
Equals
(
IO_VALUE
.
LOW
)
&&
LineManager
.
checkWatch
(
outLineWatch
,
5000
,
true
)
&&
LineManager
.
packageLine
.
benQOutStep
.
GetCurStep
()
<
BenQ_OUT_STEP
.
SHELF_TO_UPDOWN
)
IOValue
(
IO_Type
.
R_StopCylinder2
).
Equals
(
IO_VALUE
.
LOW
))
//LineManager.packageLine.benQOutStep.GetCurStep() < BenQ_OUT_STEP.SHELF_TO_UPDOWN
{
outLineWatch
.
Stop
();
Task
.
Factory
.
StartNew
(
delegate
...
...
@@ -195,9 +192,9 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
R_LineRun
,
IO_VALUE
.
HIGH
,
20000
);
if
(
WaitIo
(
IO_Type
.
R_StopCheck2
,
IO_VALUE
.
HIGH
,
20000
,
"料架到达出口"
))
{
IOMove
(
IO_Type
.
R_LineRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
R_StopCylinder1
,
IO_VALUE
.
LOW
);
}
LogUtil
.
info
(
"右侧双层线_"
+
"出口无料架,放一个料架完成"
);
ROutProcess
=
false
;
});
}
...
...
@@ -274,6 +271,7 @@ namespace OnlineStore.DeviceLibrary
IOMove
(
IO_Type
.
Line_StopCylinder
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
L_InLineRun
,
IO_VALUE
.
HIGH
);
LeftLineMove
(
IO_VALUE
.
HIGH
,
MoveInfo
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_StopCylinder
,
IO_VALUE
.
HIGH
,
true
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
L_InLineRun
,
IO_VALUE
.
HIGH
,
true
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_InCheck
,
IO_VALUE
.
LOW
));
}
...
...
@@ -367,8 +365,8 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
SI09_WaitStopRun
);
MoveInfo
.
TimeOutSeconds
=
30
;
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 等待检测2亮,转动
2
0秒"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2
0000
));
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 等待检测2亮,转动
3
0秒"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3
0000
));
LeftLineMove
(
IO_VALUE
.
HIGH
,
null
);
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
SmallShelf_RFID_Prefix
))
{
...
...
@@ -396,11 +394,18 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
SI09_WaitStopRun
))
{
if
(
IOValue
(
IO_Type
.
LLow_StopCheck2
).
Equals
(
IO_VALUE
.
LOW
))
{
LeftLineMove
(
IO_VALUE
.
HIGH
);
}
else
{
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 停止链条转动,结束处理"
);
LeftLineMove
(
IO_VALUE
.
LOW
);
MoveInfo
.
EndMove
();
}
}
}
private
void
LeftLineMove
(
IO_VALUE
value
,
LineMoveInfo
moveInfo
=
null
)
{
...
...
source/DeviceLibrary/packageLine/PackageLine_BenQInShelf.cs
查看文件 @
6660d2b
...
...
@@ -227,7 +227,7 @@ namespace OnlineStore.DeviceLibrary
benQInFromOutStep
.
ToNextStep
(
BenQ_IN_FROM_OUT_STEP
.
WAIT_SHELF_TO_READY_POS
);
benQInFromOutStep
.
Msg
=
"产线AGV 在右侧提升机将料架送入上层平台完成"
;
benQInFromOutStep
.
AddIoWait
(
IO_Type
.
RHigh_StopCheck1
,
IO_VALUE
.
HIGH
);
benQInFromOutStep
.
AddTimeWait
(
6
0000
);
benQInFromOutStep
.
AddTimeWait
(
3
0000
);
}
}
else
if
(
benQInFromOutStep
.
IsStep
(
BenQ_IN_FROM_OUT_STEP
.
WAIT_SHELF_TO_READY_POS
))
...
...
source/DoubleLineClient_3D/FrmDoubleClient.cs
查看文件 @
6660d2b
...
...
@@ -43,7 +43,7 @@ namespace OnlineStore.DoubleLineClient
this
.
DoubleLine
=
LineManager
.
InitStore
();
if
(
DoubleLine
==
null
)
{
LogUtil
.
error
(
"加载设备失败"
);
LogUtil
.
error
(
"加载设备失败"
);
this
.
Close
();
return
;
}
...
...
@@ -73,7 +73,7 @@ namespace OnlineStore.DoubleLineClient
private
void
BtnBack_Click
(
object
sender
,
EventArgs
e
)
{
this
.
tabPageList
.
SelectedIndex
=
0
;
this
.
tabPageList
.
SelectedIndex
=
0
;
}
#
endregion
...
...
@@ -99,6 +99,8 @@ namespace OnlineStore.DoubleLineClient
}
int
showAllTaskCnt
=
0
;
int
leftRobotWarnCnt
=
0
;
int
rightRobotWarnCnt
=
0
;
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
{
if
(!
this
.
IsHandleCreated
)
...
...
@@ -110,36 +112,49 @@ namespace OnlineStore.DoubleLineClient
bool
isAlarm
=
false
;
List
<
AlarmMsg
>
msglist
=
new
List
<
AlarmMsg
>();
showAllTaskCnt
++;
if
(
showAllTaskCnt
>=
2
)
//2秒刷新一次任务显示
if
(
showAllTaskCnt
>=
2
)
//2秒刷新一次任务显示
{
isAlarm
=
true
;
showAllTaskCnt
=
0
;
msglist
.
Add
(
new
AlarmMsg
(
"双层线任务"
,
"doubleLine.AllTaskInfo"
,
DoubleLine
.
AllTaskInfo
.
ToStr
(),
1
));
msglist
.
Add
(
new
AlarmMsg
(
"双层线任务"
,
"doubleLine.AllTaskInfo"
,
DoubleLine
.
AllTaskInfo
.
ToStr
(),
1
));
}
if
(!
DoubleLine
.
LeftRobot
.
WarnMsg
.
Equals
(
""
))
{
leftRobotWarnCnt
++;
}
else
{
leftRobotWarnCnt
=
0
;
}
if
(
leftRobotWarnCnt
>
5
)
{
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
"2号机器人"
,
"doubleLine.LeftRobot.WarnMsg"
,
DoubleLine
.
LeftRobot
.
WarnMsg
));
}
if
(!
DoubleLine
.
RightRobot
.
WarnMsg
.
Equals
(
""
))
{
rightRobotWarnCnt
++;
}
else
{
rightRobotWarnCnt
=
0
;
}
if
(
rightRobotWarnCnt
>
5
)
{
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
"1号机器人"
,
"doubleLine.RightRobot.WarnMsg"
,
DoubleLine
.
RightRobot
.
WarnMsg
));
}
//if (!LineManager.packageLine.A4_Shelf_Exist)
//{
// isAlarm = true;
// msglist.Add(new AlarmMsg("A4包装线出口状态", "doubleLine.packageLine.agvA4Step.Msg", LineManager.packageLine.agvA4Step.Msg));
//}
if
(!
LineManager
.
packageLine
.
LeftAllowIn
)
{
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
"A5入口状态"
,
"doubleLine.packageLine.benQInStepLeft.Msg"
,
LineManager
.
packageLine
.
A5_State
,
1
));
msglist
.
Add
(
new
AlarmMsg
(
"A5入口状态"
,
"doubleLine.packageLine.benQInStepLeft.Msg"
,
LineManager
.
packageLine
.
A5_State
,
1
));
}
if
(!
LineManager
.
packageLine
.
A6_ReadRFID_OK
)
{
isAlarm
=
true
;
msglist
.
Add
(
new
AlarmMsg
(
"A6出口RFID读取状态"
,
"doubleLine.packageLine.benQOutStep.Msg"
,
LineManager
.
packageLine
.
benQOutStep
.
Msg
,
1
));
msglist
.
Add
(
new
AlarmMsg
(
"A6出口RFID读取状态"
,
"doubleLine.packageLine.benQOutStep.Msg"
,
LineManager
.
packageLine
.
benQOutStep
.
Msg
,
1
));
}
if
(
isAlarm
)
HttpServer
.
updateDeviceAlarmMsg
(
msglist
);
...
...
@@ -217,7 +232,7 @@ namespace OnlineStore.DoubleLineClient
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"出错:"
+
ex
.
StackTrace
);
LogUtil
.
error
(
"出错:"
+
ex
.
StackTrace
);
}
}
...
...
@@ -281,7 +296,7 @@ namespace OnlineStore.DoubleLineClient
catch
(
Exception
ex
)
{
MessageBox
.
Show
(
ex
.
StackTrace
,
"Exception(异常)"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Error
);
LogUtil
.
error
(
ex
.
StackTrace
);
LogUtil
.
error
(
ex
.
StackTrace
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论