Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 253f6a52
由
LN
编写于
2020-03-04 11:48:51 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
日志修改
1 个父辈
09f50bed
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
70 行增加
和
61 行删除
source/Common/util/FormUtil.cs
source/DeviceLibrary/assemblyLine/DischargeLine.cs
source/DeviceLibrary/assemblyLine/EquipBase.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/LineBean_Partial.cs
source/DeviceLibrary/assemblyLine/ProvidingEquip_Partial.cs
source/DeviceLibrary/deviceLibrary/IO/IOManager.cs
source/Common/util/FormUtil.cs
查看文件 @
253f6a5
...
@@ -64,19 +64,19 @@ namespace OnlineStore.Common
...
@@ -64,19 +64,19 @@ namespace OnlineStore.Common
return
value
;
return
value
;
}
}
public
static
string
GetShowStr
(
double
value
)
//
public static string GetShowStr(double value)
{
//
{
string
wStr
=
""
;
//
string wStr = "";
if
(
value
==
(
int
)
value
)
//
if (value == (int)value)
{
//
{
wStr
=
string
.
Format
(
"{0:d}"
,
(
int
)
value
);
//
wStr = string.Format("{0:d}", (int)value);
}
//
}
else
//
else
{
//
{
wStr
=
string
.
Format
(
"{0:f}"
,
value
);
//
wStr = string.Format("{0:f}", value);
}
//
}
return
wStr
;
//
return wStr;
}
//
}
public
static
string
GetSpanStr
(
TimeSpan
span
)
public
static
string
GetSpanStr
(
TimeSpan
span
)
{
{
//return Convert.ToDateTime(span.ToString()).ToString("HH:mm:ss");
//return Convert.ToDateTime(span.ToString()).ToString("HH:mm:ss");
...
...
source/DeviceLibrary/assemblyLine/DischargeLine.cs
查看文件 @
253f6a5
...
@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary
{
{
Line3MaxPosition
=
22
;
Line3MaxPosition
=
22
;
}
}
TimerMaxSeconds
=
5
;
TimerMaxSeconds
=
3
;
}
}
/// <summary>
/// <summary>
...
...
source/DeviceLibrary/assemblyLine/EquipBase.cs
查看文件 @
253f6a5
...
@@ -79,51 +79,51 @@ namespace OnlineStore.DeviceLibrary
...
@@ -79,51 +79,51 @@ namespace OnlineStore.DeviceLibrary
{
{
return
;
return
;
}
}
switch
(
MoveInfo
.
MoveType
)
{
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
CheckFixture
))
case
LineMoveType
.
InStore
:
{
InStoreProcess
();
CheckFixtureProcess
();
break
;
}
case
LineMoveType
.
OutStore
:
//switch (MoveInfo.MoveType)
OutStoreProcess
();
//{
break
;
// case LineMoveType.InStore:
case
LineMoveType
.
ReturnHome
:
// InStoreProcess();
ResetProcess
();
// break;
break
;
// case LineMoveType.OutStore:
case
LineMoveType
.
Reset
:
// OutStoreProcess();
ResetProcess
();
// break;
break
;
// case LineMoveType.ReturnHome:
default
:
break
;
// ResetProcess();
}
// break;
if
(
MoveInfo
.
MoveType
==
LineMoveType
.
InStore
||
this
.
SecondMoveInfo
.
MoveType
==
LineMoveType
.
InStore
)
// case LineMoveType.Reset:
// ResetProcess();
// break;
// default: break;
//}
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
InStore
)
||
this
.
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
InStore
))
{
{
InStoreProcess
();
InStoreProcess
();
}
}
else
if
(
MoveInfo
.
MoveType
==
LineMoveType
.
OutStore
||
SecondMoveInfo
.
MoveType
==
LineMoveType
.
OutStore
)
else
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
OutStore
)
||
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
OutStore
)
)
{
{
OutStoreProcess
();
OutStoreProcess
();
}
}
else
if
(
MoveInfo
.
MoveType
==
LineMoveType
.
ReturnHome
)
else
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
ReturnHome
)
)
{
{
ResetProcess
();
ResetProcess
();
}
}
else
if
(
MoveInfo
.
MoveType
==
LineMoveType
.
Reset
)
else
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
Reset
)
)
{
{
ResetProcess
();
ResetProcess
();
}
}
else
if
(
MoveInfo
.
MoveType
==
LineMoveType
.
StopMove
)
else
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
StopMove
)
)
{
{
StopMoveProcess
();
StopMoveProcess
();
}
}
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
CheckFixture
))
{
CheckFixtureProcess
();
}
}
}
private
DateTime
lastProTimer
=
DateTime
.
Now
;
private
DateTime
lastProTimer
=
DateTime
.
Now
;
protected
int
TimerMaxSeconds
=
5
;
protected
int
TimerMaxSeconds
=
3
;
public
void
TimerProcess
()
public
void
TimerProcess
()
{
{
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
253f6a5
...
@@ -63,12 +63,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -63,12 +63,12 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
).
Equals
(
false
))
if
(
SecondMoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
).
Equals
(
false
))
{
{
LogUtil
.
error
(
Name
+
" StartCheckFixture "
+
" 不在空闲中,直接返回 "
);
LogUtil
.
error
(
Name
+
" StartCheckFixture "
+
" 不在空闲中,直接返回 "
);
return
;
return
;
}
}
if
(!
LineManager
.
Line
.
CanProcessLine
())
if
(!
LineManager
.
Line
.
CanProcessLine
())
{
{
swWaitWatch
.
Stop
();
swWaitWatch
.
Stop
();
return
;
return
;
}
}
...
@@ -102,6 +102,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -102,6 +102,7 @@ namespace OnlineStore.DeviceLibrary
if
(
TrayManager
.
checkWatch
(
swWaitWatch
,
TrayManager
.
SwTrayWaitTime
,
true
)
&&
canProcess
)
if
(
TrayManager
.
checkWatch
(
swWaitWatch
,
TrayManager
.
SwTrayWaitTime
,
true
)
&&
canProcess
)
{
{
swWaitWatch
.
Stop
();
swWaitWatch
.
Stop
();
lastStopDown
=
DateTime
.
Now
;
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
,
CheckParam
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
,
CheckParam
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
...
@@ -111,7 +112,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -111,7 +112,6 @@ namespace OnlineStore.DeviceLibrary
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopCheck
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopCheck
,
IO_VALUE
.
LOW
));
lastStopDown
=
DateTime
.
Now
;
//IOMove(IO_Type.SW_StopDown, IO_VALUE.HIGH, TrayManager.StopDownWaitTime);
//IOMove(IO_Type.SW_StopDown, IO_VALUE.HIGH, TrayManager.StopDownWaitTime);
}
}
}
}
...
@@ -190,15 +190,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -190,15 +190,16 @@ namespace OnlineStore.DeviceLibrary
if
(
Config
.
SidesWayNum
<=
0
)
if
(
Config
.
SidesWayNum
<=
0
)
{
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_Stop2Down
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_Stop2Down
);
CheckLog
(
"托盘检测:"
+
SecondMoveInfo
.
SLog
+
"阻挡1上升,等待FL_TrayCheck=1
)
"
);
CheckLog
(
"托盘检测:"
+
SecondMoveInfo
.
SLog
+
"阻挡1上升,等待FL_TrayCheck=1
"
);
IOMove
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_TrayCheck
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_TrayCheck
,
IO_VALUE
.
HIGH
));
}
}
else
else
{
{
TimeSpan
span
=
DateTime
.
Now
-
SecondMoveInfo
.
LastSetpTime
;
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_FixtureCheck
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_FixtureCheck
);
CheckLog
(
"托盘检测:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸上升
,等待SW_TrayCheck=1)"
);
LogUtil
.
info
(
Name
+
"托盘阻挡:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸上升,下降耗时("
+
FormUtil
.
GetSpanStr
(
span
)+
")
,等待SW_TrayCheck=1)"
);
IOMove
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
}
}
...
@@ -217,7 +218,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -217,7 +218,7 @@ namespace OnlineStore.DeviceLibrary
{
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_Stop2Down
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_03_Stop2Down
);
CheckLog
(
"托盘检测:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸上升,等待SW_TrayCheck=1)"
);
CheckLog
(
"托盘检测:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸上升,等待SW_TrayCheck=1)"
);
IO
Move
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
LOW
);
CheckAnd
Move
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
}
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_03_Stop2Down
))
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_03_Stop2Down
))
...
...
source/DeviceLibrary/assemblyLine/LineBean_Partial.cs
查看文件 @
253f6a5
...
@@ -651,10 +651,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -651,10 +651,10 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SW41_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW08_DriveMotorMove
))
else
if
(
SW41_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW08_DriveMotorMove
))
{
{
SW41_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
SW09_WaitOutCheck
);
SW41_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
SW09_WaitOutCheck
);
SWLog
(
"横移轨道41:收到SW1_TrayCheck,先顶升4下降
,等待托盘到达出口
"
);
SWLog
(
"横移轨道41:收到SW1_TrayCheck,先顶升4下降 "
);
CylinderMove
(
SW41_MoveInfo
,
IO_Type
.
SW4_TopCylinder_Up
,
IO_Type
.
SW4_TopCylinder_Down
);
CylinderMove
(
SW41_MoveInfo
,
IO_Type
.
SW4_TopCylinder_Up
,
IO_Type
.
SW4_TopCylinder_Down
);
SW41_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
SW41_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
SW41_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW1_TrayCheck
,
IO_VALUE
.
HIGH
));
//
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW1_TrayCheck, IO_VALUE.HIGH));
}
}
else
if
(
SW41_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW09_WaitOutCheck
))
else
if
(
SW41_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW09_WaitOutCheck
))
{
{
...
@@ -839,10 +839,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -839,10 +839,10 @@ namespace OnlineStore.DeviceLibrary
else
if
(
SW23_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW08_DriveMotorMove
))
else
if
(
SW23_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW08_DriveMotorMove
))
{
{
SW23_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
SW09_WaitOutCheck
);
SW23_MoveInfo
.
NextMoveStep
(
LineMoveStep
.
SW09_WaitOutCheck
);
SWLog
(
"横移轨道23:收到 SW3_TrayCheck,先顶升2下降,
,等待托盘到达出口
"
);
SWLog
(
"横移轨道23:收到 SW3_TrayCheck,先顶升2下降, "
);
CylinderMove
(
SW23_MoveInfo
,
IO_Type
.
SW2_TopCylinder_Up
,
IO_Type
.
SW2_TopCylinder_Down
);
CylinderMove
(
SW23_MoveInfo
,
IO_Type
.
SW2_TopCylinder_Up
,
IO_Type
.
SW2_TopCylinder_Down
);
SW23_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
SW23_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
300
));
SW23_MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW3_TrayCheck
,
IO_VALUE
.
HIGH
));
//
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW3_TrayCheck, IO_VALUE.HIGH));
}
}
else
if
(
SW23_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW09_WaitOutCheck
))
else
if
(
SW23_MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
SW09_WaitOutCheck
))
{
{
...
...
source/DeviceLibrary/assemblyLine/ProvidingEquip_Partial.cs
查看文件 @
253f6a5
...
@@ -234,8 +234,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -234,8 +234,9 @@ namespace OnlineStore.DeviceLibrary
#
region
托盘检测
#
region
托盘检测
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_00_Stop1Down
))
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MIO_00_Stop1Down
))
{
{
TimeSpan
span
=
DateTime
.
Now
-
SecondMoveInfo
.
LastSetpTime
;
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_FixtureCheck
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_FixtureCheck
);
CheckLog
(
"托盘阻挡"
+
SecondMoveInfo
.
SLog
+
" 阻挡气缸1-1上升
,等待 阻挡2托盘检测=1)"
);
LogUtil
.
info
(
Name
+
"托盘阻挡"
+
SecondMoveInfo
.
SLog
+
" 阻挡气缸上升,下降耗时("
+
FormUtil
.
GetSpanStr
(
span
)+
")
,等待 阻挡2托盘检测=1)"
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check2
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check2
,
IO_VALUE
.
HIGH
));
}
}
...
...
source/DeviceLibrary/deviceLibrary/IO/IOManager.cs
查看文件 @
253f6a5
...
@@ -22,19 +22,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -22,19 +22,26 @@ namespace OnlineStore.DeviceLibrary
ConfigIO
configIo
=
GetDO
(
ioType
,
subType
);
ConfigIO
configIo
=
GetDO
(
ioType
,
subType
);
if
(
configIo
!=
null
)
if
(
configIo
!=
null
)
{
{
instance
.
WriteSingleDO
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
(),
ioValue
);
try
//如果是出料四阻挡下降,添加日志
if
(
ioValue
.
Equals
(
IO_VALUE
.
HIGH
))
{
{
if
(
configIo
.
IO_IP
.
Equals
(
"192.168.101.49"
)
&&
configIo
.
GetIOAddr
().
Equals
(
4
))
//如果是出料四阻挡下降,添加日志
{
if
((
configIo
.
IO_IP
.
Equals
(
"192.168.101.49"
)
||
configIo
.
IO_IP
.
Equals
(
"192.168.101.41"
))
&&
configIo
.
GetIOAddr
().
Equals
(
4
))
LogUtil
.
info
(
"IOMove: ioValue= "
+
ioValue
+
", [ "
+
subType
+
"] ["
+
ioType
+
"] [192.168.101.49][4]"
);
}
else
if
(
configIo
.
IO_IP
.
Equals
(
"192.168.101.41"
)
&&
configIo
.
GetIOAddr
().
Equals
(
4
))
{
{
LogUtil
.
info
(
"IOMove: ioValue= "
+
ioValue
+
", [ "
+
subType
+
"] ["
+
ioType
+
"] [192.168.101.41][4]"
);
if
(
ioValue
.
Equals
(
IO_VALUE
.
HIGH
))
{
LogUtil
.
info
(
"IOMove: ioValue= "
+
ioValue
+
", [ "
+
subType
+
"] ["
+
ioType
+
"] ["
+
configIo
.
IO_IP
+
"][4]"
);
}
else
if
(
instance
.
GetDOValue
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
()).
Equals
(
IO_VALUE
.
HIGH
))
{
//如果上次是high,打印
LogUtil
.
info
(
"IOMove: ioValue= "
+
ioValue
+
", [ "
+
subType
+
"] ["
+
ioType
+
"]["
+
configIo
.
IO_IP
+
"][4]"
);
}
}
}
}
catch
(
Exception
ex
)
{
}
}
instance
.
WriteSingleDO
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
(),
ioValue
);
Thread
.
Sleep
(
10
);
Thread
.
Sleep
(
10
);
}
}
else
else
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论