Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
RC1250-BackFeedLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 78ddea8c
由
张东亮
编写于
2020-11-01 15:25:14 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
41f0bdef
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
61 行增加
和
4 行删除
source/DeviceLibrary/acFeederLine/FeederLineBean.cs
source/DeviceLibrary/agvClient/AgvClient.cs
source/DeviceLibrary/acFeederLine/FeederLineBean.cs
查看文件 @
78ddea8
using
Asa
;
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
...
...
@@ -146,6 +147,7 @@ namespace OnlineStore.DeviceLibrary
case
MoveStep
.
Feeder_H_LineRun
:
LogUtil
.
info
(
Name
+
" 复位完成"
);
MoveInfo
.
EndMove
();
AgvClient
.
SetCancelState
(
false
);
runStatus
=
RunStatus
.
Runing
;
break
;
default
:
break
;
...
...
@@ -236,7 +238,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
runStatus
.
Equals
(
RunStatus
.
Runing
))
{
//
InLineTimerProcess();
InLineTimerProcess
();
OutLineTimerProcess
();
TranverseTimerProcess
();
...
...
@@ -260,9 +262,56 @@ namespace OnlineStore.DeviceLibrary
private
Stopwatch
ol_noshelfWatch
=
new
Stopwatch
();
private
Stopwatch
ol_noshelfWatch1
=
new
Stopwatch
();
private
Stopwatch
il_outstopCheckWarch
=
new
Stopwatch
();
private
DateTime
ol_lastSendShelfTime
=
DateTime
.
Now
;
private
int
StopDownMS
=
1500
;
/// <summary>
/// 入料线体定时处理
/// </summary>
private
void
InLineTimerProcess
()
{
TimeSpan
span
=
DateTime
.
Now
-
il_lastCallAgvTime
;
//出口有料架,需要通知agv取走料架
//每次叫小车时间间隔3分钟?
//出口信号需要持续1秒钟
if
(
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
span
.
TotalSeconds
>
60
)
{
//if (LastOutShelfId.Equals("000").Equals(false))
{
if
(
LineManager
.
checkWatch
(
il_outstopCheckWarch
,
1000
))
{
il_lastCallAgvTime
=
DateTime
.
Now
;
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil
.
info
(
" 退料2线体出口有料架"
+
LastOutShelfId
+
",呼叫agv小车["
+
Config
.
L2_AgvName
+
"] [NeedLeave] "
);
AgvClient
.
NeedLeave
(
Config
.
L2_AgvName
,
LastOutShelfId
);
}
}
}
else
if
(
span
.
TotalMilliseconds
>
StopDownMS
)
{
il_outstopCheckWarch
.
Stop
();
ClientAction
currA
=
AgvClient
.
GetAction
(
Config
.
L2_AgvName
);
if
(
currA
.
Equals
(
ClientAction
.
None
)
||
currA
.
Equals
(
ClientAction
.
NeedLeave
)
||
currA
.
Equals
(
ClientAction
.
NeedEnter
))
{
if
(
IOManager
.
IOValue
(
IO_Type
.
L1_StopDown
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOManager
.
IOMove
(
IO_Type
.
L1_StopDown
,
IO_VALUE
.
LOW
);
}
}
}
//如果是出口无料架,NeedLeave状态,改为None
if
(
IOManager
.
IOValue
(
IO_Type
.
L2_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
AgvClient
.
GetAction
(
Config
.
L2_AgvName
).
Equals
(
ClientAction
.
NeedLeave
))
{
il_outstopCheckWarch
.
Stop
();
LogUtil
.
info
(
" 分盘2线体出口无料架 ,更改["
+
Config
.
L2_AgvName
+
"] 状态[None] "
);
AgvClient
.
SetToNone
(
Config
.
L2_AgvName
,
""
);
}
}
/// <summary>
/// 出料线体定时处理
/// </summary>
private
void
OutLineTimerProcess
()
...
...
@@ -306,7 +355,15 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
CIOMove
(
IO_Type
.
L1_StopDown
,
IO_VALUE
.
LOW
);
IOManager
.
CIOMove
(
IO_Type
.
L1_OutStopDown
,
IO_VALUE
.
LOW
);
}
//如果入口无料架即可进入
if
(
IOManager
.
IOValue
(
IO_Type
.
L1_InCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
AgvClient
.
NeedEnter
(
Config
.
L1_AgvName
,
""
);
}
else
{
AgvClient
.
SetToNone
(
Config
.
L1_AgvName
,
""
);
}
}
private
Task
TranverseTask
;
private
static
void
TranverseProcess
()
...
...
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
78ddea8
...
...
@@ -93,7 +93,7 @@ namespace OnlineStore.DeviceLibrary
{
Task
.
Factory
.
StartNew
(
delegate
{
//
SetStatus(id, "", ClientAction.MayEnter);
SetStatus
(
id
,
""
,
ClientAction
.
MayEnter
);
LogUtil
.
info
(
logName
+
" ,等待OutL_InCheck"
);
try
{
...
...
@@ -133,7 +133,7 @@ namespace OnlineStore.DeviceLibrary
LineManager
.
feederLine
.
UpdateSleep
(
false
);
LineManager
.
feederLine
.
StopIOMove
(
IO_Type
.
L2_OutStopDown
,
1500
);
//agvClient.MayLeave(id);
//
SetStatus(id, shefId, ClientAction.MayLeave);
SetStatus
(
id
,
shefId
,
ClientAction
.
MayLeave
);
LogUtil
.
info
(
logName
+
"下降 L2_OutStopDown , "
+
shefId
);
Task
.
Factory
.
StartNew
(
delegate
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论