Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO815-AutoInOutStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
图表
网络
创建新的问题
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit bd2f201a
由
几米阳光
编写于
2018-12-28 11:55:50 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加批量上料模块状态
1 个父辈
8851ef0f
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
56 行增加
和
22 行删除
source/ACSingleStore/FrmStoreBox.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/acSingleStore/AutomaticBaiting.cs
source/DeviceLibrary/acSingleStore/AutomaticBaiting_Partial.cs
source/DeviceLibrary/store/StoreMoveStep.cs
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
bd2f201
...
@@ -303,14 +303,6 @@ namespace OnlineStore.AutoInOutStore
...
@@ -303,14 +303,6 @@ namespace OnlineStore.AutoInOutStore
btnGetOutTray
.
Enabled
=
map
[
ParamDefine
.
takeOutReel
].
Equals
(
ParamDefine
.
enable
);
btnGetOutTray
.
Enabled
=
map
[
ParamDefine
.
takeOutReel
].
Equals
(
ParamDefine
.
enable
);
btnCloseDoor
.
Enabled
=
map
[
ParamDefine
.
closeLock
].
Equals
(
ParamDefine
.
enable
);
btnCloseDoor
.
Enabled
=
map
[
ParamDefine
.
closeLock
].
Equals
(
ParamDefine
.
enable
);
//if (AutomaticBaiting.DoorStatus.Equals(2))
//{
// lblDoorStatus.Text = "仓门状态:关闭";
//}
//else
//{
// lblDoorStatus.Text = "仓门状态:打开";
//}
lblDoorStatus
.
Text
=
map
[
ParamDefine
.
doorStatus
];
lblDoorStatus
.
Text
=
map
[
ParamDefine
.
doorStatus
];
lblOutInfo
.
Visible
=
!
lblWaitTragGo
.
Visible
;
lblOutInfo
.
Visible
=
!
lblWaitTragGo
.
Visible
;
lblOutInfo
.
Text
=
"批量出入库信息: 入库:"
+
AutomaticBaiting
.
BatchInStoreCount
+
"盘共"
+
AutomaticBaiting
.
BatchInStoreHeight
+
"mm,"
+
lblOutInfo
.
Text
=
"批量出入库信息: 入库:"
+
AutomaticBaiting
.
BatchInStoreCount
+
"盘共"
+
AutomaticBaiting
.
BatchInStoreHeight
+
"mm,"
+
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
bd2f201
...
@@ -1502,23 +1502,29 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1502,23 +1502,29 @@ namespace OnlineStore.DeviceLibrary
private
int
GetStoreStatus
()
private
int
GetStoreStatus
()
{
{
return
(
int
)
storeStatus
;
int
status
=
(
int
)
storeStatus
;
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
&&
(
StoreMove
.
IsNeedInStore
.
Equals
(
false
)))
{
status
=
(
int
)
StoreStatus
.
SendTrayOut
;
}
//如果料仓没有出入库,但是自动上下料机构在上料中
//如果料仓没有出入库,但是自动上下料机构在上料中
if
(
storeStatus
.
Equals
(
StoreStatus
.
StoreOnline
))
if
(
storeStatus
.
Equals
(
StoreStatus
.
StoreOnline
))
{
{
if
(
AutomaticBaiting
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
))
if
(
AutomaticBaiting
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
{
return
(
int
)
StoreStatus
.
InStoreExecut
e
;
status
=
(
int
)
StoreStatus
.
BatchInStor
e
;
}
}
else
if
(
AutomaticBaiting
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
StoreReset
))
else
if
(
AutomaticBaiting
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
StoreReset
))
{
{
return
(
int
)
StoreStatus
.
ResetMove
;
status
=
(
int
)
StoreStatus
.
BatchReset
;
}
}
}
}
if
(
IsDebug
)
if
(
IsDebug
)
{
{
return
(
int
)
StoreStatus
.
Debugging
;
status
=
(
int
)
StoreStatus
.
Debugging
;
}
}
return
status
;
}
}
private
void
SendLineStatus
()
private
void
SendLineStatus
()
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
bd2f201
...
@@ -346,11 +346,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -346,11 +346,16 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_02_InOutAxisHome
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_02_InOutAxisHome
)
{
{
InStoreLog
(
"入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1, 轴4动作至P3"
);
InStoreLog
(
"入库:SI_03 所有轴回到待机点,轴2、轴1 动作到P1, 轴4动作至P3
,等待吸盘处于上升位置
"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_03_ReturnHome
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
//此处需要等待吸盘在上升位置
KND
.
IOMove
(
IO_Type
.
SuckingDisc_Up
,
IO_VALUE
.
HIGH
);
KND
.
IOMove
(
IO_Type
.
SuckingDisc_Down
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SuckingDisc_Up
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SuckingDisc_Down
,
IO_VALUE
.
LOW
));
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_03_ReturnHome
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_03_ReturnHome
)
{
{
...
@@ -844,17 +849,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -844,17 +849,22 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_08_ToDoorPosition
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_08_ToDoorPosition
);
if
(
StoreMove
.
IsBatchInOutStore
)
if
(
StoreMove
.
IsBatchInOutStore
)
{
{
OutStoreLog
(
"出库:SO_08 升降轴到出料高点P2,旋转轴至P1(待机点),等待
门锁关闭
"
);
OutStoreLog
(
"出库:SO_08 升降轴到出料高点P2,旋转轴至P1(待机点),等待
吸盘处于上升端
"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_OutHigh_P2
,
Config
.
UpDownAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_OutHigh_P2
,
Config
.
UpDownAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
//BatchAxisUpTrayHeight();
//BatchAxisUpTrayHeight();
}
}
else
else
{
{
OutStoreLog
(
"出库:SO_08 走到料门口,旋转轴至P1(待机点)升降轴至P2(进料口出料前点) "
);
OutStoreLog
(
"出库:SO_08 走到料门口,旋转轴至P1(待机点)升降轴至P2(进料口出料前点)
,等待吸盘处于上升端
"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_Door_P7
,
Config
.
UpDownAxis_P7_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_Door_P7
,
Config
.
UpDownAxis_P7_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
}
}
//此处需要等待吸盘在上升位置
KND
.
IOMove
(
IO_Type
.
SuckingDisc_Up
,
IO_VALUE
.
HIGH
);
KND
.
IOMove
(
IO_Type
.
SuckingDisc_Down
,
IO_VALUE
.
LOW
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SuckingDisc_Up
,
IO_VALUE
.
HIGH
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SuckingDisc_Down
,
IO_VALUE
.
LOW
));
}
}
private
void
SO_10_DeviceToDoorPro
()
private
void
SO_10_DeviceToDoorPro
()
{
{
...
...
source/DeviceLibrary/acSingleStore/AutomaticBaiting.cs
查看文件 @
bd2f201
...
@@ -313,14 +313,24 @@ namespace OnlineStore.DeviceLibrary
...
@@ -313,14 +313,24 @@ namespace OnlineStore.DeviceLibrary
//TODO 报警
//TODO 报警
WarnMsg
=
"吸盘吸料失败,请复位后拿出此料盘"
;
WarnMsg
=
"吸盘吸料失败,请复位后拿出此料盘"
;
StoreManager
.
Store
.
Alarm
(
StoreAlarmType
.
BatchAlarm
,
"吸盘吸料失败"
,
WarnMsg
,
StoreMoveType
.
InStore
);
StoreManager
.
Store
.
Alarm
(
StoreAlarmType
.
BatchAlarm
,
"吸盘吸料失败"
,
WarnMsg
,
StoreMoveType
.
InStore
);
LogUtil
.
error
(
WarnMsg
,
103
);
}
}
}
}
else
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
AUTO_I06_SuckingDisc_Up
))
else
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
AUTO_I06_SuckingDisc_Up
))
{
{
if
(
KND
.
IOValue
(
IO_Type
.
SuckingDisc_Air
).
Equals
(
IO_VALUE
.
HIGH
))
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
AUTO_I07_BatchAxisUp
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
AUTO_I07_BatchAxisUp
);
LogUtil
.
info
(
Name
+
"入料: 批量上下料轴上升速度【"
+
StoreManager
.
Config
.
Batch_Axis
.
TargetSpeed
+
"】"
);
LogUtil
.
info
(
Name
+
"入料: 批量上下料轴上升速度【"
+
StoreManager
.
Config
.
Batch_Axis
.
TargetSpeed
+
"】"
);
ACAxisSpeedMove
(
StoreManager
.
Config
.
Batch_Axis
,
StoreManager
.
Config
.
Batch_Axis
.
TargetSpeed
);
ACAxisSpeedMove
(
StoreManager
.
Config
.
Batch_Axis
,
StoreManager
.
Config
.
Batch_Axis
.
TargetSpeed
);
}
}
else
{
WarnMsg
=
"吸盘吸料失败,请复位后拿出此料盘"
;
StoreManager
.
Store
.
Alarm
(
StoreAlarmType
.
BatchAlarm
,
"吸盘吸料失败"
,
WarnMsg
,
StoreMoveType
.
InStore
);
LogUtil
.
error
(
Name
+
"入料: 吸盘上升后未检测到吸盘压力信号,吸取料盘失败"
,
105
);
}
}
else
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
AUTO_I07_BatchAxisUp
))
else
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
AUTO_I07_BatchAxisUp
))
{
{
if
(
StoreManager
.
Store
.
CanStarInOut
())
if
(
StoreManager
.
Store
.
CanStarInOut
())
...
...
source/DeviceLibrary/acSingleStore/AutomaticBaiting_Partial.cs
查看文件 @
bd2f201
...
@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
if
(
StoreManager
.
Store
.
CanStarInOut
())
if
(
StoreManager
.
Store
.
CanStarInOut
())
{
{
LastPosId
=
posId
;
LastPosId
=
posId
;
InOutStoreParam
param
=
new
InOutStoreParam
(
message
,
posId
,
LastHeight
,
LastWidth
);
InOutStoreParam
param
=
new
InOutStoreParam
(
message
,
posId
,
LastHeight
,
LastWidth
);
StoreManager
.
Store
.
StartInStoreMove
(
param
,
true
);
StoreManager
.
Store
.
StartInStoreMove
(
param
,
true
);
//如果当前正在出入库中,需要记录下来,等待空闲时执行
//如果当前正在出入库中,需要记录下来,等待空闲时执行
LogUtil
.
info
(
Name
+
" 入库调试模拟:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 开始入库!"
);
LogUtil
.
info
(
Name
+
" 入库调试模拟:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 开始入库!"
);
...
@@ -361,8 +361,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -361,8 +361,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
//开启服务器日志
//开启服务器日志
HttpHelper
.
isLog
=
1
;
//HttpHelper.isLog = 1;
// CodeMsg = "收到二维码【 " + message + "】,发送给服务器获取入库PosID";
LogUtil
.
info
(
Name
+
"收到二维码【 "
+
message
+
"】,发送给服务器获取入库PosID"
);
LogUtil
.
info
(
Name
+
"收到二维码【 "
+
message
+
"】,发送给服务器获取入库PosID"
);
//发送扫码内容到服务器进行入库操作
//发送扫码内容到服务器进行入库操作
Operation
operation
=
StoreManager
.
Store
.
getLineBoxStatus
();
Operation
operation
=
StoreManager
.
Store
.
getLineBoxStatus
();
...
@@ -378,7 +377,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -378,7 +377,7 @@ namespace OnlineStore.DeviceLibrary
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
Operation
resultOperation
=
HttpHelper
.
Post
(
StoreManager
.
GetPostApi
(
server
),
operation
,
false
);
Operation
resultOperation
=
HttpHelper
.
Post
(
StoreManager
.
GetPostApi
(
server
),
operation
,
false
);
HttpHelper
.
isLog
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Server_Log_Open
);
//
HttpHelper.isLog = ConfigAppSettings.GetIntValue(Setting_Init.Server_Log_Open);
if
(
resultOperation
==
null
)
if
(
resultOperation
==
null
)
{
{
...
@@ -437,9 +436,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -437,9 +436,10 @@ namespace OnlineStore.DeviceLibrary
{
{
LogUtil
.
info
(
Name
+
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 正在忙碌中,无法入库!"
);
LogUtil
.
info
(
Name
+
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】 正在忙碌中,无法入库!"
);
}
}
}
catch
(
Exception
ex
)
}
catch
(
Exception
ex
)
{
{
LogUtil
.
error
(
Name
+
"解析服务发送的入库【"
+
posId
+
"】出错"
+
ex
.
StackTrace
);
LogUtil
.
error
(
Name
+
"解析服务发送的入库【"
+
posId
+
"】出错"
+
ex
.
StackTrace
);
}
}
}
}
}
}
...
...
source/DeviceLibrary/store/StoreMoveStep.cs
查看文件 @
bd2f201
...
@@ -48,6 +48,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -48,6 +48,9 @@ namespace OnlineStore.DeviceLibrary
///2=急停,3=故障,4=警告,5=调试
///2=急停,3=故障,4=警告,5=调试
/// 6=入库执行中,7=入仓完成,8=入仓失败
/// 6=入库执行中,7=入仓完成,8=入仓失败
/// 9=出库执行,10=出仓完成,11=出库失败
/// 9=出库执行,10=出仓完成,11=出库失败
/// 14=批量上料中
/// 15= 扫码失败或无库位料盘送出
/// 16=批量上料模块复位中
/// </summary>
/// </summary>
public
enum
StoreStatus
public
enum
StoreStatus
{
{
...
@@ -100,9 +103,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -100,9 +103,22 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
OutStoreFaild
=
11
,
OutStoreFaild
=
11
,
/// <summary>
/// <summary>
/// 重置中(原点返回和重置都发此状态)
///
13=
重置中(原点返回和重置都发此状态)
/// </summary>
/// </summary>
ResetMove
=
13
,
ResetMove
=
13
,
/// <summary>
/// 14=批量上料中
/// </summary>
BatchInStore
=
14
,
/// <summary>
///15= 扫码失败或无库位料盘送出
/// </summary>
SendTrayOut
=
15
,
/// <summary>
/// 16=批量上料模块复位中
/// </summary>
BatchReset
=
16
,
}
}
/// <summary>
/// <summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论