Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO908-XLRStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e7a4127f
由
张东亮
编写于
2021-08-31 16:04:47 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
存储机构-开启自动取图以及独立AB拍照点位置
1 个父辈
639d141a
全部展开
显示空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
264 行增加
和
70 行删除
source/DeviceLibrary/Config/Config_BoxEquip.csv
source/DeviceLibrary/baan/AxisBean.cs
source/DeviceLibrary/manager/model/DeviceStep.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_AutoFindPos.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Camera.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_InExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
source/LoadCVSLibrary/storeConfig/config/BoxEquip_Config.cs
source/XLRStoreClient/boxForm/FrmAutoFindPos.Designer.cs
source/XLRStoreClient/boxForm/FrmAutoFindPos.cs
source/DeviceLibrary/Config/Config_BoxEquip.csv
查看文件 @
e7a4127
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/baan/AxisBean.cs
查看文件 @
e7a4127
...
@@ -130,7 +130,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -130,7 +130,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAxis
(
Config
,
targetPosition
,
targetSpeed
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAxis
(
Config
,
targetPosition
,
targetSpeed
));
Config
.
TargetPosition
=
targetPosition
;
Config
.
TargetPosition
=
targetPosition
;
AxisManager
.
instance
.
AbsMove
(
Config
.
DeviceName
,
Config
.
GetAxisValue
(),
targetPosition
,
targetSpeed
,
Config
.
AddSpeed
,
Config
.
DelSpeed
);
AxisManager
.
instance
.
AbsMove
(
Config
.
DeviceName
,
Config
.
GetAxisValue
(),
targetPosition
,
targetSpeed
,
Config
.
AddSpeed
,
Config
.
DelSpeed
);
//
LogUtil.info($"{this.AxisName} AbsMove To [{targetPosition}] [speed={targetSpeed}]");
LogUtil
.
info
(
$
"{this.AxisName} AbsMove To [{targetPosition}] [speed={targetSpeed}]"
);
}
}
}
}
...
...
source/DeviceLibrary/manager/model/DeviceStep.cs
查看文件 @
e7a4127
...
@@ -372,9 +372,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -372,9 +372,13 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
SI_05_GetReel
,
SI_05_GetReel
,
/// <summary>
/// <summary>
/// 料仓入库:A/B面移栽X轴到P
3(A/B面料屉库位取放料点)
/// 料仓入库:A/B面移栽X轴到P
1
/// </summary>
/// </summary>
SI_06_InOutBackFromBuff
,
SI_06_InOutBackToP1FromBuff
,
/// <summary>
/// 料仓入库:清除缓存
/// </summary>
SI_06_ClearBuffInfo
,
/// <summary>
/// <summary>
/// 料仓入库:A/B面移栽旋转轴到P3(A面料屉库位垂直取放料点)
/// 料仓入库:A/B面移栽旋转轴到P3(A面料屉库位垂直取放料点)
/// </summary>
/// </summary>
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_AutoFindPos.cs
查看文件 @
e7a4127
...
@@ -109,36 +109,65 @@ namespace OnlineStore.DeviceLibrary
...
@@ -109,36 +109,65 @@ namespace OnlineStore.DeviceLibrary
}
}
private
float
GetDrawerX
()
{
if
(
CheckASide
())
{
return
Config
.
FindPos_Drawer_A_X
;
}
else
{
return
Config
.
FindPos_Drawer_B_X
;
}
}
private
float
GetDrawerY
()
{
if
(
CheckASide
())
{
return
Config
.
FindPos_Drawer_A_Y
;
}
else
{
return
Config
.
FindPos_Drawer_B_Y
;
}
}
private
float
GetError_X
()
{
return
Config
.
FindPos_Drawer_X_Error
;
}
private
float
GetError_Y
()
{
return
Config
.
FindPos_Drawer_Y_Error
;
}
private
bool
CheckMarkXPoint
(
EyemOcsFXYR
eyemOcsFXYR
)
private
bool
CheckMarkXPoint
(
EyemOcsFXYR
eyemOcsFXYR
)
{
{
if
(
Math
.
Abs
(
Config
.
Drawer_X
-
eyemOcsFXYR
.
fX
)
<
Config
.
Drawer_X_Error
)
if
(
Math
.
Abs
(
GetDrawerX
()
-
eyemOcsFXYR
.
fX
)
<
GetError_X
()
)
{
{
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
Config.Drawer_X},X轴偏差{(Config.Drawer_X
- eyemOcsFXYR.fX)},在误差范围内"
+
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
GetDrawerX()},X轴偏差{(GetDrawerX()
- eyemOcsFXYR.fX)},在误差范围内"
+
$
"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
$
"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
AutoFindPosSaveImage
(
$
"OK_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
Config.Drawer_X},X轴偏差{(Config.Drawer_X
- eyemOcsFXYR.fX)}"
);
AutoFindPosSaveImage
(
$
"OK_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
GetDrawerX()},X轴偏差{(GetDrawerX()
- eyemOcsFXYR.fX)}"
);
return
true
;
return
true
;
}
}
AutoFindPosSaveImage
(
$
"NG_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
Config.Drawer_X},X轴偏差{(Config.Drawer_X
- eyemOcsFXYR.fX)}"
);
AutoFindPosSaveImage
(
$
"NG_Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
GetDrawerX()},X轴偏差{(GetDrawerX()
- eyemOcsFXYR.fX)}"
);
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
Config.Drawer_X},X轴偏差{(Config.Drawer_X
- eyemOcsFXYR.fX)},"
+
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点X轴坐标{eyemOcsFXYR.fX},模板Mark点X轴坐标{
GetDrawerX()},X轴偏差{(GetDrawerX()
- eyemOcsFXYR.fX)},"
+
$
"行走机构相对移动{(
Config.Drawer_X
- eyemOcsFXYR.fX) * autoFindPos.XCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
$
"行走机构相对移动{(
GetDrawerX()
- eyemOcsFXYR.fX) * autoFindPos.XCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
MoveAxis
.
AbsMove
(
MoveInfo
,
Convert
.
ToInt32
(
MoveAxis
.
GetAclPosition
()
+
(
Config
.
Drawer_X
-
eyemOcsFXYR
.
fX
)
*
autoFindPos
.
XCoeffOfCoorToPulse
),
Config
.
MoveAxis_P1_Speed
/
10
);
MoveAxis
.
AbsMove
(
MoveInfo
,
Convert
.
ToInt32
(
MoveAxis
.
GetAclPosition
()
+
(
GetDrawerX
()
-
eyemOcsFXYR
.
fX
)
*
autoFindPos
.
XCoeffOfCoorToPulse
),
Config
.
MoveAxis_P1_Speed
/
10
);
return
false
;
return
false
;
}
}
private
bool
CheckMarkYPoint
(
EyemOcsFXYR
eyemOcsFXYR
)
private
bool
CheckMarkYPoint
(
EyemOcsFXYR
eyemOcsFXYR
)
{
{
if
(
Math
.
Abs
(
Config
.
Drawer_Y
-
eyemOcsFXYR
.
fY
)
<
Config
.
Drawer_Y_Error
)
if
(
Math
.
Abs
(
GetDrawerY
()
-
eyemOcsFXYR
.
fY
)
<
GetError_Y
()
)
{
{
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y
- eyemOcsFXYR.fY)},在误差范围内"
+
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
GetDrawerY()},Y轴偏差{(GetDrawerY()
- eyemOcsFXYR.fY)},在误差范围内"
+
$
"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
$
"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
AutoFindPosSaveImage
(
$
"OK_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y
- eyemOcsFXYR.fY)}"
);
AutoFindPosSaveImage
(
$
"OK_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
GetDrawerY()},Y轴偏差{(GetDrawerY()
- eyemOcsFXYR.fY)}"
);
return
true
;
return
true
;
}
}
AutoFindPosSaveImage
(
$
"NG_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y
- eyemOcsFXYR.fY)}"
);
AutoFindPosSaveImage
(
$
"NG_Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
GetDrawerY()},Y轴偏差{(GetDrawerY()
- eyemOcsFXYR.fY)}"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Convert
.
ToInt32
(
UpdownAxis
.
GetAclPosition
()
+
(
Config
.
Drawer_Y
-
eyemOcsFXYR
.
fY
)
*
autoFindPos
.
YCoeffOfCoorToPulse
),
Config
.
Updown_P1_Speed
/
10
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Convert
.
ToInt32
(
UpdownAxis
.
GetAclPosition
()
+
(
GetDrawerY
()
-
eyemOcsFXYR
.
fY
)
*
autoFindPos
.
YCoeffOfCoorToPulse
),
Config
.
Updown_P1_Speed
/
10
);
PullAxis_Updown
.
AbsMove
(
MoveInfo
,
Convert
.
ToInt32
(
PullAxis_Updown
.
GetAclPosition
()
+
(
Config
.
Drawer_Y
-
eyemOcsFXYR
.
fY
)
*
autoFindPos
.
YCoeffOfCoorToPulse
),
Config
.
Updown_P1_Speed
/
10
);
PullAxis_Updown
.
AbsMove
(
MoveInfo
,
Convert
.
ToInt32
(
PullAxis_Updown
.
GetAclPosition
()
+
(
GetDrawerY
()
-
eyemOcsFXYR
.
fY
)
*
autoFindPos
.
YCoeffOfCoorToPulse
),
Config
.
Updown_P1_Speed
/
10
);
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y
- eyemOcsFXYR.fY)},"
+
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:Mark点Y轴坐标{eyemOcsFXYR.fY},模板Mark点Y轴坐标{
GetDrawerY()},Y轴偏差{(GetDrawerY()
- eyemOcsFXYR.fY)},"
+
$
"移栽升降轴、料屉升降轴相对移动{(
Config.Drawer_Y
- eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
$
"移栽升降轴、料屉升降轴相对移动{(
GetDrawerY()
- eyemOcsFXYR.fY) * autoFindPos.YCoeffOfCoorToPulse}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
return
false
;
return
false
;
}
}
private
void
AutoFindPosSaveImage
(
string
imgInfo
)
private
void
AutoFindPosSaveImage
(
string
imgInfo
)
...
@@ -243,7 +272,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -243,7 +272,7 @@ namespace OnlineStore.DeviceLibrary
//取图
//取图
//Bitmap bitmap = null;
//Bitmap bitmap = null;
Bitmap
bitmap
=
AcqImage
(
CamPosSide
(
MoveInfo
.
MoveParam
.
PosInfo
.
PosId
));
Bitmap
bitmap
=
AcqImage
(
CamPosSide
(
MoveInfo
.
MoveParam
.
PosInfo
.
PosId
));
int
res
=
AutoFindPos
.
GetMarkInfo
(
bitmap
,
$
"{MoveInfo.MoveParam.PosInfo.PosId.Substring(0, 4)}"
,
$
"row{autoFindPos.CurRow}_col{autoFindPos.CurColumn}"
,
out
ocsFXYR
);
int
res
=
AutoFindPos
.
GetMarkInfo
(
bitmap
,
$
"{MoveInfo.MoveParam.PosInfo.PosId.Substring(0, 4)}"
,
$
"row{autoFindPos.CurRow}_col{autoFindPos.CurColumn}"
,
out
ocsFXYR
);
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:取图[ret={res}],行={autoFindPos.CurRow},列={autoFindPos.CurColumn}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"视觉对位 {MoveInfo.SLog}:取图[ret={res}],行={autoFindPos.CurRow},列={autoFindPos.CurColumn}[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
if
(
res
==
0
)
if
(
res
==
0
)
{
{
...
@@ -452,10 +481,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -452,10 +481,10 @@ namespace OnlineStore.DeviceLibrary
Columns
=
boxEquip_Config
.
Drawer_Columns
;
Columns
=
boxEquip_Config
.
Drawer_Columns
;
FailedDrawers
=
new
List
<
string
>();
FailedDrawers
=
new
List
<
string
>();
}
}
public
void
SetParam
(
int
curRow
,
int
curColumn
,
float
xCooef
,
float
yCooef
)
public
void
SetParam
(
int
curRow
,
int
curColumn
,
int
startRow
,
int
startCol
,
float
xCooef
,
float
yCooef
)
{
{
CurRow
=
cur
Row
;
CurRow
=
start
Row
;
CurColumn
=
curColumn
;
CurColumn
=
startCol
;
PreColumn
=
curColumn
;
PreColumn
=
curColumn
;
PreRow
=
curRow
;
PreRow
=
curRow
;
Row_Spacing
=
boxEquip_Config
.
Row_Spacing
;
Row_Spacing
=
boxEquip_Config
.
Row_Spacing
;
...
@@ -471,14 +500,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -471,14 +500,14 @@ namespace OnlineStore.DeviceLibrary
/// <param name="bitmap">输入图片</param>
/// <param name="bitmap">输入图片</param>
/// <param name="markCoor">mark点坐标信息</param>
/// <param name="markCoor">mark点坐标信息</param>
/// <returns>0 正常 -4未定位到 </returns>
/// <returns>0 正常 -4未定位到 </returns>
public
static
int
GetMarkInfo
(
Bitmap
bitmap
,
string
subpath
,
string
filename
,
out
EyemOcsFXYR
markCoor
,
out
Bitmap
resBitmap
)
public
static
int
GetMarkInfo
(
Bitmap
bitmap
,
string
subpath
,
string
filename
,
out
EyemOcsFXYR
markCoor
,
out
Bitmap
resBitmap
)
{
{
int
flag
;
int
flag
;
markCoor
=
new
EyemOcsFXYR
();
markCoor
=
new
EyemOcsFXYR
();
EyemImage
tpDstImg
;
EyemImage
tpDstImg
;
EyemImage
image
=
eyemCvtToEyemImage
(
bitmap
);
EyemImage
image
=
eyemCvtToEyemImage
(
bitmap
);
flag
=
eyemMarkerTracing
(
image
,
120
,
ref
markCoor
,
out
tpDstImg
);
flag
=
eyemMarkerTracing
(
image
,
120
,
ref
markCoor
,
out
tpDstImg
);
string
path
=
Application
.
StartupPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
ImagePath
)
+
subpath
+
"\\"
+
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
);
string
path
=
Application
.
StartupPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
ImagePath
)
+
subpath
+
"\\"
+
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
);
string
path1
=
path
+
"\\"
+
"Src\\"
;
string
path1
=
path
+
"\\"
+
"Src\\"
;
string
path2
=
path
+
"\\"
+
"ResOut\\"
;
string
path2
=
path
+
"\\"
+
"ResOut\\"
;
string
time
=
DateTime
.
Now
.
ToString
(
"HHmmss"
);
string
time
=
DateTime
.
Now
.
ToString
(
"HHmmss"
);
...
@@ -514,11 +543,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -514,11 +543,11 @@ namespace OnlineStore.DeviceLibrary
Directory
.
CreateDirectory
(
path1
);
Directory
.
CreateDirectory
(
path1
);
if
(!
System
.
IO
.
Directory
.
Exists
(
path2
))
if
(!
System
.
IO
.
Directory
.
Exists
(
path2
))
Directory
.
CreateDirectory
(
path2
);
Directory
.
CreateDirectory
(
path2
);
bitmap
.
Save
(
path1
+
filename
+
$
"_{flag}_{time}"
+
".bmp"
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Bmp
);
bitmap
.
Save
(
path1
+
filename
+
$
"_{flag}_{time}"
+
".bmp"
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Bmp
);
Bitmap
resBitmap
=
eyemCvtToBitmap
(
tpDstImg
);
Bitmap
resBitmap
=
eyemCvtToBitmap
(
tpDstImg
);
if
(
resBitmap
!=
null
)
if
(
resBitmap
!=
null
)
{
{
resBitmap
.
Save
(
string
.
Format
(
"{0}{1}_{2}_{3}_{4}_{5}_{6}.bmp"
,
path2
,
filename
,
flag
,
time
,
markCoor
.
fX
,
markCoor
.
fY
,
markCoor
.
fR
));
resBitmap
.
Save
(
string
.
Format
(
"{0}{1}_{2}_{3}_{4}_{5}_{6}.bmp"
,
path2
,
filename
,
flag
,
time
,
markCoor
.
fX
,
markCoor
.
fY
,
markCoor
.
fR
));
}
}
Marshal
.
FreeHGlobal
(
image
.
vpImage
);
Marshal
.
FreeHGlobal
(
image
.
vpImage
);
eyemImageFree
(
ref
tpDstImg
);
eyemImageFree
(
ref
tpDstImg
);
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Camera.cs
查看文件 @
e7a4127
...
@@ -60,12 +60,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -60,12 +60,26 @@ namespace OnlineStore.DeviceLibrary
while
(
IsOpen
)
while
(
IsOpen
)
{
{
Bitmap
bmp
=
AcqImage
(
name
);
Bitmap
bmp
=
AcqImage
(
name
);
// LogUtil.info($"{name} 取图");
if
(
bmp
!=
null
)
if
(
bmp
!=
null
)
{
{
camera_event
?.
Invoke
(
new
CameraArgs
(
name
,
bmp
));
camera_event
?.
Invoke
(
new
CameraArgs
(
name
,
bmp
));
}
}
Thread
.
Sleep
(
3000
/
10
);
if
(
MoveInfo
!=
null
)
{
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
InStore
)
||
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
OutStore
))
{
if
(
CheckASide
()
&&
name
.
Equals
(
"box_A"
))
{
SaveImage
(
name
);
}
else
{
SaveImage
(
"box_B"
);
}
}
}
Thread
.
Sleep
(
500
);
}
}
}
}
void
StopCamera
()
void
StopCamera
()
...
@@ -76,16 +90,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -76,16 +90,17 @@ namespace OnlineStore.DeviceLibrary
}
}
public
Bitmap
AcqImage
(
string
camName
)
public
Bitmap
AcqImage
(
string
camName
)
{
{
return
camera
.
GetImage
(
camName
);
Bitmap
bitmap
=
camera
.
GetImage
(
camName
);
return
bitmap
;
}
}
public
void
SaveImage
(
string
camName
,
string
subpath
,
string
filename
)
public
void
SaveImage
(
string
camName
)
{
{
string
path
=
Application
.
StartupPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
ImagePath
)
+
subpath
;
string
path
=
Application
.
StartupPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
ImagePath
)
+
camName
+
"\\"
+
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
)
;
if
(
AutoSaveImage
)
if
(
AutoSaveImage
)
{
{
if
(!
System
.
IO
.
Directory
.
Exists
(
path
))
if
(!
System
.
IO
.
Directory
.
Exists
(
path
))
Directory
.
CreateDirectory
(
path
);
Directory
.
CreateDirectory
(
path
);
camera
.
SaveImage
(
camName
,
path
,
filename
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Bmp
);
camera
.
SaveImage
(
camName
,
path
,
DateTime
.
Now
.
ToString
(
"hhmmssfff"
)
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Bmp
);
}
}
}
}
}
}
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_InExecute.cs
查看文件 @
e7a4127
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
查看文件 @
e7a4127
...
@@ -15,7 +15,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -15,7 +15,6 @@ namespace OnlineStore.DeviceLibrary
{
{
partial
class
BoxEquip
partial
class
BoxEquip
{
{
/// <summary>
/// <summary>
/// 料盘放到出料口成功,并将料盘信息写入该口
/// 料盘放到出料口成功,并将料盘信息写入该口
/// </summary>
/// </summary>
...
@@ -50,9 +49,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -50,9 +49,10 @@ namespace OnlineStore.DeviceLibrary
break
;
break
;
case
StepEnum
.
SO_01_MoveAxis_Ready
:
case
StepEnum
.
SO_01_MoveAxis_Ready
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_02_ToPosition
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_02_ToPosition
);
startTime
=
DateTime
.
Now
;
LogInfo
(
$
"出库 {MoveInfo.SLog}:到库位,行走机构到存储库位取放点位P3,移栽升降轴到料屉上方过渡点P6/P12,"
+
LogInfo
(
$
"出库 {MoveInfo.SLog}:到库位,行走机构到存储库位取放点位P3,移栽升降轴到料屉上方过渡点P6/P12,"
+
$
"料斗拉取升降轴到料屉提取低点P4,移栽压紧轴到压紧前点P2,移栽X轴到库位取放点P3,移栽旋转轴到料屉库位垂直取放料点P3
,料屉拉取进出轴到拍照点
[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
$
"料斗拉取升降轴到料屉提取低点P4,移栽压紧轴到压紧前点P2,移栽X轴到库位取放点P3,移栽旋转轴到料屉库位垂直取放料点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
PullAxis_Inout_To_Cam
();
PullAxis_Inout_To_Cam
();
//料屉拉取进出轴到拍照点
MoveAxisToP3
();
MoveAxisToP3
();
UpdownAxisTo_P6_P12
();
UpdownAxisTo_P6_P12
();
PullAxis_UpdownToLowP4
();
PullAxis_UpdownToLowP4
();
...
@@ -108,33 +108,46 @@ namespace OnlineStore.DeviceLibrary
...
@@ -108,33 +108,46 @@ namespace OnlineStore.DeviceLibrary
PullAxis_UpdownToHighP3
();
PullAxis_UpdownToHighP3
();
break
;
break
;
case
StepEnum
.
SO_10_LiftTray
:
case
StepEnum
.
SO_10_LiftTray
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_11_PushTray
);
//MoveInfo.NextMoveStep(StepEnum.SO_11_PushTray);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_12_PutTrayMiddle
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:推到抽屉提取点,料斗拉取进出轴到料屉提取点P2/P4,移栽旋转轴到取放料水平点P2,移栽X到P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:推到抽屉提取点,料斗拉取进出轴到料屉提取点P2/P4,移栽旋转轴到取放料水平点P2,移栽X到P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
PullAxis_Inout_To_P2_P4
();
PullAxis_Inout_To_P2_P4
();
MiddleAxis_To_P2
();
MiddleAxis_To_P2
();
XAxis_To_P1
();
XAxis_To_P1
();
break
;
break
;
case
StepEnum
.
SO_11_PushTray
:
//case StepEnum.SO_11_PushTray:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_12_PutTrayMiddle
);
// MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayMiddle);
PullAxis_UpdownToMiddleP2
();
// PullAxis_UpdownToMiddleP2();
// if (CheckASide())
// {
// LogInfo($"出库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
// if (!GetShieldState(sheidAColmns[GetPosColumn()]))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.HIGH));
// }
// else
// {
// LogInfo($"出库 {MoveInfo.SLog}:料斗拉取升降轴到料屉水平点P2,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
// if (!GetShieldState(sheidBColmns[GetPosColumn()]))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.HIGH));
// }
// break;
case
StepEnum
.
SO_12_PutTrayMiddle
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_12_PutTrayDown
);
//LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4
();
if
(
CheckASide
())
if
(
CheckASide
())
{
{
LogInfo
(
$
"出库 {MoveInfo.SLog}:
料斗拉取升降轴到料屉水平点P2
,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:
放下料屉,料斗拉取升降轴到料屉提取低点P4
,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
if
(!
GetShieldState
(
sheidAColmns
[
GetPosColumn
()]))
if
(!
GetShieldState
(
sheidAColmns
[
GetPosColumn
()]))
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
trayAColumns
[
GetPosColumn
()],
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
trayAColumns
[
GetPosColumn
()],
IO_VALUE
.
HIGH
));
}
}
else
else
{
{
LogInfo
(
$
"出库 {MoveInfo.SLog}:
料斗拉取升降轴到料屉水平点P2
,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:
放下料屉,料斗拉取升降轴到料屉提取低点P4
,同时检测{trayBColumns[GetPosColumn()]} = 1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
if
(!
GetShieldState
(
sheidBColmns
[
GetPosColumn
()]))
if
(!
GetShieldState
(
sheidBColmns
[
GetPosColumn
()]))
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
trayBColumns
[
GetPosColumn
()],
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
trayBColumns
[
GetPosColumn
()],
IO_VALUE
.
HIGH
));
}
}
break
;
break
;
case
StepEnum
.
SO_12_PutTrayMiddle
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_12_PutTrayDown
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
PullAxis_UpdownToLowP4
();
break
;
case
StepEnum
.
SO_12_PutTrayDown
:
case
StepEnum
.
SO_12_PutTrayDown
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_13_InoutBack
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_13_InoutBack
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:料斗拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:料斗拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
...
@@ -156,6 +169,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -156,6 +169,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
MoveParam
.
PosInfoBack
=
MoveInfo
.
MoveParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
PosInfoBack
=
MoveInfo
.
MoveParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
PosInfo
=
inOutParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
PosInfo
=
inOutParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
,
inOutParam
.
PosInfo
.
PosId
);
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
,
inOutParam
.
PosInfo
.
PosId
);
PullAxis_Inout_To_Cam
();
return
;
return
;
}
}
}
}
...
@@ -172,6 +186,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -172,6 +186,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
MoveParam
.
PosInfoBack
=
MoveInfo
.
MoveParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
PosInfoBack
=
MoveInfo
.
MoveParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
PosInfo
=
inOutParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
PosInfo
=
inOutParam
.
PosInfo
.
ToCopy
();
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
,
inOutParam
.
PosInfo
.
PosId
);
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
,
inOutParam
.
PosInfo
.
PosId
);
PullAxis_Inout_To_Cam
();
return
;
return
;
}
}
}
}
...
@@ -179,19 +194,19 @@ namespace OnlineStore.DeviceLibrary
...
@@ -179,19 +194,19 @@ namespace OnlineStore.DeviceLibrary
}
}
//直接出库,执行该步骤的情况:1.另一个料叉有料;2.另一面有出库任务但出料口有料;3.另一面没有出库任务;
//直接出库,执行该步骤的情况:1.另一个料叉有料;2.另一面有出库任务但出料口有料;3.另一面没有出库任务;
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_14_GetReels_Ready
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_14_GetReels_Ready
);
MoveAxisToP1
();
PullAxis_UpdownToP1
();
PullAxis_UpdownToP1
();
UpdownAxisTo_P4_P10
();
UpdownAxisTo_P4_P10
();
if
(
MoveInfo
.
MoveParam
.
PosInfoBack
==
null
)
if
(
MoveInfo
.
MoveParam
.
PosInfoBack
==
null
)
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。
行走机构到待机点P1,
料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10"
);
else
else
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}][{MoveInfo.MoveParam.PosInfoBack.ToStr()}]取料完成,准备送往出料口。料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}][{MoveInfo.MoveParam.PosInfoBack.ToStr()}]取料完成,准备送往出料口。
行走机构到待机点P1,
料屉升降轴到P1点,移栽升降轴到下暂存区放料高点P4/P10"
);
break
;
break
;
case
StepEnum
.
SO_14_GetReels_Ready
:
case
StepEnum
.
SO_14_GetReels_Ready
:
//已出一边的料,切换到另一边
//已出一边的料,切换到另一边
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_15_ToBufferArea
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_15_ToBufferArea
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:到暂存区出料口,"
+
//LogInfo($"出库 {MoveInfo.SLog}:到暂存区出料口," +
$
"行走机构到进出料机构取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
// $"行走机构到进出料机构取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
MoveAxisToP2
();
break
;
break
;
case
StepEnum
.
SO_15_ToBufferArea
:
case
StepEnum
.
SO_15_ToBufferArea
:
if
(!
OutDoorCheck
(
MoveInfo
.
MoveParam
))
if
(!
OutDoorCheck
(
MoveInfo
.
MoveParam
))
...
@@ -208,8 +223,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -208,8 +223,9 @@ namespace OnlineStore.DeviceLibrary
if
(!
CheckInputMiddleAxisInBuff
())
if
(!
CheckInputMiddleAxisInBuff
())
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_17_InOutToBuff
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_17_InOutToBuff
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:移栽X轴到进出料暂存区取放点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:移栽X轴到进出料暂存区取放点P2
,行走机构到进出料机构取放点P2
[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
XAxis_To_P2
();
XAxis_To_P2
();
MoveAxisToP2
();
}
}
else
if
(
MoveInfo
.
IsTimeOut
())
else
if
(
MoveInfo
.
IsTimeOut
())
{
{
...
@@ -225,7 +241,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -225,7 +241,7 @@ namespace OnlineStore.DeviceLibrary
break
;
break
;
case
StepEnum
.
SO_18_PutReel
:
case
StepEnum
.
SO_18_PutReel
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_19_InOutBackFromBuff
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_19_InOutBackFromBuff
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.ToStr()}]出库完成
[耗时:{(DateTime.Now-startTime).TotalSeconds.ToString("
f2
")}秒]
,移栽X轴到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
XAxis_To_P1
();
XAxis_To_P1
();
break
;
break
;
case
StepEnum
.
SO_19_InOutBackFromBuff
:
case
StepEnum
.
SO_19_InOutBackFromBuff
:
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
查看文件 @
e7a4127
...
@@ -619,10 +619,27 @@ namespace OnlineStore.DeviceLibrary
...
@@ -619,10 +619,27 @@ namespace OnlineStore.DeviceLibrary
{
{
PullAxis_Updown
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Updown_P1
,
Config
.
PullAxis_Updown_P1_Speed
);
PullAxis_Updown
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Updown_P1
,
Config
.
PullAxis_Updown_P1_Speed
);
}
}
if
(!
PullAxis_Inout
.
IsInPosition
(
Config
.
PullAxis_Inout_P1
))
if
(
PullAxis_Inout
.
IsInPosition
(
Config
.
PullAxis_Inout_CamA
)
||
PullAxis_Inout
.
IsInPosition
(
Config
.
PullAxis_Inout_CamB
)
||
PullAxis_Inout
.
IsInPosition
(
Config
.
PullAxis_Inout_P1
))
{
{
PullAxis_Inout
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Inout_P1
,
Config
.
PullAxis_Inout_P1_Speed
);
}
else
{
if
(
CheckASide
())
{
PullAxis_Inout
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Inout_CamA
,
Config
.
PullAxis_Inout_P1_Speed
);
}
else
{
PullAxis_Inout
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Inout_CamB
,
Config
.
PullAxis_Inout_P1_Speed
);
}
//else
//{
// PullAxis_Inout.AbsMove(MoveInfo, Config.PullAxis_Inout_P1, Config.PullAxis_Inout_P1_Speed);
//}
}
}
if
(
MoveInfo
.
MoveStep
.
Equals
(
StepEnum
.
SI_00_StartInstore
))
if
(
MoveInfo
.
MoveStep
.
Equals
(
StepEnum
.
SI_00_StartInstore
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_01_PullAxis_Ready
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_01_PullAxis_Ready
);
...
@@ -631,7 +648,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -631,7 +648,7 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_01_PullAxis_Ready
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_01_PullAxis_Ready
);
}
}
LogInfo
(
$
"{InOutType} {MoveInfo.SLog}:料屉拉取升降轴
、料屉拉取进出轴到待机点P1
"
);
LogInfo
(
$
"{InOutType} {MoveInfo.SLog}:料屉拉取升降轴
到待机点P1、料屉拉取进出轴到拍照点
"
);
}
}
/// <summary>
/// <summary>
/// 判断行走机构是否在安全位置
/// 判断行走机构是否在安全位置
...
@@ -689,19 +706,50 @@ namespace OnlineStore.DeviceLibrary
...
@@ -689,19 +706,50 @@ namespace OnlineStore.DeviceLibrary
return
false
;
return
false
;
}
}
if
(
Math
.
Abs
(
Config
.
Drawer_X
-
ocsFXYR
.
fX
)
<
Config
.
Drawer_X_Error
&&
Math
.
Abs
(
Config
.
Drawer_Y
-
ocsFXYR
.
fY
)
<
Config
.
Drawer_Y_Error
)
if
(
Math
.
Abs
(
GetValidateDrawerX
()
-
ocsFXYR
.
fX
)
<
GetValidateDrawerXError
()
&&
Math
.
Abs
(
GetValidateDrawerY
()
-
ocsFXYR
.
fY
)
<
GetValidateDrawerYError
()
)
{
{
CamDetectError
=
false
;
CamDetectError
=
false
;
return
true
;
return
true
;
}
}
else
else
{
{
SetWarnMsg
(
$
"相机检查库位异常 {MoveInfo.SLog}:Mark点Y轴坐标{ocsFXYR.fY},模板Mark点Y轴坐标{
Config.Drawer_Y},Y轴偏差{(Config.Drawer_Y
- ocsFXYR.fY)};"
+
SetWarnMsg
(
$
"相机检查库位异常 {MoveInfo.SLog}:Mark点Y轴坐标{ocsFXYR.fY},模板Mark点Y轴坐标{
GetValidateDrawerY()},Y轴偏差{(GetValidateDrawerY()
- ocsFXYR.fY)};"
+
$
"Mark点X轴坐标{ ocsFXYR.fX},模板Mark点X轴坐标{
Config.Drawer_X},X轴偏差{ (Config.Drawer_X
- ocsFXYR.fX)},"
);
$
"Mark点X轴坐标{ ocsFXYR.fX},模板Mark点X轴坐标{
GetValidateDrawerX()},X轴偏差{ (GetValidateDrawerX()
- ocsFXYR.fX)},"
);
}
}
CamDetectError
=
true
;
CamDetectError
=
true
;
return
false
;
return
false
;
}
}
private
float
GetValidateDrawerX
()
{
if
(
CheckASide
())
{
return
Config
.
Validate_Drawer_A_X
;
}
else
{
return
Config
.
Validate_Drawer_B_X
;
}
}
private
float
GetValidateDrawerY
()
{
if
(
CheckASide
())
{
return
Config
.
Validate_Drawer_A_Y
;
}
else
{
return
Config
.
Validate_Drawer_B_Y
;
}
}
private
float
GetValidateDrawerXError
()
{
return
Config
.
Validate_Drawer_X_Error
;
}
private
float
GetValidateDrawerYError
()
{
return
Config
.
Validate_Drawer_Y_Error
;
}
#
endregion
#
endregion
#
region
入库
#
region
入库
private
DateTime
startInStoreTime
=
DateTime
.
Now
;
private
DateTime
startInStoreTime
=
DateTime
.
Now
;
...
...
source/LoadCVSLibrary/storeConfig/config/BoxEquip_Config.cs
查看文件 @
e7a4127
...
@@ -72,25 +72,94 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -72,25 +72,94 @@ namespace OnlineStore.LoadCSVLibrary
public
ConfigMoveAxis
ComAxis_B
{
get
;
set
;
}
public
ConfigMoveAxis
ComAxis_B
{
get
;
set
;
}
#
endregion
#
endregion
/// <summary>
/// <summary>
///
抽屉
Mark_X坐标
///
A面抽屉对位
Mark_X坐标
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
Drawer
_X"
)]
[
ConfigProAttribute
(
"
FindPos_Drawer_A
_X"
)]
public
float
Drawer
_X
{
get
;
set
;
}
public
float
FindPos_Drawer_A
_X
{
get
;
set
;
}
/// <summary>
/// <summary>
///
抽屉
Mark_Y坐标
///
A面抽屉对位
Mark_Y坐标
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"Drawer_Y"
)]
[
ConfigProAttribute
(
"FindPos_Drawer_A_Y"
)]
public
float
Drawer_Y
{
get
;
set
;
}
public
float
FindPos_Drawer_A_Y
{
get
;
set
;
}
/// <summary>
/// A面抽屉对位Mark_X坐标
/// </summary>
[
ConfigProAttribute
(
"Validate_Drawer_A_X"
)]
public
float
Validate_Drawer_A_X
{
get
;
set
;
}
/// <summary>
/// A面抽屉对位Mark_Y坐标
/// </summary>
[
ConfigProAttribute
(
"Validate_Drawer_A_Y"
)]
public
float
Validate_Drawer_A_Y
{
get
;
set
;
}
/// <summary>
/// A面X方向像素到脉冲的系数
/// </summary>
[
ConfigProAttribute
(
"PixelToPulse_A_X"
)]
public
float
PixelToPulse_A_X
{
get
;
set
;
}
/// <summary>
/// A面Y方向像素到脉冲的系数
/// </summary>
[
ConfigProAttribute
(
"PixelToPulse_A_Y"
)]
public
float
PixelToPulse_A_Y
{
get
;
set
;
}
/// <summary>
/// B面抽屉对位Mark_X坐标
/// </summary>
[
ConfigProAttribute
(
"FindPos_Drawer_B_X"
)]
public
float
FindPos_Drawer_B_X
{
get
;
set
;
}
/// <summary>
/// B面抽屉对位Mark_Y坐标
/// </summary>
[
ConfigProAttribute
(
"FindPos_Drawer_B_Y"
)]
public
float
FindPos_Drawer_B_Y
{
get
;
set
;
}
/// <summary>
/// B面抽屉对位Mark_X坐标
/// </summary>
[
ConfigProAttribute
(
"Validate_Drawer_B_X"
)]
public
float
Validate_Drawer_B_X
{
get
;
set
;
}
/// <summary>
/// B面抽屉对位Mark_Y坐标
/// </summary>
[
ConfigProAttribute
(
"Validate_Drawer_B_Y"
)]
public
float
Validate_Drawer_B_Y
{
get
;
set
;
}
/// <summary>
/// B面X方向像素到脉冲的系数
/// </summary>
[
ConfigProAttribute
(
"PixelToPulse_B_X"
)]
public
float
PixelToPulse_B_X
{
get
;
set
;
}
/// <summary>
/// B面Y方向像素到脉冲的系数
/// </summary>
[
ConfigProAttribute
(
"PixelToPulse_B_Y"
)]
public
float
PixelToPulse_B_Y
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 抽屉Mark_X方向误差范围
/// 抽屉Mark_X方向误差范围
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"Drawer_X_Error"
)]
[
ConfigProAttribute
(
"
FindPos_
Drawer_X_Error"
)]
public
float
Drawer_X_Error
{
get
;
set
;
}
public
float
FindPos_
Drawer_X_Error
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 抽屉Mark_Y方向误差范围
/// 抽屉Mark_Y方向误差范围
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"Drawer_Y_Error"
)]
[
ConfigProAttribute
(
"FindPos_Drawer_Y_Error"
)]
public
float
Drawer_Y_Error
{
get
;
set
;
}
public
float
FindPos_Drawer_Y_Error
{
get
;
set
;
}
/// <summary>
/// 验证抽屉Mark_X方向误差范围
/// </summary>
[
ConfigProAttribute
(
"Validate_Drawer_X_Error"
)]
public
float
Validate_Drawer_X_Error
{
get
;
set
;
}
/// <summary>
/// 验证抽屉Mark_Y方向误差范围
/// </summary>
[
ConfigProAttribute
(
"Validate_Drawer_Y_Error"
)]
public
float
Validate_Drawer_Y_Error
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 抽屉行间距
/// 抽屉行间距
/// </summary>
/// </summary>
...
@@ -112,6 +181,19 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -112,6 +181,19 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"Drawer_Columns"
)]
[
ConfigProAttribute
(
"Drawer_Columns"
)]
public
int
Drawer_Columns
{
get
;
set
;
}
public
int
Drawer_Columns
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 抽屉内行数
/// </summary>
[
ConfigProAttribute
(
"Rows_In_Drawer"
)]
public
int
Rows_In_Drawer
{
get
;
set
;
}
/// <summary>
/// 抽屉内列数
/// </summary>
[
ConfigProAttribute
(
"Cols_In_Drawer"
)]
public
int
Cols_In_Drawer
{
get
;
set
;
}
/// <summary>
/// PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,,,,,,,,
/// PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,0,,,,,,,,,,,,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"IsDebug"
)]
[
ConfigProAttribute
(
"IsDebug"
)]
...
...
source/XLRStoreClient/boxForm/FrmAutoFindPos.Designer.cs
查看文件 @
e7a4127
此文件的差异被折叠,
点击展开。
source/XLRStoreClient/boxForm/FrmAutoFindPos.cs
查看文件 @
e7a4127
此文件的差异被折叠,
点击展开。
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论