Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO908-XLRStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c7f1deb8
由
张东亮
编写于
2021-08-31 18:59:09 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge branch 'master' of
http://106.15.194.121:8083/lina/SO908-XLRStore
2 个父辈
86711bbe
a1b2c052
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
70 行增加
和
30 行删除
source/Common/bean/Bean.cs
source/DeviceLibrary/baan/ClampJawBean.cs
source/DeviceLibrary/manager/SServerManager.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
source/Common/bean/Bean.cs
查看文件 @
c7f1deb
...
@@ -263,5 +263,10 @@ namespace OnlineStore.Common
...
@@ -263,5 +263,10 @@ namespace OnlineStore.Common
public
static
string
barcode
=
"barcode"
;
public
static
string
barcode
=
"barcode"
;
/// <summary>
/// 上次入库的库位号
/// </summary>
public
static
string
lastPosId
=
"lastPosId"
;
}
}
}
}
source/DeviceLibrary/baan/ClampJawBean.cs
查看文件 @
c7f1deb
...
@@ -225,6 +225,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -225,6 +225,7 @@ namespace OnlineStore.DeviceLibrary
if
(
rmaxis
!=
null
&&
rmaxis
.
IsPortOpen
)
if
(
rmaxis
!=
null
&&
rmaxis
.
IsPortOpen
)
{
{
rmaxis
.
ResetError
();
rmaxis
.
ResetError
();
rmaxis
.
StopAxis
();
}
}
}
}
public
int
GetErrorCode
()
public
int
GetErrorCode
()
...
...
source/DeviceLibrary/manager/SServerManager.cs
查看文件 @
c7f1deb
...
@@ -436,7 +436,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -436,7 +436,7 @@ namespace OnlineStore.DeviceLibrary
return
msg
;
return
msg
;
}
}
public
static
GetPosResult
GetPosId
(
string
deviceName
,
List
<
string
>
codeList
,
int
height
,
int
width
,
string
rfid
,
int
feedEquip
Id
)
public
static
GetPosResult
GetPosId
(
string
deviceName
,
List
<
string
>
codeList
,
int
height
,
int
width
,
string
rfid
,
string
lastPos
Id
)
{
{
GetPosResult
result
=
new
GetPosResult
();
GetPosResult
result
=
new
GetPosResult
();
try
try
...
@@ -471,6 +471,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -471,6 +471,7 @@ namespace OnlineStore.DeviceLibrary
paramMap
.
Add
(
"cids"
,
StoreManager
.
Config
.
CID
);
paramMap
.
Add
(
"cids"
,
StoreManager
.
Config
.
CID
);
paramMap
.
Add
(
"code"
,
codeStr
);
paramMap
.
Add
(
"code"
,
codeStr
);
paramMap
.
Add
(
ParamDefine
.
rfid
,
rfid
);
paramMap
.
Add
(
ParamDefine
.
rfid
,
rfid
);
paramMap
.
Add
(
ParamDefine
.
lastPosId
,
lastPosId
);
string
server
=
GetAddr
(
Addr_PosForPutin
,
paramMap
);
string
server
=
GetAddr
(
Addr_PosForPutin
,
paramMap
);
DateTime
startTime
=
DateTime
.
Now
;
DateTime
startTime
=
DateTime
.
Now
;
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip.cs
查看文件 @
c7f1deb
...
@@ -578,7 +578,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -578,7 +578,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
/// <param name="areaNum">1=A上暂存区,2=A下暂存区,3=B上暂存区,4=B下暂存区</param>
/// <param name="areaNum">1=A上暂存区,2=A下暂存区,3=B上暂存区,4=B下暂存区</param>
/// <returns></returns>
/// <returns></returns>
public
bool
AxisInWorkingArea
(
int
areaNum
)
public
bool
AxisInWorkingArea
(
params
int
[]
areaNums
)
{
{
int
updownP
=
UpdownAxis
.
GetAclPosition
();
int
updownP
=
UpdownAxis
.
GetAclPosition
();
int
middleP
=
MiddleAxis
.
GetAclPosition
();
int
middleP
=
MiddleAxis
.
GetAclPosition
();
...
@@ -593,7 +593,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -593,7 +593,7 @@ namespace OnlineStore.DeviceLibrary
if
(
updownP
>
Config
.
Updown_P6_AUnderH
-
updownWucha
)
if
(
updownP
>
Config
.
Updown_P6_AUnderH
-
updownWucha
)
{
{
//在A下暂存区
//在A下暂存区
if
(
areaNum
==
2
)
if
(
areaNum
s
.
Contains
(
2
)
)
{
{
return
true
;
return
true
;
}
}
...
@@ -601,14 +601,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -601,14 +601,14 @@ namespace OnlineStore.DeviceLibrary
//升降轴高于上方低点
//升降轴高于上方低点
else
if
(
updownP
<
Config
.
Updown_P5_AUpperL
+
updownWucha
)
else
if
(
updownP
<
Config
.
Updown_P5_AUpperL
+
updownWucha
)
{
{
if
(
areaNum
==
1
)
if
(
areaNum
s
.
Contains
(
1
)
)
{
{
return
true
;
return
true
;
}
}
}
}
else
else
{
{
if
(
areaNum
==
1
||
areaNum
==
2
)
if
(
areaNum
s
.
Contains
(
1
)
||
areaNums
.
Contains
(
2
)
)
{
{
return
true
;
return
true
;
}
}
...
@@ -619,7 +619,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -619,7 +619,7 @@ namespace OnlineStore.DeviceLibrary
//如果升降轴低于下方高点
//如果升降轴低于下方高点
if
(
updownP
>
Config
.
Updown_P12_BUnderH
-
updownWucha
)
if
(
updownP
>
Config
.
Updown_P12_BUnderH
-
updownWucha
)
{
{
if
(
areaNum
==
4
)
if
(
areaNum
s
.
Contains
(
4
)
)
{
{
return
true
;
return
true
;
}
}
...
@@ -627,14 +627,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -627,14 +627,14 @@ namespace OnlineStore.DeviceLibrary
//升降轴高于上方低点
//升降轴高于上方低点
else
if
(
updownP
<
Config
.
Updown_P11_BUpperL
+
updownWucha
)
else
if
(
updownP
<
Config
.
Updown_P11_BUpperL
+
updownWucha
)
{
{
if
(
areaNum
==
3
)
if
(
areaNum
s
.
Contains
(
3
)
)
{
{
return
true
;
return
true
;
}
}
}
}
else
else
{
{
if
(
areaNum
==
3
||
areaNum
==
4
)
if
(
areaNum
s
.
Contains
(
3
)
||
areaNums
.
Contains
(
4
)
)
{
{
return
true
;
return
true
;
}
}
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
查看文件 @
c7f1deb
...
@@ -64,15 +64,23 @@ namespace OnlineStore.DeviceLibrary
...
@@ -64,15 +64,23 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
"报警中,无法开始取料入库:"
+
param
.
PosInfo
.
ToStr
());
LogInfo
(
"报警中,无法开始取料入库:"
+
param
.
PosInfo
.
ToStr
());
return
false
;
return
false
;
}
}
if
(
AxisInWorkingArea
(
new
int
[]
{
1
,
2
,
3
,
4
}))
{
LogInfo
(
"选择轴在暂存区,请先手动复位。 取料入库失败:"
+
param
.
PosInfo
.
ToStr
());
return
false
;
}
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
None
))
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
None
))
{
{
runStatus
=
RunStatus
.
Busy
;
runStatus
=
RunStatus
.
Busy
;
MoveInfo
.
NewMove
(
MoveType
.
InStore
,
param
);
MoveInfo
.
NewMove
(
MoveType
.
InStore
,
param
);
startInTime
=
DateTime
.
Now
;
startInTime
=
DateTime
.
Now
;
//if (MiddleAxis.IsInPosition(Config.Middle_P1))
//{
int
updownP
=
UpdownAxis
.
GetAclPosition
();
if
(
UpdownAxis
.
IsInPosition
(
Config
.
Updown_P1
))
//如果升降轴在待机点上方,上方为-
int
upP1
=
Config
.
Updown_P1
+
1000
;
//if (UpdownAxis.IsInPosition(Config.Updown_P1))
if
(
UpdownAxis
.
IsInPosition
(
Config
.
Updown_P1
)
||
(
updownP
<=
upP1
))
{
{
ToShelfMove
();
ToShelfMove
();
}
}
...
@@ -81,14 +89,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -81,14 +89,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
II01_UpdownToP1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
II01_UpdownToP1
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P1
,
Config
.
Updown_P1_Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P1
,
Config
.
Updown_P1_Speed
);
MoveLog
(
$
"开始入库{param.ShelfType}{MoveInfo.SLog}: 升降轴先返回P1{Config.Updown_P1}"
);
MoveLog
(
$
"开始入库{param.ShelfType}{MoveInfo.SLog}: 升降轴先返回P1{Config.Updown_P1}"
);
}
}
//}
//else
//{
// MoveInfo.NextMoveStep(StepEnum.II00_MiddleToP1);
// MiddleAxis.AbsMove(MoveInfo, Config.Middle_P1, Config.Middle_P1_Speed);
// MoveLog($"开始入库{MoveInfo.SLog}: 料串{param.ShelfType},旋转轴先返回P1{Config.Middle_P1}");
//}
return
true
;
return
true
;
}
}
return
false
;
return
false
;
...
@@ -304,10 +305,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -304,10 +305,14 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II46_UpdownToP4
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II46_UpdownToP4
))
{
{
if
(!
BatchMove_A
.
IsInScanCode
())
if
(!
BatchMove_A
.
IsInScanCode
())
{
{
int
targetV
=
Config
.
Middle_P4_AUpper
-
Config
.
MiddleOffsetValue
;
MoveInfo
.
NextMoveStep
(
StepEnum
.
II47_MiddleToP1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
II47_MiddleToP1
);
MoveLog
(
$
" 入料->A侧 {MoveInfo.SLog}: 旋转轴 到P1(待机点){Config.Middle_P1}"
);
MoveLog
(
$
" 入料->A侧 {MoveInfo.SLog}: 旋转轴 到P4(偏移点){targetV}"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P1
,
Config
.
Middle_P1_Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
targetV
,
Config
.
Middle_P1_Speed
);
//MoveLog($" 入料->A侧 {MoveInfo.SLog}: 旋转轴 到P1(待机点){Config.Middle_P1}");
//MiddleAxis.AbsMove(MoveInfo, Config.Middle_P1, Config.Middle_P1_Speed);
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
20
))
else
if
(
MoveInfo
.
IsTimeOut
(
20
))
{
{
...
@@ -392,9 +397,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -392,9 +397,13 @@ namespace OnlineStore.DeviceLibrary
//需要等A侧料串不扫码时再过去
//需要等A侧料串不扫码时再过去
if
(!
BatchMove_B
.
IsInScanCode
())
if
(!
BatchMove_B
.
IsInScanCode
())
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
II67_MiddleToP1
);
int
targetValue
=
Config
.
Middle_P5_BUpper
+
Config
.
MiddleOffsetValue
;
MoveLog
(
$
" 入料->B侧 {MoveInfo.SLog}: 旋转轴 到P1(待机点){Config.Middle_P1}"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P1
,
Config
.
Middle_P1_Speed
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
II67_MiddleToP1
);
MoveLog
(
$
" 入料->B侧 {MoveInfo.SLog}: 旋转轴 到P5(偏移点){targetValue}"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
targetValue
,
Config
.
Middle_P1_Speed
);
//MoveLog($" 入料->B侧 {MoveInfo.SLog}: 旋转轴 到P1(待机点){Config.Middle_P1}");
//MiddleAxis.AbsMove(MoveInfo, Config.Middle_P1, Config.Middle_P1_Speed);
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
20
))
else
if
(
MoveInfo
.
IsTimeOut
(
20
))
{
{
...
@@ -488,14 +497,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -488,14 +497,22 @@ namespace OnlineStore.DeviceLibrary
if
(
shelf
.
Equals
(
1
))
if
(
shelf
.
Equals
(
1
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
II02_MIddleToP2
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
II02_MIddleToP2
);
MoveLog
(
$
"入库取料{shelf}{MoveInfo.SLog}: 旋转轴到P2(A料口取料点){Config.Middle_P2_ATake},等待{IO_Type.MAxis_Check_A}信号亮"
);
MoveLog
(
$
"入库取料{shelf}{MoveInfo.SLog}: 升降轴下降到P1{Config.Updown_P1},旋转轴到P2(A料口取料点){Config.Middle_P2_ATake},等待{IO_Type.MAxis_Check_A}信号亮"
);
if
(!
UpdownAxis
.
IsInPosition
(
Config
.
Updown_P1
))
{
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P1
,
Config
.
Updown_P1_Speed
);
}
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P2_ATake
,
Config
.
Middle_P2_Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P2_ATake
,
Config
.
Middle_P2_Speed
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
MAxis_Check_A
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
MAxis_Check_A
,
IO_VALUE
.
HIGH
));
}
}
else
if
(
shelf
.
Equals
(
2
))
else
if
(
shelf
.
Equals
(
2
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
II05_MIddleToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
II05_MIddleToP3
);
MoveLog
(
$
"入库取料{shelf}{MoveInfo.SLog}: 旋转轴到P3(B料口取料点){Config.Middle_P3_BTake},等待{IO_Type.MAxis_Check_B}信号亮"
);
MoveLog
(
$
"入库取料{shelf}{MoveInfo.SLog}: 升降轴下降到P1{Config.Updown_P1},旋转轴到P3(B料口取料点){Config.Middle_P3_BTake},等待{IO_Type.MAxis_Check_B}信号亮"
);
if
(!
UpdownAxis
.
IsInPosition
(
Config
.
Updown_P1
))
{
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P1
,
Config
.
Updown_P1_Speed
);
}
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P3_BTake
,
Config
.
Middle_P3_Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P3_BTake
,
Config
.
Middle_P3_Speed
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
MAxis_Check_B
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
MAxis_Check_B
,
IO_VALUE
.
HIGH
));
}
}
...
@@ -569,8 +586,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -569,8 +586,20 @@ namespace OnlineStore.DeviceLibrary
{
{
int
ms
=
5000
;
int
ms
=
5000
;
string
lastPosId
=
""
;
//如果左侧是空右侧有料
if
(
BufferDataManager
.
AInStoreInfo
==
null
&&
(
BufferDataManager
.
BInStoreInfo
!=
null
))
{
lastPosId
=
BufferDataManager
.
BInStoreInfo
.
PosId
;
}
else
if
(
BufferDataManager
.
AInStoreInfo
!=
null
&&
(
BufferDataManager
.
BInStoreInfo
==
null
))
{
lastPosId
=
BufferDataManager
.
AInStoreInfo
.
PosId
;
}
//从服务器获取库位号
//从服务器获取库位号
GetPosResult
result
=
SServerManager
.
GetPosId
(
Name
,
codeList
,
pos
.
PlateH
,
pos
.
PlateW
,
pos
.
rfid
,
DeviceID
);
GetPosResult
result
=
SServerManager
.
GetPosId
(
Name
,
codeList
,
pos
.
PlateH
,
pos
.
PlateW
,
pos
.
rfid
,
lastPosId
);
LastResult
=
result
.
Result
;
LastResult
=
result
.
Result
;
if
(
result
.
IsTimeOut
)
if
(
result
.
IsTimeOut
)
{
{
...
@@ -668,7 +697,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -668,7 +697,11 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
"报警中,无法开始出库:"
+
param
.
PosInfo
.
ToStr
());
LogInfo
(
"报警中,无法开始出库:"
+
param
.
PosInfo
.
ToStr
());
return
false
;
return
false
;
}
}
if
(
AxisInWorkingArea
(
new
int
[]
{
1
,
2
,
3
,
4
}))
{
LogInfo
(
"选择轴在暂存区,请先手动复位。出库失败:"
+
param
.
PosInfo
.
ToStr
());
return
false
;
}
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
None
))
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
None
))
{
{
//获取位置是左侧还是右侧。
//获取位置是左侧还是右侧。
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论