Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO1007_XLC_Store
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit aedc9e67
由
刘韬
编写于
2022-03-01 14:27:49 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
优化入料滚筒运行时间
1 个父辈
c9ac5b9a
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
101 行增加
和
37 行删除
DeviceLibrary/Config/Config.csv
DeviceLibrary/DeviceLibrary/LiftMonitor.cs
DeviceLibrary/theMachine/BoxTransport.cs
DeviceLibrary/theMachine/MainMachine _IN.cs
DeviceLibrary/theMachine/MainMachine _Out.cs
DeviceLibrary/theMachine/MainMachine _Store.cs
DeviceLibrary/theMachine/MainMachine.cs
LoadCVSLibrary/storeConfig/config/Robot_Config.cs
DeviceLibrary/Config/Config.csv
查看文件 @
aedc9e6
...
@@ -9,7 +9,9 @@ PRO,50,IO信号超时时间(秒),IOSingle_TimerOut,15,,,,,,,,,,,,
...
@@ -9,7 +9,9 @@ PRO,50,IO信号超时时间(秒),IOSingle_TimerOut,15,,,,,,,,,,,,
PRO,50,气压检测超时,AirCheckSeconds,5,,,,,,,,,,,,
PRO,50,气压检测超时,AirCheckSeconds,5,,,,,,,,,,,,
PRO,50,扫码相机,CameraName,GigE:MV-CE200-10GC (00G03770732),,,,,,,,,,,,
PRO,50,扫码相机,CameraName,GigE:MV-CE200-10GC (00G03770732),,,,,,,,,,,,
PRO,40,入料线体顶升电机速度,InLift_Moto_Speed,30000,,,,,,,,,,,,
PRO,40,入料线体顶升电机速度,InLift_Moto_Speed,30000,,,,,,,,,,,,
PRO,40,入料线体顶升电机下降速度,InLift_Moto_DownSpeed,30000,,,,,,,,,,,,
PRO,40,出料线体顶升电机速度,OutLift_Moto_Speed,30000,,,,,,,,,,,,
PRO,40,出料线体顶升电机速度,OutLift_Moto_Speed,30000,,,,,,,,,,,,
PRO,40,出料线体顶升电机下降速度,OutLift_Moto_DownSpeed,30000,,,,,,,,,,,,
PRO,40,称重传感器端口,WeightSensorPort,COM5,,,,,,,,,,,,
PRO,40,称重传感器端口,WeightSensorPort,COM5,,,,,,,,,,,,
PRO,40,称重传感器皮重,WeightSensorBase,0,,,,,,,,,,,,
PRO,40,称重传感器皮重,WeightSensorBase,0,,,,,,,,,,,,
PRO,40,库位最大承重,StoreWeightLimited,30,,,,,,,,,,,,
PRO,40,库位最大承重,StoreWeightLimited,30,,,,,,,,,,,,
...
...
DeviceLibrary/DeviceLibrary/LiftMonitor.cs
查看文件 @
aedc9e6
...
@@ -15,14 +15,19 @@ namespace DeviceLibrary
...
@@ -15,14 +15,19 @@ namespace DeviceLibrary
string
down
;
string
down
;
string
axisbreak
;
string
axisbreak
;
AxisBean
axisBean
;
AxisBean
axisBean
;
int
speed
;
int
upspeed
;
int
downspeed
;
int
StrokeLength
=
270000
;
int
StrokeLength
=
270000
;
public
LiftMonitor
(
string
_up
,
string
_down
,
string
_break
,
AxisBean
_axisBean
,
int
_
speed
)
{
public
LiftMonitor
(
string
_up
,
string
_down
,
string
_break
,
AxisBean
_axisBean
,
int
_
upspeed
,
int
_downspeed
=
0
)
{
up
=
_up
;
up
=
_up
;
down
=
_down
;
down
=
_down
;
axisBean
=
_axisBean
;
axisBean
=
_axisBean
;
speed
=
_
speed
;
upspeed
=
_up
speed
;
axisbreak
=
_break
;
axisbreak
=
_break
;
downspeed
=
_downspeed
;
if
(
downspeed
==
0
)
{
downspeed
=
upspeed
;
}
}
}
public
bool
isAtTOP
{
public
bool
isAtTOP
{
get
{
get
{
...
@@ -46,7 +51,7 @@ namespace DeviceLibrary
...
@@ -46,7 +51,7 @@ namespace DeviceLibrary
}
}
IOManager
.
IOMove
(
axisbreak
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
axisbreak
,
IO_VALUE
.
HIGH
);
Thread
.
Sleep
(
200
);
Thread
.
Sleep
(
200
);
axisBean
.
RelMove
(
StrokeLength
,
(
double
)
speed
);
axisBean
.
RelMove
(
StrokeLength
,
(
double
)
up
speed
);
DateTime
d
=
DateTime
.
Now
;
DateTime
d
=
DateTime
.
Now
;
moveInfo
.
log
(
$
"{axisBean.AxisName},LiftUp"
);
moveInfo
.
log
(
$
"{axisBean.AxisName},LiftUp"
);
if
(
moveInfo
!=
null
)
if
(
moveInfo
!=
null
)
...
@@ -71,7 +76,7 @@ namespace DeviceLibrary
...
@@ -71,7 +76,7 @@ namespace DeviceLibrary
}
}
if
(!
axisBean
.
IsBusy
)
{
if
(!
axisBean
.
IsBusy
)
{
axisBean
.
RelMove
(
StrokeLength
,
(
double
)
speed
);
axisBean
.
RelMove
(
StrokeLength
,
(
double
)
up
speed
);
}
}
return
false
;
return
false
;
}
}
...
@@ -86,7 +91,7 @@ namespace DeviceLibrary
...
@@ -86,7 +91,7 @@ namespace DeviceLibrary
}
}
IOManager
.
IOMove
(
axisbreak
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
axisbreak
,
IO_VALUE
.
HIGH
);
Thread
.
Sleep
(
200
);
Thread
.
Sleep
(
200
);
axisBean
.
RelMove
(-
StrokeLength
,
(
double
)
speed
);
axisBean
.
RelMove
(-
StrokeLength
,
(
double
)
down
speed
);
DateTime
d
=
DateTime
.
Now
;
DateTime
d
=
DateTime
.
Now
;
moveInfo
.
log
(
$
"{axisBean.AxisName},LiftDown"
);
moveInfo
.
log
(
$
"{axisBean.AxisName},LiftDown"
);
if
(
moveInfo
!=
null
)
if
(
moveInfo
!=
null
)
...
@@ -114,7 +119,7 @@ namespace DeviceLibrary
...
@@ -114,7 +119,7 @@ namespace DeviceLibrary
if
(!
axisBean
.
IsBusy
)
if
(!
axisBean
.
IsBusy
)
{
{
axisBean
.
RelMove
(-
StrokeLength
,
(
double
)
speed
);
axisBean
.
RelMove
(-
StrokeLength
,
(
double
)
down
speed
);
}
}
return
false
;
return
false
;
}
}
...
...
DeviceLibrary/theMachine/BoxTransport.cs
查看文件 @
aedc9e6
...
@@ -27,6 +27,7 @@ namespace DeviceLibrary
...
@@ -27,6 +27,7 @@ namespace DeviceLibrary
public
bool
IsComplateOrFree
{
get
=>
MoveInfo
.
MoveStep
==
MoveStep
.
Wait
;
}
public
bool
IsComplateOrFree
{
get
=>
MoveInfo
.
MoveStep
==
MoveStep
.
Wait
;
}
public
bool
IsTakedBox
{
get
=>
MoveInfo
.
MoveStep
>=
MoveStep
.
StoreTS10
;
}
public
bool
IsTakedBox
{
get
=>
MoveInfo
.
MoveStep
>=
MoveStep
.
StoreTS10
;
}
public
bool
IsPutOnOut
{
get
=>
To
.
posid
==
BoxStorePosition
.
outdoor
&&
MoveInfo
.
MoveStep
>=
MoveStep
.
StoreTS16
;
}
public
bool
IsPutOnOut
{
get
=>
To
.
posid
==
BoxStorePosition
.
outdoor
&&
MoveInfo
.
MoveStep
>=
MoveStep
.
StoreTS16
;
}
public
BoxTransport
(
Robot_Config
_Config
,
MainMachine
_mainMachine
)
public
BoxTransport
(
Robot_Config
_Config
,
MainMachine
_mainMachine
)
{
{
Config
=
_Config
;
Config
=
_Config
;
...
@@ -44,7 +45,8 @@ namespace DeviceLibrary
...
@@ -44,7 +45,8 @@ namespace DeviceLibrary
}
}
StoreMoveType
storeMoveType
=
StoreMoveType
.
None
;
StoreMoveType
storeMoveType
=
StoreMoveType
.
None
;
string
WareCode
=
""
;
string
WareCode
=
""
;
public
bool
Start
(
BoxStorePosition
from
,
BoxStorePosition
to
,
StoreMoveType
_storeMoveType
,
string
warecode
)
bool
PreMove
=
false
;
public
bool
Start
(
BoxStorePosition
from
,
BoxStorePosition
to
,
StoreMoveType
_storeMoveType
,
string
warecode
,
bool
premove
=
false
)
{
{
if
(
MoveInfo
.
MoveStep
!=
MoveStep
.
Wait
)
if
(
MoveInfo
.
MoveStep
!=
MoveStep
.
Wait
)
...
@@ -52,6 +54,7 @@ namespace DeviceLibrary
...
@@ -52,6 +54,7 @@ namespace DeviceLibrary
WareCode
=
warecode
;
WareCode
=
warecode
;
storeMoveType
=
_storeMoveType
;
storeMoveType
=
_storeMoveType
;
PreMove
=
premove
;
if
(
from
==
null
)
if
(
from
==
null
)
{
{
To
=
to
.
clone
();
To
=
to
.
clone
();
...
@@ -83,6 +86,12 @@ namespace DeviceLibrary
...
@@ -83,6 +86,12 @@ namespace DeviceLibrary
var
uty
=
py
+
Config
.
YAxis
.
CanErrorCountMax
;
var
uty
=
py
+
Config
.
YAxis
.
CanErrorCountMax
;
var
dty
=
py
-
Config
.
YAxis
.
CanErrorCountMax
;
var
dty
=
py
-
Config
.
YAxis
.
CanErrorCountMax
;
if
(
y_to
<=
Config
.
Yaxis_P1
)
return
true
;
if
(
dty
<=
Config
.
Yaxis_P1
)
return
true
;
//从外侧到内测,判断目标位置是否小于p1
//从外侧到内测,判断目标位置是否小于p1
if
(
rtx
>=
Config
.
Xaxis_P1
&&
x_to
<
Config
.
Xaxis_P1
)
if
(
rtx
>=
Config
.
Xaxis_P1
&&
x_to
<
Config
.
Xaxis_P1
)
{
{
...
@@ -92,12 +101,18 @@ namespace DeviceLibrary
...
@@ -92,12 +101,18 @@ namespace DeviceLibrary
//从内测到外侧判断当前位置是否小于p1
//从内测到外侧判断当前位置是否小于p1
if
(
ltx
<=
Config
.
Xaxis_P1
&&
x_to
>
Config
.
Xaxis_P1
)
if
(
ltx
<=
Config
.
Xaxis_P1
&&
x_to
>
Config
.
Xaxis_P1
)
{
{
if
(
uty
<
Config
.
Yaxis_P1
)
return
true
;
}
}
return
false
;
return
false
;
}
}
public
bool
ReadyToTakeBox
()
{
if
(
MoveInfo
.
MoveStep
!=
MoveStep
.
StoreTS05
)
return
false
;
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS06
);
return
true
;
}
public
bool
Process
()
public
bool
Process
()
{
{
if
(
mainMachine
.
CheckWait
(
MoveInfo
))
if
(
mainMachine
.
CheckWait
(
MoveInfo
))
...
@@ -140,14 +155,15 @@ namespace DeviceLibrary
...
@@ -140,14 +155,15 @@ namespace DeviceLibrary
}
}
break
;
break
;
case
MoveStep
.
StoreTS04
:
case
MoveStep
.
StoreTS04
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS0
6
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS0
5
);
YAxis
.
AbsMove
(
MoveInfo
,
From
.
Yaxis_PL
,
Config
.
Yaxis_P1_speed
);
YAxis
.
AbsMove
(
MoveInfo
,
From
.
Yaxis_PL
,
Config
.
Yaxis_P1_speed
);
MoveInfo
.
log
(
$
"{storeMoveType}:上下轴到达取料低点"
);
MoveInfo
.
log
(
$
"{storeMoveType}:上下轴到达取料低点"
);
XAxis
.
AbsMove
(
MoveInfo
,
From
.
Xaxis_P2
,
Config
.
Xaxis_P2_speed
);
XAxis
.
AbsMove
(
MoveInfo
,
From
.
Xaxis_P2
,
Config
.
Xaxis_P2_speed
);
MoveInfo
.
log
(
$
"{storeMoveType}:行走机构到达取料点"
);
MoveInfo
.
log
(
$
"{storeMoveType}:行走机构到达取料点"
);
break
;
break
;
case
MoveStep
.
StoreTS05
:
case
MoveStep
.
StoreTS05
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS06
);
if
(!
PreMove
)
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS06
);
break
;
break
;
case
MoveStep
.
StoreTS06
:
case
MoveStep
.
StoreTS06
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS07
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS07
);
...
@@ -195,14 +211,22 @@ namespace DeviceLibrary
...
@@ -195,14 +211,22 @@ namespace DeviceLibrary
}
}
break
;
break
;
case
MoveStep
.
StoreTS10
:
case
MoveStep
.
StoreTS10
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS1
2
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS1
1
);
XAxis
.
AbsMove
(
MoveInfo
,
To
.
Xaxis_P2
,
Config
.
Xaxis_P2_speed
);
XAxis
.
AbsMove
(
MoveInfo
,
To
.
Xaxis_P2
,
Config
.
Xaxis_P2_speed
);
MoveInfo
.
log
(
$
"{storeMoveType}:行走机构到达目的地"
);
MoveInfo
.
log
(
$
"{storeMoveType}:行走机构到达目的地"
);
YAxis
.
AbsMove
(
MoveInfo
,
To
.
Yaxis_PH
,
Config
.
Yaxis_P1_speed
);
YAxis
.
AbsMove
(
MoveInfo
,
To
.
Yaxis_PH
,
Config
.
Yaxis_P1_speed
);
MoveInfo
.
log
(
$
"{storeMoveType}:上下轴到达目的地高点"
);
MoveInfo
.
log
(
$
"{storeMoveType}:上下轴到达目的地高点"
);
break
;
break
;
case
MoveStep
.
StoreTS11
:
case
MoveStep
.
StoreTS11
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS12
);
if
(
To
.
posid
==
BoxStorePosition
.
outdoor
)
{
if
(!
mainMachine
.
IsOutLiftEmpty
)
{
if
(
MoveInfo
.
IsTimeOut
(
20
))
Msg
.
add
(
"等待出口顶升清空周转箱"
,
MsgLevel
.
warning
);
return
false
;
}
}
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS12
);
break
;
break
;
case
MoveStep
.
StoreTS12
:
case
MoveStep
.
StoreTS12
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS13
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS13
);
...
...
DeviceLibrary/theMachine/MainMachine _IN.cs
查看文件 @
aedc9e6
...
@@ -170,11 +170,11 @@ namespace DeviceLibrary
...
@@ -170,11 +170,11 @@ namespace DeviceLibrary
case
MoveStep
.
In06
:
case
MoveStep
.
In06
:
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In07
);
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In07
);
LineIn
.
LineRun
(
"work"
,
999
);
LineIn
.
LineRun
(
"work"
,
999
);
if
(
RobotManage
.
StoreType
==
StoreType
.
TypeA
)
//
if (RobotManage.StoreType == StoreType.TypeA)
{
//
{
CylinderMove
(
InMoveInfo
,
IO_Type
.
InMaterialLocation_Bck
,
IO_Type
.
InMaterialLocation_Fwd
,
IO_VALUE
.
HIGH
);
//
CylinderMove(InMoveInfo, IO_Type.InMaterialLocation_Bck, IO_Type.InMaterialLocation_Fwd, IO_VALUE.HIGH);
InMoveInfo
.
log
(
$
"料箱定位前进"
);
//
InMoveInfo.log($"料箱定位前进");
}
//
}
break
;
break
;
case
MoveStep
.
In07
:
case
MoveStep
.
In07
:
if
(
RobotManage
.
StoreType
==
StoreType
.
TypeA
&&
IOValue
(
IO_Type
.
InOverHead_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
if
(
RobotManage
.
StoreType
==
StoreType
.
TypeA
&&
IOValue
(
IO_Type
.
InOverHead_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
...
@@ -187,9 +187,9 @@ namespace DeviceLibrary
...
@@ -187,9 +187,9 @@ namespace DeviceLibrary
//IOValue(IO_Type.InEndMaterialTop_Check).Equals(IO_VALUE.HIGH) &&
//IOValue(IO_Type.InEndMaterialTop_Check).Equals(IO_VALUE.HIGH) &&
if
(
IOValue
(
IO_Type
.
InEndMaterialBottom_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
InEndMaterialBottom_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In0
8
);
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In0
9
);
CylinderMove
(
InMoveInfo
,
IO_Type
.
InStop_Down
,
IO_Type
.
InStop_Up
,
IO_VALUE
.
HIGH
);
CylinderMove
(
InMoveInfo
,
IO_Type
.
InStop_Down
,
IO_Type
.
InStop_Up
,
IO_VALUE
.
HIGH
);
LineIn
.
LineRun
(
"work"
,
3
);
LineIn
.
LineRun
(
"work"
,
2
);
InMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
InMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
}
}
else
if
(
InMoveInfo
.
IsTimeOut
(
10
))
else
if
(
InMoveInfo
.
IsTimeOut
(
10
))
...
@@ -200,11 +200,11 @@ namespace DeviceLibrary
...
@@ -200,11 +200,11 @@ namespace DeviceLibrary
break
;
break
;
case
MoveStep
.
In08
:
case
MoveStep
.
In08
:
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In09
);
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In09
);
if
(
RobotManage
.
StoreType
==
StoreType
.
TypeA
)
//
if (RobotManage.StoreType == StoreType.TypeA)
{
//
{
CylinderMove
(
InMoveInfo
,
IO_Type
.
InMaterialLocation_Bck
,
IO_Type
.
InMaterialLocation_Fwd
,
IO_VALUE
.
LOW
);
//
CylinderMove(InMoveInfo, IO_Type.InMaterialLocation_Bck, IO_Type.InMaterialLocation_Fwd, IO_VALUE.LOW);
InMoveInfo
.
log
(
"料箱定位后退"
);
//
InMoveInfo.log("料箱定位后退");
}
//
}
break
;
break
;
case
MoveStep
.
In09
:
case
MoveStep
.
In09
:
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In10
);
InMoveInfo
.
NextMoveStep
(
MoveStep
.
In10
);
...
...
DeviceLibrary/theMachine/MainMachine _Out.cs
查看文件 @
aedc9e6
...
@@ -12,12 +12,13 @@ namespace DeviceLibrary
...
@@ -12,12 +12,13 @@ namespace DeviceLibrary
{
{
partial
class
MainMachine
partial
class
MainMachine
{
{
bool
IsOutLiftEmpty
public
bool
IsOutLiftEmpty
{
{
get
{
get
{
return
IOValue
(
IO_Type
.
OutEntryMaterialTop_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
OutSideLift
.
isAtTOP
;
return
IOValue
(
IO_Type
.
OutEntryMaterialTop_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
OutSideLift
.
isAtTOP
;
}
}
}
}
void
OutProcess
()
void
OutProcess
()
{
{
...
@@ -65,7 +66,8 @@ namespace DeviceLibrary
...
@@ -65,7 +66,8 @@ namespace DeviceLibrary
}
}
break
;
break
;
case
MoveStep
.
Out01
:
case
MoveStep
.
Out01
:
if
(
IOMonitor
.
IODebound
(
IO_Type
.
OutStopMaterial_Check
,
Config
,
IO_VALUE
.
LOW
,
2000
)
&&
IOMonitor
.
IODebound
(
IO_Type
.
OutExitMaterial_Check
,
Config
,
IO_VALUE
.
LOW
,
2000
))
//if (IOMonitor.IODebound(IO_Type.OutStopMaterial_Check, Config, IO_VALUE.LOW, 2000) && IOMonitor.IODebound(IO_Type.OutExitMaterial_Check, Config, IO_VALUE.LOW, 2000))
if
(
IOValue
(
IO_Type
.
OutStopMaterial_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
OutExitMaterial_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
{
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out02
);
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out02
);
LineOut
.
LineRun
(
"out"
,
999
);
LineOut
.
LineRun
(
"out"
,
999
);
...
@@ -82,18 +84,21 @@ namespace DeviceLibrary
...
@@ -82,18 +84,21 @@ namespace DeviceLibrary
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out03
);
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out03
);
LineOut
.
LineRun
(
"out"
,
6
);
LineOut
.
LineRun
(
"out"
,
6
);
OutMoveInfo
.
log
(
$
"料箱抵达出口等待阻挡信号X33消失"
);
OutMoveInfo
.
log
(
$
"料箱抵达出口等待阻挡信号X33消失"
);
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
30
00
));
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
15
00
));
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
OutStopMaterial_Check
,
IO_VALUE
.
LOW
));
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
OutStopMaterial_Check
,
IO_VALUE
.
LOW
));
break
;
break
;
case
MoveStep
.
Out03
:
case
MoveStep
.
Out03
:
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out04
);
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out04
);
LineOut
.
LineRun
(
"out"
,
5
);
LineOut
.
LineRun
(
"out"
,
5
);
OutMoveInfo
.
log
(
$
"料箱抵达出口再运行5秒"
);
OutMoveInfo
.
log
(
$
"料箱抵达出口再运行5秒"
);
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
OutMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
OutExitMaterial_Check
,
IO_VALUE
.
HIGH
));
OutMoveInfo
.
OneWaitCanEndStep
=
true
;
break
;
break
;
case
MoveStep
.
Out04
:
case
MoveStep
.
Out04
:
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out05
);
OutMoveInfo
.
NextMoveStep
(
MoveStep
.
Out05
);
CylinderMove
(
OutMoveInfo
,
IO_Type
.
OutStop_Down
,
IO_Type
.
OutStop_Up
,
IO_VALUE
.
HIGH
);
CylinderMove
(
OutMoveInfo
,
IO_Type
.
OutStop_Down
,
IO_Type
.
OutStop_Up
,
IO_VALUE
.
HIGH
);
LineOut
.
LineStop
(
"out"
);
OutSideLift
.
LiftUp
(
OutMoveInfo
);
OutSideLift
.
LiftUp
(
OutMoveInfo
);
OutMoveInfo
.
log
(
$
"出料中间阻挡升起"
);
OutMoveInfo
.
log
(
$
"出料中间阻挡升起"
);
ServerCM
.
SendStoreState
(
StoreMoveInfo
.
MoveParam
.
PosID
,
StoreStatus
.
OutStoreEnd
);
ServerCM
.
SendStoreState
(
StoreMoveInfo
.
MoveParam
.
PosID
,
StoreStatus
.
OutStoreEnd
);
...
...
DeviceLibrary/theMachine/MainMachine _Store.cs
查看文件 @
aedc9e6
...
@@ -26,14 +26,14 @@ namespace DeviceLibrary
...
@@ -26,14 +26,14 @@ namespace DeviceLibrary
{
{
case
MoveStep
.
Wait
:
case
MoveStep
.
Wait
:
//判断入库线体有没有等待入库
//判断入库线体有没有等待入库
if
(
InMoveInfo
.
MoveStep
=
=
MoveStep
.
InWaitBoxLeave
&&
!
string
.
IsNullOrEmpty
(
InMoveInfo
.
MoveParam
.
PosID
))
if
(
InMoveInfo
.
MoveStep
>=
MoveStep
.
StartInStore
&&
InMoveInfo
.
MoveStep
<
=
MoveStep
.
InWaitBoxLeave
&&
!
string
.
IsNullOrEmpty
(
InMoveInfo
.
MoveParam
.
PosID
))
{
{
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn01
);
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn01
);
StoreMoveInfo
.
MoveParam
=
InMoveInfo
.
MoveParam
.
clone
();
StoreMoveInfo
.
MoveParam
=
InMoveInfo
.
MoveParam
.
clone
();
StoreMoveInfo
.
log
(
$
"入库周转箱已准备好"
);
StoreMoveInfo
.
log
(
$
"入库周转箱已准备好"
);
}
}
//判断有没有出库任务, 需要入库空闲, 出口空闲
//判断有没有出库任务, 需要入库空闲, 出口空闲
else
if
(
InMoveInfo
.
MoveStep
==
MoveStep
.
Wait
&&
OutMoveInfo
.
MoveStep
==
MoveStep
.
Wait
&&
IsOutLiftEmpty
&&
boxTransport
.
IsComplateOrFree
)
{
else
if
(
InMoveInfo
.
MoveStep
==
MoveStep
.
Wait
&&
boxTransport
.
IsComplateOrFree
)
{
if
(
OutStoreJobList
.
Dequeue
(
out
JobInfo
jobInfo
))
if
(
OutStoreJobList
.
Dequeue
(
out
JobInfo
jobInfo
))
{
{
StoreMoveInfo
.
NewMove
(
MoveStep
.
StoreOut10
);
StoreMoveInfo
.
NewMove
(
MoveStep
.
StoreOut10
);
...
@@ -46,14 +46,32 @@ namespace DeviceLibrary
...
@@ -46,14 +46,32 @@ namespace DeviceLibrary
case
MoveStep
.
StoreIn01
:
case
MoveStep
.
StoreIn01
:
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn02
);
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn02
);
var
ac
=
CSVPositionReader
<
ACStorePosition
>.
GetPositon
(
StoreMoveInfo
.
MoveParam
.
PosID
);
var
ac
=
CSVPositionReader
<
ACStorePosition
>.
GetPositon
(
StoreMoveInfo
.
MoveParam
.
PosID
);
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
StoreSide
.
A
),
new
BoxStorePosition
(
ac
),
StoreMoveType
.
InStore
,
StoreMoveInfo
.
MoveParam
.
WareCode
);
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
StoreSide
.
A
),
new
BoxStorePosition
(
ac
),
StoreMoveType
.
InStore
,
StoreMoveInfo
.
MoveParam
.
WareCode
,
true
);
StoreMoveInfo
.
log
(
$
"开始转运周转箱"
);
StoreMoveInfo
.
log
(
$
"开始转运周转箱"
);
ServerCM
.
SendStoreState
(
StoreMoveInfo
.
MoveParam
.
PosID
,
StoreStatus
.
InStoreExecute
);
ServerCM
.
SendStoreState
(
StoreMoveInfo
.
MoveParam
.
PosID
,
StoreStatus
.
InStoreExecute
);
break
;
break
;
case
MoveStep
.
StoreIn02
:
case
MoveStep
.
StoreIn02
:
if
(
InMoveInfo
.
MoveStep
==
MoveStep
.
InWaitBoxLeave
)
{
if
(
boxTransport
.
ReadyToTakeBox
())
{
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn03
);
}
else
if
(
StoreMoveInfo
.
IsTimeOut
(
10
))
{
boxTransport
.
Reset
();
StoreMoveInfo
.
log
(
$
"等待转运装置到位超时, 退出等待"
);
StoreMoveInfo
.
EndMove
();
}
}
else
if
(
StoreMoveInfo
.
IsTimeOut
(
10
))
{
StoreMoveInfo
.
log
(
$
"等待入库料箱到位超时, 退出等待"
);
StoreMoveInfo
.
EndMove
();
}
break
;
case
MoveStep
.
StoreIn03
:
if
(
boxTransport
.
IsTakedBox
)
if
(
boxTransport
.
IsTakedBox
)
{
{
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn0
3
);
StoreMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn0
4
);
InMoveInfo
.
NextMoveStep
(
MoveStep
.
InBoxLeaved
);
InMoveInfo
.
NextMoveStep
(
MoveStep
.
InBoxLeaved
);
StoreMoveInfo
.
log
(
$
"周转箱已取走"
);
StoreMoveInfo
.
log
(
$
"周转箱已取走"
);
}
}
...
@@ -65,7 +83,7 @@ namespace DeviceLibrary
...
@@ -65,7 +83,7 @@ namespace DeviceLibrary
// Msg.add(boxTransport.ErrMsgTxt, MsgLevel.warning);
// Msg.add(boxTransport.ErrMsgTxt, MsgLevel.warning);
//}
//}
break
;
break
;
case
MoveStep
.
StoreIn0
3
:
case
MoveStep
.
StoreIn0
4
:
if
(
boxTransport
.
IsComplateOrFree
)
if
(
boxTransport
.
IsComplateOrFree
)
{
{
StoreMoveInfo
.
log
(
$
"周转箱已到达目的地"
);
StoreMoveInfo
.
log
(
$
"周转箱已到达目的地"
);
...
...
DeviceLibrary/theMachine/MainMachine.cs
查看文件 @
aedc9e6
...
@@ -108,8 +108,8 @@ namespace DeviceLibrary
...
@@ -108,8 +108,8 @@ namespace DeviceLibrary
LineIn
=
new
LineRunMonitor
(
"入料滚筒"
,
Config
.
DOList
[
IO_Type
.
InMoto_Run
].
GetIOAddr
());
LineIn
=
new
LineRunMonitor
(
"入料滚筒"
,
Config
.
DOList
[
IO_Type
.
InMoto_Run
].
GetIOAddr
());
LineOut
=
new
LineRunMonitor
(
"出料滚筒"
,
Config
.
DOList
[
IO_Type
.
OutMoto_Run
].
GetIOAddr
());
LineOut
=
new
LineRunMonitor
(
"出料滚筒"
,
Config
.
DOList
[
IO_Type
.
OutMoto_Run
].
GetIOAddr
());
InSideLift
=
new
LiftMonitor
(
IO_Type
.
InLift_Up
,
IO_Type
.
InLift_Down
,
IO_Type
.
InLift_Break
,
InLift_Moto
,
Config
.
InLift_Moto_Speed
);
InSideLift
=
new
LiftMonitor
(
IO_Type
.
InLift_Up
,
IO_Type
.
InLift_Down
,
IO_Type
.
InLift_Break
,
InLift_Moto
,
Config
.
InLift_Moto_Speed
,
Config
.
InLift_Moto_DownSpeed
);
OutSideLift
=
new
LiftMonitor
(
IO_Type
.
OutLift_Up
,
IO_Type
.
OutLift_Down
,
IO_Type
.
OutLift_Break
,
OutLift_Moto
,
Config
.
OutLift_Moto_Speed
);
OutSideLift
=
new
LiftMonitor
(
IO_Type
.
OutLift_Up
,
IO_Type
.
OutLift_Down
,
IO_Type
.
OutLift_Break
,
OutLift_Moto
,
Config
.
OutLift_Moto_Speed
,
Config
.
OutLift_Moto_DownSpeed
);
boxTransport
=
new
BoxTransport
(
Config
,
this
);
boxTransport
=
new
BoxTransport
(
Config
,
this
);
...
...
LoadCVSLibrary/storeConfig/config/Robot_Config.cs
查看文件 @
aedc9e6
...
@@ -132,6 +132,16 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -132,6 +132,16 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"OutLift_Moto_Speed"
)]
[
ConfigProAttribute
(
"OutLift_Moto_Speed"
)]
public
int
OutLift_Moto_Speed
{
get
;
set
;
}
public
int
OutLift_Moto_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,0,入料线体顶升电机下降速度,InLift_Moto_Speed,10,,,,,,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"InLift_Moto_DownSpeed"
)]
public
int
InLift_Moto_DownSpeed
{
get
;
set
;
}
/// <summary>
/// PRO,0,出料线体顶升电机下降速度,OutLift_Moto_Speed,10,,,,,,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"OutLift_Moto_DownSpeed"
)]
public
int
OutLift_Moto_DownSpeed
{
get
;
set
;
}
/// <summary>
/// PRO,41,称重传感器端口,WeightSensorPort,COM1,,,,,,,,,,,,
/// PRO,41,称重传感器端口,WeightSensorPort,COM1,,,,,,,,,,,,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"WeightSensorPort"
)]
[
ConfigProAttribute
(
"WeightSensorPort"
)]
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论