Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit f497a442
由
LN
编写于
2021-01-11 09:39:42 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
入料口入料架修改。
1 个父辈
97c22ba4
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
29 行增加
和
26 行删除
source/DeviceLibrary/agvClient/AgvClient.cs
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
f497a44
...
...
@@ -5,6 +5,7 @@ using System;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
...
...
@@ -83,13 +84,21 @@ namespace OnlineStore.DeviceLibrary
}
private
static
void
AgvClient_CloseDoor
(
string
id
,
string
rfid
)
{
// RFIDData data = new RFIDData(content);
LogUtil
.
info
(
"收到 AgvClient_CloseDoor ["
+
id
+
"] ["
+
rfid
+
"] "
);
LogUtil
.
info
(
"收到 AgvClient_CloseDoor ["
+
id
+
"] ["
+
rfid
+
"] 更新状态 "
);
UpdateAction
(
id
,
ClientAction
.
CloseDoor
);
Task
.
Factory
.
StartNew
(
delegate
{
Thread
.
Sleep
(
5000
);
if
(
GetAction
(
id
).
Equals
(
ClientAction
.
CloseDoor
))
{
SetStatus
(
id
);
LogUtil
.
error
(
"收到 AgvClient_CloseDoor ["
+
id
+
"] ["
+
rfid
+
"] 5秒后,更新状态为None "
);
}
});
}
private
static
void
AgvClient_Ready
(
string
id
,
string
rfid
)
{
UpdateAction
(
id
,
ClientAction
.
Ready
);
// RFIDData data = new RFIDData(content);
LogUtil
.
info
(
"收到 AgvClient_Ready ["
+
id
+
"] ["
+
rfid
+
"] "
);
FeedingEquip
equip
=
getFeedEquip
(
id
);
...
...
@@ -104,7 +113,6 @@ namespace OnlineStore.DeviceLibrary
private
static
void
AgvClient_Arrive
(
string
id
,
string
rfid
)
{
UpdateAction
(
id
,
ClientAction
.
Arrive
);
// RFIDData data = new RFIDData(content);
LogUtil
.
info
(
"收到 AgvClient_Arrive ["
+
id
+
"] ["
+
rfid
+
"] "
);
FeedingEquip
equip
=
getFeedEquip
(
id
);
if
(
equip
==
null
)
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
查看文件 @
f497a44
...
...
@@ -801,48 +801,43 @@ namespace OnlineStore.DeviceLibrary
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
LogUtil
.
info
(
logName
+
" 开始,设置状态=MayEnter"
);
AgvClient
.
SetStatus
(
Config
.
AgvInName
,
""
,
ClientAction
.
MayEnter
,
ClientLevel
.
High
,
true
);
AgvClient
.
SetStatus
(
Config
.
AgvInName
,
""
,
ClientAction
.
MayEnter
,
ClientLevel
.
High
,
true
);
ProcessShelfEnter
=
true
;
////进料阻挡上升
//IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);
//转动线体
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
);
//等待进料检测信号
bool
result
=
WaitIo
(
IO_Type
.
SL_Entry_Check
,
IO_VALUE
.
HIGH
,
60000
);
bool
result
=
WaitIo
(
IO_Type
.
SL_Entry_Check
,
IO_VALUE
.
HIGH
,
60000
0
);
if
(!
result
)
{
LogUtil
.
info
(
logName
+
" 等待 SL_Entry_Check=High 超时, 等待 SL_Stop_Check 信号"
);
}
else
{
LogUtil
.
info
(
logName
+
"已收到 SL_Entry_Check=High , 等待 SL_Stop_Check 信号"
);
}
result
=
WaitIo
(
IO_Type
.
SL_Stop_Check
,
IO_VALUE
.
HIGH
,
60000
);
LogUtil
.
info
(
logName
+
" 等待 SL_Entry_Check=High "
+
result
+
", 等待 SL_Stop_Check 信号"
);
result
=
WaitIo
(
IO_Type
.
SL_Stop_Check
,
IO_VALUE
.
HIGH
,
600000
);
if
(!
result
)
LogUtil
.
info
(
logName
+
" 等待 SL_Stop_Check=High "
+
result
+
",开始等待CloseDoor 超时10分钟"
);
try
{
result
=
WaitUtil
.
Wait
(
600000
,
delegate
()
{
LogUtil
.
info
(
logName
+
" 等待 SL_Stop_Check=High 超时,等待3000后停止转动,发送 FinishEnter"
);
return
AgvClient
.
GetAction
(
Config
.
AgvInName
).
Equals
(
ClientAction
.
CloseDoor
);
},
logName
+
"等待CloseDoor超时"
);
}
else
catch
(
TimeoutException
te
)
{
LogUtil
.
info
(
logName
+
"已收到 SL_Stop_Check=High ,等待5000后停止转动,发送 FinishEnter"
);
LogUtil
.
error
(
logName
+
" 超时:"
+
te
);
}
//等待 15000 毫秒后停止转动
Thread
.
Sleep
(
15000
);
//
//
等待 15000 毫秒后停止转动
//
Thread.Sleep(15000);
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_03_LineStart
))
{
LogUtil
.
info
(
logName
+
"
等待 15000 后
, MoveInfo.MoveType= FI_03_LineStart 不需要停止链条转动"
);
LogUtil
.
info
(
logName
+
"
完成
, MoveInfo.MoveType= FI_03_LineStart 不需要停止链条转动"
);
}
else
{
LogUtil
.
info
(
logName
+
"
等待 15000 后
,停止链条转动"
);
LogUtil
.
info
(
logName
+
"
完成
,停止链条转动"
);
IOMove
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
LOW
);
}
//料架可离开
AgvClient
.
SetStatus
(
Config
.
AgvInName
,
""
,
ClientAction
.
FinishEnter
,
ClientLevel
.
High
,
true
);
//AgvClient.SetStatus(Config.AgvInName, "", ClientAction.FinishEnter, ClientLevel.High, true);
Thread
.
Sleep
(
1000
);
AgvClient
.
SetStatus
(
Config
.
AgvInName
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
,
true
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论