Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSquareStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 67761f20
由
张东亮
编写于
2022-05-25 13:04:27 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
添加库位调试界面
1 个父辈
f465e1c4
全部展开
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
365 行增加
和
40 行删除
source/ACSquareStore/FrmStoreBox.Designer.cs
source/ACSquareStore/FrmStoreBox.cs
source/ACSquareStore/FrmStoreBox.resx
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/StoreConfig/StoreConfig.csv
source/DeviceLibrary/StoreConfig/linePositions.csv
source/DeviceLibrary/acSquareStore/PosDebug.cs
source/DeviceLibrary/acSquareStore/Square_BoxBean.cs
source/DeviceLibrary/acSquareStore/Square_BoxBean_Partial.cs
source/ACSquareStore/FrmStoreBox.Designer.cs
查看文件 @
67761f2
此文件的差异被折叠,
点击展开。
source/ACSquareStore/FrmStoreBox.cs
查看文件 @
67761f2
...
@@ -53,7 +53,7 @@ namespace OnlineStore.ACSquareStore
...
@@ -53,7 +53,7 @@ namespace OnlineStore.ACSquareStore
HideForm
();
HideForm
();
this
.
Opacity
=
1
;
this
.
Opacity
=
1
;
cmbHumpPort
.
Items
.
Clear
();
cmbHumpPort
.
Items
.
Clear
();
foreach
(
string
str
in
store
.
Config
.
GetHumpPortList
())
foreach
(
string
str
in
store
.
Config
.
GetHumpPortList
())
{
{
cmbHumpPort
.
Items
.
Add
(
str
);
cmbHumpPort
.
Items
.
Add
(
str
);
}
}
...
@@ -63,9 +63,68 @@ namespace OnlineStore.ACSquareStore
...
@@ -63,9 +63,68 @@ namespace OnlineStore.ACSquareStore
}
}
chbUseTrayCheck
.
Checked
=
StoreManager
.
UseShelfCheck
;
chbUseTrayCheck
.
Checked
=
StoreManager
.
UseShelfCheck
;
// txtTempPort.Text = store.Config.Humiture_Port;
// txtTempPort.Text = store.Config.Humiture_Port;
InitPosDebugBox
();
LoadOk
=
true
;
LoadOk
=
true
;
}
}
#
region
库位调试
void
InitPosDebugBox
()
{
store
.
InOutEndEvent
+=
Store_InOutEndEvent
;
lblOk
.
Text
=
store
.
posDebug
.
Ok
.
ToString
();
lblTotal
.
Text
=
store
.
posDebug
.
Total
.
ToString
();
for
(
int
i
=
1
;
i
<=
store
.
posDebug
.
GetCols
();
i
++)
{
dataGridView1
.
Columns
.
Add
(
"Col_"
+
i
,
"Col_"
+
i
);
dataGridView2
.
Columns
.
Add
(
"Col_"
+
i
,
"Col_"
+
i
);
}
for
(
int
i
=
0
;
i
<
dataGridView1
.
Columns
.
Count
;
i
++)
{
dataGridView1
.
Columns
[
i
].
Width
=
64
;
dataGridView1
.
Columns
[
i
].
SortMode
=
DataGridViewColumnSortMode
.
NotSortable
;
}
for
(
int
i
=
0
;
i
<
dataGridView2
.
Columns
.
Count
;
i
++)
{
dataGridView2
.
Columns
[
i
].
Width
=
64
;
dataGridView2
.
Columns
[
i
].
SortMode
=
DataGridViewColumnSortMode
.
NotSortable
;
}
for
(
int
i
=
0
;
i
<
store
.
posDebug
.
GetRows
();
i
++)
{
dataGridView1
.
Rows
.
Add
();
dataGridView2
.
Rows
.
Add
();
}
foreach
(
var
item
in
store
.
posDebug
.
LPos
)
{
dataGridView1
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Value
=
item
.
PosName
;
dataGridView1
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Tag
=
item
.
PosId
;
dataGridView1
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Style
=
GetStyle
(
item
.
PosId
);
}
foreach
(
var
item
in
store
.
posDebug
.
RPos
)
{
dataGridView2
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Value
=
item
.
PosName
;
dataGridView2
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Tag
=
item
.
PosId
;
dataGridView2
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Style
=
GetStyle
(
item
.
PosId
);
}
}
private
void
Store_InOutEndEvent
(
string
posId
,
StoreMoveType
movetype
,
bool
isLast
)
{
if
(
store
.
posDebug
.
Exist
(
posId
,
out
PosPos
posPos
,
out
int
dir
))
{
if
(
dir
==
0
)
{
var
cells
=
dataGridView1
.
Rows
[
posPos
.
Row
-
1
].
Cells
[
posPos
.
Col
-
1
];
cells
.
Style
=
GetStyle
(
posId
);
}
else
{
var
cells
=
dataGridView2
.
Rows
[
posPos
.
Row
-
1
].
Cells
[
posPos
.
Col
-
1
];
cells
.
Style
=
GetStyle
(
posId
);
}
}
lblOk
.
Text
=
store
.
posDebug
.
Ok
.
ToString
();
lblTotal
.
Text
=
store
.
posDebug
.
Total
.
ToString
();
}
#
endregion
private
void
LoadStore
()
private
void
LoadStore
()
{
{
this
.
store
=
StoreManager
.
InitStore
();
this
.
store
=
StoreManager
.
InitStore
();
...
@@ -424,7 +483,7 @@ namespace OnlineStore.ACSquareStore
...
@@ -424,7 +483,7 @@ namespace OnlineStore.ACSquareStore
ktk
.
InOut_P4
=
FormUtil
.
GetIntValue
(
txtInOutP4
);
ktk
.
InOut_P4
=
FormUtil
.
GetIntValue
(
txtInOutP4
);
ktk
.
Middle_P1
=
FormUtil
.
GetIntValue
(
txtMiddleP1
);
ktk
.
Middle_P1
=
FormUtil
.
GetIntValue
(
txtMiddleP1
);
ktk
.
Middle_P2
=
FormUtil
.
GetIntValue
(
txtMiddleP2
);
ktk
.
Middle_P2
=
FormUtil
.
GetIntValue
(
txtMiddleP2
);
ktk
.
MiddleAxis_Safe_Position
=
FormUtil
.
GetIntValue
(
txtMiddleSafe
);
ktk
.
MiddleAxis_Safe_Position
=
FormUtil
.
GetIntValue
(
txtMiddleSafe
);
ktk
.
UpDown_P1
=
FormUtil
.
GetIntValue
(
txtUpDownP1
);
ktk
.
UpDown_P1
=
FormUtil
.
GetIntValue
(
txtUpDownP1
);
ktk
.
UpDown_P2
=
FormUtil
.
GetIntValue
(
txtUpDownP2
);
ktk
.
UpDown_P2
=
FormUtil
.
GetIntValue
(
txtUpDownP2
);
ktk
.
UpDown_P3
=
FormUtil
.
GetIntValue
(
txtUpDownP3
);
ktk
.
UpDown_P3
=
FormUtil
.
GetIntValue
(
txtUpDownP3
);
...
@@ -451,17 +510,7 @@ namespace OnlineStore.ACSquareStore
...
@@ -451,17 +510,7 @@ namespace OnlineStore.ACSquareStore
if
(
cmbPosition
.
SelectedIndex
>=
0
)
if
(
cmbPosition
.
SelectedIndex
>=
0
)
{
{
string
selectPositionNum
=
cmbPosition
.
Text
;
string
selectPositionNum
=
cmbPosition
.
Text
;
ACSquareSPosition
ktkPosition
=
CSVPositionReader
<
ACSquareSPosition
>.
GetPositon
(
selectPositionNum
);
SetData
(
selectPositionNum
);
if
(
ktkPosition
!=
null
)
{
txtMiddleP2
.
Text
=
ktkPosition
.
MiddleAxis_P2
.
ToString
();
txtUpDownP3
.
Text
=
ktkPosition
.
UpDownAxis_IH_P3
.
ToString
();
txtUpDownP4
.
Text
=
ktkPosition
.
UpDownAxis_IL_P4
.
ToString
();
txtUpDownP5
.
Text
=
ktkPosition
.
UpDownAxis_OH_P5
.
ToString
();
txtUpDownP6
.
Text
=
ktkPosition
.
UpDownAxis_OL_P6
.
ToString
();
txtInOutP4
.
Text
=
ktkPosition
.
InOutAxis_P4
.
ToString
();
}
}
}
}
}
private
void
cmbAxisList_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
private
void
cmbAxisList_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
...
@@ -853,6 +902,15 @@ namespace OnlineStore.ACSquareStore
...
@@ -853,6 +902,15 @@ namespace OnlineStore.ACSquareStore
//store.StartOutStoreMove(new InOutStoreParam("", poText));
//store.StartOutStoreMove(new InOutStoreParam("", poText));
InOutPosInfo
pos
=
new
InOutPosInfo
(
"AUTOINOUT"
,
poText
);
InOutPosInfo
pos
=
new
InOutPosInfo
(
"AUTOINOUT"
,
poText
);
pos
.
ShelfType
=
store
.
autoShelfType
;
pos
.
ShelfType
=
store
.
autoShelfType
;
store
.
posDebug
.
Start
();
foreach
(
var
item
in
store
.
posDebug
.
LPos
)
{
dataGridView1
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Style
=
dgv_none
;
}
foreach
(
var
item
in
store
.
posDebug
.
RPos
)
{
dataGridView2
.
Rows
[
item
.
Row
-
1
].
Cells
[
item
.
Col
-
1
].
Style
=
dgv_none
;
}
store
.
StartInStoreMove
(
new
InOutParam
(
pos
));
store
.
StartInStoreMove
(
new
InOutParam
(
pos
));
}
}
btnStartAuTo
.
Text
=
"停止自动出入库"
;
btnStartAuTo
.
Text
=
"停止自动出入库"
;
...
@@ -1123,7 +1181,7 @@ namespace OnlineStore.ACSquareStore
...
@@ -1123,7 +1181,7 @@ namespace OnlineStore.ACSquareStore
ExitApp
();
ExitApp
();
}
}
}
}
private
void
UpdateBtnEn
(
)
private
void
UpdateBtnEn
()
{
{
string
port
=
cmbHumpPort
.
Text
;
string
port
=
cmbHumpPort
.
Text
;
if
(
HumitureController
.
IsRun
(
port
))
if
(
HumitureController
.
IsRun
(
port
))
...
@@ -1191,6 +1249,7 @@ namespace OnlineStore.ACSquareStore
...
@@ -1191,6 +1249,7 @@ namespace OnlineStore.ACSquareStore
groupAxis
.
Enabled
=
status
;
groupAxis
.
Enabled
=
status
;
//groupComAxis.Enabled = status;
//groupComAxis.Enabled = status;
groupInout
.
Enabled
=
status
;
groupInout
.
Enabled
=
status
;
tabControl_Pos
.
Enabled
=
status
;
}
}
private
void
btnDebug_Click
(
object
sender
,
EventArgs
e
)
private
void
btnDebug_Click
(
object
sender
,
EventArgs
e
)
...
@@ -1275,12 +1334,12 @@ namespace OnlineStore.ACSquareStore
...
@@ -1275,12 +1334,12 @@ namespace OnlineStore.ACSquareStore
{
{
btnTempInit
.
Enabled
=
true
;
btnTempInit
.
Enabled
=
true
;
btnTempClose
.
Enabled
=
false
;
btnTempClose
.
Enabled
=
false
;
}
}
}
}
protected
void
BtnMove
(
Button
btn
,
string
defaultText
,
string
targetText
,
string
ioHighType
)
protected
void
BtnMove
(
Button
btn
,
string
defaultText
,
string
targetText
,
string
ioHighType
)
{
{
LogUtil
.
info
(
"点击【"
+
btn
.
Text
+
"】 "
);
LogUtil
.
info
(
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
defaultText
))
if
(
btn
.
Text
.
Equals
(
defaultText
))
{
{
IOManager
.
IOMove
(
ioHighType
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
ioHighType
,
IO_VALUE
.
HIGH
);
...
@@ -1340,5 +1399,42 @@ namespace OnlineStore.ACSquareStore
...
@@ -1340,5 +1399,42 @@ namespace OnlineStore.ACSquareStore
AxisABSMove
(
store
.
Config
.
Middle_Axis
,
value
,
store
.
Config
.
MiddleAxis_P1_Speed
);
AxisABSMove
(
store
.
Config
.
Middle_Axis
,
value
,
store
.
Config
.
MiddleAxis_P1_Speed
);
}
}
}
}
#
region
库位调试
/// <summary>
/// 更新界面轴的库位位置数据
/// </summary>
/// <param name="posId"></param>
private
void
SetData
(
string
posId
)
{
ACSquareSPosition
ktkPosition
=
CSVPositionReader
<
ACSquareSPosition
>.
GetPositon
(
posId
);
if
(
ktkPosition
!=
null
)
{
txtMiddleP2
.
Text
=
ktkPosition
.
MiddleAxis_P2
.
ToString
();
txtUpDownP3
.
Text
=
ktkPosition
.
UpDownAxis_IH_P3
.
ToString
();
txtUpDownP4
.
Text
=
ktkPosition
.
UpDownAxis_IL_P4
.
ToString
();
txtUpDownP5
.
Text
=
ktkPosition
.
UpDownAxis_OH_P5
.
ToString
();
txtUpDownP6
.
Text
=
ktkPosition
.
UpDownAxis_OL_P6
.
ToString
();
txtInOutP4
.
Text
=
ktkPosition
.
InOutAxis_P4
.
ToString
();
}
}
static
Font
font
=
new
Font
(
"宋体"
,
10
);
DataGridViewCellStyle
dgv_ok
=
new
DataGridViewCellStyle
()
{
BackColor
=
Color
.
LightGreen
,
Font
=
font
};
DataGridViewCellStyle
dgv_oin
=
new
DataGridViewCellStyle
()
{
BackColor
=
Color
.
LightGray
,
Font
=
font
};
DataGridViewCellStyle
dgv_oout
=
new
DataGridViewCellStyle
()
{
BackColor
=
Color
.
LightSeaGreen
,
Font
=
font
};
DataGridViewCellStyle
dgv_none
=
new
DataGridViewCellStyle
()
{
BackColor
=
Color
.
White
,
Font
=
font
};
DataGridViewCellStyle
GetStyle
(
string
posid
)
{
if
(
store
.
posDebug
.
Exist
(
posid
,
out
PosPos
posPos
))
{
if
(
posPos
.
PosState
.
InStoreCheck
==
1
&&
posPos
.
PosState
.
OutStoreCheck
==
1
)
return
dgv_ok
;
else
if
(
posPos
.
PosState
.
InStoreCheck
==
1
)
return
dgv_oin
;
else
if
(
posPos
.
PosState
.
OutStoreCheck
==
1
)
return
dgv_oout
;
}
return
dgv_none
;
}
#
endregion
}
}
}
}
source/ACSquareStore/FrmStoreBox.resx
查看文件 @
67761f2
...
@@ -1260,7 +1260,7 @@
...
@@ -1260,7 +1260,7 @@
</value>
</value>
</data>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>5
6
</value>
<value>5
2
</value>
</metadata>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
<value>
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
67761f2
...
@@ -53,6 +53,7 @@
...
@@ -53,6 +53,7 @@
<Reference Include="System.Xml" />
<Reference Include="System.Xml" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
<Compile Include="acSquareStore\PosDebug.cs" />
<Compile Include="acSquareStore\ShelfMoveBean.cs" />
<Compile Include="acSquareStore\ShelfMoveBean.cs" />
<Compile Include="acSquareStore\Square_BoxBean.cs" />
<Compile Include="acSquareStore\Square_BoxBean.cs" />
<Compile Include="acSquareStore\Square_BoxBean_Partial.cs" />
<Compile Include="acSquareStore\Square_BoxBean_Partial.cs" />
...
...
source/DeviceLibrary/StoreConfig/StoreConfig.csv
查看文件 @
67761f2
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/StoreConfig/linePositions.csv
查看文件 @
67761f2
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/acSquareStore/PosDebug.cs
0 → 100644
查看文件 @
67761f2
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Windows.Forms
;
namespace
OnlineStore.DeviceLibrary
{
public
class
PosDebug
{
static
string
filePath
=
$
"{Application.StartupPath}//StoreConfig//pos_debug.json"
;
static
object
locker
=
new
object
();
/// <summary>
/// 左侧库位结果表
/// </summary>
public
List
<
PosPos
>
LPos
{
get
;
set
;
}
/// <summary>
/// 右侧库位结果表
/// </summary>
public
List
<
PosPos
>
RPos
{
get
;
set
;
}
public
int
Total
{
get
;
set
;
}
public
int
Ok
{
get
;
set
;
}
public
void
Start
()
{
Total
++;
ClearPosState
();
}
public
int
GetRows
()
{
return
LPos
.
Select
(
s
=>
s
.
Row
).
Max
();
}
public
int
GetCols
()
{
return
LPos
.
Select
(
s
=>
s
.
Col
).
Max
();
}
public
bool
Exist
(
string
posId
,
out
PosPos
posPos
)
{
posPos
=
null
;
int
idx
=
LPos
.
FindIndex
(
s
=>
s
.
PosId
.
Equals
(
posId
));
if
(
idx
==
-
1
)
{
idx
=
RPos
.
FindIndex
(
s
=>
s
.
PosId
.
Equals
(
posId
));
if
(
idx
==
-
1
)
return
false
;
else
{
posPos
=
RPos
[
idx
];
}
}
else
{
posPos
=
LPos
[
idx
];
}
return
true
;
}
/// <summary>
///
/// </summary>
/// <param name="posId"></param>
/// <param name="posPos"></param>
/// <param name="dir">0:左侧</param>
/// <returns></returns>
public
bool
Exist
(
string
posId
,
out
PosPos
posPos
,
out
int
dir
)
{
posPos
=
null
;
dir
=
0
;
int
idx
=
LPos
.
FindIndex
(
s
=>
s
.
PosId
.
Equals
(
posId
));
if
(
idx
==
-
1
)
{
idx
=
RPos
.
FindIndex
(
s
=>
s
.
PosId
.
Equals
(
posId
));
if
(
idx
==
-
1
)
return
false
;
else
{
posPos
=
RPos
[
idx
];
dir
=
1
;
}
}
else
{
posPos
=
LPos
[
idx
];
}
return
true
;
}
void
SetPosState
(
string
posId
,
StoreMoveType
moveType
)
{
int
idx
=
LPos
.
FindIndex
(
s
=>
s
.
PosId
.
Equals
(
posId
));
if
(
idx
==
-
1
)
{
idx
=
RPos
.
FindIndex
(
s
=>
s
.
PosId
.
Equals
(
posId
));
if
(
idx
!=
-
1
)
{
if
(
moveType
.
Equals
(
StoreMoveType
.
InStore
))
{
RPos
[
idx
].
PosState
.
InStoreCheck
=
1
;
}
else
if
(
moveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
RPos
[
idx
].
PosState
.
OutStoreCheck
=
1
;
}
}
}
else
{
if
(
moveType
.
Equals
(
StoreMoveType
.
InStore
))
{
LPos
[
idx
].
PosState
.
InStoreCheck
=
1
;
}
else
if
(
moveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
LPos
[
idx
].
PosState
.
OutStoreCheck
=
1
;
}
}
}
public
void
AddResult
(
string
posId
,
StoreMoveType
movetype
,
bool
isLast
)
{
if
(
Monitor
.
TryEnter
(
locker
,
500
))
{
try
{
if
(
isLast
)
Ok
++;
SetPosState
(
posId
,
movetype
);
File
.
WriteAllText
(
filePath
,
JsonHelper
.
SerializeObject
(
this
));
}
finally
{
Monitor
.
Exit
(
locker
);
}
}
}
private
void
ClearPosState
()
{
foreach
(
var
item
in
LPos
)
{
item
.
PosState
.
InStoreCheck
=
0
;
item
.
PosState
.
OutStoreCheck
=
0
;
}
foreach
(
var
item
in
RPos
)
{
item
.
PosState
.
InStoreCheck
=
0
;
item
.
PosState
.
OutStoreCheck
=
0
;
}
}
public
static
PosDebug
Init
(
List
<
string
>
posNumList
)
{
PosDebug
posDebug
;
if
(
File
.
Exists
(
filePath
))
{
string
txt
=
File
.
ReadAllText
(
filePath
);
posDebug
=
JsonHelper
.
DeserializeJsonToObject
<
PosDebug
>(
txt
);
if
(
posDebug
!=
null
)
return
posDebug
;
}
posDebug
=
new
PosDebug
();
posDebug
.
LPos
=
new
List
<
PosPos
>();
posDebug
.
RPos
=
new
List
<
PosPos
>();
for
(
int
i
=
0
;
i
<
posNumList
.
Count
;
i
++)
{
//AC1#R1_1_11
//AC1#L1_1_11
string
pos
=
posNumList
[
i
];
string
[]
dir
=
pos
.
Split
(
'#'
);
if
(
dir
[
1
].
StartsWith
(
"L"
))
{
posDebug
.
LPos
.
Add
(
new
PosPos
{
PosId
=
pos
,
Index
=
i
});
}
else
{
posDebug
.
RPos
.
Add
(
new
PosPos
{
PosId
=
pos
,
Index
=
i
});
}
}
return
posDebug
;
}
}
//AC1#L1_1_11
public
class
PosPos
{
/// <summary>
/// 库位ID
/// </summary>
public
string
PosId
{
get
;
set
;
}
/// <summary>
/// 库位名
/// </summary>
public
string
PosName
{
get
{
return
PosId
.
Split
(
'#'
)[
1
];
}
}
/// <summary>
/// 所在库位列表的索引
/// </summary>
public
int
Index
{
get
;
set
;
}
/// <summary>
/// 库位所在层
/// </summary>
public
int
Row
{
get
{
return
int
.
Parse
(
PosId
.
Split
(
'#'
)[
1
].
Split
(
'_'
)[
2
]);
}
}
/// <summary>
/// 库位所在列
/// </summary>
public
int
Col
{
get
{
return
int
.
Parse
(
PosId
.
Split
(
'#'
)[
1
].
Split
(
'_'
)[
0
].
Substring
(
1
));
}
}
public
PosState
PosState
{
get
;
set
;
}
=
new
PosState
();
}
/// <summary>
/// 库位状态
/// </summary>
public
class
PosState
{
public
int
InStoreCheck
=
0
;
public
int
OutStoreCheck
=
0
;
}
}
source/DeviceLibrary/acSquareStore/Square_BoxBean.cs
查看文件 @
67761f2
...
@@ -95,6 +95,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -95,6 +95,7 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
posDebug
=
PosDebug
.
Init
(
PositionNumList
);
}
}
private
void
IoCheckTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
private
void
IoCheckTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
...
...
source/DeviceLibrary/acSquareStore/Square_BoxBean_Partial.cs
查看文件 @
67761f2
...
@@ -478,7 +478,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -478,7 +478,7 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus
=
StoreRunStatus
.
Runing
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
//设备连接,入库后,BOX恢复原始状态
//设备连接,入库后,BOX恢复原始状态
storeStatus
=
StoreStatus
.
StoreOnline
;
storeStatus
=
StoreStatus
.
StoreOnline
;
InOutEndProcess
(
StoreMoveType
.
InStore
);
InOutEndProcess
(
StoreMoveType
.
InStore
,
posId
);
}
}
else
else
{
{
...
@@ -736,7 +736,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -736,7 +736,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 【"
+
posId
+
"】 整个出库流程结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
,
storeMoveColor
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 【"
+
posId
+
"】 整个出库流程结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
,
storeMoveColor
);
StoreMove
.
EndMove
();
StoreMove
.
EndMove
();
storeRunStatus
=
StoreRunStatus
.
Runing
;
storeRunStatus
=
StoreRunStatus
.
Runing
;
InOutEndProcess
(
StoreMoveType
.
OutStore
);
InOutEndProcess
(
StoreMoveType
.
OutStore
,
posId
);
}
}
else
else
{
{
...
@@ -758,7 +758,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -758,7 +758,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
private
string
autoInoutCode
=
"AUTOINOUT"
;
private
string
autoInoutCode
=
"AUTOINOUT"
;
private
void
InOutEndProcess
(
StoreMoveType
storeMoveType
)
private
void
InOutEndProcess
(
StoreMoveType
storeMoveType
,
string
posId
)
{
{
try
try
{
{
...
@@ -772,7 +772,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -772,7 +772,7 @@ namespace OnlineStore.DeviceLibrary
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
{
int
newIndex
=
autoPositionIndex
;
int
newIndex
=
autoPositionIndex
;
if
(
newIndex
<
0
)
if
(
newIndex
>=
PositionNumList
.
Count
)
{
{
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
{
{
...
@@ -788,6 +788,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -788,6 +788,7 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
InOutEnd
(
posId
,
storeMoveType
,
false
);
autoPositionIndex
=
newIndex
;
autoPositionIndex
=
newIndex
;
string
posid
=
PositionNumList
[
autoPositionIndex
];
string
posid
=
PositionNumList
[
autoPositionIndex
];
InOutPosInfo
inoutinfo
=
new
InOutPosInfo
(
autoInoutCode
,
posid
);
InOutPosInfo
inoutinfo
=
new
InOutPosInfo
(
autoInoutCode
,
posid
);
...
@@ -817,12 +818,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -817,12 +818,13 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
OutStore
))
else
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
{
int
newIndex
=
autoPositionIndex
-
autoJiange
;
int
newIndex
=
autoPositionIndex
+
autoJiange
;
if
(
newIndex
<
0
)
if
(
newIndex
>=
PositionNumList
.
Count
)
{
{
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
if
(
AutoStartIndex
>=
0
&&
AutoStartIndex
<
PositionNumList
.
Count
)
{
{
newIndex
=
AutoStartIndex
;
newIndex
=
AutoStartIndex
;
InOutEnd
(
posId
,
storeMoveType
,
true
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"下一个索引不存在,重新开始自动出入库,索引【"
+
AutoStartIndex
+
"】"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"下一个索引不存在,重新开始自动出入库,索引【"
+
AutoStartIndex
+
"】"
);
}
}
else
else
...
@@ -834,26 +836,27 @@ namespace OnlineStore.DeviceLibrary
...
@@ -834,26 +836,27 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
InOutEnd
(
posId
,
storeMoveType
,
false
);
autoPositionIndex
=
newIndex
;
autoPositionIndex
=
newIndex
;
string
posid
=
PositionNumList
[
newIndex
];
string
posid
=
PositionNumList
[
newIndex
];
InOutPosInfo
inoutinfo
=
new
InOutPosInfo
(
autoInoutCode
,
posid
);
InOutPosInfo
inoutinfo
=
new
InOutPosInfo
(
autoInoutCode
,
posid
);
inoutinfo
.
ShelfType
=
autoShelfType
;
inoutinfo
.
ShelfType
=
autoShelfType
;
//判断是否需要重置
//判断是否需要重置
if
(
CurrInOutACount
>=
Config
.
Box_ResetACount
)
//
if (CurrInOutACount >= Config.Box_ResetACount)
{
//
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"自动进入下一个入库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把入库信息存入排队列表中"
);
//
LogUtil.info(LOGGER, StoreName + "自动进入下一个入库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把入库信息存入排队列表中");
Reset
(
false
);
//
Reset(false);
autoMsg
=
"自动入库:"
+
posid
;
//
autoMsg = "自动入库:" + posid;
AddWaitOutInfo
(
inoutinfo
);
//
AddWaitOutInfo(inoutinfo);
}
//
}
else
if
(
CurrInOutCount
>=
Config
.
Box_ResetMCount
)
//
else if (CurrInOutCount >= Config.Box_ResetMCount)
{
//
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX前后轴,先把出库信息存入排队列表中"
);
//
LogUtil.info(LOGGER, StoreName + "自动进入下一个出库:posid=" + posid + ",当时已经出入库" + CurrInOutCount + "次,需要重置BOX前后轴,先把出库信息存入排队列表中");
//ResetMiddleAxis(false);
//
//ResetMiddleAxis(false);
autoMsg
=
"自动入库:"
+
posid
;
//
autoMsg = "自动入库:" + posid;
AddWaitOutInfo
(
inoutinfo
);
//
AddWaitOutInfo(inoutinfo);
}
//
}
else
//
else
{
{
LogUtil
.
info
(
LOGGER
,
StoreName
+
"自动进入下一个入库:posid="
+
posid
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"自动进入下一个入库:posid="
+
posid
);
autoMsg
=
"自动入库:"
+
posid
;
autoMsg
=
"自动入库:"
+
posid
;
...
@@ -867,7 +870,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -867,7 +870,16 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
LOGGER
,
ex
.
ToString
());
LogUtil
.
error
(
LOGGER
,
ex
.
ToString
());
}
}
}
}
#
region
库位调试
public
delegate
void
InOutEndEventHandler
(
string
posId
,
StoreMoveType
movetype
,
bool
isLast
);
public
event
InOutEndEventHandler
InOutEndEvent
;
public
PosDebug
posDebug
;
private
void
InOutEnd
(
string
posId
,
StoreMoveType
movetype
,
bool
isLast
)
{
posDebug
.
AddResult
(
posId
,
movetype
,
isLast
);
InOutEndEvent
?.
Invoke
(
posId
,
movetype
,
isLast
);
}
#
endregion
private
void
InStoreLog
(
string
msg
)
private
void
InStoreLog
(
string
msg
)
{
{
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PosInfo
.
PosId
:
""
;
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PosInfo
.
PosId
:
""
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论