Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
DoubleLineClient_3D
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d7abd7ab
由
张东亮
编写于
2023-12-19 13:06:03 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
d70f693d
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
78 行增加
和
14 行删除
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/Line/AllLine.cs
source/DeviceLibrary/bean/LineFloor.cs
source/DeviceLibrary/doubleLine/DoubleLineBean_lineShelf.cs
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
d7abd7a
...
...
@@ -89,6 +89,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="agvClient\AgvClient_Dbline.cs" />
<Compile Include="bean\LineFloor.cs" />
<Compile Include="bean\RobotBase.cs" />
<Compile Include="deviceLibrary\ABB\ABBControl.cs" />
<Compile Include="deviceLibrary\IO\AIOBOX\AIOBOX.cs" />
...
...
source/DeviceLibrary/Line/AllLine.cs
查看文件 @
d7abd7a
...
...
@@ -17,13 +17,45 @@ namespace OnlineStore.DeviceLibrary
/// 左下层链条
/// </summary>
public
static
LineMonitor
LeftLowLine
;
public
static
LineMonitor
LeftHighLine
;
public
static
void
InitLine
()
{
LineMonitor
.
Log
.
LogEvent
+=
Log_LogEvent
;
LeftLowLine
=
new
LineMonitor
(
"左下层链条"
);
LeftHighLine
=
new
LineMonitor
(
"左上层链条"
);
LeftLowLine
.
LineOperateEvent
+=
LeftLowLine_LineOperateEvent
;
LeftLowLine
.
LineStateEvent
+=
LeftLowLine_LineStateEvent
;
LeftHighLine
.
LineOperateEvent
+=
LeftHighLine_LineOperateEvent
;
LeftHighLine
.
LineStateEvent
+=
LeftHighLine_LineStateEvent
;
}
private
static
bool
LeftHighLine_LineStateEvent
(
LineRunParam
runParam
)
{
switch
(
runParam
)
{
case
LineRunParam
.
Run
:
return
IOManager
.
IOValue
(
IO_Type
.
LHigh_LineRun
).
Equals
(
IO_VALUE
.
HIGH
);
case
LineRunParam
.
Stop
:
return
IOManager
.
IOValue
(
IO_Type
.
LHigh_LineRun
).
Equals
(
IO_VALUE
.
LOW
);
case
LineRunParam
.
BackRun
:
return
false
;
default
:
return
false
;
}
}
private
static
void
LeftHighLine_LineOperateEvent
(
LineRunParam
runParam
)
{
switch
(
runParam
)
{
case
LineRunParam
.
Run
:
IOManager
.
IOMove
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
HIGH
);
break
;
case
LineRunParam
.
Stop
:
IOManager
.
IOMove
(
IO_Type
.
LHigh_LineRun
,
IO_VALUE
.
LOW
);
break
;
case
LineRunParam
.
BackRun
:
break
;
}
}
private
static
void
Log_LogEvent
(
LogEventArgs
args
)
...
...
source/DeviceLibrary/bean/LineFloor.cs
0 → 100644
查看文件 @
d7abd7a
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
internal
enum
LineFloor
{
/// <summary>
/// 未查询到
/// </summary>
None
,
/// <summary>
/// 一层-大料架
/// </summary>
One
,
/// <summary>
/// 二层-小料架
/// </summary>
Two
,
}
}
source/DeviceLibrary/doubleLine/DoubleLineBean_lineShelf.cs
查看文件 @
d7abd7a
...
...
@@ -15,8 +15,6 @@ namespace OnlineStore.DeviceLibrary
{
#
region
流水线料架处理,料架进入,出去,工位流转
public
string
LeftUpdownRFID
=
""
;
private
Stopwatch
lowWatch
=
new
Stopwatch
();
private
Stopwatch
lhighWatch
=
new
Stopwatch
();
private
Stopwatch
rhighWatch
=
new
Stopwatch
();
...
...
@@ -26,6 +24,14 @@ namespace OnlineStore.DeviceLibrary
private
bool
LHighProcess
=
false
;
private
bool
RHighProcess
=
false
;
private
bool
ROutProcess
=
false
;
/// <summary>
/// 左侧进去料架所在层
/// </summary>
LineFloor
leftInShelf
;
/// <summary>
/// 左侧提升机rfid
/// </summary>
public
string
LeftUpdownRFID
=
""
;
private
void
ShelfCheckPro
()
{
...
...
@@ -166,8 +172,7 @@ namespace OnlineStore.DeviceLibrary
//开始料架进入处理
MoveInfo
.
NewMove
(
LineMoveType
.
LeftShelf
,
MoveStep
.
SI01_ShelfInLeft
);
IOMove
(
IO_Type
.
Line_StopCylinder
,
IO_VALUE
.
LOW
);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_InCheck, IO_VALUE.HIGH));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_StopCheck, IO_VALUE.HIGH));
leftInShelf
=
LineFloor
.
None
;
}
else
{
...
...
@@ -271,11 +276,13 @@ namespace OnlineStore.DeviceLibrary
//等待可放料架
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
SmallShelf_RFID_Prefix
))
{
leftInShelf
=
LineFloor
.
Two
;
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" :左侧新料架="
+
LeftUpdownRFID
+
",等待上层 LHigh_FullCheck无信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LHigh_FullCheck
,
IO_VALUE
.
LOW
));
}
else
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
BigShelf_RFID_Prefix
))
{
leftInShelf
=
LineFloor
.
One
;
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" :左侧新料架="
+
LeftUpdownRFID
+
",等待下层 LLow_FullCheck无信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LLow_FullCheck
,
IO_VALUE
.
LOW
));
}
...
...
@@ -283,7 +290,6 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil
.
error
(
Name
+
MoveInfo
.
SLog
+
" :左侧新料架="
+
LeftUpdownRFID
+
",不是正确的料架,结束处理 "
);
MoveInfo
.
EndMove
();
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
SI02_ReadRFID
))
...
...
@@ -294,16 +300,19 @@ namespace OnlineStore.DeviceLibrary
LeftUpdownRFID
=
RFIDManager
.
ReadRFID
(
Config
.
L_Updown_Rfid
,
true
).
NumStr
();
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
SmallShelf_RFID_Prefix
))
{
leftInShelf
=
LineFloor
.
Two
;
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" :左侧新料架="
+
LeftUpdownRFID
+
",升降机上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
L_Updown_Down
,
IO_Type
.
L_Updown_Up
);
}
else
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
BigShelf_RFID_Prefix
))
{
leftInShelf
=
LineFloor
.
One
;
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" :左侧新料架="
+
LeftUpdownRFID
+
",升降机下降"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
L_Updown_Up
,
IO_Type
.
L_Updown_Down
);
}
else
{
leftInShelf
=
LineFloor
.
None
;
LogUtil
.
error
(
Name
+
MoveInfo
.
SLog
+
" :左侧新料架="
+
LeftUpdownRFID
+
",不是正确的料架,结束处理 "
);
MoveInfo
.
EndMove
();
}
...
...
@@ -353,7 +362,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
MoveStep
.
SI06_WaitCheck1Low
);
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
":阻挡上升,等待检测1灭,或者再等待15秒"
);
LeftLineMove
(
IO_VALUE
.
HIGH
,
null
);
LeftUpdownRFID
=
RFIDManager
.
ReadRFID
(
Config
.
L_Updown_Rfid
,
true
).
NumStr
();
IOMove
(
IO_Type
.
Line_StopCylinder
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
15000
));
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
SmallShelf_RFID_Prefix
))
...
...
@@ -400,8 +408,8 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
SI08_UpdownDown
);
LeftLineMove
(
IO_VALUE
.
HIGH
,
MoveInfo
);
string
result
=
RFIDManager
.
ReadRFID
(
Config
.
L_Updown_Rfid
,
true
).
NumStr
();
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 升降机下降,清理当前
rfid:"
+
result
);
LeftUpdownRFID
=
RFIDManager
.
ReadRFID
(
Config
.
L_Updown_Rfid
,
true
).
NumStr
();
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 升降机下降,清理当前
LeftUpdownRFID:"
+
LeftUpdownRFID
);
IOMove
(
IO_Type
.
L_InLineRun
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
100
);
...
...
@@ -411,7 +419,6 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
MoveStep
.
SI08_UpdownDown
))
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
SI09_WaitStopRun
);
LeftUpdownRFID
=
RFIDManager
.
ReadRFID
(
Config
.
L_Updown_Rfid
,
true
).
NumStr
();
MoveInfo
.
TimeOutSeconds
=
30
;
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 等待检测2亮,转动30秒"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
30000
));
...
...
@@ -442,7 +449,6 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
SI10_WaitTime
);
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 再转动5秒"
);
LeftUpdownRFID
=
RFIDManager
.
ReadRFID
(
Config
.
L_Updown_Rfid
,
true
).
NumStr
();
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
5000
));
LeftLineMove
(
IO_VALUE
.
HIGH
,
null
);
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
SmallShelf_RFID_Prefix
))
...
...
@@ -466,9 +472,10 @@ namespace OnlineStore.DeviceLibrary
// }
// else
//{
LeftLineMove
(
IO_VALUE
.
LOW
);
LogUtil
.
info
(
Name
+
MoveInfo
.
SLog
+
" 停止链条转动,结束处理"
);
IOMove
(
IO_Type
.
Line_StopCylinder
,
IO_VALUE
.
LOW
);
LeftLineMove
(
IO_VALUE
.
LOW
)
;
leftInShelf
=
LineFloor
.
None
;
MoveInfo
.
EndMove
();
//}
}
...
...
@@ -476,7 +483,7 @@ namespace OnlineStore.DeviceLibrary
private
void
LeftLineMove
(
IO_VALUE
value
,
LineMoveInfo
moveInfo
=
null
)
{
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
SmallShelf_RFID_Prefix
))
if
(
leftInShelf
.
Equals
(
LineFloor
.
Two
))
{
if
(
moveInfo
!=
null
)
{
...
...
@@ -484,7 +491,7 @@ namespace OnlineStore.DeviceLibrary
}
CheckAndMove
(
IO_Type
.
LHigh_LineRun
,
value
);
}
else
if
(
LeftUpdownRFID
.
StartsWith
(
Static_String
.
BigShelf_RFID_Prefix
))
else
if
(
leftInShelf
.
Equals
(
LineFloor
.
One
))
{
if
(
moveInfo
!=
null
)
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论