Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d7057027
由
LN
编写于
2023-11-23 11:00:06 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
fe9e82d8
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
104 行增加
和
45 行删除
source/AssemblyLineClient/FrmLineStore.cs
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
source/AssemblyLineClient/FrmLineStore.cs
查看文件 @
d705702
...
...
@@ -410,6 +410,8 @@ namespace OnlineStore.AssemblyLine
PerformanceCounter
pf1
=
new
PerformanceCounter
(
"Process"
,
"Working Set - Private"
,
process
.
ProcessName
);
sbResult
.
AppendFormat
(
DateTime
.
Now
.
ToLongTimeString
()
+
", 名称:{0} 内存:{1}M "
,
process
.
ProcessName
,
Math
.
Round
(
pf1
.
NextValue
()
/
1024
/
1024F
,
2
));
sbResult
.
AppendFormat
(
", CPU : {0} %"
,
curtime
.
NextValue
()
/
Environment
.
ProcessorCount
);
int
threadCount
=
System
.
Diagnostics
.
Process
.
GetCurrentProcess
().
Threads
.
Count
;
sbResult
.
AppendFormat
(
", 线程数 : {0} "
,
threadCount
);
LogUtil
.
info
(
sbResult
.
ToString
());
}
}
...
...
source/DeviceLibrary/assemblyLine/HY/HY_Coveryor_Partial.cs
查看文件 @
d705702
...
...
@@ -26,7 +26,7 @@ namespace OnlineStore.DeviceLibrary
{
try
{
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)&&
IOValue
(
IO_Type
.
HY_FrontStopCheck
).
Equals
(
IO_VALUE
.
LOW
))
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)
&&
IOValue
(
IO_Type
.
HY_FrontStopCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
//无托盘开始计时
CheckStopWatch
(
noTrayProcessWatch
,
3000000
,
false
);
...
...
@@ -37,12 +37,12 @@ namespace OnlineStore.DeviceLibrary
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"HasTrayProcess 出错:"
+
ex
.
ToString
());
}
}
internal
override
bool
noTrayTime
(
int
targetMs
)
{
if
(
noTrayProcessWatch
.
IsRunning
)
...
...
@@ -57,8 +57,8 @@ namespace OnlineStore.DeviceLibrary
private
void
CheckFixture
()
{
if
(
Monitor
.
TryEnter
(
lockObj
,
TrayManager
.
mTimeOut
))
{
//
if (Monitor.TryEnter(lockObj, TrayManager.mTimeOut))
//
{
try
{
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
).
Equals
(
false
))
...
...
@@ -74,7 +74,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
Name
+
" CheckFixture "
+
" 不在空闲中,直接返回 "
);
return
;
}
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)
&&
IOValue
(
IO_Type
.
HY_OL_Full_Check
).
Equals
(
IO_VALUE
.
LOW
))
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
)
&&
IOValue
(
IO_Type
.
HY_OL_Full_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
bool
canpro
=
true
;
if
(
IOValue
(
IO_Type
.
HY_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
...
...
@@ -82,13 +82,7 @@ namespace OnlineStore.DeviceLibrary
trayCheckLowWait
.
Stop
();
if
(
canpro
&&
CheckStopWatch
(
trayCheckWait
,
TrayWaitTime
,
true
))
{
SecondMoveInfo
.
NewMove
(
LineMoveType
.
Fixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_05_TrayCheck
);
CheckLog
(
"接驳台托盘"
+
SecondMoveInfo
.
SLog
+
"前阻挡上升,等待托盘到位 "
);
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
Start_JHY_05_TrayCheck
();
}
}
else
...
...
@@ -98,37 +92,8 @@ namespace OnlineStore.DeviceLibrary
{
if
(
CheckStopWatch
(
trayCheckWait
,
TrayWaitTime
,
false
)
&&
check2IsOk
&&
canpro
)
{
trayCheckWait
.
Stop
();
trayCheckLowWait
.
Stop
();
//托盘在第一个阻挡处
SecondMoveInfo
.
NewMove
(
LineMoveType
.
Fixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_01_TrayCheck
);
if
(
IsNgPro
())
{
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡检测到托盘"
);
ClearTrayRFID
();
SecondMoveInfo
.
OneWaitCanEndStep
=
true
;
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStopCheck
,
IO_VALUE
.
HIGH
));
}
else
{
if
(
IOValue
(
IO_Type
.
HY_TopCylinder_Up
).
Equals
(
IO_VALUE
.
LOW
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_03_StopDown
);
LineStop
();
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
HIGH
,
1200
);
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡下降"
);
}
else
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_02_TopMove
);
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":顶升气缸下降 "
);
IOMove
(
IO_Type
.
HY_TopCylinder_Up
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
HY_TopCylinder_Down
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TopCylinder_Up
,
IO_VALUE
.
LOW
));
LineStop
();
}
}
StartTrayCheck
();
}
}
else
...
...
@@ -142,6 +107,64 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil
.
error
(
Name
+
" CheckFixture "
+
" 出错:"
+
ex
.
ToString
());
}
// finally
// {
// Monitor.Exit(lockObj);
// }
//}
//else
//{
// LogUtil.error(Name + " CheckFixture " + "失败,未得到锁");
//}
}
private
void
Start_JHY_05_TrayCheck
()
{
if
(
Monitor
.
TryEnter
(
lockObj
,
TrayManager
.
mTimeOut
))
{
try
{
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
).
Equals
(
false
))
{
LogUtil
.
error
(
Name
+
" CheckFixture Start_JHY_05_TrayCheck "
+
" 不在空闲中,直接返回 "
);
return
;
}
trayCheckWait
.
Stop
();
trayCheckLowWait
.
Stop
();
//托盘在第一个阻挡处
SecondMoveInfo
.
NewMove
(
LineMoveType
.
Fixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_01_TrayCheck
);
if
(
IsNgPro
())
{
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡检测到托盘"
);
ClearTrayRFID
();
SecondMoveInfo
.
OneWaitCanEndStep
=
true
;
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStopCheck
,
IO_VALUE
.
HIGH
));
}
else
{
if
(
IOValue
(
IO_Type
.
HY_TopCylinder_Up
).
Equals
(
IO_VALUE
.
LOW
))
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_03_StopDown
);
LineStop
();
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
HIGH
,
1200
);
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":前阻挡下降"
);
}
else
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_02_TopMove
);
CheckLog
(
" 接驳台托盘"
+
SecondMoveInfo
.
SLog
+
":顶升气缸下降 "
);
IOMove
(
IO_Type
.
HY_TopCylinder_Up
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
HY_TopCylinder_Down
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TopCylinder_Up
,
IO_VALUE
.
LOW
));
LineStop
();
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
Name
+
" CheckFixture Start_JHY_05_TrayCheck "
+
" 出错:"
+
ex
.
ToString
());
}
finally
{
Monitor
.
Exit
(
lockObj
);
...
...
@@ -149,10 +172,44 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil
.
error
(
Name
+
" CheckFixture "
+
"失败,未得到锁"
);
LogUtil
.
error
(
Name
+
" CheckFixture
Start_JHY_05_TrayCheck
"
+
"失败,未得到锁"
);
}
}
private
void
StartTrayCheck
()
{
if
(
Monitor
.
TryEnter
(
lockObj
,
TrayManager
.
mTimeOut
))
{
try
{
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
).
Equals
(
false
))
{
LogUtil
.
error
(
Name
+
" CheckFixture StartTrayCheck "
+
" 不在空闲中,直接返回 "
);
return
;
}
SecondMoveInfo
.
NewMove
(
LineMoveType
.
Fixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
JHY_05_TrayCheck
);
CheckLog
(
"接驳台托盘"
+
SecondMoveInfo
.
SLog
+
"前阻挡上升,等待托盘到位 "
);
IOMove
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_FrontStopDown
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
HY_TrayCheck
,
IO_VALUE
.
HIGH
));
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
Name
+
" CheckFixture StartTrayCheck "
+
" 出错:"
+
ex
.
ToString
());
}
finally
{
Monitor
.
Exit
(
lockObj
);
}
}
else
{
LogUtil
.
error
(
Name
+
" CheckFixture StartTrayCheck "
+
"失败,未得到锁"
);
}
}
private
void
trayCheckStop
()
{
try
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论