Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2a3343e8
由
张东亮
编写于
2024-01-05 09:48:17 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
入库空抓料盘时取消入库任务
1 个父辈
9e9d9777
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
63 行增加
和
19 行删除
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/FeedingEquip.cs
查看文件 @
2a3343e
...
@@ -108,6 +108,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -108,6 +108,7 @@ namespace OnlineStore.DeviceLibrary
{
{
LogInfo
(
"复位前,清理出库高度:"
+
OutStoreHeight
);
LogInfo
(
"复位前,清理出库高度:"
+
OutStoreHeight
);
}
}
lastcode
=
""
;
//复位时设置状态为none
//复位时设置状态为none
AgvClient
.
SetStatus
(
Config
.
AgvInName
);
AgvClient
.
SetStatus
(
Config
.
AgvInName
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
);
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
2a3343e
...
@@ -347,7 +347,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -347,7 +347,7 @@ namespace OnlineStore.DeviceLibrary
{
{
TrayInfo
tray
=
TrayManager
.
GetTrayInfo
(
currTrayNum
);
TrayInfo
tray
=
TrayManager
.
GetTrayInfo
(
currTrayNum
);
bool
isfull
=
tray
.
IsFull
;
bool
isfull
=
tray
.
IsFull
;
if
(
tray
!=
null
&&
tray
.
InoutPar
.
Corrected
)
if
(
tray
!=
null
&&
tray
.
InoutPar
.
Corrected
)
{
{
LogInfo
(
SecondMoveInfo
.
MoveNum
+
SecondMoveInfo
.
SLog
+
" 入库中,需拦截空托盘【 "
+
currTrayNum
+
"】托盘已纠正,不再验证料盘检测信号"
);
LogInfo
(
SecondMoveInfo
.
MoveNum
+
SecondMoveInfo
.
SLog
+
" 入库中,需拦截空托盘【 "
+
currTrayNum
+
"】托盘已纠正,不再验证料盘检测信号"
);
}
}
...
@@ -365,7 +365,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -365,7 +365,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
"当前托盘上的料盘检测信号["
+
io
.
ConfigStr
+
"]的值:"
+
IOValue
(
IO_Type
.
ReelCheck
));
LogInfo
(
"当前托盘上的料盘检测信号["
+
io
.
ConfigStr
+
"]的值:"
+
IOValue
(
IO_Type
.
ReelCheck
));
}
}
LogInfo
(
SecondMoveInfo
.
MoveNum
+
SecondMoveInfo
.
SLog
+
" 入库中,需拦截空托盘【 "
+
currTrayNum
+
"】,空托盘料盘检测信号亮,禁用托盘,暂时放托盘离开"
);
LogInfo
(
SecondMoveInfo
.
MoveNum
+
SecondMoveInfo
.
SLog
+
" 入库中,需拦截空托盘【 "
+
currTrayNum
+
"】,空托盘料盘检测信号亮,禁用托盘,暂时放托盘离开"
);
TrayDisableManager
.
AddDisable
(
currTrayNum
,
Name
,
"空托盘料盘检测信号亮"
,
2
,
DeviceID
);
TrayDisableManager
.
AddDisable
(
currTrayNum
,
Name
,
"空托盘料盘检测信号亮"
,
2
,
DeviceID
);
TrayMoveOk
();
TrayMoveOk
();
return
;
return
;
}
}
...
@@ -559,7 +559,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -559,7 +559,7 @@ namespace OnlineStore.DeviceLibrary
return
;
return
;
}
}
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_MoveOk
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_MoveOk
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
","
+
SecondMoveInfo
.
SLog
+
":托盘开始放行"
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
","
+
SecondMoveInfo
.
SLog
+
":托盘开始放行"
);
if
(
Config
.
SidesWayNum
>
0
)
if
(
Config
.
SidesWayNum
>
0
)
{
{
if
(
CylinderIsOk
(
IO_Type
.
SW_LocationCylinder_Up
,
IO_Type
.
SW_LocationCylinder_Down
))
if
(
CylinderIsOk
(
IO_Type
.
SW_LocationCylinder_Up
,
IO_Type
.
SW_LocationCylinder_Down
))
...
@@ -680,7 +680,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -680,7 +680,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_01_TrayLocation_After
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_01_TrayLocation_After
);
InLog
(
"检测到料架, "
+
MoveInfo
.
MoveStep
+
" :升降盘定位气缸下降"
);
InLog
(
"检测到料架, "
+
MoveInfo
.
MoveStep
+
" :升降盘定位气缸下降"
);
TrayLCylinderAfter
(
MoveInfo
);
TrayLCylinderAfter
(
MoveInfo
);
}
else
}
else
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_00_BatchAxisToP2
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_00_BatchAxisToP2
);
OutLog
(
"检测到料架,升降盘不在后退端 "
+
MoveInfo
.
SLog
+
" :提升伺服先回到P2"
);
OutLog
(
"检测到料架,升降盘不在后退端 "
+
MoveInfo
.
SLog
+
" :提升伺服先回到P2"
);
...
@@ -724,7 +725,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -724,7 +725,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Location_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SL_Line_Run
,
IO_VALUE
.
HIGH
));
}
else
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
HIGH
))
}
else
if
(
IOValue
(
IO_Type
.
SL_Entry_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_03_LineStart
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_03_LineStart
);
InLog
(
"入料检测: "
+
MoveInfo
.
SLog
+
" 进料口有新料架,进料阻挡上升,缓冲阻挡前进1000,流水线转动 1000"
);
InLog
(
"入料检测: "
+
MoveInfo
.
SLog
+
" 进料口有新料架,进料阻挡上升,缓冲阻挡前进1000,流水线转动 1000"
);
...
@@ -793,10 +795,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -793,10 +795,10 @@ namespace OnlineStore.DeviceLibrary
string
ip
=
RFIDManager
.
GetRFIP
(
DeviceID
,
1
);
string
ip
=
RFIDManager
.
GetRFIP
(
DeviceID
,
1
);
InLog
(
"料架号【"
+
CurrShelfId
+
"】无效,ResetRFID["
+
ip
+
"], 等待30秒后重新读取"
);
InLog
(
"料架号【"
+
CurrShelfId
+
"】无效,ResetRFID["
+
ip
+
"], 等待30秒后重新读取"
);
string
msg
=
""
;
string
msg
=
""
;
bool
result
=
RFIDManager
.
ResetRFID
(
ip
,
out
msg
);
bool
result
=
RFIDManager
.
ResetRFID
(
ip
,
out
msg
);
if
(!
result
)
if
(!
result
)
{
{
LogUtil
.
error
(
Name
+
"料架号【"
+
CurrShelfId
+
"】无效,ResetRFID["
+
ip
+
"], 失败:"
+
msg
);
LogUtil
.
error
(
Name
+
"料架号【"
+
CurrShelfId
+
"】无效,ResetRFID["
+
ip
+
"], 失败:"
+
msg
);
}
}
//MoveInfo.NextMoveStep(LineMoveStep.FI_53_BatchAxisToP1);
//MoveInfo.NextMoveStep(LineMoveStep.FI_53_BatchAxisToP1);
...
@@ -1342,7 +1344,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1342,7 +1344,7 @@ namespace OnlineStore.DeviceLibrary
private
void
FI_25_WaitTray
()
private
void
FI_25_WaitTray
()
{
{
if
((
getPosTask
==
null
||
getPosTask
.
IsCompleted
)
&&
LastPosParam
!=
null
)
if
((
getPosTask
==
null
||
getPosTask
.
IsCompleted
)
&&
LastPosParam
!=
null
)
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_25_WaitTray
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_25_WaitTray
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
100
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
100
));
...
@@ -1381,6 +1383,46 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1381,6 +1383,46 @@ namespace OnlineStore.DeviceLibrary
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
LastPosParam
=
null
;
LastPosParam
=
null
;
string
code
=
CodeManager
.
ProcessCode
(
LastCodeList
);
string
code
=
CodeManager
.
ProcessCode
(
LastCodeList
);
if
(!
string
.
IsNullOrEmpty
(
lastcode
)
&&
!
string
.
IsNullOrEmpty
(
code
))
{
if
(
lastcode
.
Equals
(
code
))
{
InLog
(
$
"【{code}】与上一盘的条码相同【{lastcode}】,认为空抓,取消该入库任务,直接NG不需要获取库位号"
);
getPosTask
=
null
;
LastPosParam
=
new
InOutParam
(
0
,
lastcode
,
""
,
LastHeight
,
LastWidth
,
true
);
LastPosParam
.
NgMsg
=
$
"入库:与上一盘的条码相同,认为空抓"
;
LastPosParam
.
InStoreNg
=
true
;
LastPosParam
.
rfid
=
CurrShelfId
;
LastPosParam
.
WareCode
=
lastcode
;
LastPosParam
.
ManualJudgeNG
=
true
;
//如果没有宽度,默认最宽料盘
if
(
LastWidth
<=
0
)
{
LastWidth
=
15
;
LastHeight
=
56
;
LastPosParam
.
PlateH
=
LastHeight
;
LastPosParam
.
PlateW
=
LastWidth
;
InLog
(
$
"【{code}】宽度为0,默认最大料盘尺寸 {LastPosParam.PlateW}X{LastPosParam.PlateH} ,标记 ManualJudgeNG=true"
);
}
else
{
if
(
LastWidth
.
Equals
(
7
))
{
LastHeight
=
16
;
}
else
{
LastHeight
=
56
;
}
LastPosParam
.
PlateH
=
LastHeight
;
InLog
(
$
"【{code}】宽度为{LastWidth},默认最大料盘尺寸 {LastPosParam.PlateW}X{LastPosParam.PlateH} ,标记 ManualJudgeNG=true"
);
}
SServerManager
.
cancelPutInTask
(
Name
,
LastPosParam
.
WareCode
,
false
);
return
;
}
}
lastcode
=
code
;
lastcode
=
code
;
//如果尺寸或者高度为0,不需要获取库位号
//如果尺寸或者高度为0,不需要获取库位号
if
(
LastWidth
<=
0
||
LastHeight
<=
0
)
if
(
LastWidth
<=
0
||
LastHeight
<=
0
)
...
@@ -1388,8 +1430,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1388,8 +1430,8 @@ namespace OnlineStore.DeviceLibrary
InLog
(
$
"【"
+
code
+
"】清空LastPosResult,料盘尺寸 {LastWidth}X{LastHeight} 尺寸不完整,直接NG不需要获取库位号"
);
InLog
(
$
"【"
+
code
+
"】清空LastPosResult,料盘尺寸 {LastWidth}X{LastHeight} 尺寸不完整,直接NG不需要获取库位号"
);
getPosTask
=
null
;
getPosTask
=
null
;
LastPosParam
=
new
InOutParam
(
0
,
lastcode
,
""
,
LastHeight
,
LastWidth
,
true
)
;
LastPosParam
=
new
InOutParam
(
0
,
lastcode
,
""
,
LastHeight
,
LastWidth
,
true
)
;
LastPosParam
.
NgMsg
=
$
"入库:{LastWidth}X{LastHeight} 尺寸不完整"
;
LastPosParam
.
NgMsg
=
$
"入库:{LastWidth}X{LastHeight} 尺寸不完整"
;
LastPosParam
.
InStoreNg
=
true
;
LastPosParam
.
InStoreNg
=
true
;
LastPosParam
.
rfid
=
CurrShelfId
;
LastPosParam
.
rfid
=
CurrShelfId
;
LastPosParam
.
WareCode
=
lastcode
;
LastPosParam
.
WareCode
=
lastcode
;
...
@@ -1401,7 +1443,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1401,7 +1443,7 @@ namespace OnlineStore.DeviceLibrary
LastHeight
=
56
;
LastHeight
=
56
;
LastPosParam
.
PlateH
=
LastHeight
;
LastPosParam
.
PlateH
=
LastHeight
;
LastPosParam
.
PlateW
=
LastWidth
;
LastPosParam
.
PlateW
=
LastWidth
;
InLog
(
$
"【{
code }】宽度为0,默认最大料盘尺寸 {LastPosParam.PlateW}X{LastPosParam.PlateH} ,标记 ManualJudgeNG=true"
);
InLog
(
$
"【{
code}】宽度为0,默认最大料盘尺寸 {LastPosParam.PlateW}X{LastPosParam.PlateH} ,标记 ManualJudgeNG=true"
);
}
}
else
else
{
{
...
@@ -1414,7 +1456,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1414,7 +1456,7 @@ namespace OnlineStore.DeviceLibrary
LastHeight
=
56
;
LastHeight
=
56
;
}
}
LastPosParam
.
PlateH
=
LastHeight
;
LastPosParam
.
PlateH
=
LastHeight
;
InLog
(
$
"【{
code
}】宽度为{LastWidth},默认最大料盘尺寸 {LastPosParam.PlateW}X{LastPosParam.PlateH} ,标记 ManualJudgeNG=true"
);
InLog
(
$
"【{
code
}】宽度为{LastWidth},默认最大料盘尺寸 {LastPosParam.PlateW}X{LastPosParam.PlateH} ,标记 ManualJudgeNG=true"
);
}
}
return
;
return
;
}
}
...
@@ -1526,7 +1568,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1526,7 +1568,7 @@ namespace OnlineStore.DeviceLibrary
{
{
targetPosition
=
maxtPosition
;
targetPosition
=
maxtPosition
;
}
}
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":提升轴下降到料盘不溢出("
+
(
currPositon
-
Config
.
Height_ChangeValue
*
30
)
+
"):"
+
targetPosition
+
",速度:"
+
Config
.
BatchAxis_P4Speed
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":提升轴下降到料盘不溢出("
+
(
currPositon
-
Config
.
Height_ChangeValue
*
30
)
+
"):"
+
targetPosition
+
",速度:"
+
Config
.
BatchAxis_P4Speed
);
BatchAxis
.
AbsMove
(
MoveInfo
,
targetPosition
,
Config
.
BatchAxis_P4Speed
);
BatchAxis
.
AbsMove
(
MoveInfo
,
targetPosition
,
Config
.
BatchAxis_P4Speed
);
}
}
...
@@ -1547,7 +1589,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1547,7 +1589,7 @@ namespace OnlineStore.DeviceLibrary
YuScanTask
=
Task
.
Factory
.
StartNew
(
delegate
YuScanTask
=
Task
.
Factory
.
StartNew
(
delegate
{
{
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
NextCodeList
=
CodeManager
.
CameraScan
(
Config
.
GetCameraList
(),
Name
.
Trim
()
+
"预扫码"
);
NextCodeList
=
CodeManager
.
CameraScan
(
Config
.
GetCameraList
(),
Name
.
Trim
()
+
"预扫码"
);
bool
isCanUse
=
true
;
bool
isCanUse
=
true
;
//判断是否可用
//判断是否可用
foreach
(
string
nC
in
NextCodeList
)
foreach
(
string
nC
in
NextCodeList
)
...
@@ -1708,7 +1750,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1708,7 +1750,7 @@ namespace OnlineStore.DeviceLibrary
if
(
LoopCount
<
10
)
if
(
LoopCount
<
10
)
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_10_AxisUpMove
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_10_AxisUpMove
);
InLog
(
"料架入库"
+
MoveInfo
.
SLog
+
":CheckHasTray:上料轴开始慢速上升到P3点,等待检测到料盘,LoopCount="
+
LoopCount
);
InLog
(
"料架入库"
+
MoveInfo
.
SLog
+
":CheckHasTray:上料轴开始慢速上升到P3点,等待检测到料盘,LoopCount="
+
LoopCount
);
MoveInfo
.
ShelfNoTray
=
false
;
MoveInfo
.
ShelfNoTray
=
false
;
BatchAxisToP3
(
false
);
BatchAxisToP3
(
false
);
}
}
...
@@ -1772,7 +1814,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1772,7 +1814,7 @@ namespace OnlineStore.DeviceLibrary
private
List
<
string
>
LastCodeList
=
new
List
<
string
>();
private
List
<
string
>
LastCodeList
=
new
List
<
string
>();
private
List
<
string
>
NextCodeList
=
new
List
<
string
>();
private
List
<
string
>
NextCodeList
=
new
List
<
string
>();
private
int
TrayLCylinderMoveCount
=
0
;
//升降盘气缸已运动次数
private
int
TrayLCylinderMoveCount
=
0
;
//升降盘气缸已运动次数
private
int
GetHeight
()
private
int
GetHeight
()
{
{
LastHeight
=
0
;
LastHeight
=
0
;
...
@@ -1821,7 +1863,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1821,7 +1863,7 @@ namespace OnlineStore.DeviceLibrary
}
}
if
(
LastHeight
<=
8
)
{
LastHeight
=
8
;
}
if
(
LastHeight
<=
8
)
{
LastHeight
=
8
;
}
string
code
=
CodeManager
.
ProcessCode
(
LastCodeList
);
string
code
=
CodeManager
.
ProcessCode
(
LastCodeList
);
string
msg
=
Name
+
" 计算盘高:上升前 ["
+
StartMovePosition
+
"]实时[ "
+
EndMovePosition
+
"]差值["
+
(
EndMovePosition
-
StartMovePosition
)
+
"]系数["
+
AxisChangeValue
+
"] 计算后"
+
buchongStr
+
"["
+
height
+
"]"
+
",归类为【"
+
LastHeight
+
"mm】条码【"
+
code
+
"】"
;
string
msg
=
Name
+
" 计算盘高:上升前 ["
+
StartMovePosition
+
"]实时[ "
+
EndMovePosition
+
"]差值["
+
(
EndMovePosition
-
StartMovePosition
)
+
"]系数["
+
AxisChangeValue
+
"] 计算后"
+
buchongStr
+
"["
+
height
+
"]"
+
",归类为【"
+
LastHeight
+
"mm】条码【"
+
code
+
"】"
;
LogUtil
.
info
(
msg
);
LogUtil
.
info
(
msg
);
return
LastHeight
;
return
LastHeight
;
}
}
...
@@ -1843,7 +1885,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1843,7 +1885,8 @@ namespace OnlineStore.DeviceLibrary
else
if
(
IOValue
(
IO_Type
.
SL_TrayCheck1
).
Equals
(
IO_VALUE
.
HIGH
))
else
if
(
IOValue
(
IO_Type
.
SL_TrayCheck1
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
width
=
7
;
width
=
7
;
}
else
}
else
{
{
LogUtil
.
error
(
Name
+
"GetWidth :1234都未检测到,默认为7寸盘"
);
LogUtil
.
error
(
Name
+
"GetWidth :1234都未检测到,默认为7寸盘"
);
width
=
7
;
width
=
7
;
...
@@ -1958,7 +2001,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1958,7 +2001,7 @@ namespace OnlineStore.DeviceLibrary
{
{
//入料执行中, 且需要空托盘
//入料执行中, 且需要空托盘
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_25_WaitTray
)
||
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_25_WaitTray
)
||
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_22_BatchAxisDown
)||
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_22_BatchAxisDown
)
||
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_21_CylinderGive
))
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_21_CylinderGive
))
//if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_25_WaitTray) && MoveInfo.IsInWait.Equals(false))
//if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_25_WaitTray) && MoveInfo.IsInWait.Equals(false))
{
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论