Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
Qisda-SO1037-AGVDispatch
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit b5fe394f
由
张东亮
编写于
2023-05-15 18:47:51 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
6df6eeae
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
70 行增加
和
13 行删除
AGVDispatch/Manual.cs
DeviceLibrary/DeviceLibrary.csproj
DeviceLibrary/bean/jobType/ToLiftGetShelfJobType.cs
DeviceLibrary/manager/AGVManager.cs
DeviceLibrary/manager/AgvTaskManager.cs
AGVDispatch/Manual.cs
查看文件 @
b5fe394
...
...
@@ -78,6 +78,7 @@ namespace AGVControl
catch
{
}
}));
}
DateTime
manualTime
=
DateTime
.
Now
;
private
void
chkBxAuto_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
if
(!
isIni
)
return
;
...
...
@@ -128,11 +129,15 @@ namespace AGVControl
{
LogUtil
.
error
(
$
"切换到手动异常"
,
ex
);
}
manualTime
=
DateTime
.
Now
;
//添加Init任务
AgvTaskManager
.
AssignMission
(
Agv
,
$
"{SettingString.Init}"
);
}
else
if
((
DateTime
.
Now
-
manualTime
).
TotalSeconds
<
5
)
{
chkBxAuto
.
Checked
=
false
;
}
else
{
if
(
Agv
.
IsExistShelf
&&
Agv
.
CurJob
==
null
)
...
...
DeviceLibrary/DeviceLibrary.csproj
查看文件 @
b5fe394
...
...
@@ -95,6 +95,7 @@
<Compile Include="bean\jobType\LineToLineJobType.cs" />
<Compile Include="bean\jobType\RecoveryJobType.cs" />
<Compile Include="bean\jobType\LineOneToManyJobType.cs" />
<Compile Include="bean\jobType\ToLiftGetShelfJobType.cs" />
<Compile Include="bean\job\ChargeJob.cs" />
<Compile Include="bean\job\F1LiftC1ToLiftD2Job.cs" />
<Compile Include="bean\job\F1LiftD2ToLiftC1Job.cs" />
...
...
DeviceLibrary/bean/jobType/ToLiftGetShelfJobType.cs
0 → 100644
查看文件 @
b5fe394
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
DeviceLibrary.bean.jobType
{
/// <summary>
/// 目标车间小车执行接料架任务
/// </summary>
internal
class
ToLiftGetShelfJobType
:
JobType
{
public
override
Job
GetNewJob
(
AgvInfo
agv
)
{
return
null
;
}
bool
OtherAgvEexcuteTheJob
(
string
liftname
)
{
return
false
;
}
}
}
DeviceLibrary/manager/AGVManager.cs
查看文件 @
b5fe394
...
...
@@ -213,6 +213,16 @@ namespace DeviceLibrary
agv
.
CurJob
=
recoveryJobType
.
GetNewJob
(
agv
);
if
(
agv
.
CurJob
!=
null
&&
(
agv
.
CurJob
is
StandyJob
||
agv
.
CurJob
is
ChargeJob
))
{
try
{
agv
.
Auto
=
false
;
agv
.
CurJob
=
null
;
agv
.
Place
=
new
Node
();
agv
?.
TaskRunState
?.
ResetInfo
();
agv
.
JobContext
=
new
DeviceLibrary
.
bean
.
agv
.
JobContext
();
}
finally
{
}
continue
;
}
LogUtil
.
info
(
$
"读取并使用{agv.Name}上下文信息:{JsonHelper.SerializeObject(info)}"
);
...
...
DeviceLibrary/manager/AgvTaskManager.cs
查看文件 @
b5fe394
...
...
@@ -86,7 +86,7 @@ namespace DeviceLibrary
LogUtil
.
error
(
$
"{agv.Name}任务名{name}不存在,请检查配置文件!"
);
return
new
AgvTask
();
}
public
static
bool
IsExistTask
(
string
name
,
AgvInfo
agv
)
public
static
bool
IsExistTask
(
string
name
,
AgvInfo
agv
)
{
AgvTask
task
=
AgvTasks
.
Find
(
s
=>
s
.
Name
.
Equals
(
name
)
&&
agv
.
FleetIP
.
Equals
(
s
.
TypeId
));
if
(
task
!=
null
)
...
...
@@ -127,10 +127,10 @@ namespace DeviceLibrary
if
(
node
!=
null
)
break
;
}
}
}
}
if
(
task
!=
null
&&
!
string
.
IsNullOrEmpty
(
task
.
Guid
))
if
(
task
!=
null
&&
!
string
.
IsNullOrEmpty
(
task
.
Guid
))
{
agv
.
TaskRunState
.
Task
=
task
;
if
(
node
!=
null
)
...
...
@@ -144,8 +144,12 @@ namespace DeviceLibrary
agv
.
TaskRunState
.
ResetInfo
();
if
(!
agv
.
TaskRunState
.
CheckTaskExist
(
task
))
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 离线,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
if
(
agv
.
Auto
)
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 离线,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
}
}
return
false
;
}
...
...
@@ -169,7 +173,7 @@ namespace DeviceLibrary
if
(
rtn
)
{
LogUtil
.
info
(
string
.
Format
(
"{0} Add Mission[{1}]Success"
,
agv
.
Name
,
agv
.
TaskRunState
.
ToTaskInfo
()));
}
}
else
{
LogUtil
.
info
(
string
.
Format
(
"{0} AddMission[{1}]Fail"
,
agv
.
Name
,
agv
.
TaskRunState
.
ToTaskInfo
()));
...
...
@@ -180,8 +184,12 @@ namespace DeviceLibrary
{
if
(!
agv
.
TaskRunState
.
CheckTaskExist
(
task
))
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 发送失败,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
if
(
agv
.
Auto
)
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 发送失败,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
}
}
}
}
...
...
@@ -201,8 +209,12 @@ namespace DeviceLibrary
agv
.
TaskRunState
.
ResetInfo
();
if
(!
agv
.
TaskRunState
.
CheckTaskExist
(
task
))
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 离线,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
if
(
agv
.
Auto
)
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 离线,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
}
}
return
false
;
}
...
...
@@ -237,8 +249,12 @@ namespace DeviceLibrary
{
if
(!
agv
.
TaskRunState
.
CheckTaskExist
(
task
))
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 发送失败,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
if
(
agv
.
Auto
)
{
agv
.
TaskRunState
.
EnWaitTaskQueue
(
task
);
LogUtil
.
info
(
string
.
Format
(
"{0} 发送失败,[{1}]加入任务等待队列 "
,
agv
.
Name
,
task
.
AliceName
));
}
}
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论