Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
RC1271-DUOStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2b40314a
由
LN
编写于
2020-07-02 18:35:12 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
配置结构修改
1 个父辈
6a9b44ec
显示空白字符变更
内嵌
并排
正在显示
41 个修改的文件
包含
1797 行增加
和
3733 行删除
doc/马来西亚DUO料仓电器BOM.xlsx
source/Common/util/LogUtil.cs
source/DUOStore/App.config
source/DUOStore/FormManager.cs
source/DUOStore/FrmBox.cs
source/DUOStore/FrmIOStatus.Designer.cs
source/DUOStore/FrmIOStatus.cs
source/DUOStore/FrmStore.Designer.cs
source/DUOStore/FrmStore.cs
source/DUOStore/positionTool/FrmPositionTool.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/StoreConfig/AC/Data Matrix ECC 200.dcm
source/DeviceLibrary/StoreConfig/AC/StoreConfig-20200616-旧版本配置备份.csv
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
source/DeviceLibrary/StoreConfig/StoreConfig.csv
source/DeviceLibrary/StoreConfig/shelfPosition_1.csv
source/DeviceLibrary/StoreConfig/shelfPosition_2.csv
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/device/IO/IOManager.cs
source/DeviceLibrary/device/halcon/CodeManager - back.cs
source/DeviceLibrary/duoStore/BoxBean.cs
source/DeviceLibrary/duoStore/BoxBean_Partial.cs
source/DeviceLibrary/duoStore/BoxBean_Shelf.cs
source/DeviceLibrary/duoStore/DUOStoreBean.cs
source/DeviceLibrary/duoStore/EnteryDoorBean.cs
source/DeviceLibrary/duoStore/HumitureBean.cs
source/DeviceLibrary/duoStore/StoreManager.cs
source/DeviceLibrary/store/AutoInoutInfo.cs
source/DeviceLibrary/store/InOutParam.cs
source/DeviceLibrary/store/KTK_Store.cs
source/DeviceLibrary/store/LineMoveP.cs
source/DeviceLibrary/store/model/StoreMoveInfo.cs
source/LoadCVSLibrary/storeConfig/CSVConfigReader.cs
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
source/LoadCVSLibrary/storeConfig/config/BaseConfig.cs
source/LoadCVSLibrary/storeConfig/config/Box_Config.cs
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
source/LoadCVSLibrary/storeConfig/config/Store_Config.cs
doc/马来西亚DUO料仓电器BOM.xlsx
查看文件 @
2b40314
此文件类型无法预览
source/Common/util/LogUtil.cs
查看文件 @
2b40314
...
@@ -19,7 +19,7 @@ namespace OnlineStore.Common
...
@@ -19,7 +19,7 @@ namespace OnlineStore.Common
public
static
Dictionary
<
int
,
DateTime
>
lastErrorLogTime
=
new
Dictionary
<
int
,
DateTime
>();
public
static
Dictionary
<
int
,
DateTime
>
lastErrorLogTime
=
new
Dictionary
<
int
,
DateTime
>();
public
static
System
.
Windows
.
Forms
.
RichTextBox
logBox
=
null
;
public
static
System
.
Windows
.
Forms
.
RichTextBox
logBox
=
null
;
public
static
int
showCount
=
2
0
;
public
static
int
showCount
=
3
0
;
public
static
bool
debug_opened
=
false
;
public
static
bool
debug_opened
=
false
;
...
...
source/DUOStore/App.config
查看文件 @
2b40314
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
</
configSections
>
</
configSections
>
<
appSettings
>
<
appSettings
>
<!--是否开机自动启动料仓-->
<!--是否开机自动启动料仓-->
<
add
key
=
"App_AutoRun"
value
=
"
1
"
/>
<
add
key
=
"App_AutoRun"
value
=
"
0
"
/>
<
add
key
=
"App_Title"
value
=
"包装料料仓"
/>
<
add
key
=
"App_Title"
value
=
"包装料料仓"
/>
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
</
appSettings
>
</
appSettings
>
<
log4net
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/
Packing-store-19-20
.log"
/>
<
file
value
=
"logs/
duoStore
.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
rollingStyle
value
=
"Date"
/>
...
@@ -72,8 +72,8 @@
...
@@ -72,8 +72,8 @@
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
layout
>
</
appender
>
</
appender
>
<
appender
name
=
"
TheRFID
"
type
=
"log4net.Appender.RollingFileAppender"
>
<
appender
name
=
"
AIOBOX
"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/
TheRFID
.log"
/>
<
file
value
=
"logs/
aio/AIOBOX
.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
rollingStyle
value
=
"Date"
/>
...
@@ -86,9 +86,9 @@
...
@@ -86,9 +86,9 @@
<
level
value
=
"Info"
/>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
</
logger
>
</
logger
>
<
logger
name
=
"
TheRFID
"
>
<
logger
name
=
"
AIOBOX
"
>
<
level
value
=
"Debug"
/>
<
level
value
=
"Debug"
/>
<
appender
-
ref
ref
=
"
TheRFID
"
/>
<
appender
-
ref
ref
=
"
AIOBOX
"
/>
</
logger
>
</
logger
>
<
root
>
<
root
>
<
level
value
=
"Info"
/>
<
level
value
=
"Info"
/>
...
...
source/DUOStore/FormManager.cs
查看文件 @
2b40314
...
@@ -49,25 +49,25 @@ namespace OnlineStore.ACPackingStore
...
@@ -49,25 +49,25 @@ namespace OnlineStore.ACPackingStore
}
}
}
}
private
static
FrmIOStatus
frmIo
=
null
;
private
static
FrmIOStatus
frmIo
=
null
;
public
static
void
ShowIOShow
(
BoxBean
store
)
//
public static void ShowIOShow(BoxBean store)
{
//
{
if
(
frmIo
==
null
)
//
if (frmIo == null)
{
//
{
frmIo
=
new
FrmIOStatus
(
store
);
//
frmIo = new FrmIOStatus(store);
frmIo
.
Show
();
//
frmIo.Show();
}
//
}
else
//
else
{
//
{
if
(
frmIo
.
IsDisposed
)
//
if (frmIo.IsDisposed)
{
//
{
frmIo
=
new
FrmIOStatus
(
store
);
//
frmIo = new FrmIOStatus(store);
frmIo
.
Show
();
//
frmIo.Show();
}
//
}
else
//
else
{
//
{
frmIo
.
Activate
();
//
frmIo.Activate();
}
//
}
}
//
}
}
//
}
}
}
}
}
source/DUOStore/FrmBox.cs
查看文件 @
2b40314
...
@@ -62,17 +62,17 @@ namespace OnlineStore.ACPackingStore
...
@@ -62,17 +62,17 @@ namespace OnlineStore.ACPackingStore
txtMiddleP1
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P1
.
ToString
();
txtMiddleP1
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P1
.
ToString
();
txtUpDownP1
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P1
.
ToString
();
txtUpDownP1
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P1
.
ToString
();
txtInOutP1
.
Text
=
BoxBean
.
Config
.
InOutAxis_P1
_Position
.
ToString
();
txtInOutP1
.
Text
=
BoxBean
.
Config
.
InOutAxis_P1
.
ToString
();
txtComP1
.
Text
=
BoxBean
.
Config
.
CompAxis_P1
_Position
.
ToString
();
txtComP1
.
Text
=
BoxBean
.
Config
.
CompAxis_P1
.
ToString
();
txtUpDownP2
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P2
.
ToString
();
txtUpDownP2
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P2
.
ToString
();
txtInOutP2
.
Text
=
BoxBean
.
Config
.
InOutAxis_P2
_Position
.
ToString
();
txtInOutP2
.
Text
=
BoxBean
.
Config
.
InOutAxis_P2
.
ToString
();
txtMiddleP11
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P11
.
ToString
();
txtMiddleP11
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P11
.
ToString
();
txtUpdownP11
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P11
.
ToString
();
txtUpdownP11
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P11
.
ToString
();
txtUpdownP12
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P12
.
ToString
();
txtUpdownP12
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P12
.
ToString
();
txtInOutP2
.
Text
=
BoxBean
.
Config
.
InOutAxis_P2
_Position
.
ToString
();
txtInOutP2
.
Text
=
BoxBean
.
Config
.
InOutAxis_P2
.
ToString
();
txtInoutP11
.
Text
=
BoxBean
.
Config
.
InOutAxis_P11
_Position
.
ToString
();
txtInoutP11
.
Text
=
BoxBean
.
Config
.
InOutAxis_P11
.
ToString
();
//txtInOutP2.Text = BoxBean.Config.InOutAxis_DoorPosition_P2.ToString();
//txtInOutP2.Text = BoxBean.Config.InOutAxis_DoorPosition_P2.ToString();
txtUpDownP1
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P1
.
ToString
();
txtUpDownP1
.
Text
=
BoxBean
.
Config
.
UpDownAxis_P1
.
ToString
();
LoadPData
(
ktkPosition
);
LoadPData
(
ktkPosition
);
...
@@ -80,7 +80,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -80,7 +80,7 @@ namespace OnlineStore.ACPackingStore
chbDebug
.
Checked
=
BoxBean
.
IsDebug
;
chbDebug
.
Checked
=
BoxBean
.
IsDebug
;
this
.
ShowInTaskbar
=
true
;
this
.
ShowInTaskbar
=
true
;
txtTempPort
.
Text
=
BoxBean
.
Config
.
Humiture_Port
;
//
txtTempPort.Text = BoxBean.Config.Humiture_Port;
timer1
.
Start
();
timer1
.
Start
();
LoadOk
=
true
;
LoadOk
=
true
;
}
}
...
@@ -123,11 +123,11 @@ namespace OnlineStore.ACPackingStore
...
@@ -123,11 +123,11 @@ namespace OnlineStore.ACPackingStore
lblMoveInfo
.
Text
=
BoxBean
.
GetMoveStr
();
lblMoveInfo
.
Text
=
BoxBean
.
GetMoveStr
();
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
))
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
{
lblMoveEquipInfo
.
Text
=
"入库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToS
hortS
tr
();
lblMoveEquipInfo
.
Text
=
"入库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToStr
();
}
}
else
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
else
if
(
BoxBean
.
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
{
lblMoveEquipInfo
.
Text
=
"出库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToS
hortS
tr
();
lblMoveEquipInfo
.
Text
=
"出库:"
+
BoxBean
.
MoveInfo
.
MoveParam
.
ToStr
();
}
}
else
else
{
{
...
@@ -294,15 +294,15 @@ namespace OnlineStore.ACPackingStore
...
@@ -294,15 +294,15 @@ namespace OnlineStore.ACPackingStore
txtUpDownP6
.
Text
=
acPosition
.
UpdownAxis_OL_P6
.
ToString
();
txtUpDownP6
.
Text
=
acPosition
.
UpdownAxis_OL_P6
.
ToString
();
int
comP2
=
BoxBean
.
Config
.
GetComP2
(
acPosition
.
BagHigh
)
.
TargetComP2
()
;
int
comP2
=
BoxBean
.
Config
.
GetComP2
(
acPosition
.
BagHigh
);
txtComP2
.
Text
=
comP2
.
ToString
();
txtComP2
.
Text
=
comP2
.
ToString
();
txtComP3
.
Text
=
(
comP2
+
BoxBean
.
Config
.
GetCom_P3_P2
(
acPosition
.
BagWidth
))
.
ToString
();
txtComP3
.
Text
=
BoxBean
.
Config
.
CompAxis_P3
.
ToString
();
btnComP2
.
Text
=
""
+
acPosition
.
BagHigh
+
"mm压紧点P2:"
;
btnComP2
.
Text
=
""
+
acPosition
.
BagHigh
+
"mm压紧点P2:"
;
btnComP3
.
Text
=
""
+
acPosition
.
BagHigh
+
"mm压紧前点P3:"
;
btnComP3
.
Text
=
""
+
acPosition
.
BagHigh
+
"mm压紧前点P3:"
;
lblSize
.
Text
=
"尺寸:"
+
acPosition
.
BagWidth
+
"*"
+
acPosition
.
BagHigh
;
lblSize
.
Text
=
"尺寸:"
+
acPosition
.
BagWidth
+
"*"
+
acPosition
.
BagHigh
;
txtInOutP3
.
Text
=
acPosition
.
InoutAxis_P3
.
ToString
();
txtInOutP3
.
Text
=
acPosition
.
InoutAxis_P3
.
ToString
();
txtInOutP2
.
Text
=
BoxBean
.
Config
.
InOutAxis_P2
_Position
.
ToString
();
txtInOutP2
.
Text
=
BoxBean
.
Config
.
InOutAxis_P2
.
ToString
();
//txtUpDownP2.Text = ktkPosition.UpDownAxis_P2.ToString();
//txtUpDownP2.Text = ktkPosition.UpDownAxis_P2.ToString();
//txtUpDownP7.Text = ktkPosition.UpDownAxis_DoorOBPosition_P7.ToString();
//txtUpDownP7.Text = ktkPosition.UpDownAxis_DoorOBPosition_P7.ToString();
...
@@ -340,7 +340,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -340,7 +340,7 @@ namespace OnlineStore.ACPackingStore
//位置配置
//位置配置
string
appPath
=
Application
.
StartupPath
;
string
appPath
=
Application
.
StartupPath
;
//如果总配置文件存在,保存到总的配置文件
//如果总配置文件存在,保存到总的配置文件
string
positionConfigFile
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_Position_Config
);
string
positionConfigFile
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
BOX_ConfigPath
);
if
(!
File
.
Exists
(
positionConfigFile
))
if
(!
File
.
Exists
(
positionConfigFile
))
{
{
string
nameStr
=
BoxBean
.
ID
.
ToString
();
string
nameStr
=
BoxBean
.
ID
.
ToString
();
...
@@ -364,19 +364,19 @@ namespace OnlineStore.ACPackingStore
...
@@ -364,19 +364,19 @@ namespace OnlineStore.ACPackingStore
needUpdate
=
true
;
needUpdate
=
true
;
}
}
if
(
BoxBean
.
Config
.
InOutAxis_P1
_Position
!=
FormUtil
.
GetIntValue
(
txtInOutP1
))
if
(
BoxBean
.
Config
.
InOutAxis_P1
!=
FormUtil
.
GetIntValue
(
txtInOutP1
))
{
{
BoxBean
.
Config
.
InOutAxis_P1
_Position
=
FormUtil
.
GetIntValue
(
txtInOutP1
);
BoxBean
.
Config
.
InOutAxis_P1
=
FormUtil
.
GetIntValue
(
txtInOutP1
);
needUpdate
=
true
;
needUpdate
=
true
;
}
}
if
(
BoxBean
.
Config
.
InOutAxis_P11
_Position
!=
FormUtil
.
GetIntValue
(
txtInoutP11
))
if
(
BoxBean
.
Config
.
InOutAxis_P11
!=
FormUtil
.
GetIntValue
(
txtInoutP11
))
{
{
BoxBean
.
Config
.
InOutAxis_P11
_Position
=
FormUtil
.
GetIntValue
(
txtInoutP11
);
BoxBean
.
Config
.
InOutAxis_P11
=
FormUtil
.
GetIntValue
(
txtInoutP11
);
needUpdate
=
true
;
needUpdate
=
true
;
}
}
if
(
BoxBean
.
Config
.
CompAxis_P1
_Position
!=
FormUtil
.
GetIntValue
(
txtComP1
))
if
(
BoxBean
.
Config
.
CompAxis_P1
!=
FormUtil
.
GetIntValue
(
txtComP1
))
{
{
BoxBean
.
Config
.
CompAxis_P1
_Position
=
FormUtil
.
GetIntValue
(
txtComP1
);
BoxBean
.
Config
.
CompAxis_P1
=
FormUtil
.
GetIntValue
(
txtComP1
);
needUpdate
=
true
;
needUpdate
=
true
;
}
}
if
(
BoxBean
.
Config
.
UpDownAxis_P2
!=
FormUtil
.
GetIntValue
(
txtUpDownP2
))
if
(
BoxBean
.
Config
.
UpDownAxis_P2
!=
FormUtil
.
GetIntValue
(
txtUpDownP2
))
...
@@ -400,9 +400,9 @@ namespace OnlineStore.ACPackingStore
...
@@ -400,9 +400,9 @@ namespace OnlineStore.ACPackingStore
BoxBean
.
Config
.
UpDownAxis_P12
=
FormUtil
.
GetIntValue
(
txtUpdownP12
);
BoxBean
.
Config
.
UpDownAxis_P12
=
FormUtil
.
GetIntValue
(
txtUpdownP12
);
needUpdate
=
true
;
needUpdate
=
true
;
}
}
if
(
BoxBean
.
Config
.
InOutAxis_P2
_Position
!=
FormUtil
.
GetIntValue
(
txtInOutP2
))
if
(
BoxBean
.
Config
.
InOutAxis_P2
!=
FormUtil
.
GetIntValue
(
txtInOutP2
))
{
{
BoxBean
.
Config
.
InOutAxis_P2
_Position
=
FormUtil
.
GetIntValue
(
txtInOutP2
);
BoxBean
.
Config
.
InOutAxis_P2
=
FormUtil
.
GetIntValue
(
txtInOutP2
);
needUpdate
=
true
;
needUpdate
=
true
;
}
}
//if (BoxBean.Config.InOutAxis_DoorPosition_P2 != FormUtil.GetIntValue(txtInOutP2))
//if (BoxBean.Config.InOutAxis_DoorPosition_P2 != FormUtil.GetIntValue(txtInOutP2))
...
@@ -415,9 +415,9 @@ namespace OnlineStore.ACPackingStore
...
@@ -415,9 +415,9 @@ namespace OnlineStore.ACPackingStore
BoxBean
.
Config
.
UpDownAxis_P1
=
FormUtil
.
GetIntValue
(
txtUpDownP1
);
BoxBean
.
Config
.
UpDownAxis_P1
=
FormUtil
.
GetIntValue
(
txtUpDownP1
);
needUpdate
=
true
;
needUpdate
=
true
;
}
}
//if (BoxBean.Config.CompAxis_P3
_Position
!= FormUtil.GetIntValue(txtComP3 ))
//if (BoxBean.Config.CompAxis_P3
!= FormUtil.GetIntValue(txtComP3 ))
//{
//{
// BoxBean.Config.CompAxis_P3
_Position
= FormUtil.GetIntValue(txtComP3);
// BoxBean.Config.CompAxis_P3
= FormUtil.GetIntValue(txtComP3);
// needUpdate = true;
// needUpdate = true;
//}
//}
if
(
needUpdate
)
if
(
needUpdate
)
...
@@ -646,7 +646,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -646,7 +646,7 @@ namespace OnlineStore.ACPackingStore
private
void
查看
IOToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
查看
IOToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
FormManager
.
ShowIOShow
(
BoxBean
);
//
FormManager.ShowIOShow(BoxBean);
}
}
private
void
料仓运转
ONToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
料仓运转
ONToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
...
@@ -767,44 +767,20 @@ namespace OnlineStore.ACPackingStore
...
@@ -767,44 +767,20 @@ namespace OnlineStore.ACPackingStore
}
}
}
}
}
}
private
void
btnScanTest_Click
(
object
sender
,
EventArgs
e
)
{
BoxBean
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
List
<
string
>
codes
=
CodeManager
.
CameraScan
(
BoxBean
.
Config
.
GetCameraList
(),
BoxBean
.
Name
);
BoxBean
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
string
result
=
""
;
if
(
codes
.
Count
>
0
)
{
foreach
(
string
s
in
codes
)
{
result
+=
s
+
"\r\n"
;
}
MessageBox
.
Show
(
"扫到二维码:"
+
result
);
LogUtil
.
info
(
"扫到二维码:"
+
result
);
}
else
{
MessageBox
.
Show
(
"未扫到二维码"
);
}
}
private
void
btnUpdown_Click
(
object
sender
,
EventArgs
e
)
private
void
btnUpdown_Click
(
object
sender
,
EventArgs
e
)
{
{
string
PortName
=
BoxBean
.
Config
.
UpDown_Axis
.
DeviceName
;
//
string PortName = BoxBean.Config.UpDown_Axis.DeviceName;
int
slvAddr
=
BoxBean
.
Config
.
UpDown_Axis
.
GetAxisValue
();
//
int slvAddr = BoxBean.Config.UpDown_Axis.GetAxisValue();
string
ioIP
=
"192.168.200.13"
;
//
string ioIP = "192.168.200.13";
int
ioIndex
=
0
;
//
int ioIndex = 0;
// if (store.Config.StoreDIList.ContainsKey(IO_Type.UpdownPositionSingal))
//
//
if (store.Config.StoreDIList.ContainsKey(IO_Type.UpdownPositionSingal))
if
(
BoxBean
.
Config
.
DIList
.
ContainsKey
(
IO_Type
.
Compress_Check
))
//
if (BoxBean.Config.DIList.ContainsKey(IO_Type.Compress_Check))
{
//
{
ioIP
=
BoxBean
.
Config
.
DIList
[
IO_Type
.
Compress_Check
].
IO_IP
;
//
ioIP = BoxBean.Config.DIList[IO_Type.Compress_Check].IO_IP;
ioIndex
=
BoxBean
.
Config
.
DIList
[
IO_Type
.
Compress_Check
].
GetIOAddr
();
//
ioIndex = BoxBean.Config.DIList[IO_Type.Compress_Check].GetIOAddr();
}
//
}
FrmPositionTool
frm
=
new
FrmPositionTool
(
PortName
,
slvAddr
,
ioIP
,
ioIndex
,
Text
,
BoxBean
.
ID
);
//
FrmPositionTool frm = new FrmPositionTool(PortName, slvAddr, ioIP, ioIndex, Text, BoxBean.ID);
frm
.
ShowDialog
();
//
frm.ShowDialog();
}
}
...
...
source/DUOStore/FrmIOStatus.Designer.cs
查看文件 @
2b40314
...
@@ -25,7 +25,6 @@
...
@@ -25,7 +25,6 @@
this
.
btnCamerLed
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnCamerLed
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnTopDown
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnTopDown
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnTopUp
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnTopUp
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtSlaveId
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnOpenDo
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnOpenDo
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button2
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtDOIndex
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtDOIndex
=
new
System
.
Windows
.
Forms
.
TextBox
();
...
@@ -72,7 +71,6 @@
...
@@ -72,7 +71,6 @@
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnCamerLed
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnCamerLed
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnTopDown
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnTopDown
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnTopUp
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnTopUp
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtSlaveId
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnOpenDo
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnOpenDo
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
button2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
button2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtDOIndex
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtDOIndex
);
...
@@ -164,17 +162,6 @@
...
@@ -164,17 +162,6 @@
this
.
btnTopUp
.
UseVisualStyleBackColor
=
false
;
this
.
btnTopUp
.
UseVisualStyleBackColor
=
false
;
this
.
btnTopUp
.
Click
+=
new
System
.
EventHandler
(
this
.
btnTopUp_Click
);
this
.
btnTopUp
.
Click
+=
new
System
.
EventHandler
(
this
.
btnTopUp_Click
);
//
//
// txtSlaveId
//
this
.
txtSlaveId
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtSlaveId
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
138
);
this
.
txtSlaveId
.
MaxLength
=
10
;
this
.
txtSlaveId
.
Name
=
"txtSlaveId"
;
this
.
txtSlaveId
.
Size
=
new
System
.
Drawing
.
Size
(
43
,
23
);
this
.
txtSlaveId
.
TabIndex
=
283
;
this
.
txtSlaveId
.
Text
=
"0"
;
this
.
txtSlaveId
.
Visible
=
false
;
//
// btnOpenDo
// btnOpenDo
//
//
this
.
btnOpenDo
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnOpenDo
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
...
@@ -324,6 +311,7 @@
...
@@ -324,6 +311,7 @@
this
.
tableLayoutPanel2
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
this
.
tableLayoutPanel2
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
tableLayoutPanel2
.
AutoScroll
=
true
;
this
.
tableLayoutPanel2
.
ColumnCount
=
1
;
this
.
tableLayoutPanel2
.
ColumnCount
=
1
;
this
.
tableLayoutPanel2
.
ColumnStyles
.
Add
(
new
System
.
Windows
.
Forms
.
ColumnStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel2
.
ColumnStyles
.
Add
(
new
System
.
Windows
.
Forms
.
ColumnStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel2
.
Location
=
new
System
.
Drawing
.
Point
(
5
,
14
);
this
.
tableLayoutPanel2
.
Location
=
new
System
.
Drawing
.
Point
(
5
,
14
);
...
@@ -351,6 +339,7 @@
...
@@ -351,6 +339,7 @@
this
.
tableLayoutPanel1
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
this
.
tableLayoutPanel1
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
tableLayoutPanel1
.
AutoScroll
=
true
;
this
.
tableLayoutPanel1
.
ColumnCount
=
1
;
this
.
tableLayoutPanel1
.
ColumnCount
=
1
;
this
.
tableLayoutPanel1
.
ColumnStyles
.
Add
(
new
System
.
Windows
.
Forms
.
ColumnStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel1
.
ColumnStyles
.
Add
(
new
System
.
Windows
.
Forms
.
ColumnStyle
(
System
.
Windows
.
Forms
.
SizeType
.
Percent
,
100F
));
this
.
tableLayoutPanel1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
14
);
this
.
tableLayoutPanel1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
14
);
...
@@ -406,7 +395,6 @@
...
@@ -406,7 +395,6 @@
private
System
.
Windows
.
Forms
.
Button
button1
;
private
System
.
Windows
.
Forms
.
Button
button1
;
private
System
.
Windows
.
Forms
.
Button
btnOpenDo
;
private
System
.
Windows
.
Forms
.
Button
btnOpenDo
;
private
System
.
Windows
.
Forms
.
Button
button2
;
private
System
.
Windows
.
Forms
.
Button
button2
;
private
System
.
Windows
.
Forms
.
TextBox
txtSlaveId
;
private
System
.
Windows
.
Forms
.
Button
btnTopDown
;
private
System
.
Windows
.
Forms
.
Button
btnTopDown
;
private
System
.
Windows
.
Forms
.
Button
btnTopUp
;
private
System
.
Windows
.
Forms
.
Button
btnTopUp
;
private
System
.
Windows
.
Forms
.
Button
btnCamerLed
;
private
System
.
Windows
.
Forms
.
Button
btnCamerLed
;
...
...
source/DUOStore/FrmIOStatus.cs
查看文件 @
2b40314
...
@@ -23,27 +23,17 @@ namespace OnlineStore.ACPackingStore
...
@@ -23,27 +23,17 @@ namespace OnlineStore.ACPackingStore
public
partial
class
FrmIOStatus
:
FrmBase
public
partial
class
FrmIOStatus
:
FrmBase
{
{
private
int
StoreId
=
1
;
private
int
StoreId
=
1
;
private
BoxBean
boxBean
;
// public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public
FrmIOStatus
(
)
public
FrmIOStatus
()
{
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
InitializeComponent
();
}
public
FrmIOStatus
(
BoxBean
store
)
{
{
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
InitializeComponent
();
InitializeComponent
();
this
.
boxBean
=
store
;
this
.
StoreId
=
store
.
ID
;
LoadIOList
();
LoadIOList
();
}
}
private
void
FrmStoreIOStatus_Load
(
object
sender
,
EventArgs
e
)
private
void
FrmStoreIOStatus_Load
(
object
sender
,
EventArgs
e
)
{
{
//KNDAIManager.NeedShow = true;
this
.
Text
=
boxBean
.
Name
+
"_IO查看"
;
}
}
Dictionary
<
string
,
IOTextControl
>
DIControlList
=
new
Dictionary
<
string
,
IOTextControl
>();
Dictionary
<
string
,
IOTextControl
>
DIControlList
=
new
Dictionary
<
string
,
IOTextControl
>();
Dictionary
<
string
,
IOTextControl
>
DOControlList
=
new
Dictionary
<
string
,
IOTextControl
>();
Dictionary
<
string
,
IOTextControl
>
DOControlList
=
new
Dictionary
<
string
,
IOTextControl
>();
...
@@ -51,8 +41,8 @@ namespace OnlineStore.ACPackingStore
...
@@ -51,8 +41,8 @@ namespace OnlineStore.ACPackingStore
{
{
int
roleindex
=
0
;
int
roleindex
=
0
;
this
.
tableLayoutPanel1
.
RowStyles
.
Clear
();
this
.
tableLayoutPanel1
.
RowStyles
.
Clear
();
this
.
tableLayoutPanel1
.
RowCount
=
boxBean
.
Config
.
DIList
.
Count
;
this
.
tableLayoutPanel1
.
RowCount
=
StoreManager
.
Config
.
DIList
.
Count
;
foreach
(
ConfigIO
ioValue
in
boxBean
.
Config
.
DIList
.
Values
)
foreach
(
ConfigIO
ioValue
in
StoreManager
.
Config
.
DIList
.
Values
)
{
{
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
26
));
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
26
));
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
...
@@ -62,9 +52,9 @@ namespace OnlineStore.ACPackingStore
...
@@ -62,9 +52,9 @@ namespace OnlineStore.ACPackingStore
}
}
tableLayoutPanel2
.
RowStyles
.
Clear
();
tableLayoutPanel2
.
RowStyles
.
Clear
();
this
.
tableLayoutPanel2
.
RowCount
=
boxBean
.
Config
.
DOList
.
Count
;
this
.
tableLayoutPanel2
.
RowCount
=
StoreManager
.
Config
.
DOList
.
Count
;
roleindex
=
0
;
roleindex
=
0
;
foreach
(
ConfigIO
ioValue
in
boxBean
.
Config
.
DOList
.
Values
)
foreach
(
ConfigIO
ioValue
in
StoreManager
.
Config
.
DOList
.
Values
)
{
{
this
.
tableLayoutPanel2
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
28
));
this
.
tableLayoutPanel2
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
28
));
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
...
@@ -74,7 +64,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -74,7 +64,7 @@ namespace OnlineStore.ACPackingStore
}
}
this
.
SuspendLayout
();
//此处为不闪屏,一定要有的!
this
.
SuspendLayout
();
//此处为不闪屏,一定要有的!
cmbWriteIO
.
DataSource
=
new
List
<
ConfigIO
>(
boxBean
.
Config
.
DOList
.
Values
);
cmbWriteIO
.
DataSource
=
new
List
<
ConfigIO
>(
StoreManager
.
Config
.
DOList
.
Values
);
cmbWriteIO
.
ValueMember
=
"ProName"
;
cmbWriteIO
.
ValueMember
=
"ProName"
;
cmbWriteIO
.
DisplayMember
=
"DisplayStr"
;
cmbWriteIO
.
DisplayMember
=
"DisplayStr"
;
}
}
...
@@ -107,9 +97,9 @@ namespace OnlineStore.ACPackingStore
...
@@ -107,9 +97,9 @@ namespace OnlineStore.ACPackingStore
private
ConfigIO
GetSelectDO
()
private
ConfigIO
GetSelectDO
()
{
{
string
text
=
cmbWriteIO
.
SelectedValue
.
ToString
();
string
text
=
cmbWriteIO
.
SelectedValue
.
ToString
();
if
(
boxBean
.
Config
.
DOList
.
ContainsKey
(
text
))
if
(
StoreManager
.
Config
.
DOList
.
ContainsKey
(
text
))
{
{
ConfigIO
io
=
boxBean
.
Config
.
DOList
[
text
];
ConfigIO
io
=
StoreManager
.
Config
.
DOList
[
text
];
return
io
;
return
io
;
}
}
return
null
;
return
null
;
...
@@ -125,7 +115,6 @@ namespace OnlineStore.ACPackingStore
...
@@ -125,7 +115,6 @@ namespace OnlineStore.ACPackingStore
// txtIp.Text = io.DeviceName;
// txtIp.Text = io.DeviceName;
txtDOIndex
.
Text
=
io
.
GetIOAddr
().
ToString
();
txtDOIndex
.
Text
=
io
.
GetIOAddr
().
ToString
();
txtDoName
.
Text
=
io
.
IO_IP
;
txtDoName
.
Text
=
io
.
IO_IP
;
txtSlaveId
.
Text
=
io
.
SlaveID
.
ToString
();
IOTextControl
newControl
=
DOControlList
[
io
.
ProName
];
IOTextControl
newControl
=
DOControlList
[
io
.
ProName
];
selectControl
=
newControl
;
selectControl
=
newControl
;
}
}
...
@@ -159,7 +148,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -159,7 +148,7 @@ namespace OnlineStore.ACPackingStore
foreach
(
string
key
in
DIControlList
.
Keys
)
foreach
(
string
key
in
DIControlList
.
Keys
)
{
{
IOTextControl
control
=
DIControlList
[
key
];
IOTextControl
control
=
DIControlList
[
key
];
int
iov
=
(
int
)
boxBean
.
IOValue
(
key
);
int
iov
=
(
int
)
StoreManager
.
Store
.
IOValue
(
key
);
if
(
iov
!=
control
.
IOValue
)
if
(
iov
!=
control
.
IOValue
)
{
{
control
.
IOValue
=
iov
;
control
.
IOValue
=
iov
;
...
@@ -169,7 +158,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -169,7 +158,7 @@ namespace OnlineStore.ACPackingStore
foreach
(
string
key
in
this
.
DOControlList
.
Keys
)
foreach
(
string
key
in
this
.
DOControlList
.
Keys
)
{
{
IOTextControl
control
=
DOControlList
[
key
];
IOTextControl
control
=
DOControlList
[
key
];
int
iov
=
(
int
)
boxBean
.
IOValue
(
key
);
int
iov
=
(
int
)
StoreManager
.
Store
.
IOValue
(
key
);
if
(
iov
!=
control
.
IOValue
)
if
(
iov
!=
control
.
IOValue
)
{
{
control
.
IOValue
=
iov
;
control
.
IOValue
=
iov
;
...
@@ -183,13 +172,13 @@ namespace OnlineStore.ACPackingStore
...
@@ -183,13 +172,13 @@ namespace OnlineStore.ACPackingStore
LogUtil
.
info
(
"点击【"
+
btn
.
Text
+
"】 "
);
LogUtil
.
info
(
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
defaultText
))
if
(
btn
.
Text
.
Equals
(
defaultText
))
{
{
boxBean
.
IOMove
(
ioHighType
,
IO_VALUE
.
HIGH
);
StoreManager
.
Store
.
IOMove
(
ioHighType
,
IO_VALUE
.
HIGH
);
btn
.
Text
=
targetText
;
btn
.
Text
=
targetText
;
btn
.
BackColor
=
Color
.
Aqua
;
btn
.
BackColor
=
Color
.
Aqua
;
}
}
else
else
{
{
boxBean
.
IOMove
(
ioHighType
,
IO_VALUE
.
LOW
);
StoreManager
.
Store
.
IOMove
(
ioHighType
,
IO_VALUE
.
LOW
);
btn
.
Text
=
defaultText
;
btn
.
Text
=
defaultText
;
btn
.
BackColor
=
Color
.
White
;
btn
.
BackColor
=
Color
.
White
;
}
}
...
@@ -200,13 +189,13 @@ namespace OnlineStore.ACPackingStore
...
@@ -200,13 +189,13 @@ namespace OnlineStore.ACPackingStore
LogUtil
.
info
(
"点击【"
+
btn
.
Text
+
"】 "
);
LogUtil
.
info
(
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
defaultText
))
if
(
btn
.
Text
.
Equals
(
defaultText
))
{
{
boxBean
.
CylinderMove
(
null
,
ioLowType
,
ioHighType
);
StoreManager
.
Store
.
CylinderMove
(
null
,
ioLowType
,
ioHighType
);
btn
.
Text
=
targetText
;
btn
.
Text
=
targetText
;
btn
.
BackColor
=
Color
.
Aqua
;
btn
.
BackColor
=
Color
.
Aqua
;
}
}
else
else
{
{
boxBean
.
CylinderMove
(
null
,
ioHighType
,
ioLowType
);
StoreManager
.
Store
.
CylinderMove
(
null
,
ioHighType
,
ioLowType
);
btn
.
Text
=
defaultText
;
btn
.
Text
=
defaultText
;
btn
.
BackColor
=
Color
.
SkyBlue
;
btn
.
BackColor
=
Color
.
SkyBlue
;
}
}
...
@@ -216,12 +205,12 @@ namespace OnlineStore.ACPackingStore
...
@@ -216,12 +205,12 @@ namespace OnlineStore.ACPackingStore
private
void
btnLocationUp_Click
(
object
sender
,
EventArgs
e
)
private
void
btnLocationUp_Click
(
object
sender
,
EventArgs
e
)
{
{
//
boxBean
.CylinderMove(null, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
//
StoreManager.Store
.CylinderMove(null, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
}
}
private
void
btnLocationDown_Click
(
object
sender
,
EventArgs
e
)
private
void
btnLocationDown_Click
(
object
sender
,
EventArgs
e
)
{
{
//
boxBean
.CylinderMove(null, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down);
//
StoreManager.Store
.CylinderMove(null, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down);
}
}
private
void
FrmIOStatus_Shown
(
object
sender
,
EventArgs
e
)
private
void
FrmIOStatus_Shown
(
object
sender
,
EventArgs
e
)
...
@@ -231,12 +220,12 @@ namespace OnlineStore.ACPackingStore
...
@@ -231,12 +220,12 @@ namespace OnlineStore.ACPackingStore
private
void
btnOpenAxisBreak_Click
(
object
sender
,
EventArgs
e
)
private
void
btnOpenAxisBreak_Click
(
object
sender
,
EventArgs
e
)
{
{
BtnMove
(
btnOpenAxisBreak
,
"打开刹车"
,
"关闭刹车"
,
IO_Type
.
Axis_Brake
);
//
BtnMove(btnOpenAxisBreak, "打开刹车", "关闭刹车", IO_Type.Axis_Brake);
}
}
private
void
btnCloseAxisBreak_Click
(
object
sender
,
EventArgs
e
)
private
void
btnCloseAxisBreak_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
// StoreManager.Store
.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
}
}
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
...
@@ -258,7 +247,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -258,7 +247,7 @@ namespace OnlineStore.ACPackingStore
int
index
=
FormUtil
.
GetIntValue
(
txtDOIndex
);
int
index
=
FormUtil
.
GetIntValue
(
txtDOIndex
);
// IO_VALUE value = checkBox1.Checked ? IO_VALUE.HIGH : IO_VALUE.LOW;
// IO_VALUE value = checkBox1.Checked ? IO_VALUE.HIGH : IO_VALUE.LOW;
int
time
=
FormUtil
.
GetIntValue
(
txtWriteTime
);
int
time
=
FormUtil
.
GetIntValue
(
txtWriteTime
);
int
slaveId
=
FormUtil
.
GetIntValue
(
txtSlaveId
)
;
int
slaveId
=
0
;
if
(
time
>
0
)
if
(
time
>
0
)
{
{
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
slaveId
,
(
ushort
)
index
,
(
IO_VALUE
)
value
,
time
);
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
slaveId
,
(
ushort
)
index
,
(
IO_VALUE
)
value
,
time
);
...
@@ -271,22 +260,22 @@ namespace OnlineStore.ACPackingStore
...
@@ -271,22 +260,22 @@ namespace OnlineStore.ACPackingStore
private
void
btnTopUp_Click
(
object
sender
,
EventArgs
e
)
private
void
btnTopUp_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
CylinderMove
(
null
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
StoreManager
.
Store
.
CylinderMove
(
null
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
}
}
private
void
btnTopDown_Click
(
object
sender
,
EventArgs
e
)
private
void
btnTopDown_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
CylinderMove
(
null
,
IO_Type
.
TopCylinder_Up
,
IO_Type
.
TopCylinder_Down
);
StoreManager
.
Store
.
CylinderMove
(
null
,
IO_Type
.
TopCylinder_Up
,
IO_Type
.
TopCylinder_Down
);
}
}
private
void
btnNGDoorUp_Click
(
object
sender
,
EventArgs
e
)
private
void
btnNGDoorUp_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
CylinderMove
(
null
,
IO_Type
.
NGDoorCylinder_Down
,
IO_Type
.
NGDoowCylinder_Up
);
// StoreManager.Store
.CylinderMove(null, IO_Type.NGDoorCylinder_Down, IO_Type.NGDoowCylinder_Up);
}
}
private
void
btnNGDoorDown_Click
(
object
sender
,
EventArgs
e
)
private
void
btnNGDoorDown_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
CylinderMove
(
null
,
IO_Type
.
NGDoowCylinder_Up
,
IO_Type
.
NGDoorCylinder_Down
);
// StoreManager.Store
.CylinderMove(null, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
}
}
private
void
btnCamerLed_Click
(
object
sender
,
EventArgs
e
)
private
void
btnCamerLed_Click
(
object
sender
,
EventArgs
e
)
...
@@ -304,35 +293,35 @@ namespace OnlineStore.ACPackingStore
...
@@ -304,35 +293,35 @@ namespace OnlineStore.ACPackingStore
private
void
btnStoreOn_Click
(
object
sender
,
EventArgs
e
)
private
void
btnStoreOn_Click
(
object
sender
,
EventArgs
e
)
{
{
BtnMove
(
btnStoreOn
,
"料仓运转ON"
,
"料仓运转OFF"
,
IO_Type
.
Run_Signal
);
//
BtnMove(btnStoreOn, "料仓运转ON", "料仓运转OFF", IO_Type.Run_Signal);
}
}
private
void
btnBlow_Click
(
object
sender
,
EventArgs
e
)
private
void
btnBlow_Click
(
object
sender
,
EventArgs
e
)
{
{
BtnMove
(
btnBlow
,
"开始吹气"
,
"停止吹气"
,
IO_Type
.
StartOrStopBlow
);
//
BtnMove(btnBlow, "开始吹气", "停止吹气", IO_Type.StartOrStopBlow);
}
}
private
void
btnCloseCyDo_Click
(
object
sender
,
EventArgs
e
)
private
void
btnCloseCyDo_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
IOMove
(
IO_Type
.
EntranceDoor_Open
,
IO_VALUE
.
LOW
);
//StoreManager.Store
.IOMove(IO_Type.EntranceDoor_Open, IO_VALUE.LOW);
boxBean
.
IOMove
(
IO_Type
.
EntranceDoor_Close
,
IO_VALUE
.
LOW
);
//StoreManager.Store
.IOMove(IO_Type.EntranceDoor_Close, IO_VALUE.LOW);
boxBean
.
IOMove
(
IO_Type
.
TopCylinder_Down
,
IO_VALUE
.
LOW
);
//StoreManager.Store
.IOMove(IO_Type.TopCylinder_Down, IO_VALUE.LOW);
boxBean
.
IOMove
(
IO_Type
.
TopCylinder_Up
,
IO_VALUE
.
LOW
);
//StoreManager.Store
.IOMove(IO_Type.TopCylinder_Up, IO_VALUE.LOW);
boxBean
.
IOMove
(
IO_Type
.
NGDoorCylinder_Down
,
IO_VALUE
.
LOW
);
//StoreManager.Store
.IOMove(IO_Type.NGDoorCylinder_Down, IO_VALUE.LOW);
boxBean
.
IOMove
(
IO_Type
.
NGDoowCylinder_Up
,
IO_VALUE
.
LOW
);
//StoreManager.Store
.IOMove(IO_Type.NGDoowCylinder_Up, IO_VALUE.LOW);
//
boxBean
.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW);
//
StoreManager.Store
.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW);
//
boxBean
.IOMove(IO_Type.LocationCylinder_Up, IO_VALUE.LOW);
//
StoreManager.Store
.IOMove(IO_Type.LocationCylinder_Up, IO_VALUE.LOW);
}
}
private
void
btnNgLine_Click
(
object
sender
,
EventArgs
e
)
private
void
btnNgLine_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
IOMove
(
IO_Type
.
NGLine_Run
,
IO_VALUE
.
HIGH
);
// StoreManager.Store
.IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH);
}
}
private
void
btnNGlineStop_Click
(
object
sender
,
EventArgs
e
)
private
void
btnNGlineStop_Click
(
object
sender
,
EventArgs
e
)
{
{
boxBean
.
IOMove
(
IO_Type
.
NGLine_Run
,
IO_VALUE
.
LOW
);
// StoreManager.Store
.IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW);
}
}
private
void
btnLineBack_Click
(
object
sender
,
EventArgs
e
)
private
void
btnLineBack_Click
(
object
sender
,
EventArgs
e
)
...
...
source/DUOStore/FrmStore.Designer.cs
查看文件 @
2b40314
...
@@ -65,6 +65,8 @@
...
@@ -65,6 +65,8 @@
this
.
toolStripSeparator8
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripSeparator8
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripMenuItem1
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripMenuItem1
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
扫码测试
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator9
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabPage1
.
SuspendLayout
();
this
.
tabPage1
.
SuspendLayout
();
this
.
menuStrip1
.
SuspendLayout
();
this
.
menuStrip1
.
SuspendLayout
();
...
@@ -302,7 +304,9 @@
...
@@ -302,7 +304,9 @@
this
.
toolStripMenuItem2
,
this
.
toolStripMenuItem2
,
this
.
toolStripSeparator6
,
this
.
toolStripSeparator6
,
this
.
二维码学习
ToolStripMenuItem
,
this
.
二维码学习
ToolStripMenuItem
,
this
.
toolStripSeparator7
});
this
.
toolStripSeparator7
,
this
.
扫码测试
ToolStripMenuItem
,
this
.
toolStripSeparator9
});
this
.
设置
TToolStripMenuItem
.
Name
=
"设置TToolStripMenuItem"
;
this
.
设置
TToolStripMenuItem
.
Name
=
"设置TToolStripMenuItem"
;
this
.
设置
TToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
91
,
25
);
this
.
设置
TToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
91
,
25
);
this
.
设置
TToolStripMenuItem
.
Text
=
"设备调试 "
;
this
.
设置
TToolStripMenuItem
.
Text
=
"设备调试 "
;
...
@@ -388,6 +392,18 @@
...
@@ -388,6 +392,18 @@
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
//
// 扫码测试ToolStripMenuItem
//
this
.
扫码测试
ToolStripMenuItem
.
Name
=
"扫码测试ToolStripMenuItem"
;
this
.
扫码测试
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
180
,
26
);
this
.
扫码测试
ToolStripMenuItem
.
Text
=
"扫码测试"
;
this
.
扫码测试
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
扫码测试
ToolStripMenuItem_Click
);
//
// toolStripSeparator9
//
this
.
toolStripSeparator9
.
Name
=
"toolStripSeparator9"
;
this
.
toolStripSeparator9
.
Size
=
new
System
.
Drawing
.
Size
(
177
,
6
);
//
// FrmStore
// FrmStore
//
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
...
@@ -455,6 +471,8 @@
...
@@ -455,6 +471,8 @@
private
System
.
Windows
.
Forms
.
ToolStripSeparator
toolStripSeparator8
;
private
System
.
Windows
.
Forms
.
ToolStripSeparator
toolStripSeparator8
;
private
System
.
Windows
.
Forms
.
CheckBox
chbDoorCanMove
;
private
System
.
Windows
.
Forms
.
CheckBox
chbDoorCanMove
;
private
System
.
Windows
.
Forms
.
Label
lblServerMsg
;
private
System
.
Windows
.
Forms
.
Label
lblServerMsg
;
private
System
.
Windows
.
Forms
.
ToolStripMenuItem
扫码测试
ToolStripMenuItem
;
private
System
.
Windows
.
Forms
.
ToolStripSeparator
toolStripSeparator9
;
}
}
}
}
source/DUOStore/FrmStore.cs
查看文件 @
2b40314
...
@@ -532,5 +532,26 @@ namespace OnlineStore.ACPackingStore
...
@@ -532,5 +532,26 @@ namespace OnlineStore.ACPackingStore
}
}
}
}
private
void
扫码测试
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
store
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
List
<
string
>
codes
=
CodeManager
.
CameraScan
(
store
.
Config
.
GetCameraList
(),
store
.
Name
);
store
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
string
result
=
""
;
if
(
codes
.
Count
>
0
)
{
foreach
(
string
s
in
codes
)
{
result
+=
s
+
"\r\n"
;
}
MessageBox
.
Show
(
"扫到二维码:"
+
result
);
LogUtil
.
info
(
"扫到二维码:"
+
result
);
}
else
{
MessageBox
.
Show
(
"未扫到二维码"
);
}
}
}
}
}
}
source/DUOStore/positionTool/FrmPositionTool.cs
查看文件 @
2b40314
...
@@ -25,7 +25,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -25,7 +25,7 @@ namespace OnlineStore.ACPackingStore
private
int
SlvAddr
=
0
;
private
int
SlvAddr
=
0
;
private
string
IoIp
=
""
;
private
string
IoIp
=
""
;
private
int
IoIndex
=
0
;
private
int
IoIndex
=
0
;
public
string
Axis_Brake
=
IO_Type
.
Axis_Brake
;
public
string
Axis_Brake
=
IO_Type
.
UpdownAxis_Break
;
private
int
subType
=
0
;
private
int
subType
=
0
;
private
System
.
Timers
.
Timer
toolTimer
=
new
System
.
Timers
.
Timer
();
private
System
.
Timers
.
Timer
toolTimer
=
new
System
.
Timers
.
Timer
();
private
string
boxName
=
""
;
private
string
boxName
=
""
;
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
2b40314
...
@@ -126,12 +126,6 @@
...
@@ -126,12 +126,6 @@
<None Include="StoreConfig\linePositions_1.csv">
<None Include="StoreConfig\linePositions_1.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</None>
<None Include="StoreConfig\shelfPosition_1.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\shelfPosition_2.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\StoreConfig.csv">
<None Include="StoreConfig\StoreConfig.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</None>
...
...
source/DeviceLibrary/StoreConfig/AC/Data Matrix ECC 200.dcm
deleted
100644 → 0
查看文件 @
6a9b44e
此文件类型无法预览
source/DeviceLibrary/StoreConfig/AC/StoreConfig-20200616-旧版本配置备份.csv
deleted
100644 → 0
查看文件 @
6a9b44e
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,192.168.200.11,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,192.168.200.11,0,复位,X02,DI-02,0,
DI,自动启动,AutoRun_Single,2,192.168.200.11,0,自动启动,X03,DI-03,0,
DI,安全光栅,SafetyLightCurtains,3,192.168.200.11,0,安全光栅,X04,DI-04,0,
DI,进料口门上升端,Door_Up,4,192.168.200.11,0,进料口门上升端,X05,DI-05,0,
DI,进料口门下降端,Door_Down,5,192.168.200.11,0,进料口门下降端,X06,DI-06,0,
DI,抓取气缸上升端,ClampingDisc_Up,6,192.168.200.11,0,抓取气缸上升端,X07,DI-07,0,
DI,抓取气缸下降端,ClampingDisc_Down,7,192.168.200.11,0,抓取气缸下降端,X08,DI-08,0,
DI,料盘宽度检测1,WidthCheck1,8,192.168.200.11,0,料盘宽度检测1,X09,DI-09,0,
DI,料盘宽度检测2,WidthCheck2,9,192.168.200.11,0,料盘宽度检测2,X10,DI-10,0,
DI,料盘检测1(上料机构),TrayCheck_LoadMaterial,10,192.168.200.11,0,料盘检测1(上料机构),X11,DI-11,0,
DI,上料机构出料检测,OutCheck,11,192.168.200.11,0,上料机构出料检测,X12,DI-12,0,
DI,门锁气缸打开端,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开端,X13,DI-13,0,
DI,门锁气缸关闭端,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭端,X14,DI-14,0,
DI,料盘检测2(料叉机构),TrayCheck_Fixture,14,192.168.200.11,0,料盘检测2(料叉机构),X15,DI-15,0,
DI,压紧机构计量检测,CompressAxis_Check,15,192.168.200.11,0,压紧机构计量检测,X16,DI-16,0,
DO,自动指示灯,AutoRun_HddLed,0,192.168.200.11,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,192.168.200.11,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,192.168.200.11,0,待机指示灯,Y03,DO-03,0,
DO,吹气SOL ON,StartOrStopBlow,3,192.168.200.11,0,吹气SOL ON,Y04,DO-04,0,
DO,料仓运转ON,Run_Sign,4,192.168.200.11,0,料仓运转ON,Y05,DO-05,0,
DO,轴2刹车电源ON,Axis_Brake,5,192.168.200.11,0,轴2刹车电源ON,Y06,DO-06,0,
DO,相机照明开,CameraLight_Power,6,192.168.200.11,0,相机照明开,Y07,DO-07,0,
,备用,,7,192.168.200.11,0,备用,Y08,DO-08,0,
DO,进料口门上升SOL,Door_Up,8,192.168.200.11,0,进料口门上升SOL,Y09,DO-09,0,
DO,进料口门下降SOL,Door_Down,9,192.168.200.11,0,进料口门下降SOL,Y10,DO-10,0,
DO,抓取气缸上升SOL,ClampingDisc_Up,10,192.168.200.11,0,抓取气缸上升SOL,Y11,DO-11,0,
DO,抓取气缸下降SOL,ClampingDisc_Down,11,192.168.200.11,0,抓取气缸下降SOL,Y12,DO-12,0,
DO,门锁气缸打开SOL,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开SOL,Y13,DO-13,0,
DO,门锁气缸关闭SOL,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭SOL,Y14,DO-14,0,
DO,门禁功能屏蔽,DisableDoorControl,14,192.168.200.11,0,门禁功能屏蔽,Y15,DO-15,0,
DO,报警蜂鸣器,Buzzer_Sign,15,192.168.200.11,0,报警蜂鸣器,Y16,DO-16,0,
DI,上料机构门关闭,DoorClose_LoadMaterial,0,192.168.200.12,0,上料机构门关闭,X21,DI-21,0,
DI,气压检测,Airpressure_Check,1,192.168.200.12,0,气压检测,X22,DI-22,0,
DI,左侧门关闭,LeftDoorColse_Single,2,192.168.200.12,0,左侧门关闭,X23,DI-23,0,
DI,右侧门关闭,RightDoorColse_Single,3,192.168.200.12,0,右侧门关闭,X24,DI-24,0,
DI,门锁气缸打开端2,BatchDoor_Open2,4,192.168.200.12,0,门锁气缸打开端2,X25,DI-25,0,
DI,门锁气缸关闭端2,BatchDoor_Close2,5,192.168.200.12,0,门锁气缸关闭端2,X26,DI-26,0,
DI,上料机构上极限,BatchAxis_Limit,6,192.168.200.12,0,上料机构上极限,X27,DI-27,0,
DI,入料口料盘检测,TrayCheck_Door,7,192.168.200.12,0,入料口料盘检测,X28,DI-28,0,
DI,夹爪气缸夹紧端,Clamping_Work,8,192.168.200.12,0,夹爪气缸夹紧端,X29,DI-29,0,
DI,夹爪气缸放松端,Clamping_Relax,9,192.168.200.12,0,夹爪气缸放松端,X30,DI-30,0,
,,,10,192.168.200.12,0,,X31,DI-31,0,
,,,11,192.168.200.12,0,,X32,DI-32,0,
,,,12,192.168.200.12,0,,X33,DI-33,0,
,,,13,192.168.200.12,0,,X34,DI-34,0,
,,,14,192.168.200.12,0,,X35,DI-35,0,
,,,15,192.168.200.12,0,,X36,DI-36,0,
DO,夹爪气缸夹紧SOL,Clamping_Work,0,192.168.200.12,0,,Y21,DO-21,0,
DO,夹爪气缸放松SOL,Clamping_Relax,1,192.168.200.12,0,,Y22,DO-22,0,
,,,2,192.168.200.12,0,,Y23,DO-23,0,
,,,3,192.168.200.12,0,,Y24,DO-24,0,
,,,4,192.168.200.12,0,,Y25,DO-25,0,
,,,5,192.168.200.12,0,,Y26,DO-26,0,
,,,6,192.168.200.12,0,,Y27,DO-27,0,
,,,7,192.168.200.12,0,,Y28,DO-28,0,
,,,8,192.168.200.12,0,,Y29,DO-29,0,
,,,9,192.168.200.12,0,,Y30,DO-30,0,
,,,10,192.168.200.12,0,,Y31,DO-31,0,
,,,11,192.168.200.12,0,,Y32,DO-32,0,
,,,12,192.168.200.12,0,,Y33,DO-33,0,
,,,13,192.168.200.12,0,,Y34,DO-34,0,
,,,14,192.168.200.12,0,,Y35,DO-35,0,
,,,15,192.168.200.12,0,,Y36,DO-36,0,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16,,,,,,,
,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM1,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM1,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM1,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM1,0,,,,,
AXIS,(轴五)批量上下料轴,Batch_Axis,5,COM1,0,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,343000,,,,,,,
PRO,升降轴 出库高点P2,UpDownAxis_OutHigh_P2,343000,,,,,,,
PRO,升降轴 出库低点P8,UpDownAxis_OutLow_P8,333700,,,,,,,
PRO,升降轴从吸盘下方接料后下降的高度,UpDownAxis_DownValue,10000,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#393606;12#387000;16#380000;20#380000;24#382500;28#380000;32#370000;36#370000;40#370000;48#196500;52#196000;75#196000;,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,246300,,,,,,,
PRO,进出轴(轴三)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴四)P1待机原位点,CompressAxis_P1_Position,24900,,,,,,,
PRO,压紧轴(轴四)P2压紧点集合,CompressAxis_P2_List,8#417100;12#380300;16#360000;20#330000;24#326800;28#300000;32#200000;36#200000;40#200000;44#200000;48#196500;52#24900;75#24900;,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,,
PRO,设备是否调试状态(1=调试,0=正常),IsInDebug,1,,,,,,,
PRO,默认的料盘宽度(不可更改),Default_TrayWidth,0,,,,, ,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,180,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,500,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,2000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,2000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,200,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,200,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,2000,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,2000,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,2000,,,,,,,
PRO,升降轴(轴二)到仓门速度,UpDownAxis_Door_Speed,500,,,,,,,
PRO,升降轴(轴二)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴二)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴二)P3速度,UpDownAxis_P3_Speed,600,,,,,,,
PRO,升降轴(轴二)P4速度,UpDownAxis_P4_Speed,150,,,,,,,
PRO,升降轴(轴二)P5速度,UpDownAxis_P5_Speed,600,,,,,,,
PRO,升降轴(轴二)P6速度,UpDownAxis_P6_Speed,150,,,,,,,
PRO,升降轴(轴二)到仓门P7速度,UpDownAxis_P7_Speed,600,,,,,,,
PRO,升降轴(轴二)P8速度,UpDownAxis_P8_Speed,100,,,,,,,
PRO,旋转轴(轴一)P1速度,MiddleAxis_P1_Speed,600,,,,,,,
PRO,旋转轴(轴一)P2速度,MiddleAxis_P2_Speed,600,,,,,,,
PRO,进出轴(轴三)P1速度,InOutAxis_P1_Speed,200,,,,,,,
PRO,进出轴(轴三)P2速度,InOutAxis_P2_Speed,200,,,,,,,
PRO,进出轴(轴三)P3速度,InOutAxis_P3_Speed,200,,,,,, ,
PRO,(轴一)旋转轴最小误差脉冲值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴最小误差脉冲值,UpdownAxis_ErrorCountMin,10,,,,,,,
PRO,(轴三)进出轴最小误差脉冲值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴最大误差脉冲值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴最大误差脉冲值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴最大误差脉冲值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,, ,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,, ,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,5,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,30,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,1,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,(轴五)上料轴目标速度,BatchAxis_TargetSpeed,800,,,,,,,
PRO,(轴五)上料轴慢速匀速上升速度,BatchAxis_SlowSpeed,80,,,,,,,
PRO,(轴五)上料轴加速度,BatchAxis_AddSpeed,300,,,,,,,
PRO,(轴五)上料轴减速度,BatchAxis_DelSpeed,300,,,,,,,
PRO,(轴五)上料轴原点低速,BatchAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴五)上料轴原点高速,BatchAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴五)上料轴原点加速度,BatchAxis_HomeAddSpeed,2000,,,,,, ,
PRO,(轴五)上料轴P1点(出库时接料盘的位置),BatchAxis_P1,1700000,,,,,, ,
PRO,(轴五)上料轴P2点(待机点),BatchAxis_P2,30000,,,,,,,
PRO,(轴五)上料轴P2速度,BatchAxis_P2_Speed,2000,,,,,,,
PRO,(轴五)上料轴最小误差脉冲值,BatchAxis_ErrorCountMin,10,,,,,,,
PRO,(轴五)上料轴最大误差脉冲值,BatchAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴五)上料轴最小限位,BatchAxis_PositionMin,0,,,,,,,
PRO,(轴五)上料轴最大限位,BatchAxis_PositionMax,0,,,,,,,
PRO,(轴五)上料轴P1速度,BatchAxis_P1_Speed,2000,,,,,,,
PRO,(轴五)上料轴出料时距离检测信号需要下降的高度,BatchAxis_OutDownPosition,30000,,,,,,,
PRO,(轴五)上料轴出料时检测到料盘需要下降的高度,BatchAxis_DownPosition2,150000,,,,,,,
PRO,(轴五)上料轴最最大料盘高度mm,到达后无法批量出库,BatchAxis_MaxHeight,250,,,,,,,
PRO,最后一盘料需要补充的高度,LastTrayAddHeight,0,,,,,,,
,,,,,,,,,,
PRO,(轴二)升降轴单盘入库抬升料盘的高度,UpdownAxis_UpPosition,3000,,,,,,,
PRO,(轴五)上料轴出库上升最大高度,BatchAxis_OutMaxValue,1610000,,,,,,,
,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,200,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,2000,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴P1速度,CompAxis_P1_Speed,500,,,,,,,
PRO,(轴四)压紧轴P2速度,CompAxis_P2_Speed,500,,,,,,,
PRO,(轴四)压紧轴P3速度,CompAxis_P3_Speed,500,,,,,,,
,,,,,,,,, ,
PRO,特殊二维码尺寸配置,CodeSizeConfig,XA=13x48#XB=13x32#FA=7x32,,,,,,,
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
deleted
100644 → 0
查看文件 @
6a9b44e
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,192.168.200.11,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,192.168.200.11,0,复位,X02,DI-02,0,
DI,自动启动,AutoRun_Single,2,192.168.200.11,0,自动启动,X03,DI-03,0,
DI,安全光栅,SafetyLightCurtains,3,192.168.200.11,0,安全光栅,X04,DI-04,0,
DI,进料口门上升端,Door_Up,4,192.168.200.11,0,进料口门上升端,X05,DI-05,0,
DI,进料口门下降端,Door_Down,5,192.168.200.11,0,进料口门下降端,X06,DI-06,0,
DI,抓取气缸上升端,ClampingDisc_Up,6,192.168.200.11,0,抓取气缸上升端,X07,DI-07,0,
DI,抓取气缸下降端,ClampingDisc_Down,7,192.168.200.11,0,抓取气缸下降端,X08,DI-08,0,
DI,料盘宽度检测1,WidthCheck1,8,192.168.200.11,0,料盘宽度检测1,X09,DI-09,0,
DI,料盘宽度检测2,WidthCheck2,9,192.168.200.11,0,料盘宽度检测2,X10,DI-10,0,
DI,料盘检测1(上料机构),TrayCheck_LoadMaterial,10,192.168.200.11,0,料盘检测1(上料机构),X11,DI-11,0,
DI,上料机构出料检测,OutCheck,11,192.168.200.11,0,上料机构出料检测,X12,DI-12,0,
DI,门锁气缸打开端,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开端,X13,DI-13,0,
DI,门锁气缸关闭端,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭端,X14,DI-14,0,
DI,料盘检测2(料叉机构),TrayCheck_Fixture,14,192.168.200.11,0,料盘检测2(料叉机构),X15,DI-15,0,
DI,压紧机构计量检测,CompressAxis_Check,15,192.168.200.11,0,压紧机构计量检测,X16,DI-16,0,
DO,自动指示灯,AutoRun_HddLed,0,192.168.200.11,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,192.168.200.11,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,192.168.200.11,0,待机指示灯,Y03,DO-03,0,
DO,吹气SOL ON,StartOrStopBlow,3,192.168.200.11,0,吹气SOL ON,Y04,DO-04,0,
DO,料仓运转ON,Run_Sign,4,192.168.200.11,0,料仓运转ON,Y05,DO-05,0,
DO,轴2刹车电源ON,Axis_Brake,5,192.168.200.11,0,轴2刹车电源ON,Y06,DO-06,0,
DO,相机照明开,CameraLight_Power,6,192.168.200.11,0,相机照明开,Y07,DO-07,0,
DO,设备照明开,Device_Led,7,192.168.200.11,0,设备照明开,Y08,DO-08,0,
DO,进料口门上升SOL,Door_Up,8,192.168.200.11,0,进料口门上升SOL,Y09,DO-09,0,
DO,进料口门下降SOL,Door_Down,9,192.168.200.11,0,进料口门下降SOL,Y10,DO-10,0,
DO,抓取气缸上升SOL,ClampingDisc_Up,10,192.168.200.11,0,抓取气缸上升SOL,Y11,DO-11,0,
DO,抓取气缸下降SOL,ClampingDisc_Down,11,192.168.200.11,0,抓取气缸下降SOL,Y12,DO-12,0,
DO,门锁气缸打开SOL,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开SOL,Y13,DO-13,0,
DO,门锁气缸关闭SOL,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭SOL,Y14,DO-14,0,
DO,门禁功能屏蔽,DisableDoorControl,14,192.168.200.11,0,门禁功能屏蔽,Y15,DO-15,0,
DO,报警蜂鸣器,Buzzer_Sign,15,192.168.200.11,0,报警蜂鸣器,Y16,DO-16,0,
DI,上料机构门关闭,DoorClose_LoadMaterial,0,192.168.200.12,0,上料机构门关闭,X21,DI-21,0,
DI,气压检测,Airpressure_Check,1,192.168.200.12,0,气压检测,X22,DI-22,0,
DI,左侧门关闭,LeftDoorColse_Single,2,192.168.200.12,0,左侧门关闭,X23,DI-23,0,
DI,右侧门关闭,RightDoorColse_Single,3,192.168.200.12,0,右侧门关闭,X24,DI-24,0,
DI,门锁气缸打开端2,BatchDoor_Open2,4,192.168.200.12,0,门锁气缸打开端2,X25,DI-25,0,
DI,门锁气缸关闭端2,BatchDoor_Close2,5,192.168.200.12,0,门锁气缸关闭端2,X26,DI-26,0,
DI,上料机构上极限,BatchAxis_Limit,6,192.168.200.12,0,上料机构上极限,X27,DI-27,0,
DI,入料口料盘检测,TrayCheck_Door,7,192.168.200.12,0,入料口料盘检测,X28,DI-28,0,
DI,夹爪气缸夹紧端,Clamping_Work,8,192.168.200.12,0,夹爪气缸夹紧端,X29,DI-29,0,
DI,夹爪气缸放松端,Clamping_Relax,9,192.168.200.12,0,夹爪气缸放松端,X30,DI-30,0,
DI,夹爪气缸料盘检测,Clamping_Check,10,192.168.200.12,0,夹爪气缸料盘检测,X31,DI-31,0,
,,,11,192.168.200.12,0,,X32,DI-32,0,
,,,12,192.168.200.12,0,,X33,DI-33,0,
,,,13,192.168.200.12,0,,X34,DI-34,0,
,,,14,192.168.200.12,0,,X35,DI-35,0,
,,,15,192.168.200.12,0,,X36,DI-36,0,
DO,夹爪气缸夹紧SOL,Clamping_Work,0,192.168.200.12,0,,Y21,DO-21,0,
DO,夹爪气缸放松SOL,Clamping_Relax,1,192.168.200.12,0,,Y22,DO-22,0,
,,,2,192.168.200.12,0,,Y23,DO-23,0,
,,,3,192.168.200.12,0,,Y24,DO-24,0,
,,,4,192.168.200.12,0,,Y25,DO-25,0,
,,,5,192.168.200.12,0,,Y26,DO-26,0,
,,,6,192.168.200.12,0,,Y27,DO-27,0,
,,,7,192.168.200.12,0,,Y28,DO-28,0,
,,,8,192.168.200.12,0,,Y29,DO-29,0,
,,,9,192.168.200.12,0,,Y30,DO-30,0,
,,,10,192.168.200.12,0,,Y31,DO-31,0,
,,,11,192.168.200.12,0,,Y32,DO-32,0,
,,,12,192.168.200.12,0,,Y33,DO-33,0,
,,,13,192.168.200.12,0,,Y34,DO-34,0,
,,,14,192.168.200.12,0,,Y35,DO-35,0,
,,,15,192.168.200.12,0,,Y36,DO-36,0,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16,,,,,,,
,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM1,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM1,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM1,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM1,0,,,,,
AXIS,(轴五)批量上下料轴,Batch_Axis,5,COM1,0,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,343000,,,,,,,
PRO,升降轴 出库高点P2,UpDownAxis_OutHigh_P2,343000,,,,,,,
PRO,升降轴 出库低点P8,UpDownAxis_OutLow_P8,333700,,,,,,,
PRO,升降轴从吸盘下方接料后下降的高度,UpDownAxis_DownValue,10000,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#393606;12#387000;16#380000;20#380000;24#382500;28#380000;32#370000;36#370000;40#370000;48#196500;52#196000;75#196000;,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,246300,,,,,,,
PRO,进出轴(轴三)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴四)P1待机原位点,CompressAxis_P1_Position,24900,,,,,,,
PRO,压紧轴(轴四)P2压紧点集合,CompressAxis_P2_List,8#417100;12#380300;16#360000;20#330000;24#326800;28#300000;32#200000;36#200000;40#200000;44#200000;48#196500;52#24900;75#24900;,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,,
PRO,设备是否调试状态(1=调试,0=正常),IsInDebug,1,,,,,,,
PRO,默认的料盘宽度(不可更改),Default_TrayWidth,0,,,,, ,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,180,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,500,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,2000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,2000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,200,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,200,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,2000,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,2000,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,2000,,,,,,,
PRO,升降轴(轴二)到仓门速度,UpDownAxis_Door_Speed,500,,,,,,,
PRO,升降轴(轴二)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴二)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴二)P3速度,UpDownAxis_P3_Speed,600,,,,,,,
PRO,升降轴(轴二)P4速度,UpDownAxis_P4_Speed,150,,,,,,,
PRO,升降轴(轴二)P5速度,UpDownAxis_P5_Speed,600,,,,,,,
PRO,升降轴(轴二)P6速度,UpDownAxis_P6_Speed,150,,,,,,,
PRO,升降轴(轴二)到仓门P7速度,UpDownAxis_P7_Speed,600,,,,,,,
PRO,升降轴(轴二)P8速度,UpDownAxis_P8_Speed,100,,,,,,,
PRO,旋转轴(轴一)P1速度,MiddleAxis_P1_Speed,600,,,,,,,
PRO,旋转轴(轴一)P2速度,MiddleAxis_P2_Speed,600,,,,,,,
PRO,进出轴(轴三)P1速度,InOutAxis_P1_Speed,200,,,,,,,
PRO,进出轴(轴三)P2速度,InOutAxis_P2_Speed,200,,,,,,,
PRO,进出轴(轴三)P3速度,InOutAxis_P3_Speed,200,,,,,, ,
PRO,(轴一)旋转轴最小误差脉冲值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴最小误差脉冲值,UpdownAxis_ErrorCountMin,10,,,,,,,
PRO,(轴三)进出轴最小误差脉冲值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴最大误差脉冲值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴最大误差脉冲值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴最大误差脉冲值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,, ,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,, ,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,5,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,30,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,1,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,(轴五)上料轴目标速度,BatchAxis_TargetSpeed,800,,,,,,,
PRO,(轴五)上料轴加速度,BatchAxis_AddSpeed,300,,,,,,,
PRO,(轴五)上料轴减速度,BatchAxis_DelSpeed,300,,,,,,,
PRO,(轴五)上料轴原点低速,BatchAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴五)上料轴原点高速,BatchAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴五)上料轴原点加速度,BatchAxis_HomeAddSpeed,2000,,,,,, ,
PRO,(轴五)上料轴P1点(出库时接料盘的位置),BatchAxis_P1,1700000,,,,,, ,
PRO,(轴五)上料轴P2点(待机点),BatchAxis_P2,30000,,,,,,,
PRO,(轴五)上料轴P3点(上料目标位置),BatchAxis_P3,1700000,,,,,,,
PRO,(轴五)上料轴最小误差脉冲值,BatchAxis_ErrorCountMin,10,,,,,,,
PRO,(轴五)上料轴最大误差脉冲值,BatchAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴五)上料轴最小限位,BatchAxis_PositionMin,0,,,,,,,
PRO,(轴五)上料轴最大限位,BatchAxis_PositionMax,0,,,,,,,
PRO,(轴五)上料轴P1速度,BatchAxis_P1_Speed,2000,,,,,,,
PRO,(轴五)上料轴P2速度,BatchAxis_P2_Speed,2000,,,,,,,
PRO,(轴五)上料轴慢速匀速上升速度,BatchAxis_SlowSpeed,80,,,,,,,
PRO,(轴五)上料轴出料时距离检测信号需要下降的高度,BatchAxis_OutDownPosition,30000,,,,,,,
PRO,(轴五)上料轴出料时检测到料盘需要下降的高度,BatchAxis_DownPosition2,150000,,,,,,,
PRO,(轴五)上料轴最最大料盘高度mm,到达后无法批量出库,BatchAxis_MaxHeight,250,,,,,,,
PRO,最后一盘料需要补充的高度,LastTrayAddHeight,0,,,,,,,
,,,,,,,,,,
PRO,(轴二)升降轴单盘入库抬升料盘的高度,UpdownAxis_UpPosition,3000,,,,,,,
PRO,(轴五)上料轴出库上升最大高度,BatchAxis_OutMaxValue,1610000,,,,,,,
,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,200,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,2000,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴P1速度,CompAxis_P1_Speed,500,,,,,,,
PRO,(轴四)压紧轴P2速度,CompAxis_P2_Speed,500,,,,,,,
PRO,(轴四)压紧轴P3速度,CompAxis_P3_Speed,500,,,,,,,
,,,,,,,,, ,
PRO,特殊二维码尺寸配置,CodeSizeConfig,XA=13x48#XB=13x32#FA=7x32,,,,,,,
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
deleted
100644 → 0
查看文件 @
6a9b44e
位置,优先级,高度,宽度,料仓ID,支持批量操作,中轴位置P2,升降轴库位出料前点P5,升降轴库位出料缓冲点P6,升降轴库位入料前点P3,升降轴库位入料缓冲点P4,进出轴库位点取料点P3,压紧轴压紧点P2,压紧轴压紧前点P3,进出轴仓门出料点P4,进出轴吸盘取料点P2,,,,,,,
1#AC1_0_1_1,513,48,13,1,0,246300,723600,735800,735800,723600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_2,512,48,13,1,0,246300,787600,799800,799800,787600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_3,511,48,13,1,0,246300,850100,862300,862300,850100,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_4,510,48,13,1,0,246300,914600,926800,926800,914600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_5,509,48,13,1,0,246300,979600,991800,991800,979600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_6,508,48,13,1,0,246300,1043700,1055900,1055900,1043700,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_7,507,48,13,1,0,246300,1106800,1119000,1119000,1106800,87000,196500,24900,101000,87000,,,,,,,
1#AC1_1_1_1,506,24,13,1,1,319300,543546,558246,558246,543546,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_2,505,24,13,1,1,319300,573668,588368,588368,573668,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_3,504,24,13,1,1,319300,604295,618995,618995,604295,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_4,503,24,13,1,1,319300,634168,648868,648868,634168,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_5,502,24,13,1,1,319300,663305,678005,678005,663305,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_6,501,24,13,1,1,319300,693480,708180,708180,693480,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_7,500,24,13,1,1,319300,724669,739369,739369,724669,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_8,499,24,13,1,1,319300,753854,768554,768554,753854,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_9,498,24,13,1,1,319300,784599,799299,799299,784599,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_10,497,24,13,1,1,319300,814168,828868,828868,814168,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_11,496,24,13,1,1,319300,844712,859412,859412,844712,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_12,495,24,13,1,1,319300,874627,889327,889327,874627,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_13,494,24,13,1,1,319300,905019,919719,919719,905019,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_14,493,24,13,1,1,319300,934896,949596,949596,934896,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_15,492,24,13,1,1,319300,964511,979211,979211,964511,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_16,491,24,13,1,1,319300,994896,1009596,1009596,994896,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_17,490,24,13,1,1,319300,1024488,1039188,1039188,1024488,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_18,489,24,13,1,1,319300,1053967,1068667,1068667,1053967,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_19,488,24,13,1,1,319300,1084800,1099500,1099500,1084800,85000,326800,243100,101000,85000,,,,,,,
1#AC1_2_1_1,487,12,13,1,1,388400,-4199,7001,7001,-4199,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_2,486,12,13,1,1,388400,18537,29737,29737,18537,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_3,485,12,13,1,1,388400,42204,53404,53404,42204,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_4,484,12,13,1,1,388400,66624,77824,77824,66624,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_5,483,12,13,1,1,388400,88702,99902,99902,88702,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_6,482,12,13,1,1,388400,112300,123500,123500,112300,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_7,481,12,13,1,1,388400,134588,145788,145788,134588,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_8,480,12,13,1,1,388400,158689,169889,169889,158689,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_9,479,12,13,1,1,388400,182239,193439,193439,182239,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_10,478,12,13,1,1,388400,205584,216784,216784,205584,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_11,477,12,13,1,1,388400,228002,239202,239202,228002,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_12,476,12,13,1,1,388400,251853,263053,263053,251853,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_13,475,12,13,1,1,388400,274961,286161,286161,274961,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_14,474,12,13,1,1,388400,298134,309334,309334,298134,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_15,473,12,13,1,1,388400,321764,332964,332964,321764,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_16,472,12,13,1,1,388400,344097,355297,355297,344097,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_1,471,12,13,1,1,388400,369382,380582,380582,369382,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_2,470,12,13,1,1,388400,391065,402265,402265,391065,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_3,469,12,13,1,1,388400,414501,425701,425701,414501,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_4,468,12,13,1,1,388400,437712,448912,448912,437712,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_5,467,12,13,1,1,388400,461829,473029,473029,461829,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_6,466,12,13,1,1,388400,484602,495802,495802,484602,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_7,465,12,13,1,1,388400,508277,519477,519477,508277,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_8,464,12,13,1,1,388400,531583,542783,542783,531583,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_9,463,12,13,1,1,388400,554570,565770,565770,554570,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_10,462,12,13,1,1,388400,577468,588668,588668,577468,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_11,461,12,13,1,1,388400,601237,612437,612437,601237,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_12,460,12,13,1,1,388400,625112,636312,636312,625112,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_13,459,12,13,1,1,388400,647860,659060,659060,647860,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_14,458,12,13,1,1,388400,671269,682469,682469,671269,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_15,457,12,13,1,1,388400,695275,706475,706475,695275,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_16,456,12,13,1,1,388400,717028,728228,728228,717028,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_1,455,12,13,1,1,388400,740946,752146,752146,740946,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_2,454,12,13,1,1,388400,764565,775765,775765,764565,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_3,453,12,13,1,1,388400,787973,799173,799173,787973,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_4,452,12,13,1,1,388400,811324,822524,822524,811324,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_5,451,12,13,1,1,388400,834312,845512,845512,834312,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_6,450,12,13,1,1,388400,857660,868860,868860,857660,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_7,449,12,13,1,1,388400,880417,891617,891617,880417,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_8,448,12,13,1,1,388400,904293,915493,915493,904293,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_9,447,12,13,1,1,388400,927454,938654,938654,927454,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_10,446,12,13,1,1,388400,950465,961665,961665,950465,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_11,445,12,13,1,1,388400,973919,985119,985119,973919,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_12,444,12,13,1,1,388400,997333,1008533,1008533,997333,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_13,443,12,13,1,1,388400,1019947,1031147,1031147,1019947,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_14,442,12,13,1,1,388400,1044041,1055241,1055241,1044041,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_15,441,12,13,1,1,388400,1067540,1078740,1078740,1067540,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_16,440,12,13,1,1,388400,1089353,1100553,1100553,1089353,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_17,439,12,13,1,1,388400,1110701,1121901,1121901,1110701,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_1,438,12,13,1,1,462400,-4199,7001,7001,-4199,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_2,437,12,13,1,1,462400,18537,29737,29737,18537,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_3,436,12,13,1,1,462400,42204,53404,53404,42204,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_4,435,12,13,1,1,462400,66624,77824,77824,66624,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_5,434,12,13,1,1,462400,88702,99902,99902,88702,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_6,433,12,13,1,1,462400,112300,123500,123500,112300,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_7,432,12,13,1,1,462400,134588,145788,145788,134588,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_8,431,12,13,1,1,462400,158689,169889,169889,158689,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_9,430,12,13,1,1,462400,182239,193439,193439,182239,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_10,429,12,13,1,1,462400,205584,216784,216784,205584,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_11,428,12,13,1,1,462400,228002,239202,239202,228002,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_12,427,12,13,1,1,462400,251853,263053,263053,251853,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_13,426,12,13,1,1,462400,274961,286161,286161,274961,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_14,425,12,13,1,1,462400,298134,309334,309334,298134,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_15,424,12,13,1,1,462400,321764,332964,332964,321764,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_16,423,12,13,1,1,462400,344097,355297,355297,344097,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_1,422,12,13,1,1,462400,369382,380582,380582,369382,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_2,421,12,13,1,1,462400,391065,402265,402265,391065,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_3,420,12,13,1,1,462400,414501,425701,425701,414501,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_4,419,12,13,1,1,462400,437712,448912,448912,437712,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_5,418,12,13,1,1,462400,461829,473029,473029,461829,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_6,417,12,13,1,1,462400,484602,495802,495802,484602,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_7,416,12,13,1,1,462400,508277,519477,519477,508277,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_8,415,12,13,1,1,462400,531583,542783,542783,531583,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_9,414,12,13,1,1,462400,554570,565770,565770,554570,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_10,413,12,13,1,1,462400,577468,588668,588668,577468,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_11,412,12,13,1,1,462400,601237,612437,612437,601237,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_12,411,12,13,1,1,462400,625112,636312,636312,625112,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_13,410,12,13,1,1,462400,647860,659060,659060,647860,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_14,409,12,13,1,1,462400,671269,682469,682469,671269,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_15,408,12,13,1,1,462400,695275,706475,706475,695275,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_16,407,12,13,1,1,462400,717028,728228,728228,717028,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_1,406,12,13,1,1,462400,740946,752146,752146,740946,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_2,405,12,13,1,1,462400,764565,775765,775765,764565,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_3,404,12,13,1,1,462400,787973,799173,799173,787973,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_4,403,12,13,1,1,462400,811324,822524,822524,811324,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_5,402,12,13,1,1,462400,834312,845512,845512,834312,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_6,401,12,13,1,1,462400,857660,868860,868860,857660,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_7,400,12,13,1,1,462400,880417,891617,891617,880417,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_8,399,12,13,1,1,462400,904293,915493,915493,904293,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_9,398,12,13,1,1,462400,927454,938654,938654,927454,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_10,397,12,13,1,1,462400,950465,961665,961665,950465,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_11,396,12,13,1,1,462400,973919,985119,985119,973919,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_12,395,12,13,1,1,462400,997333,1008533,1008533,997333,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_13,394,12,13,1,1,462400,1019947,1031147,1031147,1019947,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_14,393,12,13,1,1,462400,1044041,1055241,1055241,1044041,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_15,392,12,13,1,1,462400,1067540,1078740,1078740,1067540,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_16,391,12,13,1,1,462400,1089353,1100553,1100553,1089353,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_17,390,12,13,1,1,462400,1110701,1121901,1121901,1110701,85000,380400,295400,101000,85000,,,,,,,
1#AC1_4_1_1,389,24,7,1,1,537900,190,6390,6390,190,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_2,388,24,7,1,1,537900,26892,33092,33092,26892,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_3,387,24,7,1,1,537900,52857,59057,59057,52857,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_4,386,24,7,1,1,537900,78104,84304,84304,78104,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_5,385,24,7,1,1,537900,102793,108993,108993,102793,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_6,384,24,7,1,1,537900,129150,135350,135350,129150,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_7,383,24,7,1,1,537900,155079,161279,161279,155079,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_8,382,24,7,1,1,537900,180901,187101,187101,180901,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_9,381,24,7,1,1,537900,206416,212616,212616,206416,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_10,380,24,7,1,1,537900,231155,237355,237355,231155,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_11,379,24,7,1,1,537900,256560,262760,262760,256560,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_12,378,24,7,1,1,537900,282066,288266,288266,282066,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_13,377,24,7,1,1,537900,307710,313910,313910,307710,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_14,376,24,7,1,1,537900,332719,338919,338919,332719,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_15,375,24,7,1,1,537900,358227,364427,364427,358227,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_1,374,24,7,1,1,537900,384088,390288,390288,384088,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_2,373,24,7,1,1,537900,409696,415896,415896,409696,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_3,372,24,7,1,1,537900,436220,442420,442420,436220,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_4,371,24,7,1,1,537900,461388,467588,467588,461388,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_5,370,24,7,1,1,537900,486476,492676,492676,486476,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_6,369,24,7,1,1,537900,512340,518540,518540,512340,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_7,368,24,7,1,1,537900,537959,544159,544159,537959,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_8,367,24,7,1,1,537900,562942,569142,569142,562942,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_9,366,24,7,1,1,537900,588856,595056,595056,588856,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_10,365,24,7,1,1,537900,613994,620194,620194,613994,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_11,364,24,7,1,1,537900,640091,646291,646291,640091,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_12,363,24,7,1,1,537900,664937,671137,671137,664937,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_13,362,24,7,1,1,537900,690957,697157,697157,690957,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_14,361,24,7,1,1,537900,716428,722628,722628,716428,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_15,360,24,7,1,1,537900,741449,747649,747649,741449,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_1,359,24,7,1,1,537900,767146,773346,773346,767146,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_2,358,24,7,1,1,537900,792480,798680,798680,792480,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_3,357,24,7,1,1,537900,817999,824199,824199,817999,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_4,356,24,7,1,1,537900,844056,850256,850256,844056,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_5,355,24,7,1,1,537900,869060,875260,875260,869060,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_6,354,24,7,1,1,537900,894071,900271,900271,894071,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_7,353,24,7,1,1,537900,920442,926642,926642,920442,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_8,352,24,7,1,1,537900,945826,952026,952026,945826,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_9,351,24,7,1,1,537900,971549,977749,977749,971549,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_10,350,24,7,1,1,537900,997018,1003218,1003218,997018,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_11,349,24,7,1,1,537900,1022357,1028557,1028557,1022357,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_12,348,24,7,1,1,537900,1047810,1054010,1054010,1047810,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_13,347,24,7,1,1,537900,1072975,1079175,1079175,1072975,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_14,346,24,7,1,1,537900,1098330,1104530,1104530,1098330,77000,341100,273400,101000,87000,,,,,,,
1#AC1_5_1_1,345,8,7,1,1,4100,1900,8000,8000,1900,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_2,344,8,7,1,1,4100,17800,23900,23900,17800,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_3,343,8,7,1,1,4100,35479,41579,41579,35479,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_4,342,8,7,1,1,4100,52118,58218,58218,52118,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_5,341,8,7,1,1,4100,69200,75300,75300,69200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_6,340,8,7,1,1,4100,84973,91073,91073,84973,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_7,339,8,7,1,1,4100,100777,106877,106877,100777,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_8,338,8,7,1,1,4100,118798,124898,124898,118798,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_9,337,8,7,1,1,4100,133910,140010,140010,133910,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_10,336,8,7,1,1,4100,150598,156698,156698,150598,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_11,335,8,7,1,1,4100,167286,173386,173386,167286,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_12,334,8,7,1,1,4100,183607,189707,189707,183607,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_13,333,8,7,1,1,4100,200124,206224,206224,200124,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_14,332,8,7,1,1,4100,217782,223882,223882,217782,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_15,331,8,7,1,1,4100,233223,239323,239323,233223,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_16,330,8,7,1,1,4100,250177,256277,256277,250177,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_17,329,8,7,1,1,4100,266200,272300,272300,266200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_18,328,8,7,1,1,4100,282390,288490,288490,282390,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_19,327,8,7,1,1,4100,298936,305036,305036,298936,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_20,326,8,7,1,1,4100,315919,322019,322019,315919,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_21,325,8,7,1,1,4100,332315,338415,338415,332315,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_22,324,8,7,1,1,4100,348852,354952,354952,348852,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_23,323,8,7,1,1,4100,364368,370468,370468,364368,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_1,322,8,7,1,1,4100,381398,387498,387498,381398,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_2,321,8,7,1,1,4100,397686,403786,403786,397686,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_3,320,8,7,1,1,4100,414132,420232,420232,414132,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_4,319,8,7,1,1,4100,431520,437620,437620,431520,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_5,318,8,7,1,1,4100,447574,453674,453674,447574,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_6,317,8,7,1,1,4100,462774,468874,468874,462774,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_7,316,8,7,1,1,4100,480242,486342,486342,480242,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_8,315,8,7,1,1,4100,496551,502651,502651,496551,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_9,314,8,7,1,1,4100,513589,519689,519689,513589,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_10,313,8,7,1,1,4100,529814,535914,535914,529814,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_11,312,8,7,1,1,4100,545443,551543,551543,545443,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_12,311,8,7,1,1,4100,561930,568030,568030,561930,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_13,310,8,7,1,1,4100,578304,584404,584404,578304,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_14,309,8,7,1,1,4100,594700,600800,600800,594700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_15,308,8,7,1,1,4100,611933,618033,618033,611933,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_16,307,8,7,1,1,4100,628567,634667,634667,628567,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_17,306,8,7,1,1,4100,644700,650800,650800,644700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_18,305,8,7,1,1,4100,661379,667479,667479,661379,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_19,304,8,7,1,1,4100,678071,684171,684171,678071,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_20,303,8,7,1,1,4100,694342,700442,700442,694342,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_21,302,8,7,1,1,4100,711879,717979,717979,711879,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_22,301,8,7,1,1,4100,727617,733717,733717,727617,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_23,300,8,7,1,1,4100,743175,749275,749275,743175,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_1,299,8,7,1,1,4100,759675,765775,765775,759675,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_2,298,8,7,1,1,4100,775233,781333,781333,775233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_3,297,8,7,1,1,4100,792362,798462,798462,792362,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_4,296,8,7,1,1,4100,809117,815217,815217,809117,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_5,295,8,7,1,1,4100,825666,831766,831766,825666,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_6,294,8,7,1,1,4100,841725,847825,847825,841725,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_7,293,8,7,1,1,4100,858192,864292,864292,858192,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_8,292,8,7,1,1,4100,874063,880163,880163,874063,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_9,291,8,7,1,1,4100,891013,897113,897113,891013,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_10,290,8,7,1,1,4100,907033,913133,913133,907033,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_11,289,8,7,1,1,4100,924542,930642,930642,924542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_12,288,8,7,1,1,4100,941288,947388,947388,941288,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_13,287,8,7,1,1,4100,957139,963239,963239,957139,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_14,286,8,7,1,1,4100,973272,979372,979372,973272,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_15,285,8,7,1,1,4100,989581,995681,995681,989581,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_16,284,8,7,1,1,4100,1005681,1011781,1011781,1005681,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_17,283,8,7,1,1,4100,1023200,1029300,1029300,1023200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_18,282,8,7,1,1,4100,1039599,1045699,1045699,1039599,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_19,281,8,7,1,1,4100,1055958,1062058,1062058,1055958,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_20,280,8,7,1,1,4100,1072746,1078846,1078846,1072746,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_21,279,8,7,1,1,4100,1088792,1094892,1094892,1088792,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_22,278,8,7,1,1,4100,1105200,1111300,1111300,1105200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_23,277,8,7,1,1,4100,1121109,1127209,1127209,1121109,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_1,276,8,7,1,1,45300,1900,8000,8000,1900,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_2,275,8,7,1,1,45300,17800,23900,23900,17800,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_3,274,8,7,1,1,45300,35479,41579,41579,35479,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_4,273,8,7,1,1,45300,52118,58218,58218,52118,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_5,272,8,7,1,1,45300,69200,75300,75300,69200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_6,271,8,7,1,1,45300,84973,91073,91073,84973,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_7,270,8,7,1,1,45300,100777,106877,106877,100777,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_8,269,8,7,1,1,45300,118798,124898,124898,118798,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_9,268,8,7,1,1,45300,133910,140010,140010,133910,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_10,267,8,7,1,1,45300,150598,156698,156698,150598,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_11,266,8,7,1,1,45300,167286,173386,173386,167286,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_12,265,8,7,1,1,45300,183607,189707,189707,183607,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_13,264,8,7,1,1,45300,200124,206224,206224,200124,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_14,263,8,7,1,1,45300,217782,223882,223882,217782,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_15,262,8,7,1,1,45300,233223,239323,239323,233223,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_16,261,8,7,1,1,45300,250177,256277,256277,250177,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_17,260,8,7,1,1,45300,266200,272300,272300,266200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_18,259,8,7,1,1,45300,282390,288490,288490,282390,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_19,258,8,7,1,1,45300,298936,305036,305036,298936,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_20,257,8,7,1,1,45300,315919,322019,322019,315919,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_21,256,8,7,1,1,45300,332315,338415,338415,332315,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_22,255,8,7,1,1,45300,348852,354952,354952,348852,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_23,254,8,7,1,1,45300,364368,370468,370468,364368,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_1,253,8,7,1,1,45300,381398,387498,387498,381398,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_2,252,8,7,1,1,45300,397686,403786,403786,397686,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_3,251,8,7,1,1,45300,414132,420232,420232,414132,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_4,250,8,7,1,1,45300,431520,437620,437620,431520,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_5,249,8,7,1,1,45300,447574,453674,453674,447574,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_6,248,8,7,1,1,45300,462774,468874,468874,462774,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_7,247,8,7,1,1,45300,480242,486342,486342,480242,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_8,246,8,7,1,1,45300,496551,502651,502651,496551,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_9,245,8,7,1,1,45300,513589,519689,519689,513589,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_10,244,8,7,1,1,45300,529814,535914,535914,529814,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_11,243,8,7,1,1,45300,545443,551543,551543,545443,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_12,242,8,7,1,1,45300,561930,568030,568030,561930,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_13,241,8,7,1,1,45300,578304,584404,584404,578304,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_14,240,8,7,1,1,45300,594700,600800,600800,594700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_15,239,8,7,1,1,45300,611933,618033,618033,611933,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_16,238,8,7,1,1,45300,628567,634667,634667,628567,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_17,237,8,7,1,1,45300,644700,650800,650800,644700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_18,236,8,7,1,1,45300,661379,667479,667479,661379,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_19,235,8,7,1,1,45300,678071,684171,684171,678071,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_20,234,8,7,1,1,45300,694342,700442,700442,694342,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_21,233,8,7,1,1,45300,711879,717979,717979,711879,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_22,232,8,7,1,1,45300,727617,733717,733717,727617,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_23,231,8,7,1,1,45300,743175,749275,749275,743175,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_1,230,8,7,1,1,45300,759675,765775,765775,759675,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_2,229,8,7,1,1,45300,775233,781333,781333,775233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_3,228,8,7,1,1,45300,792362,798462,798462,792362,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_4,227,8,7,1,1,45300,809117,815217,815217,809117,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_5,226,8,7,1,1,45300,825666,831766,831766,825666,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_6,225,8,7,1,1,45300,841725,847825,847825,841725,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_7,224,8,7,1,1,45300,858192,864292,864292,858192,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_8,223,8,7,1,1,45300,874063,880163,880163,874063,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_9,222,8,7,1,1,45300,891013,897113,897113,891013,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_10,221,8,7,1,1,45300,907033,913133,913133,907033,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_11,220,8,7,1,1,45300,924542,930642,930642,924542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_12,219,8,7,1,1,45300,941288,947388,947388,941288,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_13,218,8,7,1,1,45300,957139,963239,963239,957139,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_14,217,8,7,1,1,45300,973272,979372,979372,973272,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_15,216,8,7,1,1,45300,989581,995681,995681,989581,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_16,215,8,7,1,1,45300,1005681,1011781,1011781,1005681,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_17,214,8,7,1,1,45300,1023200,1029300,1029300,1023200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_18,213,8,7,1,1,45300,1039599,1045699,1045699,1039599,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_19,212,8,7,1,1,45300,1055958,1062058,1062058,1055958,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_20,211,8,7,1,1,45300,1072746,1078846,1078846,1072746,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_21,210,8,7,1,1,45300,1088792,1094892,1094892,1088792,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_22,209,8,7,1,1,45300,1105200,1111300,1111300,1105200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_23,208,8,7,1,1,45300,1121109,1127209,1127209,1121109,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_1,207,8,7,1,1,88300,200,6300,6300,200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_2,206,8,7,1,1,88300,16100,22200,22200,16100,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_3,205,8,7,1,1,88300,33779,39879,39879,33779,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_4,204,8,7,1,1,88300,50418,56518,56518,50418,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_5,203,8,7,1,1,88300,67500,73600,73600,67500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_6,202,8,7,1,1,88300,83273,89373,89373,83273,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_7,201,8,7,1,1,88300,99077,105177,105177,99077,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_8,200,8,7,1,1,88300,117098,123198,123198,117098,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_9,199,8,7,1,1,88300,132210,138310,138310,132210,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_10,198,8,7,1,1,88300,148898,154998,154998,148898,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_11,197,8,7,1,1,88300,165586,171686,171686,165586,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_12,196,8,7,1,1,88300,181907,188007,188007,181907,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_13,195,8,7,1,1,88300,198424,204524,204524,198424,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_14,194,8,7,1,1,88300,216082,222182,222182,216082,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_15,193,8,7,1,1,88300,231523,237623,237623,231523,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_16,192,8,7,1,1,88300,248477,254577,254577,248477,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_17,191,8,7,1,1,88300,264500,270600,270600,264500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_18,190,8,7,1,1,88300,280690,286790,286790,280690,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_19,189,8,7,1,1,88300,297236,303336,303336,297236,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_20,188,8,7,1,1,88300,314219,320319,320319,314219,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_21,187,8,7,1,1,88300,330615,336715,336715,330615,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_22,186,8,7,1,1,88300,347152,353252,353252,347152,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_23,185,8,7,1,1,88300,362668,368768,368768,362668,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_1,184,8,7,1,1,88300,379698,385798,385798,379698,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_2,183,8,7,1,1,88300,395986,402086,402086,395986,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_3,182,8,7,1,1,88300,412432,418532,418532,412432,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_4,181,8,7,1,1,88300,429820,435920,435920,429820,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_5,180,8,7,1,1,88300,445874,451974,451974,445874,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_6,179,8,7,1,1,88300,461074,467174,467174,461074,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_7,178,8,7,1,1,88300,478542,484642,484642,478542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_8,177,8,7,1,1,88300,494851,500951,500951,494851,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_9,176,8,7,1,1,88300,511889,517989,517989,511889,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_10,175,8,7,1,1,88300,528114,534214,534214,528114,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_11,174,8,7,1,1,88300,543743,549843,549843,543743,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_12,173,8,7,1,1,88300,560230,566330,566330,560230,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_13,172,8,7,1,1,88300,576604,582704,582704,576604,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_14,171,8,7,1,1,88300,593000,599100,599100,593000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_15,170,8,7,1,1,88300,610233,616333,616333,610233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_16,169,8,7,1,1,88300,626867,632967,632967,626867,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_17,168,8,7,1,1,88300,643000,649100,649100,643000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_18,167,8,7,1,1,88300,659679,665779,665779,659679,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_19,166,8,7,1,1,88300,676371,682471,682471,676371,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_20,165,8,7,1,1,88300,692642,698742,698742,692642,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_21,164,8,7,1,1,88300,710179,716279,716279,710179,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_22,163,8,7,1,1,88300,725917,732017,732017,725917,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_23,162,8,7,1,1,88300,741475,747575,747575,741475,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_1,161,8,7,1,1,88300,757975,764075,764075,757975,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_2,160,8,7,1,1,88300,773533,779633,779633,773533,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_3,159,8,7,1,1,88300,790662,796762,796762,790662,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_4,158,8,7,1,1,88300,807417,813517,813517,807417,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_5,157,8,7,1,1,88300,823966,830066,830066,823966,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_6,156,8,7,1,1,88300,840025,846125,846125,840025,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_7,155,8,7,1,1,88300,856492,862592,862592,856492,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_8,154,8,7,1,1,88300,872363,878463,878463,872363,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_9,153,8,7,1,1,88300,889313,895413,895413,889313,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_10,152,8,7,1,1,88300,905333,911433,911433,905333,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_11,151,8,7,1,1,88300,922842,928942,928942,922842,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_12,150,8,7,1,1,88300,939588,945688,945688,939588,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_13,149,8,7,1,1,88300,955439,961539,961539,955439,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_14,148,8,7,1,1,88300,971572,977672,977672,971572,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_15,147,8,7,1,1,88300,987881,993981,993981,987881,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_16,146,8,7,1,1,88300,1003981,1010081,1010081,1003981,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_17,145,8,7,1,1,88300,1021500,1027600,1027600,1021500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_18,144,8,7,1,1,88300,1037899,1043999,1043999,1037899,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_19,143,8,7,1,1,88300,1054258,1060358,1060358,1054258,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_20,142,8,7,1,1,88300,1071046,1077146,1077146,1071046,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_21,141,8,7,1,1,88300,1087092,1093192,1093192,1087092,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_22,140,8,7,1,1,88300,1103500,1109600,1109600,1103500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_23,139,8,7,1,1,88300,1119409,1125509,1125509,1119409,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_1,138,8,7,1,1,129900,200,6300,6300,200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_2,137,8,7,1,1,129900,16100,22200,22200,16100,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_3,136,8,7,1,1,129900,33779,39879,39879,33779,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_4,135,8,7,1,1,129900,50418,56518,56518,50418,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_5,134,8,7,1,1,129900,67500,73600,73600,67500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_6,133,8,7,1,1,129900,83273,89373,89373,83273,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_7,132,8,7,1,1,129900,99077,105177,105177,99077,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_8,131,8,7,1,1,129900,117098,123198,123198,117098,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_9,130,8,7,1,1,129900,132210,138310,138310,132210,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_10,129,8,7,1,1,129900,148898,154998,154998,148898,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_11,128,8,7,1,1,129900,165586,171686,171686,165586,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_12,127,8,7,1,1,129900,181907,188007,188007,181907,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_13,126,8,7,1,1,129900,198424,204524,204524,198424,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_14,125,8,7,1,1,129900,216082,222182,222182,216082,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_15,124,8,7,1,1,129900,231523,237623,237623,231523,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_16,123,8,7,1,1,129900,248477,254577,254577,248477,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_17,122,8,7,1,1,129900,264500,270600,270600,264500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_18,121,8,7,1,1,129900,280690,286790,286790,280690,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_19,120,8,7,1,1,129900,297236,303336,303336,297236,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_20,119,8,7,1,1,129900,314219,320319,320319,314219,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_21,118,8,7,1,1,129900,330615,336715,336715,330615,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_22,117,8,7,1,1,129900,347152,353252,353252,347152,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_23,116,8,7,1,1,129900,362668,368768,368768,362668,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_1,115,8,7,1,1,129900,379698,385798,385798,379698,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_2,114,8,7,1,1,129900,395986,402086,402086,395986,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_3,113,8,7,1,1,129900,412432,418532,418532,412432,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_4,112,8,7,1,1,129900,429820,435920,435920,429820,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_5,111,8,7,1,1,129900,445874,451974,451974,445874,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_6,110,8,7,1,1,129900,461074,467174,467174,461074,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_7,109,8,7,1,1,129900,478542,484642,484642,478542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_8,108,8,7,1,1,129900,494851,500951,500951,494851,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_9,107,8,7,1,1,129900,511889,517989,517989,511889,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_10,106,8,7,1,1,129900,528114,534214,534214,528114,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_11,105,8,7,1,1,129900,543743,549843,549843,543743,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_12,104,8,7,1,1,129900,560230,566330,566330,560230,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_13,103,8,7,1,1,129900,576604,582704,582704,576604,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_14,102,8,7,1,1,129900,593000,599100,599100,593000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_15,101,8,7,1,1,129900,610233,616333,616333,610233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_16,100,8,7,1,1,129900,626867,632967,632967,626867,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_17,99,8,7,1,1,129900,643000,649100,649100,643000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_18,98,8,7,1,1,129900,659679,665779,665779,659679,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_19,97,8,7,1,1,129900,676371,682471,682471,676371,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_20,96,8,7,1,1,129900,692642,698742,698742,692642,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_21,95,8,7,1,1,129900,710179,716279,716279,710179,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_22,94,8,7,1,1,129900,725917,732017,732017,725917,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_23,93,8,7,1,1,129900,741475,747575,747575,741475,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_1,92,8,7,1,1,129900,757975,764075,764075,757975,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_2,91,8,7,1,1,129900,773533,779633,779633,773533,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_3,90,8,7,1,1,129900,790662,796762,796762,790662,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_4,89,8,7,1,1,129900,807417,813517,813517,807417,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_5,88,8,7,1,1,129900,823966,830066,830066,823966,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_6,87,8,7,1,1,129900,840025,846125,846125,840025,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_7,86,8,7,1,1,129900,856492,862592,862592,856492,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_8,85,8,7,1,1,129900,872363,878463,878463,872363,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_9,84,8,7,1,1,129900,889313,895413,895413,889313,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_10,83,8,7,1,1,129900,905333,911433,911433,905333,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_11,82,8,7,1,1,129900,922842,928942,928942,922842,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_12,81,8,7,1,1,129900,939588,945688,945688,939588,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_13,80,8,7,1,1,129900,955439,961539,961539,955439,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_14,79,8,7,1,1,129900,971572,977672,977672,971572,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_15,78,8,7,1,1,129900,987881,993981,993981,987881,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_16,77,8,7,1,1,129900,1003981,1010081,1010081,1003981,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_17,76,8,7,1,1,129900,1021500,1027600,1027600,1021500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_18,75,8,7,1,1,129900,1037899,1043999,1043999,1037899,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_19,74,8,7,1,1,129900,1054258,1060358,1060358,1054258,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_20,73,8,7,1,1,129900,1071046,1077146,1077146,1071046,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_21,72,8,7,1,1,129900,1087092,1093192,1093192,1087092,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_22,71,8,7,1,1,129900,1103500,1109600,1109600,1103500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_23,70,8,7,1,1,129900,1119409,1125509,1125509,1119409,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_1,69,8,7,1,1,173300,200,6300,6300,200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_2,68,8,7,1,1,173300,16100,22200,22200,16100,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_3,67,8,7,1,1,173300,33779,39879,39879,33779,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_4,66,8,7,1,1,173300,50418,56518,56518,50418,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_5,65,8,7,1,1,173300,67500,73600,73600,67500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_6,64,8,7,1,1,173300,83273,89373,89373,83273,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_7,63,8,7,1,1,173300,99077,105177,105177,99077,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_8,62,8,7,1,1,173300,117098,123198,123198,117098,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_9,61,8,7,1,1,173300,132210,138310,138310,132210,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_10,60,8,7,1,1,173300,148898,154998,154998,148898,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_11,59,8,7,1,1,173300,165586,171686,171686,165586,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_12,58,8,7,1,1,173300,181907,188007,188007,181907,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_13,57,8,7,1,1,173300,198424,204524,204524,198424,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_14,56,8,7,1,1,173300,216082,222182,222182,216082,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_15,55,8,7,1,1,173300,231523,237623,237623,231523,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_16,54,8,7,1,1,173300,248477,254577,254577,248477,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_17,53,8,7,1,1,173300,264500,270600,270600,264500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_18,52,8,7,1,1,173300,280690,286790,286790,280690,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_19,51,8,7,1,1,173300,297236,303336,303336,297236,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_20,50,8,7,1,1,173300,314219,320319,320319,314219,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_21,49,8,7,1,1,173300,330615,336715,336715,330615,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_22,48,8,7,1,1,173300,347152,353252,353252,347152,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_23,47,8,7,1,1,173300,362668,368768,368768,362668,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_1,46,8,7,1,1,173300,379698,385798,385798,379698,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_2,45,8,7,1,1,173300,395986,402086,402086,395986,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_3,44,8,7,1,1,173300,412432,418532,418532,412432,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_4,43,8,7,1,1,173300,429820,435920,435920,429820,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_5,42,8,7,1,1,173300,445874,451974,451974,445874,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_6,41,8,7,1,1,173300,461074,467174,467174,461074,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_7,40,8,7,1,1,173300,478542,484642,484642,478542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_8,39,8,7,1,1,173300,494851,500951,500951,494851,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_9,38,8,7,1,1,173300,511889,517989,517989,511889,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_10,37,8,7,1,1,173300,528114,534214,534214,528114,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_11,36,8,7,1,1,173300,543743,549843,549843,543743,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_12,35,8,7,1,1,173300,560230,566330,566330,560230,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_13,34,8,7,1,1,173300,576604,582704,582704,576604,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_14,33,8,7,1,1,173300,593000,599100,599100,593000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_15,32,8,7,1,1,173300,610233,616333,616333,610233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_16,31,8,7,1,1,173300,626867,632967,632967,626867,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_17,30,8,7,1,1,173300,643000,649100,649100,643000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_18,29,8,7,1,1,173300,659679,665779,665779,659679,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_19,28,8,7,1,1,173300,676371,682471,682471,676371,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_20,27,8,7,1,1,173300,692642,698742,698742,692642,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_21,26,8,7,1,1,173300,710179,716279,716279,710179,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_22,25,8,7,1,1,173300,725917,732017,732017,725917,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_23,24,8,7,1,1,173300,741475,747575,747575,741475,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_1,23,8,7,1,1,173300,757975,764075,764075,757975,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_2,22,8,7,1,1,173300,773533,779633,779633,773533,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_3,21,8,7,1,1,173300,790662,796762,796762,790662,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_4,20,8,7,1,1,173300,807417,813517,813517,807417,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_5,19,8,7,1,1,173300,823966,830066,830066,823966,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_6,18,8,7,1,1,173300,840025,846125,846125,840025,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_7,17,8,7,1,1,173300,856492,862592,862592,856492,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_8,16,8,7,1,1,173300,872363,878463,878463,872363,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_9,15,8,7,1,1,173300,889313,895413,895413,889313,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_10,14,8,7,1,1,173300,905333,911433,911433,905333,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_11,13,8,7,1,1,173300,922842,928942,928942,922842,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_12,12,8,7,1,1,173300,939588,945688,945688,939588,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_13,11,8,7,1,1,173300,955439,961539,961539,955439,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_14,10,8,7,1,1,173300,971572,977672,977672,971572,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_15,9,8,7,1,1,173300,987881,993981,993981,987881,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_16,8,8,7,1,1,173300,1003981,1010081,1010081,1003981,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_17,7,8,7,1,1,173300,1021500,1027600,1027600,1021500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_18,6,8,7,1,1,173300,1037899,1043999,1043999,1037899,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_19,5,8,7,1,1,173300,1054258,1060358,1060358,1054258,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_20,4,8,7,1,1,173300,1071046,1077146,1077146,1071046,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_21,3,8,7,1,1,173300,1087092,1093192,1093192,1087092,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_22,2,8,7,1,1,173300,1103500,1109600,1109600,1103500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_23,1,8,7,1,1,173300,1119409,1125509,1125509,1119409,77000,417100,358300,101000,87000,,,,,,,
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
2b40314
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,250,1000,1000,80,60,50,10,1000,0,0
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
AXIS,,L2_上下轴,UpDown_Axis,2,COM1,,300,400,400,400,400,400,10,1000,0,0
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
AXIS,,L3_进出轴,InOut_Axis,3,COM1,,100,300,300,20,60,200,10,1000,0,0
DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
AXIS,,L4_压紧轴,Comp_Axis,4,COM1,,100,300,300,20,60,200,10,1000,0,0
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
,,,,,,,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,,,,,,,
DI,L侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_2,0,L侧料盘检测1(识别区),X21,DI-21,0,
PRO,,L2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,,,,,,
DI,L侧料盘检测2(识别区),TrayCheck_2,1,PRO_AOI_IP_2,0,L侧料盘检测2(识别区),X22,DI-22,0,
PRO,,L2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,,,,,,
DI,L侧料盘检测3(识别区),TrayCheck_3,2,PRO_AOI_IP_2,0,L侧料盘检测3(识别区),X23,DI-23,0,
PRO,,L1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,,,,,,
DI,L侧料盘检测4(识别区),TrayCheck_4,3,PRO_AOI_IP_2,0,L侧料盘检测4(识别区),X24,DI-24,0,
PRO,,L3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
DI,L侧入料口移门关闭端,EntranceDoor_Close,4,PRO_AOI_IP_2,0,L侧入料口移门关闭端,X25,DI-25,0,
PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
DI,L侧入料口移门打开端,EntranceDoor_Open,5,PRO_AOI_IP_2,0,L侧入料口移门打开端,X26,DI-26,0,
PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,180000,,,,,,,,,,,,
DI,L侧线体入料口检测,LineIn_Check,6,PRO_AOI_IP_2,0,L侧线体入料口检测,X27,DI-27,0,
PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;,,,,,,,,,,,,
DI,L侧线体取料位检测,LineTake_Check,7,PRO_AOI_IP_2,0,L侧线体取料位检测,X28,DI-28,0,
,,,,,,,,,,,,,,,,
DI,L侧料叉压紧确认检测,Compress_Check,8,PRO_AOI_IP_2,0,L侧料叉压紧确认检测,X29,DI-29,0,
PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000,,,,,,,,,,,,
DI,L侧NG料口料盘检测,NGTrayCheck,9,PRO_AOI_IP_2,0,L侧NG料口料盘检测,X30,DI-30,0,
PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000,,,,,,,,,,,,
DI,L侧NG料口升降门上升端,NGDoowCylinder_Up,10,PRO_AOI_IP_2,0,L侧NG料口升降门上升端,X31,DI-31,0,
PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900,,,,,,,,,,,,
DI,L侧NG料口升降门下降端,NGDoorCylinder_Down,11,PRO_AOI_IP_2,0,L侧NG料口升降门下降端,X32,DI-32,0,
PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800,,,,,,,,,,,,
DI,L侧顶升装置上升端,TopCylinder_Up,12,PRO_AOI_IP_2,0,L侧顶升装置上升端,X33,DI-33,0,
PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000,,,,,,,,,,,,
DI,L侧顶升装置下降端,TopCylinder_Down,13,PRO_AOI_IP_2,0,L侧顶升装置下降端,X34,DI-34,0,
,,,,,,,,,,,,,,,,
DI,L侧定位装置上升端,LocationCylinder_Up,14,PRO_AOI_IP_2,0,L侧定位装置上升端,X35,DI-35,0,
PRO,,L2_上下轴_P1速度,UpDownAxis_P1_Speed,600,,,,,,,,,,,,
DI,L侧定位装置下降端,LocationCylinder_Down,15,PRO_AOI_IP_2,0,L侧定位装置下降端,X36,DI-36,0,
PRO,,L2_上下轴_P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
,,,,,,,,,,
PRO,,L2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
DO,L侧料仓运转ON,Run_Signal,0,PRO_AOI_IP_2,0,L侧料仓运转ON,Y21,DO-21,0,
PRO,,L2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
DO,L侧轴2刹车电源ON,Axis_Brake,1,PRO_AOI_IP_2,0,L侧轴2刹车电源ON,Y22,DO-22,0,
PRO,,L2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
DO,L侧相机光源ON,Camera_Led,2,PRO_AOI_IP_2,0,L侧相机光源ON,Y23,DO-23,0,
PRO,,L2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
DO,L侧入料口移门关闭,EntranceDoor_Close,3,PRO_AOI_IP_2,0,L侧入料口移门关闭,Y24,DO-24,0,
PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,600,,,,,,,,,,,,
DO,L侧入料口移门打开,EntranceDoor_Open,4,PRO_AOI_IP_2,0,L侧入料口移门打开,Y25,DO-25,0,
PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,600,,,,,,,,,,,,
DO,L侧线体正转,Line_Run,5,PRO_AOI_IP_2,0,L侧线体正转,Y26,DO-26,0,
PRO,,L1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
DO,L侧线体反转,Line_BackRun,6,PRO_AOI_IP_2,0,L侧线体反转,Y27,DO-27,0,
PRO,,L1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
DO,L侧料仓吹气SOL,StartOrStopBlow,7,PRO_AOI_IP_2,0,L侧料仓吹气SOL,Y28,DO-28,0,
PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,300,,,,,,,,,,,,
DO,L侧NG料口升降门上升SOL,NGDoowCylinder_Up,8,PRO_AOI_IP_2,0,L侧NG料口升降门上升SOL,Y29,DO-29,0,
PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,300,,,,,,,,,,,,
DO,L侧NG料口升降门下降SOL,NGDoorCylinder_Down,9,PRO_AOI_IP_2,0,L侧NG料口升降门下降SOL,Y30,DO-30,0,
PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,300,,,,,,,,,,,,
DO,L侧顶升装置上升SOL,TopCylinder_Up,10,PRO_AOI_IP_2,0,L侧顶升装置上升SOL,Y31,DO-31,0,
PRO,,L4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
DO,L侧顶升装置下降SOL,TopCylinder_Down,11,PRO_AOI_IP_2,0,L侧顶升装置下降SOL,Y32,DO-32,0,
PRO,,L4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
DO,L侧定位装置上升SOL,LocationCylinder_Up,12,PRO_AOI_IP_2,0,L侧定位装置上升SOL,Y33,DO-33,0,
PRO,,L4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
DO,L侧定位装置下降SOL,LocationCylinder_Down,13,PRO_AOI_IP_2,0,L侧定位装置下降SOL,Y34,DO-34,0,
,,,,,,,,,,,,,,,,
,,,14,PRO_AOI_IP_2,0,,Y35,DO-35,0,
PRO,,L2_上下轴_P101速度,UpDownAxis_P101_Speed,600,,,,,,,,,,,,
,,,15,PRO_AOI_IP_2,0,,Y36,DO-36,0,
PRO,,L2_上下轴_P102速度,UpDownAxis_P102_Speed,600,,,,,,,,,,,,
,,,,,,,,,,
PRO,,L3_进出轴_P101速度,InOutAxis_P101_Speed,300,,,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM3,0,,,,,
PRO,,L1_旋转轴_P101速度,MiddleAxis_P101_Speed,300,,,,,,,,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM3,0,,,,,
,,,,,,,,,,,,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM3,0,,,,,
PRO,,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM3,0,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P11-NG放料低点,UpDownAxis_P11,1000000,,,,,,,
PRO,升降轴(轴2)P12-NG放料高点缓冲点,UpDownAxis_P12,1023000,,,,,,,
PRO,旋转轴(轴1)P11-NG放料点,MiddleAxis_P11,306900,,,,,,,
PRO,进出轴(轴3)P2-扫码放料点,InOutAxis_P2_Position,140800,,,,,,,
PRO,进出轴(轴3)P11-NG放料点,InOutAxis_P11_Position,148000,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,
PRO,升降轴(轴2)P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,
PRO,旋转轴(轴1)P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,
PRO,进出轴(轴3)P1待机点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机点,CompAxis_P1_Position,140000,,,,,,,
PRO,压紧轴(轴4)P3最大压紧前点,CompAxis_Max_P3,180000,,,,,,,
PRO,压紧轴(轴4)P4目标压紧点,CompAxis_P4_Position,315000,,,,,,,
PRO,压紧轴(轴4)非七寸盘压紧前点相对压紧点的位置,CompAxis_P3_P2_Value,-90000,,,,,,,
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
PRO,压紧轴(轴4)压紧确认信号收到之后下降的位置,CompAxis_Down_Position,77500,,,,,,,
PRO,压紧轴(轴4)P2压紧点范围对应值(8=1000;2000#),CompAxis_P2_List,8=385001;424000#12=383001;385000#16=379001;383000#24=360001;368000#32=315001;330000#48=200000;231560#20=368001;379000#28=330001;360000#36=298001;315000#40=256101;298000#44=231561;256100#,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,300,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,400,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,200,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,200,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,600,,,,,, ,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,600,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,300,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,300,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,300,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,400,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,400,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,400,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,600,,,,,, ,
PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,600,,,,,,,
PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,300,,,,,,,
PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,300,,,,,,,
PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,300,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,
,,,,,,,,,,
PRO,AGV小车站号名称,AgvNodeName,B1,,,,,,,
,,,,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, ,
PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
,,,,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.104.101,,,,,,,
PRO,是否是调试状态,IsInDebug,0,,,,,,,
PRO,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2#packing-3#packing-4#packing-5#packing-6#packing-7#packing-8,,,,,,,
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
查看文件 @
2b40314
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
,,,,,,,,,,
DI,R侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_3,0,R侧料盘检测1(识别区),X41,DI-41,0,
DI,R侧料盘检测2(识别区),TrayCheck_2,1,PRO_AOI_IP_3,0,R侧料盘检测2(识别区),X42,DI-42,0,
DI,R侧料盘检测3(识别区),TrayCheck_3,2,PRO_AOI_IP_3,0,R侧料盘检测3(识别区),X43,DI-43,0,
DI,R侧料盘检测4(识别区),TrayCheck_4,3,PRO_AOI_IP_3,0,R侧料盘检测4(识别区),X44,DI-44,0,
DI,R侧入料口移门关闭端,EntranceDoor_Close,4,PRO_AOI_IP_3,0,R侧入料口移门关闭端,X45,DI-45,0,
DI,R侧入料口移门打开端,EntranceDoor_Open,5,PRO_AOI_IP_3,0,R侧入料口移门打开端,X46,DI-46,0,
DI,R侧线体入料口检测,LineIn_Check,6,PRO_AOI_IP_3,0,R侧线体入料口检测,X47,DI-47,0,
DI,R侧线体取料位检测,LineTake_Check,7,PRO_AOI_IP_3,0,R侧线体取料位检测,X48,DI-48,0,
DI,R侧料叉压紧确认检测,Compress_Check,8,PRO_AOI_IP_3,0,R侧料叉压紧确认检测,X49,DI-49,0,
DI,R侧NG料口料盘检测,NGTrayCheck,9,PRO_AOI_IP_3,0,R侧NG料口料盘检测,X50,DI-50,0,
DI,R侧NG料口升降门上升端,NGDoowCylinder_Up,10,PRO_AOI_IP_3,0,R侧NG料口升降门上升端,X51,DI-51,0,
DI,R侧NG料口升降门下降端,NGDoorCylinder_Down,11,PRO_AOI_IP_3,0,R侧NG料口升降门下降端,X52,DI-52,0,
DI,R侧顶升装置上升端,TopCylinder_Up,12,PRO_AOI_IP_3,0,R侧顶升装置上升端,X53,DI-53,0,
DI,R侧顶升装置下降端,TopCylinder_Down,13,PRO_AOI_IP_3,0,R侧顶升装置下降端,X54,DI-54,0,
DI,R侧定位装置上升端,LocationCylinder_Up,14,PRO_AOI_IP_3,0,R侧定位装置上升端,X55,DI-55,0,
DI,R侧定位装置下降端,LocationCylinder_Down,15,PRO_AOI_IP_3,0,R侧定位装置下降端,X56,DI-56,0,
,,,,,,,,,,
DO,R侧料仓运转ON,Run_Signal,0,PRO_AOI_IP_3,0,R侧料仓运转ON,Y41,DO-41,0,
DO,R侧轴2刹车电源ON,Axis_Brake,1,PRO_AOI_IP_3,0,R侧轴2刹车电源ON,Y42,DO-42,0,
DO,R侧相机光源ON,Camera_Led,2,PRO_AOI_IP_3,0,R侧相机光源ON,Y43,DO-43,0,
DO,R侧入料口移门关闭,EntranceDoor_Close,3,PRO_AOI_IP_3,0,R侧入料口移门关闭,Y44,DO-44,0,
DO,R侧入料口移门打开,EntranceDoor_Open,4,PRO_AOI_IP_3,0,R侧入料口移门打开,Y45,DO-45,0,
DO,R侧线体正转,Line_Run,5,PRO_AOI_IP_3,0,R侧线体正转,Y46,DO-46,0,
DO,R侧线体反转,Line_BackRun,6,PRO_AOI_IP_3,0,R侧线体反转,Y47,DO-47,0,
DO,R侧料仓吹气SOL,StartOrStopBlow,7,PRO_AOI_IP_3,0,R侧料仓吹气SOL,Y48,DO-48,0,
DO,R侧NG料口升降门上升SOL,NGDoowCylinder_Up,8,PRO_AOI_IP_3,0,R侧NG料口升降门上升SOL,Y49,DO-49,0,
DO,R侧NG料口升降门下降SOL,NGDoorCylinder_Down,9,PRO_AOI_IP_3,0,R侧NG料口升降门下降SOL,Y50,DO-50,0,
DO,R侧顶升装置上升SOL,TopCylinder_Up,10,PRO_AOI_IP_3,0,R侧顶升装置上升SOL,Y51,DO-51,0,
DO,R侧顶升装置下降SOL,TopCylinder_Down,11,PRO_AOI_IP_3,0,R侧顶升装置下降SOL,Y52,DO-52,0,
DO,R侧定位装置上升SOL,LocationCylinder_Up,12,PRO_AOI_IP_3,0,R侧定位装置上升SOL,Y53,DO-53,0,
DO,R侧定位装置下降SOL,LocationCylinder_Down,13,PRO_AOI_IP_3,0,R侧定位装置下降SOL,Y54,DO-54,0,
,,,14,PRO_AOI_IP_3,0,,Y55,DO-55,0,
,,,15,PRO_AOI_IP_3,0,,Y56,DO-56,0,
,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM4,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM4,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM4,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM4,0,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P11-NG放料低点,UpDownAxis_P11,1000000,,,,,,,
PRO,升降轴(轴2)P12-NG放料高点缓冲点,UpDownAxis_P12,1019000,,,,,,,
PRO,旋转轴(轴1)P11-NG放料点,MiddleAxis_P11,307300,,,,,,,
PRO,进出轴(轴3)P2-扫码放料点,InOutAxis_P2_Position,140000,,,,,,,
PRO,进出轴(轴3)P11-NG放料点,InOutAxis_P11_Position,148000,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1待机点/扫码放料低点,UpDownAxis_P1,583000,,,,,,,
PRO,升降轴(轴2)P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,
PRO,旋转轴(轴1)P1待机点/扫码放料点,MiddleAxis_P1,307600,,,,,,,
PRO,进出轴(轴3)P1待机点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机点,CompAxis_P1_Position,140000,,,,,,,
PRO,压紧轴(轴4)P3最大压紧前点,CompAxis_Max_P3,180000,,,,,,,
PRO,压紧轴(轴4)P4目标压紧点,CompAxis_P4_Position,317000,,,,,,,
PRO,压紧轴(轴4)非七寸盘压紧前点相对压紧点的位置,CompAxis_P3_P2_Value,-100000,,,,,,,
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
PRO,压紧轴(轴4)压紧确认信号收到之后下降的位置,CompAxis_Down_Position,81000,,,,,,,
PRO,压紧轴(轴4)P2压紧点范围对应值(8=1000;2000#),CompAxis_P2_List,8=419201;421200#12=384501;419200#16=379501;384500#24=358001;366000#32=308001;318000#48=200000;234000#44=234001;274000#40=274001;287500#36=287501;308000#28=318001;358000#20=366001;379500#,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,300,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,400,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,200,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,200,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,600,,,,,, ,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,600,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,200,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,200,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,300,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,300,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,300,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,300,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,300,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,800,,,,,, ,
PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,800,,,,,,,
PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,300,,,,,,,
PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,180,,,,,,,
PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,300,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,
,,,,,,,,, ,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
,,,,,,,,,,
PRO,AGV小车站号名称,AgvNodeName,B2,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, ,
PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,
,,,,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546940),,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.104.102,,,,,,,
PRO,是否是调试状态,IsInDebug,0,,,,,,,
PRO,所有料仓的CID(用#号分隔),All_CIDs,packing-2#packing-3#packing-4#packing-5#packing-6#packing-7#packing-8#packing-1,,,,,,,
\ No newline at end of file
\ No newline at end of file
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,R1_旋转轴,Middle_Axis,1,COM2,,250,1000,1000,80,60,50,10,1000,0,0
AXIS,,R2_上下轴,UpDown_Axis,2,COM2,,300,400,400,400,400,400,10,1000,0,0
AXIS,,R3_进出轴,InOut_Axis,3,COM2,,100,300,300,20,60,200,10,1000,0,0
AXIS,,R4_压紧轴,Comp_Axis,4,COM2,,100,300,300,20,60,200,10,1000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,,,,,,
PRO,,R2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,,,,,,
PRO,,R1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,,,,,,
PRO,,R3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
PRO,,R4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
PRO,,R4_压紧轴_P3压紧前点,CompAxis_P3,180000,,,,,,,,,,,,
PRO,,R4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000,,,,,,,,,,,,
PRO,,R2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000,,,,,,,,,,,,
PRO,,R1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900,,,,,,,,,,,,
PRO,,R3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800,,,,,,,,,,,,
PRO,,R3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1速度,UpDownAxis_P1_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
PRO,,R2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,,R2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P7速度,UpDownAxis_P7_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P8速度,UpDownAxis_P8_Speed,600,,,,,,,,,,,,
PRO,,R1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P1速度,InOutAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P2速度,InOutAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P3速度,InOutAxis_P3_Speed,300,,,,,,,,,,,,
PRO,,R4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P101速度,UpDownAxis_P101_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P102速度,UpDownAxis_P102_Speed,600,,,,,,,,,,,,
PRO,,R3_进出轴_P101速度,InOutAxis_P101_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P101速度,MiddleAxis_P101_Speed,300,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
source/DeviceLibrary/StoreConfig/StoreConfig.csv
查看文件 @
2b40314
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,IO模块对应的DI数量,IO_DILength,192.168.104.21#16;192.168.104.22#16;192.168.104.23#16,,,,,
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0
PRO,IO模块对应的DO数量,IO_DOLength,192.168.104.21#16;192.168.104.22#16;192.168.104.23#16,,,,,
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,0
PRO,第一块IO模块IP,PRO_AOI_IP_1,192.168.104.21,,,,,,,
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
PRO,第二块IO模块IP,PRO_AOI_IP_2,192.168.104.22,,,,,,,
,,,,,,,,,,,,,,,,
PRO,第三块IO模块IP,PRO_AOI_IP_3,192.168.104.23,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8,,,,,,,,,,,,
,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8,,,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
PRO,,第一块IO模块IP,PRO_AIO_IP_1,192.168.200.21,,,,,,,,,,,,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
PRO,,第二块IO模块IP,PRO_AIO_IP_2,192.168.200.22,,,,,,,,,,,,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
PRO,,第三块IO模块IP,PRO_AIO_IP_3,192.168.200.23,,,,,,,,,,,,
DI,L侧门禁,DoorLimit_L,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
,,,,,,,,,,,,,,,,
DI,R侧门禁,DoorLimit_R,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
,,,,,,,,,,,,,,,,
,,,5,PRO_AOI_IP_1,0,气压检测,X06,DI-06,0,
DI,0,急停,SuddenStop_BTN,0,PRO_AIO_IP_1,X01,,,,,,,,,,
,,,6,PRO_AOI_IP_1,0,进料口门上升端,X07,DI-07,0,
DI,0,复位,Reset_BTN,1,PRO_AIO_IP_1,X02,,,,,,,,,,
,,,7,PRO_AOI_IP_1,0,进料口门下降端,X08,DI-08,0,
DI,0,启动,AutoRun_BTN,2,PRO_AIO_IP_1,X03,,,,,,,,,,
,,,8,PRO_AOI_IP_1,0,,X09,DI-09,0,
DI,0,气压检测,Airpressure_Check,3,PRO_AIO_IP_1,X04,,,,,,,,,,
,,,9,PRO_AOI_IP_1,0,,X10,DI-10,0,
DI,0,线体入口料串检测,Line_InCheck,4,PRO_AIO_IP_1,X05,,,,,,,,,,
,,,10,PRO_AOI_IP_1,0,,X11,DI-11,0,
DI,0,线体上料等待区检测,Line_WaitCheck,5,PRO_AIO_IP_1,X06,,,,,,,,,,
,,,11,PRO_AOI_IP_1,0,,X12,DI-12,0,
DI,0,线体上料区料串检测,Line_WorkCheck,6,PRO_AIO_IP_1,X07,,,,,,,,,,
,,,12,PRO_AOI_IP_1,0,,X13,DI-13,0,
DI,0,料串识别检测1,ShelfCheck1,7,PRO_AIO_IP_1,X08,,,,,,,,,,
,,,13,PRO_AOI_IP_1,0,,X14,DI-14,0,
DI,0,料串识别检测2,ShelfCheck2,8,PRO_AIO_IP_1,X09,,,,,,,,,,
,,,14,PRO_AOI_IP_1,0,,X15,DI-15,0,
DI,0,料串识别检测3,ShelfCheck3,9,PRO_AIO_IP_1,X10,,,,,,,,,,
,,,15,PRO_AOI_IP_1,0,,X16,DI-16,0,
DI,0,料串识别检测4,ShelfCheck4,10,PRO_AIO_IP_1,X11,,,,,,,,,,
,,,,,,,,,,
DI,0,线体后端料串堆积检测,Line_BufferCheck,11,PRO_AIO_IP_1,X12,,,,,,,,,,
DO,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,0,自动指示灯,Y01,DO-01,0,
DI,0,线体后端料串检测,Line_OutCheck,12,PRO_AIO_IP_1,X13,,,,,,,,,,
DO,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,0,故障指示灯,Y02,DO-02,0,
DI,0,线体顶升气缸上升端,TopCylinder_Up,13,PRO_AIO_IP_1,X14,,,,,,,,,,
DO,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,0,待机指示灯,Y03,DO-03,0,
DI,0,线体顶升气缸下降端,TopCylinder_Down,14,PRO_AIO_IP_1,X15,,,,,,,,,,
DO,报警蜂鸣器,Alarm_Buzzer,3,PRO_AOI_IP_1,0,报警蜂鸣器,Y04,DO-04,0,
DI,0,取料提升机构前进端,Hoister_Forward,15,PRO_AIO_IP_1,X16,,,,,,,,,,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
,,,,,,,,,,,,,,,,
,,,5,PRO_AOI_IP_1,0,,Y06,DO-06,0,
DO,0,自动指示灯,AutoRun_HddLed,0,PRO_AIO_IP_1,Y01,,,,,,,,,,
,,,6,PRO_AOI_IP_1,0,,Y07,DO-07,0,
DO,0,故障指示灯,Alarm_HddLed,1,PRO_AIO_IP_1,Y02,,,,,,,,,,
,,,7,PRO_AOI_IP_1,0,,Y08,DO-08,0,
DO,0,待机指示灯,RunSign_HddLed,2,PRO_AIO_IP_1,Y03,,,,,,,,,,
,,,8,PRO_AOI_IP_1,0,,Y09,DO-09,0,
DO,0,报警蜂鸣器,Alarm_Buzzer,3,PRO_AIO_IP_1,Y04,,,,,,,,,,
,,,9,PRO_AOI_IP_1,0,,Y10,DO-10,0,
DO,1,左侧料口物料指示灯绿色,DoorLed_Green,4,PRO_AIO_IP_1,Y05,,,,,,,,,,
,,,10,PRO_AOI_IP_1,0,,Y11,DO-11,0,
DO,1,左侧料口物料指示灯红色,DoorLed_Red,5,PRO_AIO_IP_1,Y06,,,,,,,,,,
,,,11,PRO_AOI_IP_1,0,,Y12,DO-12,0,
DO,2,右侧料口物料指示灯绿色,DoorLed_Green,6,PRO_AIO_IP_1,Y07,,,,,,,,,,
,,,12,PRO_AOI_IP_1,0,,Y13,DO-13,0,
DO,2,右侧料口物料指示灯红色,DoorLed_Red,7,PRO_AIO_IP_1,Y08,,,,,,,,,,
,,,13,PRO_AOI_IP_1,0,,Y14,DO-14,0,
DO,0,取料提升机构电机前进,Hoister_Forward,8,PRO_AIO_IP_1,Y09,,,,,,,,,,
,,,14,PRO_AOI_IP_1,0,,Y15,DO-15,0,
DO,0,取料提升机构电机后退,Hoister_Back,9,PRO_AIO_IP_1,Y10,,,,,,,,,,
,,,15,PRO_AOI_IP_1,0,,Y16,DO-16,0,
DO,0,相机光源ON,Camera_Led,10,PRO_AIO_IP_1,Y11,,,,,,,,,,
,,,,,,,,,,
DO,1,左侧料仓升降轴刹车ON,UpdownAxis_Break,11,PRO_AIO_IP_1,Y12,,,,,,,,,,
,,,,,,,,,,
DO,2,右侧料仓升降轴刹车ON,UpdownAxis_Break,12,PRO_AIO_IP_1,Y13,,,,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
DO,0,提升机构升降轴刹车ON,BatchAxis_Break,13,PRO_AIO_IP_1,Y14,,,,,,,,,,
DO,0,移栽机构上下轴刹车ON,MoveAxis_Break,14,PRO_AIO_IP_1,Y15,,,,,,,,,,
DO,1,左侧料仓伺服ON,Axis_Run,15,PRO_AIO_IP_1,Y16,,,,,,,,,,
,,,,,,, ,,,,,,,,,
DI,0,取料提升机构后退端,Hoister_Back,0,PRO_AIO_IP_2,X21, ,,,,,,,,,
DI,0,提升机构料盘检测,BatchAxis_Check,1,PRO_AIO_IP_2,X22,,,,,,,,,,
DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AIO_IP_2,X23,,,,,,,,,,
DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AIO_IP_2,X24,,,,,,,,,,
DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AIO_IP_2,X25,,,,,,,,,,
DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AIO_IP_2,X26,,,,,,,,,,
DI,1,左侧出料口门上升端,OutDoor_Up,6,PRO_AIO_IP_2,X27,,,,,,,,,,
DI,1,左侧出料口门下降端,OutDoor_Down,7,PRO_AIO_IP_2,X28,,,,,,,,,,
DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AIO_IP_2,X29,,,,,,,,,,
DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AIO_IP_2,X30,,,,,,,,,,
DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,,,,,,,,,,
DI,2,右侧出料口门上升端,OutDoor_Up,12,PRO_AIO_IP_2,X33,,,,,,,,,,
DI,2,右侧出料口门下降端,OutDoor_Down,13,PRO_AIO_IP_2,X34,,,,,,,,,,
DI,2,右侧料叉料盘检测,OutDoor_Check,14,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,Fixture_Check,15,PRO_AIO_IP_2,X36,,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,2,右侧料仓伺服ON,Axis_Run,0,PRO_AIO_IP_2,Y21,,,,,,,,,,
DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AIO_IP_2,Y22,,,,,,,,,,
DO,0,线体皮带正转,Line_Run,2,PRO_AIO_IP_2,Y23,,,,,,,,,,
DO,0,线体皮带反转,Line_BackRun,3,PRO_AIO_IP_2,Y24,,,,,,,,,,
DO,0,线体等待区阻挡1上升,Line_Stop1_Wait,4,PRO_AIO_IP_2,Y25,,,,,,,,,,
DO,0,线体上料区阻挡2上升,Line_Stop2_Work,5,PRO_AIO_IP_2,Y26,,,,,,,,,,
DO,0,线体出料区阻挡3上升,Line_Stop3_Buffer,6,PRO_AIO_IP_2,Y27,,,,,,,,,,
DO,0,线体放行阻挡4上升,Line_Stop4_Out,7,PRO_AIO_IP_2,Y28,,,,,,,,,,
DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AIO_IP_2,Y29,,,,,,,,,,
DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AIO_IP_2,Y30,,,,,,,,,,
DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AIO_IP_2,Y31,,,,,,,,,,
DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AIO_IP_2,Y32,,,,,,,,,,
DO,1,左侧出料口门上升SOL,OutDoor_Up,12,PRO_AIO_IP_2,Y33,,,,,,,,,,
DO,1,左侧出料口门下降SOL,OutDoor_Down,13,PRO_AIO_IP_2,Y34,,,,,,,,,,
DO,2,右侧出料口门上升SOL,OutDoor_Up,14,PRO_AIO_IP_2,Y35,,,,,,,,,,
DO,2,右侧出料口门下降SOL,OutDoor_Down,15,PRO_AIO_IP_2,Y36,,,,,,,,,,
,,,,,,,,,,,,,,,,
DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AIO_IP_3,X41,,,,,,,,,,
DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AIO_IP_3,X42,,,,,,,,,,
,0,,,2,PRO_AIO_IP_3,X43,,,,,,,,,,
,0,,,3,PRO_AIO_IP_3,X44,,,,,,,,,,
,0,,,4,PRO_AIO_IP_3,X45,,,,,,,,,,
,0,,,5,PRO_AIO_IP_3,X46,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,X47,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,X48,,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,0,线体入口指示灯,LineIn_Led,0,PRO_AIO_IP_3,Y41,,,,,,,,,,
DO,0,线体出口指示灯,LineOut_Led,1,PRO_AIO_IP_3,Y42,,,,,,,,,,
DO,0,设备内部照明ON,Device_Led,2,PRO_AIO_IP_3,Y43,,,,,,,,,,
,0,,,3,PRO_AIO_IP_3,Y44,,,,,,,,,,
,0,,,4,PRO_AIO_IP_3,Y45,,,,,,,,,,
,0,,,5,PRO_AIO_IP_3,Y46,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,Y47,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,Y48,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,预警温度,WarnTemperate,80,,,,,,,,,,,,
PRO,,预警湿度,WarnHumidity,80,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,
PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,
PRO,,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,,
PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1,,,,,,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,,,,,,
source/DeviceLibrary/StoreConfig/shelfPosition_1.csv
deleted
100644 → 0
查看文件 @
6a9b44e
位置,优先级,高度,宽度,料仓ID,旋转轴位置P101,升降轴低点P101,升降轴高点P102,进出轴位置P101
191,8,8,7,1,309100,490000,507000,140000
192,7,8,7,1,309100,432000,448000,140000
193,6,8,7,1,309100,374000,392000,140000
194,5,8,7,1,309100,317000,334000,140000
195,4,8,7,1,309100,261000,278000,140000
196,3,8,7,1,309100,203000,220000,140000
197,2,8,7,1,309100,146000,163000,140000
198,1,8,7,1,309100,90000,108000,140000
\ No newline at end of file
\ No newline at end of file
source/DeviceLibrary/StoreConfig/shelfPosition_2.csv
deleted
100644 → 0
查看文件 @
6a9b44e
位置,优先级,高度,宽度,料仓ID,旋转轴位置P101,升降轴低点P101,升降轴高点P102,进出轴位置P101
201,8,8,7,2,308300,487000,506000,140000
202,7,8,7,2,308300,431500,450000,140000
203,6,8,7,2,308300,374000,389000,140000
204,5,8,7,2,308300,316000,333000,140000
205,4,8,7,2,308300,260000,276000,140000
206,3,8,7,2,308300,204000,219000,140000
207,2,8,7,2,308300,146000,163000,140000
208,1,8,7,2,308300,90000,107000,140000
\ No newline at end of file
\ No newline at end of file
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
2b40314
...
@@ -410,11 +410,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -410,11 +410,11 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
{
{
return
GetDIValue
(
configIO
.
IO_IP
,
configIO
.
SlaveID
,
configIO
.
GetIOAddr
());
return
GetDIValue
(
configIO
.
IO_IP
,
0
,
configIO
.
GetIOAddr
());
}
}
else
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DO
))
else
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DO
))
{
{
return
GetDOValue
(
configIO
.
IO_IP
,
configIO
.
SlaveID
,
configIO
.
GetIOAddr
());
return
GetDOValue
(
configIO
.
IO_IP
,
0
,
configIO
.
GetIOAddr
());
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
...
...
source/DeviceLibrary/device/IO/IOManager.cs
查看文件 @
2b40314
...
@@ -22,7 +22,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -22,7 +22,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO
configIo
=
GetDO
(
ioType
,
subType
);
ConfigIO
configIo
=
GetDO
(
ioType
,
subType
);
if
(
configIo
!=
null
)
if
(
configIo
!=
null
)
{
{
instance
.
WriteSingleDO
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
(),
ioValue
);
instance
.
WriteSingleDO
(
configIo
.
IO_IP
,
0
,
configIo
.
GetIOAddr
(),
ioValue
);
Thread
.
Sleep
(
1
);
Thread
.
Sleep
(
1
);
}
}
else
else
...
@@ -45,11 +45,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -45,11 +45,11 @@ namespace OnlineStore.DeviceLibrary
if
(
configIo
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
if
(
configIo
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
{
{
ioValue
=
instance
.
GetDIValue
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
());
ioValue
=
instance
.
GetDIValue
(
configIo
.
IO_IP
,
0
,
configIo
.
GetIOAddr
());
}
}
else
else
{
{
ioValue
=
instance
.
GetDOValue
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
());
ioValue
=
instance
.
GetDOValue
(
configIo
.
IO_IP
,
0
,
configIo
.
GetIOAddr
());
}
}
}
}
else
else
...
@@ -65,7 +65,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -65,7 +65,7 @@ namespace OnlineStore.DeviceLibrary
if
(
configIo
!=
null
)
if
(
configIo
!=
null
)
{
{
ioValue
=
instance
.
GetDOValue
(
configIo
.
IO_IP
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
());
ioValue
=
instance
.
GetDOValue
(
configIo
.
IO_IP
,
0
,
configIo
.
GetIOAddr
());
}
}
else
else
{
{
...
@@ -125,7 +125,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -125,7 +125,7 @@ namespace OnlineStore.DeviceLibrary
{
{
foreach
(
ConfigIO
io
in
DoList
)
foreach
(
ConfigIO
io
in
DoList
)
{
{
instance
.
WriteSingleDO
(
io
.
IO_IP
,
io
.
SlaveID
,
io
.
GetIOAddr
(),
IO_VALUE
.
LOW
);
instance
.
WriteSingleDO
(
io
.
IO_IP
,
0
,
io
.
GetIOAddr
(),
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
60
);
Thread
.
Sleep
(
60
);
}
}
}
}
...
...
source/DeviceLibrary/device/halcon/CodeManager - back.cs
deleted
100644 → 0
查看文件 @
6a9b44e
using
CodeLibrary
;
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.IO
;
using
System.Linq
;
using
System.Runtime.ExceptionServices
;
using
System.Text
;
using
System.Windows.Forms
;
namespace
OnlineStore.DeviceLibrary
{
public
class
CodeManager
{
public
static
List
<
string
>
codeTypeList
=
new
List
<
string
>();
public
static
List
<
string
>
balserNameList
=
new
List
<
string
>();
public
static
List
<
string
>
hikNameList
=
new
List
<
string
>();
private
static
char
spiltChar
=
'#'
;
/// <summary>
/// 初始化摄像机名称和二维码类型
/// </summary>
public
static
void
LoadConfig
()
{
string
codeStr
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
CodeType
);
codeTypeList
=
new
List
<
string
>();
HDLogUtil
.
LogName
=
"RollingLogFileAppender"
;
try
{
string
[]
codeArray
=
codeStr
.
Split
(
spiltChar
);
foreach
(
string
str
in
codeArray
)
{
if
(
str
.
Trim
().
Equals
(
""
))
{
continue
;
}
LogUtil
.
info
(
"加载到配置二维码类型:"
+
str
.
Trim
());
codeTypeList
.
Add
(
str
.
Trim
());
}
LoadCamera
(
false
);
CodeLibrary
.
HDCodeLearnHelper
.
LoadConfig
(
""
,
codeStr
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"解析摄像机配置出错:"
+
ex
.
StackTrace
);
}
}
private
static
void
LoadCamera
(
bool
isReLoad
)
{
if
(
isReLoad
)
{
try
{
CodeLibrary
.
HIKCamera
.
Instance
.
Load
();
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"加载HIK相机出错:"
+
ex
.
ToString
());
}
try
{
CodeLibrary
.
BaslerCamera
.
Instance
.
Load
();
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"加载Basler相机出错:"
+
ex
.
ToString
());
}
}
string
[]
names
=
CodeLibrary
.
HIKCamera
.
Instance
.
CameraName
;
if
(
names
!=
null
)
{
foreach
(
string
n
in
names
)
{
if
(!
hikNameList
.
Contains
(
n
))
{
hikNameList
.
Add
(
n
);
}
}
// hikNameList.AddRange(names);
foreach
(
string
name
in
hikNameList
)
{
LogUtil
.
info
(
"加载到HIK相机:"
+
name
);
}
}
names
=
CodeLibrary
.
BaslerCamera
.
Instance
.
CameraName
;
if
(
names
!=
null
)
{
foreach
(
string
n
in
names
)
{
if
(!
balserNameList
.
Contains
(
n
))
{
balserNameList
.
Add
(
n
);
}
}
// balserNameList.AddRange(names);
foreach
(
string
name
in
balserNameList
)
{
LogUtil
.
info
(
"加载到Balser相机:"
+
name
);
}
}
}
public
static
void
CloseCamera
()
{
BaslerCamera
.
Instance
.
Close
();
HIKCamera
.
Instance
.
Close
();
}
public
static
Bitmap
GetCamerImage
(
string
cameraName
)
{
Bitmap
bitm
=
null
;
try
{
if
(
balserNameList
.
Contains
(
cameraName
))
{
bool
result
=
BaslerCamera
.
Instance
.
Open
(
cameraName
);
LogUtil
.
info
(
"相机【"
+
cameraName
+
"】打开:"
+
result
+
""
);
if
(
result
)
{
BaslerCamera
.
Instance
.
GrabOne
();
bitm
=
BaslerCamera
.
Instance
.
Image
;
BaslerCamera
.
Instance
.
Close
();
}
else
{
LogUtil
.
error
(
"相机【"
+
cameraName
+
"】打开失败:"
+
BaslerCamera
.
Instance
.
ErrInfo
);
}
}
else
if
(
hikNameList
.
Contains
(
cameraName
))
{
bool
result
=
HIKCamera
.
Instance
.
Open
(
cameraName
);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
if
(
result
)
{
HIKCamera
.
Instance
.
GrabOne
();
bitm
=
HIKCamera
.
Instance
.
Image
;
HIKCamera
.
Instance
.
Close
();
}
else
{
LogUtil
.
error
(
"相机【"
+
cameraName
+
"】打开失败:"
+
HIKCamera
.
Instance
.
ErrInfo
);
}
}
else
{
LogUtil
.
info
(
"未找到相机【"
+
cameraName
+
"】无法获取图片"
);
//若未加载到相机,需要重新加载相机
if
(
balserNameList
.
Count
<=
0
&&
hikNameList
.
Count
<=
0
)
{
LogUtil
.
error
(
"获取图片时发现未加载到相机,重新加载相机"
);
LoadCamera
(
true
);
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"从相机【"
+
cameraName
+
"】获取图片出错:"
+
ex
.
ToString
());
}
return
bitm
;
}
private
static
int
codeCount
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
CodeCount
);
[
HandleProcessCorruptedStateExceptions
]
public
static
List
<
string
>
CameraScan
(
List
<
string
>
cameraList
,
string
deviceName
)
{
if
(
codeCount
<
1
)
{
codeCount
=
1
;
}
List
<
string
>
codeList
=
new
List
<
string
>();
//List<CodeInfo> allCodeList = new List<CodeInfo>();
if
(
cameraList
==
null
||
cameraList
.
Count
<=
0
)
{
return
codeList
;
}
try
{
foreach
(
string
cameraName
in
cameraList
)
{
if
(
cameraName
.
Trim
().
Equals
(
""
))
{
continue
;
}
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】开始打开相机获取图片"
);
using
(
Bitmap
bitmap
=
GetCamerImage
(
cameraName
))
{
if
(
bitmap
==
null
)
{
LogUtil
.
error
(
deviceName
+
" 【"
+
cameraName
+
"】获取图片失败,关闭相机"
);
CloseCamera
();
continue
;
}
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】获取图片完成,开始转换图片,并扫码"
);
System
.
Threading
.
Thread
.
Sleep
(
1
);
//转换托盘大概100-150ms,不打印日志
HalconDotNet
.
HObject
ho_Image
=
HDCodeHelper
.
Bitmap2HObjectBpp24
(
bitmap
);
// LogUtil.info(" 相机【" + cameraName + "】转换图片完成,开始扫码");
List
<
CodeInfo
>
cc
=
new
List
<
CodeInfo
>();
string
r
=
""
;
foreach
(
string
codeType
in
codeTypeList
)
{
//判断是否是一维码
if
(
codeType
.
ToLower
().
Equals
(
"barcode"
))
{
cc
=
HDCodeHelper
.
DecodeBarCode
(
ho_Image
);
}
else
{
cc
=
HDCodeHelper
.
DecodeCode
(
ho_Image
,
codeCount
,
GetCodeParamFilePath
(
codeType
),
codeType
);
}
foreach
(
CodeInfo
c
in
cc
)
{
string
str
=
CodeManager
.
ReplaceCode
(
c
.
CodeStr
);
codeList
.
Add
(
str
);
r
=
r
+
"##"
+
str
;
}
// LogUtil.debug(" 相机【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
}
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】扫码完成:"
+
r
);
ho_Image
.
Dispose
();
bitmap
.
Dispose
();
}
}
}
catch
(
AccessViolationException
e
)
{
LogUtil
.
error
(
deviceName
+
" 扫码出现AccessViolationException异常:"
+
e
.
ToString
());
GC
.
Collect
();
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
deviceName
+
" 扫码出错:"
+
ex
.
ToString
());
}
return
codeList
;
}
public
static
string
GetCodeParamFilePath
(
string
codePath
)
{
string
appPath
=
Application
.
StartupPath
;
string
path
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
CodeParamPath
);
string
filePath
=
path
+
codePath
+
".dcm"
;
if
(
File
.
Exists
(
filePath
))
{
return
filePath
;
}
else
{
return
""
;
}
}
/// <summary>
/// 处理接收后的二维码
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public
static
string
ReplaceCode
(
string
message
)
{
message
=
message
.
Trim
();
message
=
message
.
Replace
(
"\r"
,
""
);
message
=
message
.
Replace
(
"\n"
,
""
);
char
a
=
(
char
)
02
;
message
=
message
.
Replace
(
a
.
ToString
(),
""
);
message
=
message
.
Trim
();
System
.
Text
.
ASCIIEncoding
asciiEncoding
=
new
System
.
Text
.
ASCIIEncoding
();
byte
[]
bytes
=
asciiEncoding
.
GetBytes
(
message
);
List
<
byte
>
newBytes
=
new
List
<
byte
>();
foreach
(
byte
by
in
bytes
)
{
int
value
=
(
int
)
by
;
if
(
value
.
Equals
(
24
)
||
value
.
Equals
(
30
)
||
value
.
Equals
(
29
)
||
value
.
Equals
(
4
))
{
continue
;
}
if
(!
value
.
Equals
(
24
))
{
newBytes
.
Add
(
by
);
}
}
message
=
asciiEncoding
.
GetString
(
newBytes
.
ToArray
());
return
message
;
}
public
static
string
ProcessCode
(
List
<
string
>
codeList
)
{
string
code
=
""
;
foreach
(
string
cc
in
codeList
)
{
if
(
string
.
IsNullOrEmpty
(
cc
))
{
continue
;
}
code
+=
cc
+
"##"
;
}
return
ReplaceCode
(
code
);
}
}
}
source/DeviceLibrary/duoStore/BoxBean.cs
查看文件 @
2b40314
...
@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary
public
partial
class
BoxBean
:
KTK_Store
public
partial
class
BoxBean
:
KTK_Store
{
{
private
TaskData
taskData
=
null
;
private
TaskData
taskData
=
null
;
public
EnteryDoorBean
DoorBean
=
null
;
public
HoisterCylinder
DoorBean
=
null
;
private
bool
IsIntSlvBlock
=
false
;
private
bool
IsIntSlvBlock
=
false
;
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
public
string
CID
=
""
;
public
string
CID
=
""
;
...
@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
Name
=
(
" BOX_"
+
config
.
Id
+
" "
).
ToUpper
();
Name
=
(
" BOX_"
+
config
.
Id
+
" "
).
ToUpper
();
this
.
ID
=
config
.
Id
;
;
this
.
ID
=
config
.
Id
;
;
this
.
Config
=
config
;
this
.
Config
=
config
;
DoorBean
=
new
EnteryDoorBean
(
ID
);
DoorBean
=
new
HoisterCylinder
(
ID
);
//温湿度
//温湿度
humBean
=
new
HumitureBean
(
config
.
Humiture_Port
,
Name
);
humBean
=
new
HumitureBean
(
config
.
Humiture_Port
,
Name
);
// humBean.Init();
// humBean.Init();
...
@@ -117,8 +117,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -117,8 +117,6 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
void
MoveAxisConfig
()
public
void
MoveAxisConfig
()
{
{
BOX_Config
.
ConfigAxis
(
Config
);
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
moveAxisList
.
Add
(
Config
.
UpDown_Axis
);
moveAxisList
.
Add
(
Config
.
UpDown_Axis
);
...
@@ -221,7 +219,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -221,7 +219,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H54_InOutToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H54_InOutToP1
);
LogInfo
(
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
LogInfo
(
"到待机状态,进出轴到P1,判断叉子没有料盘"
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1
_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1
,
Config
.
InOutAxis_P1_Speed
);
}
}
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
...
@@ -256,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -256,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
//开始复位动作
//开始复位动作
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H01_InOutBack
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H01_InOutBack
);
LogInfo
(
MoveInfo
.
MoveType
+
": 开始料架入库,线体停止,进出轴先原点返回
,设置agv"
+
Config
.
AgvNodeName
+
"为None
"
);
LogInfo
(
MoveInfo
.
MoveType
+
": 开始料架入库,线体停止,进出轴先原点返回
"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2000
));
LineStop
();
LineStop
();
ACAxisHomeMove
(
Config
.
InOut_Axis
);
ACAxisHomeMove
(
Config
.
InOut_Axis
);
...
@@ -275,84 +273,84 @@ namespace OnlineStore.DeviceLibrary
...
@@ -275,84 +273,84 @@ namespace OnlineStore.DeviceLibrary
{
{
return
;
return
;
}
}
switch
(
MoveInfo
.
MoveStep
)
//
switch (MoveInfo.MoveStep)
{
//
{
case
StoreMoveStep
.
BOX_H01_InOutBack
:
//
case StoreMoveStep.BOX_H01_InOutBack:
Thread
.
Sleep
(
200
);
//
Thread.Sleep(200);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H02_TopDown
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H02_TopDown);
LogInfo
(
MoveInfo
.
MoveType
+
": 线体停止,进出轴到待机点P1,顶升气缸下降,NG门下降,入料移门关闭"
);
//
LogInfo(MoveInfo.MoveType + ": 线体停止,进出轴到待机点P1,顶升气缸下降,NG门下降,入料移门关闭");
LineStop
();
//
LineStop();
AxisCountClear
(
Config
.
InOut_Axis
);
//
AxisCountClear(Config.InOut_Axis);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
//
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
CylinderMove
(
MoveInfo
,
IO_Type
.
NGDoowCylinder_Up
,
IO_Type
.
NGDoorCylinder_Down
);
//
CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Up
,
IO_Type
.
TopCylinder_Down
);
//
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
DoorBean
.
StartClose
(
MoveInfo
);
// DoorBean.StartForward
(MoveInfo);
break
;
//
break;
case
StoreMoveStep
.
BOX_H02_TopDown
:
//
case StoreMoveStep.BOX_H02_TopDown:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H03_LineRun
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H03_LineRun);
if
(
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
HIGH
))
//
if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{
//
{
LogInfo
(
MoveInfo
.
MoveType
+
":取料工位有料架,线体停止 "
);
//
LogInfo(MoveInfo.MoveType + ":取料工位有料架,线体停止 ");
LineStop
();
//
LineStop();
}
//
}
else
//
else
{
//
{
LogInfo
(
MoveInfo
.
MoveType
+
":取料工位无料架, 线体先正转3000或等待取料工位有料架"
);
//
LogInfo(MoveInfo.MoveType + ":取料工位无料架, 线体先正转3000或等待取料工位有料架");
LineRun
();
//
LineRun();
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineTake_Check
,
IO_VALUE
.
HIGH
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
MoveInfo
.
OneWaitCanEndStep
=
true
;
//
MoveInfo.OneWaitCanEndStep = true;
}
//
}
break
;
//
break;
case
StoreMoveStep
.
BOX_H03_LineRun
:
//
case StoreMoveStep.BOX_H03_LineRun:
LineStop
();
//
LineStop();
//如果此时轴三还在报警,需要提示错误并等待
//
//如果此时轴三还在报警,需要提示错误并等待
if
(
ACServerManager
.
GetAlarmStatus
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
())
>
0
)
//
if (ACServerManager.GetAlarmStatus(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()) > 0)
{
//
{
LogUtil
.
error
(
Name
+
MoveInfo
.
MoveType
+
"复位失败: "
+
Config
.
InOut_Axis
.
Explain
+
"报警"
);
//
LogUtil.error(Name + MoveInfo.MoveType + "复位失败: " + Config.InOut_Axis.Explain + "报警");
WarnMsg
=
Name
+
"复位失败: "
+
Config
.
InOut_Axis
.
Explain
+
"报警"
;
//
WarnMsg = Name + "复位失败: " + Config.InOut_Axis.Explain + "报警";
Alarm
(
StoreAlarmType
.
AxisAlarm
,
GetAlarmCodeByAxis
(
Config
.
InOut_Axis
).
ToString
(),
WarnMsg
,
StoreMoveType
.
None
);
//
Alarm(StoreAlarmType.AxisAlarm, GetAlarmCodeByAxis(Config.InOut_Axis).ToString(), WarnMsg, StoreMoveType.None);
return
;
//
return;
}
//
}
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
//
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogInfo
(
MoveInfo
.
MoveType
+
": 停止线体, 压紧轴,旋转轴,上下轴开始 原点返回"
);
//
LogInfo(MoveInfo.MoveType + ": 停止线体, 压紧轴,旋转轴,上下轴开始 原点返回");
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H05_OtherAxisBack
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H05_OtherAxisBack);
ACAxisHomeMove
(
Config
.
Comp_Axis
);
//
ACAxisHomeMove(Config.Comp_Axis);
ACAxisHomeMove
(
Config
.
Middle_Axis
);
//
ACAxisHomeMove(Config.Middle_Axis);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
//
ACAxisHomeMove(Config.UpDown_Axis);
break
;
//
break;
case
StoreMoveStep
.
BOX_H05_OtherAxisBack
:
//
case StoreMoveStep.BOX_H05_OtherAxisBack:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H06_MiddleAxisToP1
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H06_MiddleAxisToP1);
LogInfo
(
MoveInfo
.
MoveType
+
": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 "
);
//
LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 ");
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1
,
Config
.
MiddleAxis_P1_Speed
);
//
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_P1
,
Config
.
UpDownAxis_P1_Speed
);
//
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_P1, Config.UpDownAxis_P1_Speed);
ACAxisMove
(
Config
.
Comp_Axis
,
Config
.
CompAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
//
ACAxisMove(Config.Comp_Axis, Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed);
break
;
//
break;
case
StoreMoveStep
.
BOX_H06_MiddleAxisToP1
:
//
case StoreMoveStep.BOX_H06_MiddleAxisToP1:
LogInfo
(
MoveInfo
.
MoveType
+
": 完成"
);
//
LogInfo(MoveInfo.MoveType + ": 完成");
MoveEndToRuningStatus
();
//
MoveEndToRuningStatus();
break
;
//
break;
case
StoreMoveStep
.
BOX_H54_InOutToP1
:
//
case StoreMoveStep.BOX_H54_InOutToP1:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H55_CompHome
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H55_CompHome);
LogInfo
(
"到待机状态,压紧轴回原点,关闭舱门"
);
//
LogInfo("到待机状态,压紧轴回原点,关闭舱门");
ACAxisHomeMove
(
Config
.
Comp_Axis
);
//
ACAxisHomeMove(Config.Comp_Axis);
break
;
//
break;
case
StoreMoveStep
.
BOX_H55_CompHome
:
//
case StoreMoveStep.BOX_H55_CompHome:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H56_OtherAxisToP1
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H56_OtherAxisToP1);
LogInfo
(
MoveInfo
.
MoveType
+
": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 "
);
//
LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 ");
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1
,
Config
.
MiddleAxis_P1_Speed
);
//
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_P1
,
Config
.
UpDownAxis_P1_Speed
);
//
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_P1, Config.UpDownAxis_P1_Speed);
ACAxisMove
(
Config
.
Comp_Axis
,
Config
.
CompAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
//
ACAxisMove(Config.Comp_Axis, Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed);
break
;
//
break;
case
StoreMoveStep
.
BOX_H56_OtherAxisToP1
:
//
case StoreMoveStep.BOX_H56_OtherAxisToP1:
LogInfo
(
"到待机状态完成"
);
//
LogInfo("到待机状态完成");
MoveEndToRuningStatus
();
//
MoveEndToRuningStatus();
break
;
//
break;
default
:
break
;
//
default: break;
}
//
}
}
}
...
@@ -360,7 +358,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -360,7 +358,7 @@ namespace OnlineStore.DeviceLibrary
public
bool
RunAxis
(
bool
isCheck
)
public
bool
RunAxis
(
bool
isCheck
)
{
{
IOMove
(
IO_Type
.
Run_Signal
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
Axis_Run
,
IO_VALUE
.
HIGH
);
Thread
.
Sleep
(
1000
);
Thread
.
Sleep
(
1000
);
//打开所有轴
//打开所有轴
foreach
(
ConfigMoveAxis
moveAxis
in
moveAxisList
)
foreach
(
ConfigMoveAxis
moveAxis
in
moveAxisList
)
...
@@ -390,7 +388,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -390,7 +388,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
IsIntSlvBlock
=
true
;
IsIntSlvBlock
=
true
;
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
UpdownAxis_Break
,
IO_VALUE
.
HIGH
);
return
true
;
return
true
;
}
}
...
@@ -436,13 +434,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -436,13 +434,13 @@ namespace OnlineStore.DeviceLibrary
public
void
CloseAllAxis
()
public
void
CloseAllAxis
()
{
{
LogUtil
.
info
(
Name
+
"关闭刹车,关闭伺服"
);
LogUtil
.
info
(
Name
+
"关闭刹车,关闭伺服"
);
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
UpdownAxis_Break
,
IO_VALUE
.
LOW
);
foreach
(
ConfigMoveAxis
axis
in
moveAxisList
)
foreach
(
ConfigMoveAxis
axis
in
moveAxisList
)
{
{
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
ACServerManager
.
ServoOff
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
}
}
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
IOMove
(
IO_Type
.
Run_Signal
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Axis_Run
,
IO_VALUE
.
LOW
);
}
}
...
@@ -564,7 +562,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -564,7 +562,7 @@ namespace OnlineStore.DeviceLibrary
if
(
preAirValue
.
Equals
(
IO_VALUE
.
LOW
))
if
(
preAirValue
.
Equals
(
IO_VALUE
.
LOW
))
{
{
TimeSpan
span
=
DateTime
.
Now
-
lastAirCloseTime
;
TimeSpan
span
=
DateTime
.
Now
-
lastAirCloseTime
;
if
(
span
.
TotalSeconds
>
Config
.
AirCheckSeconds
)
if
(
span
.
TotalSeconds
>
StoreManager
.
Config
.
AirCheckSeconds
)
{
{
WarnMsg
=
"未检测到气压信号"
;
WarnMsg
=
"未检测到气压信号"
;
preAirValue
=
IO_VALUE
.
LOW
;
preAirValue
=
IO_VALUE
.
LOW
;
...
@@ -677,14 +675,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -677,14 +675,14 @@ namespace OnlineStore.DeviceLibrary
IOTimeOutProcess
();
IOTimeOutProcess
();
ShowTimeLog
(
"IOTimeOutProcess"
);
ShowTimeLog
(
"IOTimeOutProcess"
);
//如果入口有料架需要入库
//
//
如果入口有料架需要入库
if
(
StoreManager
.
Store
.
AutoShelfInstore
&&
//
if (StoreManager.Store.AutoShelfInstore &&
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
None
)
&&
//
MoveInfo.MoveType.Equals(StoreMoveType.None) &&
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
HIGH
)))
//
(IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH)))
{
//
{
LogUtil
.
info
(
Name
+
"AutoShelfInstore=true ,检测到料架,开始料架入库"
);
//
LogUtil.info(Name + "AutoShelfInstore=true ,检测到料架,开始料架入库");
StartShelfInStore
();
//
StartShelfInStore();
}
//
}
}
}
}
}
...
@@ -737,7 +735,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -737,7 +735,7 @@ namespace OnlineStore.DeviceLibrary
try
try
{
{
bool
noInStore
=
true
;
bool
noInStore
=
true
;
if
(
AutoInout
.
CurrInOutACount
>=
this
.
Config
.
Box_ResetACount
&&
noInStore
)
if
(
AutoInout
.
CurrInOutACount
>=
StoreManager
.
Config
.
Box_ResetACount
&&
noInStore
)
{
{
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
MoveInfo
.
MoveType
==
StoreMoveType
.
InStore
||
MoveInfo
.
MoveType
==
StoreMoveType
.
OutStore
)
if
(
storeRunStatus
<
StoreRunStatus
.
Runing
||
MoveInfo
.
MoveType
==
StoreMoveType
.
InStore
||
MoveInfo
.
MoveType
==
StoreMoveType
.
OutStore
)
{
{
...
@@ -810,9 +808,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -810,9 +808,9 @@ namespace OnlineStore.DeviceLibrary
public
override
void
StopMove
()
public
override
void
StopMove
()
{
{
DoorBean
.
Stop
();
DoorBean
.
Stop
();
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
UpdownAxis_Break
,
IO_VALUE
.
LOW
);
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
UpdownAxis_Break
,
IO_VALUE
.
LOW
);
//运动版停止
//运动版停止
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
...
@@ -856,8 +854,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -856,8 +854,6 @@ namespace OnlineStore.DeviceLibrary
// msg += "lineS: " + storeStatus + "\n";
// msg += "lineS: " + storeStatus + "\n";
msg
+=
"报警: "
+
alarmType
+
"\n"
;
msg
+=
"报警: "
+
alarmType
+
"\n"
;
msg
+=
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
SLog
+
"\n"
;
msg
+=
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
SLog
+
"\n"
;
// msg += "MoveS: " + MoveInfo.SLog + "\n";
msg
+=
"料架: "
+
CurrShelfID
+
" "
+
LastOutParam
.
rfid
+
"\n"
;
return
msg
;
return
msg
;
}
}
}
}
...
...
source/DeviceLibrary/duoStore/BoxBean_Partial.cs
查看文件 @
2b40314
...
@@ -62,7 +62,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -62,7 +62,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
{
{
wait
.
IsEnd
=
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
wait
.
IsEnd
=
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
int
timeOutMs
=
Config
.
IOSingle_TimerOut
;
int
timeOutMs
=
StoreManager
.
Config
.
IOSingle_TimerOut
;
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_08_WaitLineIn
)
||
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_08_WaitLineIn
)
||
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_04_WaitTakeSingle
))
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_04_WaitTakeSingle
))
...
@@ -84,10 +84,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -84,10 +84,6 @@ namespace OnlineStore.DeviceLibrary
isOk
=
false
;
isOk
=
false
;
break
;
break
;
}
}
if
(
wait
.
IoType
.
Equals
(
IO_Type
.
Compress_Check
)
&&
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_07_CheckComSig
))
{
CompressSigTimeOut
=
true
;
}
}
}
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
...
@@ -97,26 +93,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -97,26 +93,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W007_ReelHeight
))
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W007_ReelHeight
))
{
{
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W008_Compress
))
{
//等待信号亮或者走到绝对位置才停止
if
(
IOValue
(
TargetIoType
).
Equals
(
TargetIoValue
))
{
LogUtil
.
info
(
"CheckWait 检测到"
+
TargetIoType
+
"="
+
TargetIoValue
+
",停止压紧轴运行"
);
wait
.
IsEnd
=
true
;
ComAxisStopCheck
();
}
else
{
bool
moveOk
=
ACServerManager
.
GetBusyStatus
(
wait
.
AxisInfo
.
DeviceName
,
wait
.
AxisInfo
.
GetAxisValue
()).
Equals
(
0
);
if
(
moveOk
)
{
//TODO 判断是否达到高度,如果未达到,继续上升
wait
.
IsEnd
=
true
;
ComAxisStopCheck
();
}
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W009_ScanCode
))
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W009_ScanCode
))
{
{
wait
.
IsEnd
=
(
LastScanCodes
.
Count
>
0
);
wait
.
IsEnd
=
(
LastScanCodes
.
Count
>
0
);
...
@@ -237,13 +214,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -237,13 +214,9 @@ namespace OnlineStore.DeviceLibrary
/// 最后一次使用的料架号
/// 最后一次使用的料架号
/// </summary>
/// </summary>
// private string LastRfidID = "";//服务器发送的出库rfid
// private string LastRfidID = "";//服务器发送的出库rfid
private
InOutParam
LastOutParam
=
new
InOutParam
();
//private InOutParam LastOutParam = new InOutParam();
private
string
GetLastRfid
()
{
//出库料架使用,返回上次使用的料架绑定的虚拟料架号
return
LastOutParam
.
rfid
;
}
#
region
入库
#
region
入库
private
void
ClearLastTrayInfo
()
private
void
ClearLastTrayInfo
()
...
@@ -283,10 +256,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -283,10 +256,9 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_11_InoutToP1
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_11_InoutToP1
);
MoveInfo
.
SingleInstore
=
true
;
MoveInfo
.
SingleInstore
=
true
;
InOutStoreLog
(
"料架取料:"
+
MoveInfo
.
SLog
+
" 叉子后退到待机点P1, 重置盘信息"
);
InOutStoreLog
(
"料架取料:"
+
MoveInfo
.
SLog
+
" 叉子后退到待机点P1, 重置盘信息"
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1
_Position
,
Config
.
InOutAxis_P1_Speed
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1
,
Config
.
InOutAxis_P1_Speed
);
ClearLastTrayInfo
();
ClearLastTrayInfo
();
//LastRfidID = "";
//LastRfidID = "";
LastOutParam
=
new
InOutParam
();
}
}
...
@@ -296,46 +268,46 @@ namespace OnlineStore.DeviceLibrary
...
@@ -296,46 +268,46 @@ namespace OnlineStore.DeviceLibrary
public
void
StartShelfInStore
()
public
void
StartShelfInStore
()
{
{
bool
canStart
=
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)
//
bool canStart = (storeRunStatus.Equals(StoreRunStatus.Runing)
&&
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
None
));
//
&& MoveInfo.MoveType.Equals(StoreMoveType.None));
if
(!
canStart
||
isInSuddenDown
||
isNoAirCheck
||
(
alarmType
.
Equals
(
StoreAlarmType
.
None
).
Equals
(
false
)))
//
if (!canStart || isInSuddenDown || isNoAirCheck || (alarmType.Equals(StoreAlarmType.None).Equals(false)))
{
//
{
return
;
//
return;
}
//
}
storeRunStatus
=
StoreRunStatus
.
Busy
;
//
storeRunStatus = StoreRunStatus.Busy;
storeStatus
=
StoreStatus
.
InStoreExecute
;
//
storeStatus = StoreStatus.InStoreExecute;
// EmprtShelfList = new ConcurrentQueue<string>();
//
//
EmprtShelfList = new ConcurrentQueue<string>();
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
//
if (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH))
{
//
{
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
//
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
);
//
MoveInfo.MoveParam.MoveP = new LineMoveP(Config);
MoveInfo
.
ShelfPositionList
=
new
List
<
string
>(
ShelfPosList
);
//
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_01_DoorOpen
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
LogInfo
(
" 空闲中,检测到入料口有料架,启动料架入库 "
+
MoveInfo
.
SLog
+
""
);
//
LogInfo(" 空闲中,检测到入料口有料架,启动料架入库 " + MoveInfo.SLog + "");
// CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open);
//
// CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open);
// DoorBean.StartOpen(MoveInfo);
//
// DoorBean.StartOpen(MoveInfo);
}
//
}
else
if
(
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
HIGH
))
//
else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{
//
{
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
//
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
);
//
MoveInfo.MoveParam.MoveP = new LineMoveP(Config);
MoveInfo
.
ShelfPositionList
=
new
List
<
string
>(
ShelfPosList
);
//
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_06_DoorClose
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_06_DoorClose);
LogInfo
(
" 空闲中,检测到入料口有料架,启动料架入库 "
+
MoveInfo
.
SLog
+
""
);
//
LogInfo(" 空闲中,检测到入料口有料架,启动料架入库 " + MoveInfo.SLog + "");
}
//
}
else
//
else
{
//
{
LogInfo
(
" 空闲中,需要料架入库,料架入库 "
+
MoveInfo
.
SLog
+
":入料口移门打开,更新 WaitShelfEnter=false"
);
//
LogInfo(" 空闲中,需要料架入库,料架入库 " + MoveInfo.SLog + ":入料口移门打开,更新 WaitShelfEnter=false");
WaitShelfEnter
=
false
;
//
WaitShelfEnter = false;
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
//
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo
.
MoveParam
.
MoveP
=
new
LineMoveP
(
Config
);
//
MoveInfo.MoveParam.MoveP = new LineMoveP(Config);
MoveInfo
.
ShelfPositionList
=
new
List
<
string
>(
ShelfPosList
);
//
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_01_DoorOpen
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
DoorBean
.
StartOpen
(
MoveInfo
);
// DoorBean.StartBack
(MoveInfo);
}
//
}
}
}
private
void
UpdateShelfId
()
private
void
UpdateShelfId
()
...
@@ -399,242 +371,224 @@ namespace OnlineStore.DeviceLibrary
...
@@ -399,242 +371,224 @@ namespace OnlineStore.DeviceLibrary
}
}
#
region
料架取料盘扫码获取
POSID
#
region
料架取料盘扫码获取
POSID
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_10_StartGetTray
))
//if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_10_StartGetTray))
{
//{
if
(
MoveInfo
.
IsShelfLocked
)
// if (MoveInfo.IsShelfLocked)
{
// {
if
(
MoveInfo
.
NextLockedShelfPos
())
// if (MoveInfo.NextLockedShelfPos())
{
// {
//新的料架库位
// //新的料架库位
startInStoreTime
=
DateTime
.
Now
;
// startInStoreTime = DateTime.Now;
MoveInfo
.
SingleInstore
=
false
;
// MoveInfo.SingleInstore = false;
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_11_InoutToP1
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":叉子后退到待机点P1, 重置盘信息"
);
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到待机点P1, 重置盘信息");
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
// ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
ClearLastTrayInfo
();
// ClearLastTrayInfo();
}
// }
else
// else
{
// {
//所有料盘已取料完成,送出料架
// //所有料盘已取料完成,送出料架
StartShelfOut
();
// StartShelfOut();
}
// }
}
// }
else
// else
{
// {
if
(
MoveInfo
.
NextShelfPos
())
// if (MoveInfo.NextShelfPos())
{
// {
//新的料架库位
// //新的料架库位
startInStoreTime
=
DateTime
.
Now
;
// startInStoreTime = DateTime.Now;
MoveInfo
.
SingleInstore
=
false
;
// MoveInfo.SingleInstore = false;
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_11_InoutToP1
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":叉子后退到待机点P1, 重置盘信息"
);
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到待机点P1, 重置盘信息");
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
// ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
ClearLastTrayInfo
();
// ClearLastTrayInfo();
}
// }
else
// else
{
// {
//所有料盘已取料完成,送出料架
// //所有料盘已取料完成,送出料架
StartShelfOut
();
// StartShelfOut();
}
// }
}
// }
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_11_InoutToP1
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_12_MoveToShelf
);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":升降轴到P101低点,旋转轴到P101点,压紧轴到压紧前点"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_LP101
,
Config
.
UpDownAxis_P101_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P101
,
Config
.
MiddleAxis_P101_Speed
);
ACAxisMove
(
Config
.
Comp_Axis
,
Config
.
CompAxis_Max_P3
,
Config
.
CompAxis_P3_Speed
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_12_MoveToShelf
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_13_InoutToP101
);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":叉子前进到P101点"
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P101
,
Config
.
InOutAxis_P101_Speed
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_13_InoutToP101
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_14_UpdownToP102
);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":升降轴上升到P102点"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_HP102
,
Config
.
UpDownAxis_P102_Speed
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_14_UpdownToP102
))
{
if
(
MoveInfo
.
SingleInstore
)
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_16_ComDownMove
);
InOutStoreLog
(
"单盘入库,料架取料 "
+
MoveInfo
.
SLog
+
":压紧轴走到压紧点P2: "
+
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P2
);
ACAxisMove
(
Config
.
Comp_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P2
,
Config
.
CompAxis_P2_Speed
);
}
else
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_15_StartCompress
);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":压紧轴开始缓慢压紧到P4 :"
+
Config
.
CompAxis_P4_Position
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitComAxis
(
Config
.
Comp_Axis
,
Config
.
CompAxis_P4_Position
,
Config
.
CompAxis_P4_Speed
));
Config
.
Comp_Axis
.
TargetPosition
=
Config
.
CompAxis_P4_Position
;
ACServerManager
.
AbsMove
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
(),
Config
.
CompAxis_P4_Position
,
Config
.
CompAxis_P4_Speed
);
ComAxisStartCheck
();
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_15_StartCompress
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_16_ComDownMove
);
int
currPosition
=
ACServerManager
.
GetActualtPosition
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
ComTargetPosition
=
currPosition
;
int
targetP
=
currPosition
+
Config
.
CompAxis_Down_Position
;
LastHeight
=
Config
.
GetComP2PlateH
(
targetP
);
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P2
=
targetP
;
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P3
=
targetP
+
Config
.
CompAxis_P3_P2_Value
;
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":检测到Compress_Check,盘高【"
+
LastHeight
+
"】,向下压紧 ["
+
Config
.
CompAxis_Down_Position
+
"] 目标 ["
+
targetP
+
"]记录ComP2["
+
targetP
+
"]ComP3["
+
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P3
+
"]"
);
ACAxisMove
(
Config
.
Comp_Axis
,
targetP
,
Config
.
CompAxis_P1_Speed
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_16_ComDownMove
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_17_InoutBack
);
InOutStoreLog
(
"料架取料 "
+
MoveInfo
.
SLog
+
":叉子后退到扫码点"
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P1
,
Config
.
CompAxis_P1_Speed
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_17_InoutBack
))
{
if
(
MoveInfo
.
SingleInstore
)
{
//单盘入库,不需要扫码
StartMoveToBag
();
}
else
if
(
MoveInfo
.
IsShelfLocked
)
{
//该料架已锁定库位,不需要扫码,直接查询服务器
GetPosId
();
}
else
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_21_ToScanPosition
);
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":升降轴到P2,旋转轴到P1"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P2
,
Config
.
UpDownAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_21_ToScanPosition
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_22_InOutToP2
);
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":进出轴到P2"
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_22_InOutToP2
))
//}
{
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_11_InoutToP1))
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_23_PutTrayDown
);
//{
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":升降轴到扫码低点P1,压紧轴到压紧前点P3"
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_12_MoveToShelf);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":升降轴到P101低点,旋转轴到P101点,压紧轴到压紧前点");
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed);
}
// ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_23_PutTrayDown
))
// ACAxisMove(Config.Comp_Axis, Config.CompAxis_Max_P3, Config.CompAxis_P3_Speed);
{
//}
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_24_InOutToP1
);
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_12_MoveToShelf))
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":进出轴返回待机点P1"
);
//{
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P1
,
Config
.
CompAxis_P1_Speed
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_13_InoutToP101);
}
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子前进到P101点");
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_24_InOutToP1
))
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed);
{
//}
IO_VALUE
io1
=
IOValue
(
IO_Type
.
TrayCheck_1
);
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_13_InoutToP101))
IO_VALUE
io2
=
IOValue
(
IO_Type
.
TrayCheck_2
);
//{
IO_VALUE
io3
=
IOValue
(
IO_Type
.
TrayCheck_3
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_14_UpdownToP102);
IO_VALUE
io4
=
IOValue
(
IO_Type
.
TrayCheck_4
);
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":升降轴上升到P102点");
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_14_UpdownToP102))
//{
// if (MoveInfo.SingleInstore)
// {
// MoveInfo.NextMoveStep(StoreMoveStep.BI_16_ComDownMove);
// InOutStoreLog("单盘入库,料架取料 " + MoveInfo.SLog + ":压紧轴走到压紧点P2: " + MoveInfo.MoveParam.MoveP.ComPress_P2);
// ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P2, Config.CompAxis_P2_Speed);
// }
// else
// {
// MoveInfo.NextMoveStep(StoreMoveStep.BI_15_StartCompress);
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":压紧轴开始缓慢压紧到P4 :" + Config.CompAxis_P4_Position);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitComAxis(Config.Comp_Axis, Config.CompAxis_P4_Position, Config.CompAxis_P4_Speed));
// Config.Comp_Axis.TargetPosition = Config.CompAxis_P4_Position;
// ACServerManager.AbsMove(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue(), Config.CompAxis_P4_Position, Config.CompAxis_P4_Speed);
// ComAxisStartCheck();
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_15_StartCompress))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_16_ComDownMove);
// int currPosition = ACServerManager.GetActualtPosition(Config.Comp_Axis.DeviceName,Config.Comp_Axis.GetAxisValue());
// ComTargetPosition = currPosition;
// int targetP = currPosition + Config.CompAxis_Down_Position;
// LastHeight = Config.GetComP2PlateH(targetP);
// MoveInfo.MoveParam.MoveP.ComPress_P2 = targetP;
// MoveInfo.MoveParam.MoveP.ComPress_P3 = targetP + Config.CompAxis_P3_P2_Value;
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":检测到Compress_Check,盘高【" + LastHeight + "】,向下压紧 [" + Config.CompAxis_Down_Position + "] 目标 [" + targetP +
// "]记录ComP2[" + targetP + "]ComP3[" + MoveInfo.MoveParam.MoveP.ComPress_P3 + "]");
// ACAxisMove(Config.Comp_Axis, targetP, Config.CompAxis_P1_Speed);
if
(
io3
.
Equals
(
IO_VALUE
.
HIGH
)
||
io4
.
Equals
(
IO_VALUE
.
HIGH
))
//}
{
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_16_ComDownMove))
LastWidth
=
15
;
//{
}
// MoveInfo.NextMoveStep(StoreMoveStep.BI_17_InoutBack);
else
if
(
io1
.
Equals
(
IO_VALUE
.
HIGH
)
||
io2
.
Equals
(
IO_VALUE
.
HIGH
))
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到扫码点");
{
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.CompAxis_P1_Speed);
LastWidth
=
7
;
//}
}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_17_InoutBack))
else
//{
{
// if (MoveInfo.SingleInstore)
LastWidth
=
0
;
// {
LogUtil
.
debug
(
"未检测到识别区料盘检测信号, 设置默认宽度=0"
);
// //单盘入库,不需要扫码
}
// StartMoveToBag();
// }
// else if(MoveInfo.IsShelfLocked)
// {
// //该料架已锁定库位,不需要扫码,直接查询服务器
// GetPosId();
// }
// else
// {
// MoveInfo.NextMoveStep(StoreMoveStep.BI_21_ToScanPosition);
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到P2,旋转轴到P1");
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
// ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_21_ToScanPosition))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_22_InOutToP2);
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴到P2");
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed);
//}
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_25_ScanCode
);
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_22_InOutToP2))
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":料盘识别 ["
+
io1
+
"] ["
+
io2
+
"] ["
+
io3
+
"] ["
+
io4
+
"] ,宽度【"
+
LastWidth
+
"】,开始扫码"
);
//{
MoveInfo
.
OneWaitCanEndStep
=
true
;
// MoveInfo.NextMoveStep(StoreMoveStep.BI_23_PutTrayDown);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
12000
));
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到扫码低点P1,压紧轴到压紧前点P3");
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitCode
());
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
Task
.
Factory
.
StartNew
(
delegate
// ACAxisMove(Config.Comp_Axis, moveP.ComPress_P3, Config.CompAxis_P3_Speed);
{
//}
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_23_PutTrayDown))
LastScanCodes
=
CodeManager
.
CameraScan
(
Config
.
GetCameraList
(),
Name
);
//{
if
(
LastScanCodes
.
Count
<=
0
)
// MoveInfo.NextMoveStep(StoreMoveStep.BI_24_InOutToP1);
{
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴返回待机点P1");
Thread
.
Sleep
(
1
);
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.CompAxis_P1_Speed);
LastScanCodes
=
CodeManager
.
CameraScan
(
Config
.
GetCameraList
(),
Name
);
//}
}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_24_InOutToP1))
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
//{
});
// LastWidth = 7;
}
// MoveInfo.NextMoveStep(StoreMoveStep.BI_25_ScanCode);
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_25_ScanCode
))
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":料盘识别 宽度【" + LastWidth + "】,开始扫码");
{
// MoveInfo.OneWaitCanEndStep = true;
if
(
LastScanCodes
.
Count
<=
0
&&
LastWidth
.
Equals
(
0
)
&&
LastHeight
.
Equals
(
8
))
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(12000));
{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitCode());
storeStatus
=
StoreStatus
.
InStoreExecute
;
// Task.Factory.StartNew(delegate
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_10_StartGetTray
);
// {
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
": 扫码失败,尺寸"
+
LastWidth
+
"*"
+
LastHeight
+
",认为没拿到料盘,继续循环料架取料盘"
);
// IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
}
// LastScanCodes = CodeManager.CameraScan(Config.GetCameraList(), Name);
else
// if (LastScanCodes.Count <= 0)
{
// {
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_27_InoutToP2
);
// Thread.Sleep(1);
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":进出轴到P2"
);
// LastScanCodes = CodeManager.CameraScan(Config.GetCameraList(), Name);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
// }
}
// IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
}
// });
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_27_InoutToP2
))
//}
{
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_25_ScanCode))
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_28_GetScanPTray
);
//{
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":升降轴到扫码高P2,压紧轴到压紧点P2"
);
// if (LastScanCodes.Count <= 0 && LastWidth.Equals(0) && LastHeight.Equals(8))
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P2
,
Config
.
UpDownAxis_P2_Speed
);
// {
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P2
,
Config
.
CompAxis_P2_Speed
);
// storeStatus = StoreStatus.InStoreExecute;
}
// MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray);
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_28_GetScanPTray
))
// InOutStoreLog("扫码 " + MoveInfo.SLog + ": 扫码失败,尺寸" + LastWidth + "*" + LastHeight + ",认为没拿到料盘,继续循环料架取料盘");
{
// }
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_29_InoutBackP1
);
// else
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
":进出轴返回"
);
// {
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P1
,
Config
.
InOutAxis_P1_Speed
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_27_InoutToP2);
}
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴到P2");
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_29_InoutBackP1
))
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed);
{
// }
if
(
LastScanCodes
.
Count
<=
0
)
//}
{
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_27_InoutToP2))
StartSendTray
();
//{
}
// MoveInfo.NextMoveStep(StoreMoveStep.BI_28_GetScanPTray);
else
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到扫码高P2,压紧轴到压紧点P2");
{
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_30_SetInstoreParam
);
// ACAxisMove(Config.Comp_Axis, moveP.ComPress_P2, Config.CompAxis_P2_Speed);
InOutStoreLog
(
"扫码 "
+
MoveInfo
.
SLog
+
": 获取库位号"
);
//}
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
10000
));
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_28_GetScanPTray))
bool
result
=
GetPosIdByCode
(
MoveInfo
.
currShelfIndex
,
out
CodeResultType
codeResult
);
//{
if
(!
result
)
//获取库位失败
// MoveInfo.NextMoveStep(StoreMoveStep.BI_29_InoutBackP1);
{
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴返回");
if
(
codeResult
==
CodeResultType
.
NotFoundPos
)
//库位不在该料仓,将该料盘放回料架
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
{
//}
//MoveInfo.MoveParam.PosID = "";
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_29_InoutBackP1))
StartMoveTrayBack
(
"此料盘不属于该仓库,放回料架"
);
//{
}
// if (LastScanCodes.Count <= 0)
else
//无法获取库位信息
// {
{
// StartSendTray();
MoveInfo
.
MoveParam
.
PosID
=
""
;
// }
StartSendTray
(
"获取入库库位失败"
);
// else
}
// {
}
// MoveInfo.NextMoveStep(StoreMoveStep.BI_30_SetInstoreParam);
else
// InOutStoreLog("扫码 " + MoveInfo.SLog + ": 获取库位号");
{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
MoveInfo
.
EndStepWait
();
// bool result = GetPosIdByCode(MoveInfo.currShelfIndex, out CodeResultType codeResult);
}
// if (!result)//获取库位失败
}
// {
}
// if (codeResult == CodeResultType.NotFoundPos)//库位不在该料仓,将该料盘放回料架
// {
// //MoveInfo.MoveParam.PosID = "";
// StartMoveTrayBack("此料盘不属于该仓库,放回料架");
// }
// else//无法获取库位信息
// {
// MoveInfo.MoveParam.PosID = "";
// StartSendTray("获取入库库位失败");
// }
// }
// else
// {
// MoveInfo.EndStepWait();
// }
// }
//}
#
endregion
#
endregion
...
@@ -701,51 +655,51 @@ namespace OnlineStore.DeviceLibrary
...
@@ -701,51 +655,51 @@ namespace OnlineStore.DeviceLibrary
#
region
把料盘送到
NG
逻辑
#
region
把料盘送到
NG
逻辑
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_71_ToNGDoor
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_71_ToNGDoor))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_72_NGDoorUp
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_72_NGDoorUp);
InOutStoreLog
(
"送出料盘 "
+
MoveInfo
.
SLog
+
":NG升降门上升"
);
//
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":NG升降门上升");
CylinderMove
(
MoveInfo
,
IO_Type
.
NGDoorCylinder_Down
,
IO_Type
.
NGDoowCylinder_Up
);
//
CylinderMove(MoveInfo, IO_Type.NGDoorCylinder_Down, IO_Type.NGDoowCylinder_Up);
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_72_NGDoorUp
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_72_NGDoorUp))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_73_InoutToNGDoor
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_73_InoutToNGDoor);
InOutStoreLog
(
"送出料盘 "
+
MoveInfo
.
SLog
+
":进出轴到NG料门口位置P11"
);
//
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":进出轴到NG料门口位置P11");
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P11
,
Config
.
InOutAxis_P2_Speed
);
//
ACAxisMove(Config.InOut_Axis, moveP.InOut_P11, Config.InOutAxis_P2_Speed);
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_73_InoutToNGDoor
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_73_InoutToNGDoor))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_74_UpdownDown
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_74_UpdownDown);
InOutStoreLog
(
"送出料盘 "
+
MoveInfo
.
SLog
+
":升降轴到P11,压紧轴到P3,放下料盘"
);
//
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":升降轴到P11,压紧轴到P3,放下料盘");
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P11
,
Config
.
UpDownAxis_P2_Speed
);
//
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P11, Config.UpDownAxis_P2_Speed);
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
//
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P3, Config.CompAxis_P3_Speed);
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_74_UpdownDown
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_74_UpdownDown))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_75_InoutToP1
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_75_InoutToP1);
InOutStoreLog
(
"送出料盘 "
+
MoveInfo
.
SLog
+
":叉子后退到P1"
);
//
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":叉子后退到P1");
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P1
,
Config
.
InOutAxis_P1_Speed
);
//
ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_75_InoutToP1
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_75_InoutToP1))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_76_NGDoorDown
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_76_NGDoorDown);
InOutStoreLog
(
"送出料盘 "
+
MoveInfo
.
SLog
+
":关门NG料门,送出料盘结束"
);
//
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":关门NG料门,送出料盘结束");
CylinderMove
(
MoveInfo
,
IO_Type
.
NGDoowCylinder_Up
,
IO_Type
.
NGDoorCylinder_Down
);
//
CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_76_NGDoorDown
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_76_NGDoorDown))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_77_NGLineRun
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_77_NGLineRun);
InOutStoreLog
(
"料架入库 "
+
MoveInfo
.
SLog
+
":NG流水线转动3000"
);
//
InOutStoreLog("料架入库 " + MoveInfo.SLog + ":NG流水线转动3000");
IOMove
(
IO_Type
.
NGLine_Run
,
IO_VALUE
.
HIGH
);
//
IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_77_NGLineRun
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_77_NGLineRun))
{
//
{
IOMove
(
IO_Type
.
NGLine_Run
,
IO_VALUE
.
LOW
);
//
IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_10_StartGetTray
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray);
InOutStoreLog
(
"料架入库 "
+
MoveInfo
.
SLog
+
":停止NG线体转动,继续循环料架取料盘"
);
//
InOutStoreLog("料架入库 " + MoveInfo.SLog + ":停止NG线体转动,继续循环料架取料盘");
}
//
}
#
endregion
#
endregion
#
region
把料盘送回料架逻辑
#
region
把料盘送回料架逻辑
...
@@ -799,53 +753,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -799,53 +753,6 @@ namespace OnlineStore.DeviceLibrary
#
endregion
#
endregion
#
region
压紧轴压紧处理
private
System
.
Timers
.
Timer
axisCheckTimer
=
null
;
private
string
TargetIoType
=
IO_Type
.
Compress_Check
;
private
IO_VALUE
TargetIoValue
=
IO_VALUE
.
HIGH
;
private
bool
ComAxisStartCheck
(
string
targetIo
=
""
,
IO_VALUE
value
=
IO_VALUE
.
HIGH
)
{
if
(
String
.
IsNullOrEmpty
(
targetIo
))
{
targetIo
=
IO_Type
.
Compress_Check
;
}
if
(
axisCheckTimer
==
null
)
{
axisCheckTimer
=
new
System
.
Timers
.
Timer
();
axisCheckTimer
.
AutoReset
=
true
;
axisCheckTimer
.
Interval
+=
50
;
axisCheckTimer
.
Elapsed
+=
CheckTimer_Elapsed
;
axisCheckTimer
.
Enabled
=
false
;
}
TargetIoValue
=
value
;
TargetIoType
=
targetIo
;
axisCheckTimer
.
Start
();
return
true
;
}
private
bool
ComAxisStopCheck
()
{
if
(!(
axisCheckTimer
==
null
))
{
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
axisCheckTimer
.
Stop
();
}
return
true
;
}
private
bool
IsInProcess
=
false
;
private
void
CheckTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
if
(
IsInProcess
)
{
return
;
}
IsInProcess
=
true
;
if
(
IOValue
(
TargetIoType
).
Equals
(
TargetIoValue
))
{
LogUtil
.
info
(
Name
+
"压紧轴运动:检测到 "
+
TargetIoType
+
"="
+
TargetIoValue
+
",停止运动"
);
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
ComAxisStopCheck
();
}
IsInProcess
=
false
;
}
#
endregion
#
region
出库
#
region
出库
private
DateTime
startOutStoreTime
=
DateTime
.
Now
;
private
DateTime
startOutStoreTime
=
DateTime
.
Now
;
...
@@ -921,247 +828,247 @@ namespace OnlineStore.DeviceLibrary
...
@@ -921,247 +828,247 @@ namespace OnlineStore.DeviceLibrary
#
region
出入库步骤
#
region
出入库步骤
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_01_InoutBack
)
//
if (MoveInfo.MoveStep == StoreMoveStep.SO_01_InoutBack)
{
//
{
//判断是否需要送出料架,是否需要进入料架,是否可以直接开始
//
//判断是否需要送出料架,是否需要进入料架,是否可以直接开始
if
(
MoveInfo
.
MoveParam
.
rfid
.
Equals
(
""
))
//
if (MoveInfo.MoveParam.rfid.Equals(""))
{
//
{
SO_03_ToBagPosition
();
//
SO_03_ToBagPosition();
}
//
}
else
//
else
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_02_TopDown
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_02_TopDown);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":顶升下降"
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":顶升下降");
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Up
,
IO_Type
.
TopCylinder_Down
);
//
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_02_TopDown
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_02_TopDown)
{
//
{
if
(
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
HIGH
))
//
if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{
//
{
string
LastRfidID
=
GetLastRfid
();
//
string LastRfidID = GetLastRfid();
// if (IsRightShelfId(CurrShelfID, MoveInfo.MoveParam.realRfid))
//
// if (IsRightShelfId(CurrShelfID, MoveInfo.MoveParam.realRfid))
if
(
MoveInfo
.
MoveParam
.
rfid
.
Equals
(
LastRfidID
))
//
if (MoveInfo.MoveParam.rfid.Equals(LastRfidID))
{
//
{
LogUtil
.
error
(
"出库 【"
+
LastRfidID
+
"】 【"
+
MoveInfo
.
MoveParam
.
rfid
+
","
+
MoveInfo
.
MoveParam
.
realRfid
+
"】 同料架,开始取料"
);
//
LogUtil.error("出库 【" + LastRfidID + "】 【" + MoveInfo.MoveParam.rfid + "," + MoveInfo.MoveParam.realRfid + "】 同料架,开始取料");
SO_03_ToBagPosition
();
//
SO_03_ToBagPosition();
return
;
//
return;
}
//
}
else
//
else
{
//
{
//重新记录
//
//重新记录
LogInfo
(
" 执行出库【"
+
MoveInfo
.
MoveParam
.
ToStr
()
+
"】失败,料架号不一致,加入等待队列"
);
//
LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号不一致,加入等待队列");
waitOutStoreList
.
Enqueue
(
MoveInfo
.
MoveParam
);
//
waitOutStoreList.Enqueue(MoveInfo.MoveParam);
LogUtil
.
error
(
Name
+
"出库 【"
+
LastRfidID
+
"】 【"
+
MoveInfo
.
MoveParam
.
rfid
+
","
+
MoveInfo
.
MoveParam
.
realRfid
+
"】不同料架,送出当前料架,稍后重新出库"
);
//
LogUtil.error(Name + "出库 【" + LastRfidID + "】 【" + MoveInfo.MoveParam.rfid + "," + MoveInfo.MoveParam.realRfid + "】不同料架,送出当前料架,稍后重新出库");
// MoveInfo.MoveParam.rfid = LastRfidID;
//
// MoveInfo.MoveParam.rfid = LastRfidID;
MoveInfo
.
NewMove
(
StoreMoveType
.
OutStore
,
LastOutParam
);
//
MoveInfo.NewMove(StoreMoveType.OutStore, LastOutParam);
//送出料架,并且记录出库信息,等会重新出库
//
//送出料架,并且记录出库信息,等会重新出库
StartShelfOut
();
//
StartShelfOut();
return
;
//
return;
}
//
}
}
//
}
else
if
(
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
(!
MoveInfo
.
MoveParam
.
rfid
.
Equals
(
""
)))
//
else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.LOW) && (!MoveInfo.MoveParam.rfid.Equals("")))
{
//
{
if
(
CurrShelfID
.
EndsWith
(
"00"
))
//
if (CurrShelfID.EndsWith("00"))
{
//
{
CurrShelfID
=
""
;
//
CurrShelfID = "";
}
//
}
string
mark
=
GetMarkInfo
();
//
string mark = GetMarkInfo();
// string rfid = MoveInfo.MoveParam.rfid;
//
// string rfid = MoveInfo.MoveParam.rfid;
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_00_ReadyShelf
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_00_ReadyShelf);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": NeedEnter["
+
mark
+
"]["
+
MoveInfo
.
MoveParam
.
rfid
+
"],等待agv_Arrive 或有料架,进出轴到P1"
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ": NeedEnter[" + mark + "][" + MoveInfo.MoveParam.rfid + "],等待agv_Arrive 或有料架,进出轴到P1");
InOutBackToP1
(
MoveInfo
.
MoveParam
.
MoveP
.
InOut_P1
);
//
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
//需要先叫agv到达
//
//需要先叫agv到达
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAgvAction
((
int
)
ClientAction
.
Arrive
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Arrive));
}
//
}
else
//
else
{
//
{
SO_03_ToBagPosition
();
//
SO_03_ToBagPosition();
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_03_ToPosition
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_03_ToPosition)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_04_ToPos
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_04_ToPos);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子进入库位中, 进出轴至P3(库位取放料点) "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) ");
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
//
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_04_ToPos
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_04_ToPos)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_05_GetReel
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_05_GetReel);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P2
,
Config
.
CompAxis_P2_Speed
);
//
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P2, Config.CompAxis_P2_Speed);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P6
,
Config
.
UpDownAxis_P6_Speed
);
//
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed);
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_05_GetReel
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_05_GetReel)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_06_InoutBack
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_06_InoutBack);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子从库位返回,进出轴至P1(待机点) "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从库位返回,进出轴至P1(待机点) ");
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
//
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
moveP
.
InOut_P1
);
//
InOutBackToP1(moveP.InOut_P1);
//把库位的物品放到取到叉子上之后是出仓完成
//
//把库位的物品放到取到叉子上之后是出仓完成
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosID
:
""
;
//
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
lastPosId
=
posId
;
//
lastPosId = posId;
lastPosIdStatus
=
StoreStatus
.
OutStoreBoxEnd
;
//
lastPosIdStatus = StoreStatus.OutStoreBoxEnd;
storeStatus
=
StoreStatus
.
OutStoreBoxEnd
;
//
storeStatus = StoreStatus.OutStoreBoxEnd;
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_06_InoutBack
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_06_InoutBack)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_07_CheckComSig
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_07_CheckComSig);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":等待料叉压紧信号 "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":等待料叉压紧信号 ");
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Compress_Check
,
IO_VALUE
.
HIGH
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Compress_Check, IO_VALUE.HIGH));
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_07_CheckComSig
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_07_CheckComSig)
{
//
{
if
(
IOValue
(
IO_Type
.
Compress_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
IsIgnoreComSig
)
//
if (IOValue(IO_Type.Compress_Check).Equals(IO_VALUE.HIGH) || IsIgnoreComSig)
{
//
{
IsIgnoreComSig
=
false
;
//
IsIgnoreComSig = false;
CompressSigTimeOut
=
false
;
//
CompressSigTimeOut = false;
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_08_ToShelfPosition
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToShelfPosition);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":走到料架位置,旋转轴至P101,升降轴至P102 "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":走到料架位置,旋转轴至P101,升降轴至P102 ");
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_HP102
,
Config
.
UpDownAxis_P102_Speed
);
//
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P101
,
Config
.
MiddleAxis_P101_Speed
);
//
ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_08_ToShelfPosition
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_08_ToShelfPosition)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_10_WaitNoTray
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_WaitNoTray);
}
//
}
//此处需要等待移栽没有工作,才能把盘放入出料口
//
//
此处需要等待移栽没有工作,才能把盘放入出料口
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_09_LocationDown
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_09_LocationDown)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_10_WaitNoTray
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_WaitNoTray);
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_10_WaitNoTray
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_10_WaitNoTray)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_11_ToShelf
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_11_ToShelf);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子进出料口,进出轴至P101"
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进出料口,进出轴至P101");
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P101
,
Config
.
InOutAxis_P101_Speed
);
//
ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed);
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_11_ToShelf
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_11_ToShelf)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_12_PutReel
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_12_PutReel);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":放下物品,压紧轴到P1,升降轴至P101,清空 taskData=null "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":放下物品,压紧轴到P1,升降轴至P101,清空 taskData=null ");
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P1
,
Config
.
CompAxis_P1_Speed
);
//
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P1, Config.CompAxis_P1_Speed);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_LP101
,
Config
.
UpDownAxis_P101_Speed
);
//
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
taskData
=
null
;
//
taskData = null;
Task
.
Factory
.
StartNew
(
delegate
//
Task.Factory.StartNew(delegate
{
//
{
int
posLoc
=
StoreManager
.
GetShelfPosIndex
(
MoveInfo
.
MoveParam
.
ShelfPosID
,
ShelfPosList
);
//
int posLoc = StoreManager.GetShelfPosIndex(MoveInfo.MoveParam.ShelfPosID, ShelfPosList);
//分盘料和紧急料发PutFinished
//
//分盘料和紧急料发PutFinished
if
(
MoveInfo
.
MoveParam
.
cutReel
||
MoveInfo
.
MoveParam
.
urgentReel
)
//
if (MoveInfo.MoveParam.cutReel || MoveInfo.MoveParam.urgentReel)
{
//
{
string
msg
=
StoreManager
.
afterPutCut
(
Name
,
CurrShelfID
,
MoveInfo
.
MoveParam
.
WareCode
,
CID
,
posLoc
,
out
taskData
);
//
string msg = StoreManager.afterPutCut(Name, CurrShelfID, MoveInfo.MoveParam.WareCode, CID, posLoc, out taskData);
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
//
if (String.IsNullOrEmpty(msg).Equals(false))
{
//
{
LogUtil
.
error
(
Name
+
"["
+
MoveInfo
.
MoveParam
.
WareCode
+
"] ["
+
CurrShelfID
+
"_"
+
GetLastRfid
()
+
"] ["
+
posLoc
+
"] afterPutCut 结果:"
+
msg
);
//
LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + CurrShelfID + "_" + GetLastRfid() + "] [" + posLoc + "] afterPutCut 结果:" + msg);
}
//
}
}
//
}
else
//
else
{
//
{
int
newTaskCount
=
0
;
//
int newTaskCount = 0;
string
msg
=
StoreManager
.
UpdateTrayLoc
(
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
CurrShelfID
+
"@"
+
posLoc
.
ToString
(),
out
newTaskCount
);
//
string msg = StoreManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, CurrShelfID + "@" + posLoc.ToString(), out newTaskCount);
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
//
if (String.IsNullOrEmpty(msg).Equals(false))
{
//
{
LogUtil
.
error
(
Name
+
"["
+
MoveInfo
.
MoveParam
.
WareCode
+
"] ["
+
CurrShelfID
+
"_"
+
GetLastRfid
()
+
"] ["
+
posLoc
+
"] UpdateTrayLoc 结果:"
+
msg
);
//
LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + CurrShelfID + "_" + GetLastRfid() + "] [" + posLoc + "] UpdateTrayLoc 结果:" + msg);
}
//
}
if
(
newTaskCount
>
MoveInfo
.
MoveParam
.
taskCount
)
//
if (newTaskCount > MoveInfo.MoveParam.taskCount)
{
//
{
InOutStoreLog
(
"UpdateTrayLoc 返回 newTaskCount="
+
newTaskCount
+
",原有 taskCount="
+
MoveInfo
.
MoveParam
.
taskCount
+
",使用新数据"
);
//
InOutStoreLog("UpdateTrayLoc 返回 newTaskCount=" + newTaskCount + ",原有 taskCount=" + MoveInfo.MoveParam.taskCount + ",使用新数据");
MoveInfo
.
MoveParam
.
taskCount
=
newTaskCount
;
//
MoveInfo.MoveParam.taskCount = newTaskCount;
}
//
}
}
//
}
});
//
});
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_12_PutReel
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_12_PutReel)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_13_InoutBack
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_13_InoutBack);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子从出料口返回, 进出轴到P1 "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从出料口返回, 进出轴到P1 ");
InOutBackToP1
(
moveP
.
InOut_P1
);
//
InOutBackToP1(moveP.InOut_P1);
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_13_InoutBack
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_13_InoutBack)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_14_GoBack
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_14_GoBack);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": 升降轴返回,升降轴到P1,顶升下降"
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ": 升降轴返回,升降轴到P1,顶升下降");
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
//
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
//发送消息给流水线
//
//发送消息给流水线
// SendOutStoreEnd(MoveInfo);
//
// SendOutStoreEnd(MoveInfo);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Up
,
IO_Type
.
TopCylinder_Down
);
//
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
}
//
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SO_14_GoBack
)
//
else if (MoveInfo.MoveStep == StoreMoveStep.SO_14_GoBack)
{
//
{
//判断是否需要送出料架
//
//判断是否需要送出料架
bool
isNeedSend
=
false
;
//
bool isNeedSend = false;
string
logName
=
"【"
+
CurrShelfID
+
"_"
+
GetLastRfid
()
+
"】"
;
//
string logName = "【" + CurrShelfID + "_" + GetLastRfid() + "】";
//只有rfid不为空才需要送出料架
//
//只有rfid不为空才需要送出料架
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
//
if (String.IsNullOrEmpty(MoveInfo.MoveParam.rfid))
{
//
{
InOutStoreLog
(
"出库完成,未设置rfid,不需要送出料架"
);
//
InOutStoreLog("出库完成,未设置rfid,不需要送出料架");
isNeedSend
=
false
;
//
isNeedSend = false;
}
//
}
else
if
(
MoveInfo
.
MoveParam
.
cutReel
)
//
else if (MoveInfo.MoveParam.cutReel)
{
//
{
if
(
taskData
!=
null
&&
taskData
.
cutPackageTask
<=
0
)
//
if (taskData != null && taskData.cutPackageTask <= 0)
{
//
{
InOutStoreLog
(
logName
+
"分盘料出库完成,cutPackageTask="
+
taskData
.
cutPackageTask
+
",送出料架"
);
//
InOutStoreLog(logName + "分盘料出库完成,cutPackageTask=" + taskData.cutPackageTask + ",送出料架");
isNeedSend
=
true
;
//
isNeedSend = true;
}
//
}
else
if
(
taskData
==
null
)
//
else if (taskData == null)
{
//
{
InOutStoreLog
(
logName
+
"分盘料出库完成,taskData=null,送出料架"
);
//
InOutStoreLog(logName + "分盘料出库完成,taskData=null,送出料架");
isNeedSend
=
true
;
//
isNeedSend = true;
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveParam
.
urgentReel
)
//
else if (MoveInfo.MoveParam.urgentReel)
{
//
{
if
(
taskData
!=
null
&&
taskData
.
urgentPackageTask
<=
0
)
//
if (taskData != null && taskData.urgentPackageTask <= 0)
{
//
{
InOutStoreLog
(
logName
+
"紧急料出库完成,urgentPackageTask="
+
taskData
.
urgentPackageTask
+
",送出料架"
);
//
InOutStoreLog(logName + "紧急料出库完成,urgentPackageTask=" + taskData.urgentPackageTask + ",送出料架");
isNeedSend
=
true
;
//
isNeedSend = true;
}
//
}
else
if
(
taskData
==
null
)
//
else if (taskData == null)
{
//
{
InOutStoreLog
(
logName
+
"紧急料出库完成,taskData=null,送出料架"
);
//
InOutStoreLog(logName + "紧急料出库完成,taskData=null,送出料架");
isNeedSend
=
true
;
//
isNeedSend = true;
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveParam
.
taskCount
<=
0
)
//
else if (MoveInfo.MoveParam.taskCount <= 0)
{
//
{
InOutStoreLog
(
logName
+
"出库完成,taskCount="
+
MoveInfo
.
MoveParam
.
taskCount
+
" 送出料架"
);
//
InOutStoreLog(logName + "出库完成,taskCount=" + MoveInfo.MoveParam.taskCount + " 送出料架");
isNeedSend
=
true
;
//
isNeedSend = true;
}
//
}
if
(
isNeedSend
)
//
if (isNeedSend)
{
//
{
StartShelfOut
();
//
StartShelfOut();
}
//
}
else
//
else
{
//
{
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
//
TimeSpan span = DateTime.Now - startOutStoreTime;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosID
:
""
;
//
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
storeStatus
=
StoreStatus
.
StoreOnline
;
//
storeStatus = StoreStatus.StoreOnline;
LogInfo
(
" 【"
+
posId
+
"】 "
+
logName
+
" 出库结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
//
LogInfo(" 【" + posId + "】 " + logName + " 出库结束,耗时【" + FormUtil.GetSpanStr(span) + "】!");
if
(!
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
//
if (!String.IsNullOrEmpty(MoveInfo.MoveParam.rfid))
{
//
{
if
(
StoreManager
.
Store
.
AutoShelfInstore
)
//
if (StoreManager.Store.AutoShelfInstore)
{
//
{
LogInfo
(
" 料架"
+
logName
+
"还有出库任务,设置 AutoShelfInstore = false"
);
//
LogInfo(" 料架" + logName + "还有出库任务,设置 AutoShelfInstore = false");
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
AutoShelfInstore
,
0
);
//
ConfigAppSettings.SaveValue(Setting_Init.AutoShelfInstore, 0);
StoreManager
.
Store
.
AutoShelfInstore
=
false
;
//
StoreManager.Store.AutoShelfInstore = false;
}
//
}
}
//
}
MoveEndToRuningStatus
();
//
MoveEndToRuningStatus();
AutoInout
.
InOutEndProcess
(
this
,
StoreMoveType
.
OutStore
);
//
AutoInout.InOutEndProcess(this, StoreMoveType.OutStore);
}
//
}
}
//
}
#
endregion
#
endregion
else
if
(
MoveInfo
.
MoveStep
<=
StoreMoveStep
.
SO_01_InoutBack
)
else
if
(
MoveInfo
.
MoveStep
<=
StoreMoveStep
.
SO_01_InoutBack
)
...
...
source/DeviceLibrary/duoStore/BoxBean_Shelf.cs
查看文件 @
2b40314
...
@@ -18,179 +18,179 @@ namespace OnlineStore.DeviceLibrary
...
@@ -18,179 +18,179 @@ namespace OnlineStore.DeviceLibrary
private
void
BI_04_WaitTakeSingle
(
string
moveName
)
private
void
BI_04_WaitTakeSingle
(
string
moveName
)
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_04_WaitTakeSingle
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_04_WaitTakeSingle);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
" 线体正转,等待LineIn_Check=Low, 信号LineTake_Check=High"
);
//
InOutStoreLog(moveName + MoveInfo.SLog + " 线体正转,等待LineIn_Check=Low, 信号LineTake_Check=High");
LineRun
();
//
LineRun();
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
LOW
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.LOW));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineTake_Check
,
IO_VALUE
.
HIGH
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
}
}
private
void
ShelfEnterProcess
()
private
void
ShelfEnterProcess
()
{
{
string
mark
=
GetMarkInfo
();
//string mark = GetMarkInfo();
string
moveName
=
"入库料架["
+
CurrShelfID
+
"]"
;
//string moveName = "入库料架[" + CurrShelfID + "]";
bool
instoreShelf
=
true
;
//bool instoreShelf = true;
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
//if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{
//{
instoreShelf
=
false
;
// instoreShelf = false;
moveName
=
"出库料架["
+
CurrShelfID
+
"]["
+
mark
+
"]"
;
// moveName = "出库料架[" + CurrShelfID + "][" + mark + "]";
}
//}
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_00_ReadyShelf
))
//if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_00_ReadyShelf))
{
//{
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
// if (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH))
{
// {
BI_04_WaitTakeSingle
(
moveName
);
// BI_04_WaitTakeSingle(moveName);
}
// }
else
if
(
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
HIGH
))
// else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{
// {
BI_04_WaitTakeSingle
(
moveName
);
// BI_04_WaitTakeSingle(moveName);
}
// }
else
// else
{
// {
// MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
// // MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
" agv已到达,打开入料口移门"
);
// InOutStoreLog(moveName + MoveInfo.SLog + " agv已到达,打开入料口移门");
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_01_DoorOpen
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
DoorBean
.
StartOpen
(
MoveInfo
);
// DoorBean.StartBack(MoveInfo);
}
// }
}
//}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_01_DoorOpen
))
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_01_DoorOpen))
{
//{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_03_LineRun
);
// MoveInfo.NextMoveStep(StoreMoveStep.BI_03_LineRun);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"调用AgvClient.MayEnter,线体正转,等待LineIn_Check 或LineTake_Check 信号"
);
// InOutStoreLog(moveName + MoveInfo.SLog + "调用AgvClient.MayEnter,线体正转,等待LineIn_Check 或LineTake_Check 信号");
LineRun
();
// LineRun();
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineTake_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
OneWaitCanEndStep
=
true
;
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_03_LineRun
))
{
BI_04_WaitTakeSingle
(
moveName
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_04_WaitTakeSingle
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_05_LineStop
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"调用Agv "
+
Config
.
AgvNodeName
+
" FinishEnter,取料位检测到信号,停止线体正转"
);
LineStop
();
// AgvClient.SetStatus(Config.AgvNodeName, mark, "", ClientAction.FinishEnter, ClientLevel.High, true);
if
(!
instoreShelf
)
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
{
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
if
(
MoveInfo
.
MoveParam
.
ShelfPosID
.
Equals
(
""
))
// MoveInfo.OneWaitCanEndStep = true;
{
//}
// MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_03_LineRun))
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": ShelfPosID未设置,默认ShelfPosID="
+
MoveInfo
.
MoveParam
.
ShelfPosID
);
//{
}
// BI_04_WaitTakeSingle(moveName);
}
//}
}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_05_LineStop
))
//{
{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_05_LineStop);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_06_DoorClose
);
// InOutStoreLog(moveName + MoveInfo.SLog + " FinishEnter,取料位检测到信号,停止线体正转");
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"入料口移门关闭 "
);
// LineStop();
DoorBean
.
StartClose
(
MoveInfo
);
// // AgvClient.SetStatus(Config.AgvNodeName, mark, "", ClientAction.FinishEnter, ClientLevel.High, true);
if
(!
instoreShelf
)
{
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
ACAxisMove
(
Config
.
Comp_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P3
,
Config
.
CompAxis_P3_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_06_DoorClose
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_07_LineRun
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
7000
));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"继续转动 7000"
);
LineRun
();
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_07_LineRun
))
{
LineStop
();
UpdateShelfId
();
//如果未读到料架号,将料架送出
// if (!instoreShelf)
if
(
CurrShelfID
.
EndsWith
(
"00"
)
&&
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
// {
{
// if (MoveInfo.MoveParam.ShelfPosID.Equals(""))
LogInfo
(
" 执行出库【"
+
MoveInfo
.
MoveParam
.
ToStr
()
+
"】失败,料架号["
+
CurrShelfID
+
"]无效,加入等待队列"
);
// {
waitOutStoreList
.
Enqueue
(
MoveInfo
.
MoveParam
.
NewParam
());
// // MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
LogUtil
.
error
(
Name
+
"出库 料架号["
+
CurrShelfID
+
"]无效,送出料架,稍后重新出库"
);
// InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID);
// }
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_05_LineStop))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_06_DoorClose);
// InOutStoreLog(moveName + MoveInfo.SLog + "入料口移门关闭 ");
// DoorBean.StartForward(MoveInfo);
// if (!instoreShelf)
// {
// InOutStoreLog("出库 " + MoveInfo.SLog + ": 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)");
// ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P3, Config.CompAxis_P3_Speed);
// ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed);
// ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed);
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_06_DoorClose))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_07_LineRun);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(7000));
// InOutStoreLog(moveName + MoveInfo.SLog + "继续转动 7000");
// LineRun();
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_07_LineRun))
//{
// LineStop();
// UpdateShelfId();
MoveInfo
.
MoveParam
.
rfid
=
CurrShelfID
;
// //如果未读到料架号,将料架送出
//送出料架,并且记录出库信息,等会重新出库
// if (CurrShelfID.EndsWith("00") && MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
StartShelfOut
();
// {
return
;
// LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号[" + CurrShelfID + "]无效,加入等待队列");
}
// waitOutStoreList.Enqueue(MoveInfo.MoveParam.NewParam());
// LogUtil.error(Name + "出库 料架号[" + CurrShelfID + "]无效,送出料架,稍后重新出库");
// MoveInfo.MoveParam.rfid = CurrShelfID;
// //送出料架,并且记录出库信息,等会重新出库
// StartShelfOut();
// return;
// }
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_08_LocationUp
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_08_LocationUp);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"停止线体,读取料架"
+
CurrShelfID
+
",设置"
+
Config
.
AgvNodeName
+
"=None"
);
//
InOutStoreLog(moveName + MoveInfo.SLog + "停止线体,读取料架" + CurrShelfID + ",设置" + Config.AgvNodeName + "=None");
// AgvClient.SetStatus(Config.AgvNodeName);
//
// AgvClient.SetStatus(Config.AgvNodeName);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
//
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
if
(!
instoreShelf
)
//
if (!instoreShelf)
{
//
{
if
(
MoveInfo
.
MoveParam
.
ShelfPosID
.
Equals
(
""
))
//
if (MoveInfo.MoveParam.ShelfPosID.Equals(""))
{
//
{
// MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
//
// MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": ShelfPosID未设置,默认ShelfPosID="
+
MoveInfo
.
MoveParam
.
ShelfPosID
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID);
}
//
}
// LastRfidID = MoveInfo.MoveParam.rfid;
//
// LastRfidID = MoveInfo.MoveParam.rfid;
LastOutParam
=
MoveInfo
.
MoveParam
;
//
LastOutParam = MoveInfo.MoveParam;
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子进入库位中, 进出轴至P3(库位取放料点) "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) ");
ACAxisMove
(
Config
.
InOut_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
//
ACAxisMove(Config.InOut_Axis, MoveInfo.MoveParam.MoveP.InOut_P3, Config.InOutAxis_P3_Speed);
}
//
}
else
//
else
{
//
{
LastOutParam
=
new
InOutParam
();
//
LastOutParam = new InOutParam();
// LastRfidID = "";
//
// LastRfidID = "";
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_08_LocationUp
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_08_LocationUp))
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_09_TopCylinderUp
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_09_TopCylinderUp);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
""
+
CurrShelfID
+
"顶升上升"
);
//
InOutStoreLog(moveName + MoveInfo.SLog + "" + CurrShelfID + "顶升上升");
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
//
CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
if
(!
instoreShelf
)
//
if (!instoreShelf)
{
//
{
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
ACAxisMove
(
Config
.
Comp_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
ComPress_P2
,
Config
.
CompAxis_P2_Speed
);
//
ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P2, Config.CompAxis_P2_Speed);
ACAxisMove
(
Config
.
UpDown_Axis
,
MoveInfo
.
MoveParam
.
MoveP
.
UpDown_P6
,
Config
.
UpDownAxis_P6_Speed
);
//
ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P6, Config.UpDownAxis_P6_Speed);
}
//
}
}
//
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_09_TopCylinderUp
))
//
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_09_TopCylinderUp))
{
//
{
if
(
instoreShelf
)
//
if (instoreShelf)
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_10_StartGetTray
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
10000
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
//获取料架的锁定状态
//
//获取料架的锁定状态
bool
lockState
=
StoreManager
.
GetShelfLockInfo
(
Name
,
CID
,
CurrShelfID
,
out
MoveInfo
.
shelfLockDatas
);
//
bool lockState = StoreManager.GetShelfLockInfo(Name,CID, CurrShelfID, out MoveInfo.shelfLockDatas);
if
(
lockState
&&
MoveInfo
.
shelfLockDatas
!=
null
)
//
if (lockState && MoveInfo.shelfLockDatas != null)
{
//
{
MoveInfo
.
IsShelfLocked
=
true
;
//
MoveInfo.IsShelfLocked = true;
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"开始到料架指定位置取料盘 "
);
//
InOutStoreLog(moveName + MoveInfo.SLog + "开始到料架指定位置取料盘 ");
}
//
}
else
//
else
{
//
{
MoveInfo
.
IsShelfLocked
=
false
;
//
MoveInfo.IsShelfLocked = false;
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"开始循环料架取料盘 "
);
//
InOutStoreLog(moveName + MoveInfo.SLog + "开始循环料架取料盘 ");
}
//
}
MoveInfo
.
EndStepWait
();
//
MoveInfo.EndStepWait();
}
//
}
else
//
else
{
//
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SO_06_InoutBack
);
//
MoveInfo.NextMoveStep(StoreMoveStep.SO_06_InoutBack);
InOutStoreLog
(
"出库 "
+
MoveInfo
.
SLog
+
":叉子从库位返回,进出轴至P1(待机点) "
);
//
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从库位返回,进出轴至P1(待机点) ");
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
//
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1
(
MoveInfo
.
MoveParam
.
MoveP
.
InOut_P1
);
//
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
//把库位的物品放到取到叉子上之后是出仓完成
//
//把库位的物品放到取到叉子上之后是出仓完成
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosID
:
""
;
//
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
lastPosId
=
posId
;
//
lastPosId = posId;
lastPosIdStatus
=
StoreStatus
.
OutStoreBoxEnd
;
//
lastPosIdStatus = StoreStatus.OutStoreBoxEnd;
storeStatus
=
StoreStatus
.
OutStoreBoxEnd
;
//
storeStatus = StoreStatus.OutStoreBoxEnd;
}
//
}
}
//
}
}
}
private
void
StartShelfOut
()
private
void
StartShelfOut
()
...
@@ -214,33 +214,33 @@ namespace OnlineStore.DeviceLibrary
...
@@ -214,33 +214,33 @@ namespace OnlineStore.DeviceLibrary
{
{
string
mark
=
defualtMark
;
string
mark
=
defualtMark
;
//如果料架号是空,需要送到VMI线
//
//
如果料架号是空,需要送到VMI线
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
//
if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{
//
{
if
(
CurrShelfID
.
EndsWith
(
"00"
))
//
if (CurrShelfID.EndsWith("00"))
{
//
{
mark
=
defualtMark
;
//
mark = defualtMark;
}
//
}
//包装料会发往分盘区, 紧急料区, 包装线区
//
//包装料会发往分盘区, 紧急料区, 包装线区
// urgentReel 这个为true是紧急料 出到紧急料区
//
// urgentReel 这个为true是紧急料 出到紧急料区
// cutReel 为true是分盘料,AGV会拉到到分盘区
//
// cutReel 为true是分盘料,AGV会拉到到分盘区
//料串会发到分盘区和紧急料区
//
//料串会发到分盘区和紧急料区
//两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区
//
//两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区
else
if
(
MoveInfo
.
MoveParam
.
urgentReel
)
//
else if (MoveInfo.MoveParam.urgentReel)
{
//
{
//紧急料,需要到紧急料区
//
//紧急料,需要到紧急料区
mark
=
MoveInfo
.
MoveParam
.
rfid
+
",urgent"
;
//
mark = MoveInfo.MoveParam.rfid + ",urgent";
}
//
}
else
if
(
MoveInfo
.
MoveParam
.
cutReel
)
//
else if (MoveInfo.MoveParam.cutReel)
{
//
{
//cutReel 为true是分盘料,AGV会拉到到分盘区
//
//cutReel 为true是分盘料,AGV会拉到到分盘区
mark
=
MoveInfo
.
MoveParam
.
rfid
+
",cut"
;
//
mark = MoveInfo.MoveParam.rfid + ",cut";
}
//
}
else
//
else
{
//
{
mark
=
MoveInfo
.
MoveParam
.
rfid
+
",pack"
;
//
mark = MoveInfo.MoveParam.rfid + ",pack";
}
//
}
}
//
}
return
mark
;
return
mark
;
}
}
...
@@ -262,13 +262,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -262,13 +262,13 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_02_LocatinDown
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_02_LocatinDown
))
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_03_WaitEmptyAgv
);
//
MoveInfo.NextMoveStep(StoreMoveStep.BS_03_WaitEmptyAgv);
MoveInfo
.
TimeOutSeconds
=
600
;
//
MoveInfo.TimeOutSeconds = 600;
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
//
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
//等待agv到达
//
//
等待agv到达
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAgvAction
((
int
)
ClientAction
.
Arrive
));
//
MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Arrive));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":再次调用 NeedLeave["
+
mark
+
"]["
+
CurrShelfID
+
"],等待Agv "
+
Config
.
AgvNodeName
+
" Arrive ,最多等待1200秒"
);
//
InOutStoreLog(moveName + MoveInfo.SLog + ":再次调用 NeedLeave[" + mark + "][" + CurrShelfID + "],等待Agv " + Config.AgvNodeName + " Arrive ,最多等待1200秒");
//AgvClient.SetStatus(Config.AgvNodeName, mark, CurrShelfID, ClientAction.NeedLeave, ClientLevel.High, true);
//
//
AgvClient.SetStatus(Config.AgvNodeName, mark, CurrShelfID, ClientAction.NeedLeave, ClientLevel.High, true);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_03_WaitEmptyAgv
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_03_WaitEmptyAgv
))
{
{
...
@@ -310,47 +310,47 @@ namespace OnlineStore.DeviceLibrary
...
@@ -310,47 +310,47 @@ namespace OnlineStore.DeviceLibrary
////等待agv到达
////等待agv到达
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Ready));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Ready));
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_05_WaitReady
))
// else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_05_WaitReady))
{
// {
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_06_LineBackRun
);
// MoveInfo.NextMoveStep(StoreMoveStep.BS_06_LineBackRun);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":收到agv "
+
Config
.
AgvNodeName
+
" Ready ,线体开始反转"
);
// InOutStoreLog(moveName + MoveInfo.SLog + ":收到agv " + Config.AgvNodeName + " Ready ,线体开始反转");
LineBackRun
();
// LineBackRun();
}
// }
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_06_LineBackRun
))
// else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_06_LineBackRun))
{
// {
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_07_WaitShelfOut
);
// MoveInfo.NextMoveStep(StoreMoveStep.BS_07_WaitShelfOut);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":等待取料工位无信号 "
);
// InOutStoreLog(moveName + MoveInfo.SLog + ":等待取料工位无信号 ");
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineTake_Check
,
IO_VALUE
.
LOW
));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_07_WaitShelfOut
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_08_WaitLineIn
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":等待 入料口有信号,最多等待30秒"
);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW));
MoveInfo
.
OneWaitCanEndStep
=
true
;
// // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
30000
));
// }
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
HIGH
));
// else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_07_WaitShelfOut))
}
// {
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_08_WaitLineIn
))
// MoveInfo.NextMoveStep(StoreMoveStep.BS_08_WaitLineIn);
{
// InOutStoreLog(moveName + MoveInfo.SLog + ":等待 入料口有信号,最多等待30秒");
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_09_WaitTime
);
// // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":再转动1000 , 等待入料口无信号,清理RFID"
);
// MoveInfo.OneWaitCanEndStep = true;
// RFIDManager.ReadRFID(Config.RFID_IP, true);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
LOW
));
// }
}
// else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_08_WaitLineIn))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_09_WaitTime
))
// {
{
// MoveInfo.NextMoveStep(StoreMoveStep.BS_09_WaitTime);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_10_WaitAGVLeave
);
// InOutStoreLog(moveName + MoveInfo.SLog + ":再转动1000 , 等待入料口无信号,清理RFID");
MoveInfo
.
TimeOutSeconds
=
180
;
//// RFIDManager.ReadRFID(Config.RFID_IP, true);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":等待DoorClose事件,最多等待180000 "
);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo
.
OneWaitCanEndStep
=
true
;
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.LOW));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
180000
));
// }
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitDoorClose
());
// else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_09_WaitTime))
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction(action.FinishOut));
// {
}
// MoveInfo.NextMoveStep(StoreMoveStep.BS_10_WaitAGVLeave);
// MoveInfo.TimeOutSeconds = 180;
// InOutStoreLog(moveName + MoveInfo.SLog + ":等待DoorClose事件,最多等待180000 ");
// MoveInfo.OneWaitCanEndStep = true;
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(180000));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitDoorClose());
// //MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction(action.FinishOut));
// }
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_10_WaitAGVLeave))
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_10_WaitAGVLeave))
//{
//{
...
@@ -406,7 +406,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -406,7 +406,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
Name
+
logN
+
",当前 BS_03_WaitEmptyAgv,正在等待料架到达"
);
LogUtil
.
info
(
Name
+
logN
+
",当前 BS_03_WaitEmptyAgv,正在等待料架到达"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_04_DoorOpen
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_04_DoorOpen
);
InOutStoreLog
(
"送出料架等待空车"
+
MoveInfo
.
SLog
+
":agv到达,打开入料口移门"
);
InOutStoreLog
(
"送出料架等待空车"
+
MoveInfo
.
SLog
+
":agv到达,打开入料口移门"
);
DoorBean
.
Start
Open
(
MoveInfo
);
DoorBean
.
Start
Back
(
MoveInfo
);
return
true
;
return
true
;
}
}
else
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_00_ReadyShelf
))
else
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
&&
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_00_ReadyShelf
))
...
@@ -414,7 +414,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -414,7 +414,7 @@ namespace OnlineStore.DeviceLibrary
if
(
rfid
.
Equals
(
""
))
if
(
rfid
.
Equals
(
""
))
{
{
string
mark
=
GetMarkInfo
();
string
mark
=
GetMarkInfo
();
LogUtil
.
error
(
Name
+
logN
+
" 当前出库中 BI_00_ReadyShelf,RFID无效,不处理agv,重发 NeedEnter ["
+
mark
+
"]["
+
MoveInfo
.
MoveParam
.
rfid
+
"]"
);
//
LogUtil.error(Name + logN + " 当前出库中 BI_00_ReadyShelf,RFID无效,不处理agv,重发 NeedEnter [" + mark + "][" + MoveInfo.MoveParam.rfid + "]");
// AgvClient.SetStatus(Config.AgvNodeName, mark, MoveInfo.MoveParam.rfid, ClientAction.NeedEnter, ClientLevel.High, true);
// AgvClient.SetStatus(Config.AgvNodeName, mark, MoveInfo.MoveParam.rfid, ClientAction.NeedEnter, ClientLevel.High, true);
return
false
;
return
false
;
}
}
...
@@ -423,28 +423,28 @@ namespace OnlineStore.DeviceLibrary
...
@@ -423,28 +423,28 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
Name
+
logN
+
",当前出库中 BI_00_ReadyShelf,正在等待料架到达"
);
LogUtil
.
info
(
Name
+
logN
+
",当前出库中 BI_00_ReadyShelf,正在等待料架到达"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_01_DoorOpen
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_01_DoorOpen
);
InOutStoreLog
(
"出库等待料架"
+
MoveInfo
.
SLog
+
" agv已到达,打开入料口移门"
);
InOutStoreLog
(
"出库等待料架"
+
MoveInfo
.
SLog
+
" agv已到达,打开入料口移门"
);
DoorBean
.
Start
Open
(
MoveInfo
);
DoorBean
.
Start
Back
(
MoveInfo
);
return
true
;
return
true
;
}
}
else
if
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)
&&
//
else if (storeRunStatus.Equals(StoreRunStatus.Runing) &&
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
None
)
&&
//
MoveInfo.MoveType.Equals(StoreMoveType.None) &&
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
LOW
))
//
IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.LOW))
{
//
{
//agv到达,开始处理
//
//agv到达,开始处理
if
(
rfid
.
Equals
(
""
))
//
if (rfid.Equals(""))
{
//
{
LogUtil
.
error
(
Name
+
logN
+
" ,RFID无效,不需要入库处理"
);
//
LogUtil.error(Name + logN + " ,RFID无效,不需要入库处理");
return
false
;
//
return false;
}
//
}
LogUtil
.
info
(
Name
+
logN
+
" ,检测到料架,开始料架入库"
);
//
LogUtil.info(Name + logN + " ,检测到料架,开始料架入库");
StartShelfInStore
();
//
StartShelfInStore();
return
true
;
//
return true;
}
//
}
else
//
else
{
//
{
LogUtil
.
error
(
Name
+
logN
+
" ,["
+
MoveInfo
.
MoveType
+
"]["
+
MoveInfo
.
MoveStep
+
"]未找到相关处理"
);
//
LogUtil.error(Name + logN + " ,[" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]未找到相关处理");
}
//
}
return
false
;
return
false
;
}
}
...
@@ -640,7 +640,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -640,7 +640,7 @@ namespace OnlineStore.DeviceLibrary
string
plateW
=
plateWArray
[
index
];
string
plateW
=
plateWArray
[
index
];
string
plateH
=
plateHArray
[
index
];
string
plateH
=
plateHArray
[
index
];
string
shelfPosID
=
StoreManager
.
GetShelfIDByLoc
(
rfidLoc
,
ShelfPosList
);
string
shelfPosID
=
StoreManager
.
GetShelfIDByLoc
(
rfidLoc
,
ShelfPosList
);
InOutParam
inoutParam
=
new
InOutParam
(
barcode
,
posId
,
shelfPosID
,
plateW
,
plateH
,
urgentReel
,
cutReel
,
smallReel
,
rfid
,
rfidLoc
,
taskCount
,
realRfid
);
InOutParam
inoutParam
=
new
InOutParam
(
barcode
,
posId
,
plateW
,
plateH
);
//根据发送的posId获取位置列表
//根据发送的posId获取位置列表
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
posId
);
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
posId
);
...
@@ -757,7 +757,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -757,7 +757,7 @@ namespace OnlineStore.DeviceLibrary
return
false
;
return
false
;
}
}
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】设置入库参数 , 开始入库!"
);
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】设置入库参数 , 开始入库!"
);
int
p3
=
Co
mTargetPosition
+
Config
.
GetCom_P3_P2
(
plateW
)
;
int
p3
=
Co
nfig
.
CompAxis_P3
;
MoveInfo
.
MoveParam
.
UpdatePosId
(
message
,
posId
,
plateW
,
plateH
,
ComTargetPosition
,
p3
);
MoveInfo
.
MoveParam
.
UpdatePosId
(
message
,
posId
,
plateW
,
plateH
,
ComTargetPosition
,
p3
);
return
true
;
return
true
;
}
}
...
@@ -878,7 +878,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -878,7 +878,7 @@ namespace OnlineStore.DeviceLibrary
return
false
;
return
false
;
}
}
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】设置入库参数 , 开始入库!"
);
LogInfo
(
" 收到服务器入库命令:库位号【"
+
posId
+
"】二维码【"
+
message
+
"】设置入库参数 , 开始入库!"
);
int
p3
=
Co
mTargetPosition
+
Config
.
GetCom_P3_P2
(
plateW
)
;
int
p3
=
Co
nfig
.
CompAxis_P3
;
MoveInfo
.
MoveParam
.
UpdatePosId
(
message
,
posId
,
plateW
,
plateH
,
ComTargetPosition
,
p3
);
MoveInfo
.
MoveParam
.
UpdatePosId
(
message
,
posId
,
plateW
,
plateH
,
ComTargetPosition
,
p3
);
codeResultType
=
CodeResultType
.
Success
;
codeResultType
=
CodeResultType
.
Success
;
return
true
;
return
true
;
...
...
source/DeviceLibrary/duoStore/DUOStoreBean.cs
查看文件 @
2b40314
...
@@ -30,7 +30,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -30,7 +30,6 @@ namespace OnlineStore.DeviceLibrary
public
Store_Config
Config
{
get
;
set
;
}
public
Store_Config
Config
{
get
;
set
;
}
public
bool
UseBuzzer
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseBuzzer
).
Equals
(
1
);
public
bool
UseBuzzer
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseBuzzer
).
Equals
(
1
);
public
bool
AutoShelfInstore
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
AutoShelfInstore
).
Equals
(
1
);
public
bool
AutoShelfInstore
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
AutoShelfInstore
).
Equals
(
1
);
List
<
string
>
rfidList
=
new
List
<
string
>();
#
region
初始化
#
region
初始化
internal
bool
canStart
=
false
;
internal
bool
canStart
=
false
;
...
@@ -62,7 +61,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -62,7 +61,6 @@ namespace OnlineStore.DeviceLibrary
AddDeviceName
(
ioList
,
config
.
IOIPList
);
AddDeviceName
(
ioList
,
config
.
IOIPList
);
BoxMap
.
Add
(
config
.
Id
,
equip
);
BoxMap
.
Add
(
config
.
Id
,
equip
);
BoxConfigMap
.
Add
(
config
.
Id
,
config
);
BoxConfigMap
.
Add
(
config
.
Id
,
config
);
rfidList
.
Add
(
config
.
RFID_IP
);
}
}
IOManager
.
Init
();
IOManager
.
Init
();
...
@@ -382,17 +380,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -382,17 +380,6 @@ namespace OnlineStore.DeviceLibrary
WarnMsg
=
msg
;
WarnMsg
=
msg
;
}
}
internal
bool
AGVProcess
(
string
name
,
string
rfid
,
ClientAction
action
)
{
foreach
(
BoxBean
box
in
this
.
BoxMap
.
Values
)
{
if
(
box
.
Config
.
AgvNodeName
.
Equals
(
name
))
{
return
box
.
ProcessAGVAction
(
name
,
rfid
,
action
);
}
}
return
false
;
}
public
override
void
Alarm
(
StoreAlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
public
override
void
Alarm
(
StoreAlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
{
{
...
...
source/DeviceLibrary/duoStore/EnteryDoorBean.cs
查看文件 @
2b40314
...
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
...
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
namespace
OnlineStore.DeviceLibrary
namespace
OnlineStore.DeviceLibrary
{
{
public
class
EnteryDoorBean
public
class
HoisterCylinder
{
{
public
bool
IsRun
=
false
;
public
bool
IsRun
=
false
;
private
string
LastMoveDO
=
""
;
private
string
LastMoveDO
=
""
;
...
@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
private
int
subType
=
0
;
private
int
subType
=
0
;
internal
DateTime
LastEndTime
=
DateTime
.
Now
;
internal
DateTime
LastEndTime
=
DateTime
.
Now
;
public
EnteryDoorBean
(
int
subType
)
public
HoisterCylinder
(
int
subType
)
{
{
this
.
subType
=
subType
;
this
.
subType
=
subType
;
}
}
...
@@ -48,13 +48,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -48,13 +48,13 @@ namespace OnlineStore.DeviceLibrary
LastMoveDO
=
moveDO
;
LastMoveDO
=
moveDO
;
LastCheckDI
=
checkDI
;
LastCheckDI
=
checkDI
;
LogUtil
.
debug
(
"写入信号:"
+
moveDO
+
",等待信号:"
+
checkDI
+
""
);
LogUtil
.
debug
(
"写入信号:"
+
moveDO
+
",等待信号:"
+
checkDI
+
""
);
if
(
moveDO
.
Equals
(
IO_Type
.
EntranceDoor_Open
))
if
(
moveDO
.
Equals
(
IO_Type
.
Hoister_Back
))
{
{
IOManager
.
IOMove
(
IO_Type
.
EntranceDoor_Close
,
IO_VALUE
.
LOW
,
subType
);
IOManager
.
IOMove
(
IO_Type
.
Hoister_Forward
,
IO_VALUE
.
LOW
,
subType
);
}
}
else
else
{
{
IOManager
.
IOMove
(
IO_Type
.
EntranceDoor_Open
,
IO_VALUE
.
LOW
,
subType
);
IOManager
.
IOMove
(
IO_Type
.
Hoister_Back
,
IO_VALUE
.
LOW
,
subType
);
}
}
IOManager
.
IOMove
(
moveDO
,
IO_VALUE
.
HIGH
,
subType
);
IOManager
.
IOMove
(
moveDO
,
IO_VALUE
.
HIGH
,
subType
);
...
@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
public
bool
Start
Open
(
StoreMoveInfo
moveInfo
)
public
bool
Start
Back
(
StoreMoveInfo
moveInfo
)
{
{
bool
UseDoor
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseDoor
).
Equals
(
1
);
bool
UseDoor
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseDoor
).
Equals
(
1
);
if
(!
UseDoor
)
if
(!
UseDoor
)
...
@@ -110,21 +110,21 @@ namespace OnlineStore.DeviceLibrary
...
@@ -110,21 +110,21 @@ namespace OnlineStore.DeviceLibrary
}
}
//如果门已打开直接返回
//如果门已打开直接返回
if
(
IOManager
.
IOValue
(
IO_Type
.
EntranceDoor_Open
,
subType
).
Equals
(
IO_VALUE
.
HIGH
)
&&
if
(
IOManager
.
IOValue
(
IO_Type
.
Hoister_Back
,
subType
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
IOValue
(
IO_Type
.
EntranceDoor_Close
,
subType
).
Equals
(
IO_VALUE
.
LOW
))
IOManager
.
IOValue
(
IO_Type
.
Hoister_Forward
,
subType
).
Equals
(
IO_VALUE
.
LOW
))
{
{
return
true
;
return
true
;
}
}
if
(
moveInfo
!=
null
)
if
(
moveInfo
!=
null
)
{
{
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
EntranceDoor_Open
,
IO_VALUE
.
HIGH
));
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Hoister_Back
,
IO_VALUE
.
HIGH
));
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
EntranceDoor_Close
,
IO_VALUE
.
LOW
));
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Hoister_Forward
,
IO_VALUE
.
LOW
));
}
}
return
Start
(
IO_Type
.
EntranceDoor_Open
,
IO_Type
.
EntranceDoor_Open
);
return
Start
(
IO_Type
.
Hoister_Back
,
IO_Type
.
Hoister_Back
);
}
}
public
bool
Start
Close
(
StoreMoveInfo
moveInfo
)
public
bool
Start
Forward
(
StoreMoveInfo
moveInfo
)
{
{
bool
UseDoor
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseDoor
).
Equals
(
1
);
bool
UseDoor
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseDoor
).
Equals
(
1
);
if
(!
UseDoor
)
if
(!
UseDoor
)
...
@@ -133,17 +133,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -133,17 +133,17 @@ namespace OnlineStore.DeviceLibrary
}
}
//如果门已关闭直接返回
//如果门已关闭直接返回
if
(
IOManager
.
IOValue
(
IO_Type
.
EntranceDoor_Close
,
subType
).
Equals
(
IO_VALUE
.
HIGH
)
&&
if
(
IOManager
.
IOValue
(
IO_Type
.
Hoister_Forward
,
subType
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
IOValue
(
IO_Type
.
EntranceDoor_Open
,
subType
).
Equals
(
IO_VALUE
.
LOW
))
IOManager
.
IOValue
(
IO_Type
.
Hoister_Back
,
subType
).
Equals
(
IO_VALUE
.
LOW
))
{
{
return
true
;
return
true
;
}
}
if
(
moveInfo
!=
null
)
if
(
moveInfo
!=
null
)
{
{
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
EntranceDoor_Close
,
IO_VALUE
.
HIGH
));
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Hoister_Forward
,
IO_VALUE
.
HIGH
));
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
EntranceDoor_Open
,
IO_VALUE
.
LOW
));
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Hoister_Back
,
IO_VALUE
.
LOW
));
}
}
return
Start
(
IO_Type
.
EntranceDoor_Close
,
IO_Type
.
EntranceDoor_Close
);
return
Start
(
IO_Type
.
Hoister_Forward
,
IO_Type
.
Hoister_Forward
);
}
}
}
}
}
}
source/DeviceLibrary/duoStore/HumitureBean.cs
查看文件 @
2b40314
...
@@ -69,102 +69,102 @@ namespace OnlineStore.DeviceLibrary
...
@@ -69,102 +69,102 @@ namespace OnlineStore.DeviceLibrary
public
string
currTempStr
=
""
;
public
string
currTempStr
=
""
;
internal
void
HumidityProcess
(
BoxBean
box
)
internal
void
HumidityProcess
(
BoxBean
box
)
{
{
try
//
try
{
//
{
if
((
DateTime
.
Now
-
preLogTime
).
TotalSeconds
>
10
)
//
if ((DateTime.Now - preLogTime).TotalSeconds > 10)
{
//
{
preLogTime
=
DateTime
.
Now
;
//
preLogTime = DateTime.Now;
//用最大的湿度判断是否需要吹气,开始吹气的值=发过来的值-4
//
//用最大的湿度判断是否需要吹气,开始吹气的值=发过来的值-4
//温湿度
//
//温湿度
//ASTemperateParam param = HumitureServer.GetTemperateParam(Config.GetTempAddrList());
//
//ASTemperateParam param = HumitureServer.GetTemperateParam(Config.GetTempAddrList());
HumitureParam
param
=
QueryData
();
//
HumitureParam param = QueryData();
double
humidity
=
0
;
//
double humidity = 0;
double
temp
=
0
;
//
double temp = 0;
if
(
param
!=
null
)
//
if (param != null)
{
//
{
humidity
=
param
.
Humidity
;
//
humidity = param.Humidity;
temp
=
param
.
Temperate
;
//
temp = param.Temperate;
currTempStr
=
Name
+
(
"湿度:"
+
humidity
.
ToString
()
+
",温度:"
+
temp
);
//
currTempStr = Name + ("湿度:" + humidity.ToString() + ",温度:" + temp);
}
//
}
//double currMaxHumidity = HumitureServer.GetMaxHumidity(Config.GetTempAddrList());
//
//double currMaxHumidity = HumitureServer.GetMaxHumidity(Config.GetTempAddrList());
double
currMaxHumidity
=
param
.
Humidity
;
//
double currMaxHumidity = param.Humidity;
float
startBlowHumidity
=
Max_Humidity
-
StartBlowValue
;
//
float startBlowHumidity = Max_Humidity - StartBlowValue;
float
stopBlowHumidity
=
Max_Humidity
-
StopBlowValue
;
//
float stopBlowHumidity = Max_Humidity - StopBlowValue;
//判断是否需要吹气
//
//判断是否需要吹气
if
(
startBlowHumidity
>
0
&&
startBlowHumidity
<
currMaxHumidity
&&
IsInBlowing
.
Equals
(
false
))
//
if (startBlowHumidity > 0 && startBlowHumidity < currMaxHumidity && IsInBlowing.Equals(false))
{
//
{
//判断是否距离上次结束指定的时间
//
//判断是否距离上次结束指定的时间
TimeSpan
span
=
DateTime
.
Now
-
LastEndBlowTime
;
//
TimeSpan span = DateTime.Now - LastEndBlowTime;
if
(
span
.
TotalMinutes
>
box
.
Config
.
BlowAir_Interval
)
// if (span.TotalMinutes > StoreManager
.Config.BlowAir_Interval)
{
//
{
LogUtil
.
info
(
Name
+
"当前最大湿度:"
+
currMaxHumidity
.
ToString
()
+
",开始吹气湿度:"
+
startBlowHumidity
+
",当前不在吹气中,且间隔超过"
+
box
.
Config
.
BlowAir_Interval
+
"分钟,开始吹气!"
);
// LogUtil.info(Name + "当前最大湿度:" + currMaxHumidity.ToString() + ",开始吹气湿度:" + startBlowHumidity + ",当前不在吹气中,且间隔超过" + StoreManager
.Config.BlowAir_Interval + "分钟,开始吹气!");
IsInBlowing
=
true
;
//
IsInBlowing = true;
//Thread.Sleep(100);
//
//Thread.Sleep(100);
box
.
IOMove
(
IO_Type
.
StartOrStopBlow
,
IO_VALUE
.
HIGH
);
//
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.HIGH);
LastBeginBlowTime
=
DateTime
.
Now
;
//
LastBeginBlowTime = DateTime.Now;
LastEndBlowTime
=
DateTime
.
Now
;
//
LastEndBlowTime = DateTime.Now;
}
//
}
}
//
}
if
(
IsInBlowing
&&
stopBlowHumidity
>
currMaxHumidity
)
//
if (IsInBlowing && stopBlowHumidity > currMaxHumidity)
{
//
{
LogUtil
.
info
(
Name
+
"当前最大湿度:"
+
currMaxHumidity
.
ToString
()
+
",停止吹气湿度:"
+
stopBlowHumidity
+
",停止吹气!"
);
//
LogUtil.info(Name + "当前最大湿度:" + currMaxHumidity.ToString() + ",停止吹气湿度:" + stopBlowHumidity + ",停止吹气!");
IsInBlowing
=
false
;
//
IsInBlowing = false;
box
.
IOMove
(
IO_Type
.
StartOrStopBlow
,
IO_VALUE
.
LOW
);
//
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
LastEndBlowTime
=
DateTime
.
Now
;
//
LastEndBlowTime = DateTime.Now;
}
//
}
if
(
IsInBlowing
)
//
if (IsInBlowing)
{
//
{
//判断是否需要结束吹气
//
//判断是否需要结束吹气
TimeSpan
span
=
DateTime
.
Now
-
LastBeginBlowTime
;
//
TimeSpan span = DateTime.Now - LastBeginBlowTime;
if
(
span
.
TotalMinutes
>
box
.
Config
.
BlowAir_Time
)
// if (span.TotalMinutes > StoreManager
.Config.BlowAir_Time)
{
//
{
LogUtil
.
info
(
Name
+
"已经吹气"
+
span
.
TotalMinutes
+
"分钟,超过配置的吹气时间"
+
box
.
Config
.
BlowAir_Time
+
"分钟,停止吹气!"
);
// LogUtil.info(Name + "已经吹气" + span.TotalMinutes + "分钟,超过配置的吹气时间" + StoreManager
.Config.BlowAir_Time + "分钟,停止吹气!");
IsInBlowing
=
false
;
//
IsInBlowing = false;
//Thread.Sleep(100);
//
//Thread.Sleep(100);
box
.
IOMove
(
IO_Type
.
StartOrStopBlow
,
IO_VALUE
.
LOW
);
//
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
LastEndBlowTime
=
DateTime
.
Now
;
//
LastEndBlowTime = DateTime.Now;
}
//
}
}
//
}
bool
needAlarm
=
false
;
//
bool needAlarm = false;
//如果开始吹气并且当前达到报警值
//
//如果开始吹气并且当前达到报警值
if
(
IsInBlowing
&&
humidity
>
Max_Humidity
)
//
if (IsInBlowing && humidity > Max_Humidity)
{
//
{
needAlarm
=
true
;
//
needAlarm = true;
}
//
}
else
if
(
temp
>
Max_Temperature
&&
Max_Temperature
>
0
)
//
else if (temp > Max_Temperature && Max_Temperature > 0)
{
//
{
LogUtil
.
info
(
Name
+
"当前温度【"
+
param
.
Temperate
+
"】超过最高温度【"
+
Max_Temperature
+
"】,开始报警!"
);
//
LogUtil.info(Name + "当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!");
needAlarm
=
true
;
//
needAlarm = true;
//Thread.Sleep(100);
//
//Thread.Sleep(100);
box
.
IOMove
(
IO_Type
.
StartOrStopBlow
,
IO_VALUE
.
LOW
);
//
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
}
//
}
else
if
(
temp
<
Max_Temperature
)
//
else if (temp < Max_Temperature)
{
//
{
if
(
IsInBlowing
.
Equals
(
false
)
&&
TempOrHumidityIsAlarm
)
//
if (IsInBlowing.Equals(false) && TempOrHumidityIsAlarm)
{
//
{
LogUtil
.
info
(
Name
+
"不在吹气中,且当前温度【"
+
param
.
Temperate
+
"】低于【"
+
Max_Temperature
+
"】,关闭报警!"
);
//
LogUtil.info(Name + "不在吹气中,且当前温度【" + param.Temperate + "】低于【" + Max_Temperature + "】,关闭报警!");
TempOrHumidityIsAlarm
=
false
;
//
TempOrHumidityIsAlarm = false;
//Thread.Sleep(100);
//
//Thread.Sleep(100);
box
.
IOMove
(
IO_Type
.
StartOrStopBlow
,
IO_VALUE
.
LOW
);
//
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
}
//
}
}
//
}
else
//
else
{
//
{
TempOrHumidityIsAlarm
=
false
;
//
TempOrHumidityIsAlarm = false;
}
//
}
if
(
needAlarm
)
//
if (needAlarm)
{
//
{
HTAlarm
();
//
HTAlarm();
}
//
}
}
//
}
}
//
}
catch
(
Exception
ex
)
//
catch (Exception ex)
{
//
{
LogUtil
.
error
(
Name
+
"HumidityProcess出错:"
+
ex
.
ToString
());
//
LogUtil.error(Name + "HumidityProcess出错:" + ex.ToString());
}
//
}
}
}
private
void
HTAlarm
()
private
void
HTAlarm
()
{
{
...
...
source/DeviceLibrary/duoStore/StoreManager.cs
查看文件 @
2b40314
...
@@ -13,12 +13,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -13,12 +13,7 @@ namespace OnlineStore.DeviceLibrary
{
{
public
class
StoreManager
public
class
StoreManager
{
{
/// <summary>
/// 当前出入库的模式
/// </summary>
public
static
int
CurrInOutType
=
0
;
// public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public
static
DUOStoreBean
Store
=
null
;
public
static
DUOStoreBean
Store
=
null
;
public
static
Store_Config
Config
=
null
;
public
static
Store_Config
Config
=
null
;
public
static
Dictionary
<
int
,
BaseConfig
>
AllConfigMap
=
null
;
public
static
Dictionary
<
int
,
BaseConfig
>
AllConfigMap
=
null
;
...
@@ -122,10 +117,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -122,10 +117,6 @@ namespace OnlineStore.DeviceLibrary
}
}
return
Store
;
return
Store
;
}
}
/// <summary>
/// 修改了料仓配置,更新缓存,更新配置文件(只能更新PRO的配置)
/// </summary>
/// <param name="kTK_LA_Store_Config"></param>
public
static
bool
UpdateBoxConfig
(
BOX_Config
storeConfig
)
public
static
bool
UpdateBoxConfig
(
BOX_Config
storeConfig
)
{
{
try
try
...
@@ -188,23 +179,23 @@ namespace OnlineStore.DeviceLibrary
...
@@ -188,23 +179,23 @@ namespace OnlineStore.DeviceLibrary
}
}
p
.
ComPress_P1
=
box
.
Config
.
CompAxis_P1
_Position
;
p
.
ComPress_P1
=
box
.
Config
.
CompAxis_P1
;
p
.
InOut_P1
=
box
.
Config
.
InOutAxis_P1
_Position
;
p
.
InOut_P1
=
box
.
Config
.
InOutAxis_P1
;
p
.
Middle_P1
=
box
.
Config
.
MiddleAxis_P1
;
p
.
Middle_P1
=
box
.
Config
.
MiddleAxis_P1
;
p
.
InOut_P2
=
box
.
Config
.
InOutAxis_P2
_Position
;
p
.
InOut_P2
=
box
.
Config
.
InOutAxis_P2
;
p
.
UpDown_P1
=
box
.
Config
.
UpDownAxis_P1
;
p
.
UpDown_P1
=
box
.
Config
.
UpDownAxis_P1
;
// p.UpDown_P8 = box.Config.UpDownAxis_DoorIBPosition_P8;
// p.UpDown_P8 = box.Config.UpDownAxis_DoorIBPosition_P8;
p
.
UpDown_P2
=
box
.
Config
.
UpDownAxis_P2
;
p
.
UpDown_P2
=
box
.
Config
.
UpDownAxis_P2
;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
p
.
InOut_P11
=
box
.
Config
.
InOutAxis_P11
_Position
;
p
.
InOut_P11
=
box
.
Config
.
InOutAxis_P11
;
p
.
Middle_P11
=
box
.
Config
.
MiddleAxis_P11
;
p
.
Middle_P11
=
box
.
Config
.
MiddleAxis_P11
;
p
.
UpDown_P11
=
box
.
Config
.
UpDownAxis_P11
;
p
.
UpDown_P11
=
box
.
Config
.
UpDownAxis_P11
;
p
.
UpDown_P12
=
box
.
Config
.
UpDownAxis_P12
;
p
.
UpDown_P12
=
box
.
Config
.
UpDownAxis_P12
;
p
.
ComPress_P2
=
box
.
Config
.
GetComP2
(
position
.
BagHigh
)
.
TargetComP2
()
;
p
.
ComPress_P2
=
box
.
Config
.
GetComP2
(
position
.
BagHigh
);
p
.
ComPress_P3
=
p
.
ComPress_P2
+
box
.
Config
.
GetCom_P3_P2
(
param
.
PlateW
)
;
p
.
ComPress_P3
=
box
.
Config
.
CompAxis_P3
;
p
.
InOut_P3
=
position
.
InoutAxis_P3
;
p
.
InOut_P3
=
position
.
InoutAxis_P3
;
p
.
Middle_P2
=
position
.
MiddleAxis_P2
;
p
.
Middle_P2
=
position
.
MiddleAxis_P2
;
p
.
UpDown_P3
=
position
.
UpdownAxis_IH_P3
;
p
.
UpDown_P3
=
position
.
UpdownAxis_IH_P3
;
...
@@ -599,7 +590,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -599,7 +590,7 @@ namespace OnlineStore.DeviceLibrary
// 参数:cids: 多个 cid
// 参数:cids: 多个 cid
//code: 条码内容
//code: 条码内容
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
paramMap
.
Add
(
"cids"
,
box
Config
.
All_CIDs
.
Replace
(
'#'
,
','
));
paramMap
.
Add
(
"cids"
,
Config
.
All_CIDs
.
Replace
(
'#'
,
','
));
paramMap
.
Add
(
"code"
,
barcode
);
paramMap
.
Add
(
"code"
,
barcode
);
paramMap
.
Add
(
ParamDefine
.
rfid
,
rfid
);
paramMap
.
Add
(
ParamDefine
.
rfid
,
rfid
);
paramMap
.
Add
(
"rfidLoc"
,
rfidLoc
.
ToString
());
paramMap
.
Add
(
"rfidLoc"
,
rfidLoc
.
ToString
());
...
...
source/DeviceLibrary/store/AutoInoutInfo.cs
查看文件 @
2b40314
...
@@ -81,7 +81,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -81,7 +81,7 @@ namespace OnlineStore.DeviceLibrary
//param.NeedOutShelf = false;
//param.NeedOutShelf = false;
//param.NeedEnterShelf = false;
//param.NeedEnterShelf = false;
//判断是否需要重置
//判断是否需要重置
if
(
CurrInOutACount
>=
boxBean
.
Config
.
Box_ResetACount
)
if
(
CurrInOutACount
>=
StoreManager
.
Config
.
Box_ResetACount
)
{
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把出库信息存入排队列表中"
);
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把出库信息存入排队列表中"
);
boxBean
.
Reset
(
false
);
boxBean
.
Reset
(
false
);
...
@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary
InOutParam
param
=
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
);
InOutParam
param
=
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
);
// param.NeedOutShelf = false;
// param.NeedOutShelf = false;
//判断是否需要重置
//判断是否需要重置
if
(
CurrInOutACount
>=
boxBean
.
Config
.
Box_ResetACount
)
if
(
CurrInOutACount
>=
StoreManager
.
Config
.
Box_ResetACount
)
{
{
boxBean
.
LogInfo
(
"自动进入下一个入库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把入库信息存入排队列表中"
);
boxBean
.
LogInfo
(
"自动进入下一个入库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把入库信息存入排队列表中"
);
boxBean
.
Reset
(
false
);
boxBean
.
Reset
(
false
);
...
...
source/DeviceLibrary/store/InOutParam.cs
查看文件 @
2b40314
...
@@ -10,47 +10,26 @@ using System.Text;
...
@@ -10,47 +10,26 @@ using System.Text;
namespace
OnlineStore.DeviceLibrary
namespace
OnlineStore.DeviceLibrary
{
{
/// <summary>
/// 出入仓参数(出入库操作时传入的参数类)
/// </summary>
public
class
InOutParam
public
class
InOutParam
{
{
public
InOutParam
(
string
wareNo
=
""
,
string
posId
=
""
,
string
ShelfPosID
=
""
,
string
platew
=
""
,
string
plateh
=
""
,
bool
urgentReel
=
false
,
bool
cutReel
=
false
,
bool
smallReel
=
false
,
string
rfid
=
""
,
int
rfidLoc
=
0
,
int
taskCount
=
0
,
string
realRfid
=
""
)
public
InOutParam
(
string
wareNo
=
""
,
string
posId
=
""
,
string
platew
=
""
,
string
plateh
=
""
)
{
{
this
.
ShelfPosID
=
ShelfPosID
;
WareCode
=
wareNo
;
WareCode
=
wareNo
;
PosID
=
posId
;
PosID
=
posId
;
MoveP
=
null
;
MoveP
=
null
;
this
.
PlateW
=
platew
;
this
.
PlateW
=
platew
;
this
.
PlateH
=
plateh
;
this
.
PlateH
=
plateh
;
this
.
urgentReel
=
urgentReel
;
this
.
cutReel
=
cutReel
;
this
.
smallReel
=
smallReel
;
this
.
rfid
=
rfid
;
this
.
rfidLoc
=
rfidLoc
;
this
.
taskCount
=
taskCount
;
this
.
realRfid
=
realRfid
;
}
}
public
InOutParam
(
string
wareNo
,
string
posId
,
string
ShelfPosID
,
LineMoveP
linePosition
)
public
InOutParam
(
string
wareNo
,
string
posId
,
string
ShelfPosID
,
LineMoveP
linePosition
)
{
{
WareCode
=
wareNo
;
WareCode
=
wareNo
;
this
.
ShelfPosID
=
ShelfPosID
;
PosID
=
posId
;
PosID
=
posId
;
MoveP
=
linePosition
;
MoveP
=
linePosition
;
//NeedEnterShelf = false;
//NeedOutShelf = false;
this
.
urgentReel
=
false
;
this
.
cutReel
=
false
;
this
.
smallReel
=
false
;
this
.
rfid
=
""
;
this
.
rfidLoc
=
0
;
this
.
taskCount
=
0
;
this
.
realRfid
=
""
;
}
}
public
InOutParam
NewParam
()
public
InOutParam
NewParam
()
{
{
InOutParam
newp
=
new
InOutParam
(
WareCode
,
PosID
,
ShelfPosID
,
PlateW
,
PlateH
,
urgentReel
,
cutReel
,
smallReel
,
rfid
,
rfidLoc
,
taskCount
,
realRfid
);
InOutParam
newp
=
new
InOutParam
(
WareCode
,
PosID
,
PlateW
,
PlateH
);
return
newp
;
return
newp
;
}
}
/// <summary>
/// <summary>
...
@@ -61,10 +40,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -61,10 +40,7 @@ namespace OnlineStore.DeviceLibrary
/// 位置坐标名(对应配置表的位置)
/// 位置坐标名(对应配置表的位置)
/// </summary>
/// </summary>
public
string
PosID
{
get
;
set
;
}
public
string
PosID
{
get
;
set
;
}
/// <summary>
/// 料架对应的库位号
/// </summary>
public
string
ShelfPosID
=
""
;
public
LineMoveP
MoveP
{
get
;
set
;
}
public
LineMoveP
MoveP
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 料盘高度
/// 料盘高度
...
@@ -76,42 +52,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -76,42 +52,6 @@ namespace OnlineStore.DeviceLibrary
public
string
PlateW
{
get
;
set
;
}
public
string
PlateW
{
get
;
set
;
}
/// <summary>
/// <summary>
/// urgentReel: true 表示紧急料,需要出到料串上
/// </summary>
public
bool
urgentReel
{
get
;
set
;
}
/// <summary>
/// cutReel: true 表示分盘料,需要出到料串上
/// </summary>
public
bool
cutReel
{
get
;
set
;
}
/// <summary>
/// smallReel: true 小料(7x8),放置到小料架上
/// </summary>
public
bool
smallReel
{
get
;
set
;
}
/// <summary>
/// rfid: 分配的料架RFID
/// </summary>
public
string
rfid
=
""
;
/// <summary>
/// rfidLoc: 料架的架位,值为 - 1时,可以自由分配皮带线,
/// 小料时,架位为1 - 46优先走1 / 2号皮带线,47 - 92优先走3 / 4号皮带线,
/// 70,71,72时只能分配到3 / 4号皮带线;
/// 大料时,架位1 - 6优先走1 / 2号皮带线, 7 - 12优先走3/ 4号皮带线
/// </summary>
public
int
rfidLoc
=
0
;
/// <summary>
/// 剩余任务数量,当剩余任务 《=1时,出库完成需要送出料架
/// 剩余任务数为0, 或者料架已放满,或者料架rfid与上一个任务不同,料架就要放出去
/// 剩余任务数为1时, 当前的料放完就可以把料架放出去了
///当前料放完,料架已满,也把料架放出去
/// </summary>
public
int
taskCount
=
0
;
/// <summary>
/// 真实料架号
/// </summary>
public
string
realRfid
=
""
;
/// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
/// </summary>
/// </summary>
/// <returns></returns>
/// <returns></returns>
...
@@ -129,7 +69,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -129,7 +69,6 @@ namespace OnlineStore.DeviceLibrary
if
(
arr
.
Length
>=
2
)
if
(
arr
.
Length
>=
2
)
{
{
return
int
.
Parse
(
arr
[
0
]);
return
int
.
Parse
(
arr
[
0
]);
}
}
else
else
{
{
...
@@ -145,16 +84,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -145,16 +84,9 @@ namespace OnlineStore.DeviceLibrary
}
}
public
string
ToStr
()
public
string
ToStr
()
{
{
return
" 库位 ["
+
PosID
+
"] ["
+
ShelfPosID
+
"], ["
+
WareCode
+
"], ["
+
PlateW
+
"x"
+
PlateH
+
"] ,"
+
return
" 库位 ["
+
PosID
+
"] ["
+
WareCode
+
"], ["
+
PlateW
+
"x"
+
PlateH
+
"] "
;
"urgentReel ["
+
urgentReel
+
"],cutReel ["
+
cutReel
+
"],smallReel ["
+
smallReel
+
"],rfid ["
+
rfid
+
"],rfidLoc ["
+
rfidLoc
+
"],taskCount ["
+
taskCount
+
"]"
;
}
public
string
ToShortStr
()
{
return
"["
+
rfid
+
"]["
+
PosID
+
"]["
+
ShelfPosID
+
"]["
+
PlateW
+
"x"
+
PlateH
+
"]["
+
WareCode
+
"]"
;
}
}
internal
void
UpdatePosId
(
string
message
,
string
posId
,
string
plateW
,
string
plateH
,
int
comP2
,
int
comP3
)
internal
void
UpdatePosId
(
string
message
,
string
posId
,
string
plateW
,
string
plateH
,
int
comP2
,
int
comP3
)
{
{
this
.
WareCode
=
message
;
this
.
WareCode
=
message
;
...
@@ -179,13 +111,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -179,13 +111,9 @@ namespace OnlineStore.DeviceLibrary
MoveP
.
UpDown_P6
=
position
.
UpdownAxis_OL_P6
;
MoveP
.
UpDown_P6
=
position
.
UpdownAxis_OL_P6
;
}
}
internal
void
UpdatePosIdAndShelfId
(
string
wareNo
,
string
rfid
,
string
posId
,
string
ShelfPosID
)
internal
void
UpdatePosIdAndShelfId
(
string
wareNo
,
string
rfid
,
string
posId
)
{
{
WareCode
=
wareNo
;
WareCode
=
wareNo
;
this
.
ShelfPosID
=
ShelfPosID
;
this
.
rfid
=
rfid
;
PosID
=
posId
;
PosID
=
posId
;
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
posId
);
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
posId
);
...
...
source/DeviceLibrary/store/KTK_Store.cs
查看文件 @
2b40314
...
@@ -484,8 +484,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -484,8 +484,7 @@ namespace OnlineStore.DeviceLibrary
protected
void
InOutStoreLog
(
string
msg
)
protected
void
InOutStoreLog
(
string
msg
)
{
{
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
"["
+
MoveInfo
.
MoveParam
.
PosID
+
"]"
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
"["
+
MoveInfo
.
MoveParam
.
PosID
+
"]"
:
""
;
string
shelfId
=
MoveInfo
.
MoveParam
!=
null
?
"["
+
MoveInfo
.
MoveParam
.
ShelfPosID
+
"]"
:
""
;
LogInfo
(
" "
+
posId
+
" :"
+
msg
);
LogInfo
(
" "
+
posId
+
""
+
shelfId
+
" :"
+
msg
);
}
}
protected
int
GetAlarmCodeByAxis
(
ConfigMoveAxis
axis
)
protected
int
GetAlarmCodeByAxis
(
ConfigMoveAxis
axis
)
{
{
...
...
source/DeviceLibrary/store/LineMoveP.cs
查看文件 @
2b40314
...
@@ -19,8 +19,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -19,8 +19,8 @@ namespace OnlineStore.DeviceLibrary
}
}
public
LineMoveP
(
BOX_Config
Config
)
public
LineMoveP
(
BOX_Config
Config
)
{
{
this
.
ComPress_P1
=
Config
.
CompAxis_P1
_Position
;
this
.
ComPress_P1
=
Config
.
CompAxis_P1
;
this
.
InOut_P1
=
Config
.
InOutAxis_P1
_Position
;
this
.
InOut_P1
=
Config
.
InOutAxis_P1
;
this
.
Middle_P1
=
Config
.
MiddleAxis_P1
;
this
.
Middle_P1
=
Config
.
MiddleAxis_P1
;
this
.
UpDown_P1
=
Config
.
UpDownAxis_P1
;
this
.
UpDown_P1
=
Config
.
UpDownAxis_P1
;
this
.
UpDown_P2
=
Config
.
UpDownAxis_P2
;
this
.
UpDown_P2
=
Config
.
UpDownAxis_P2
;
...
@@ -30,8 +30,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -30,8 +30,8 @@ namespace OnlineStore.DeviceLibrary
this
.
Middle_P11
=
Config
.
MiddleAxis_P11
;
this
.
Middle_P11
=
Config
.
MiddleAxis_P11
;
this
.
InOut_P11
=
Config
.
InOutAxis_P11
_Position
;
this
.
InOut_P11
=
Config
.
InOutAxis_P11
;
this
.
InOut_P2
=
Config
.
InOutAxis_P2
_Position
;
this
.
InOut_P2
=
Config
.
InOutAxis_P2
;
}
}
/// <summary>
/// <summary>
/// 轴2( 升降轴) 扫码放料低点 P1
/// 轴2( 升降轴) 扫码放料低点 P1
...
...
source/DeviceLibrary/store/model/StoreMoveInfo.cs
查看文件 @
2b40314
...
@@ -187,7 +187,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -187,7 +187,7 @@ namespace OnlineStore.DeviceLibrary
//设置取料位置
//设置取料位置
MoveParam
.
UpdatePosIdAndShelfId
(
shelfLockDatas
[
currShelfIndex
].
barcode
,
MoveParam
.
UpdatePosIdAndShelfId
(
shelfLockDatas
[
currShelfIndex
].
barcode
,
shelfLockDatas
[
currShelfIndex
].
rfid
,
shelfLockDatas
[
currShelfIndex
].
rfid
,
shelfLockDatas
[
currShelfIndex
].
lockPos
,
currShelfPosId
);
shelfLockDatas
[
currShelfIndex
].
lockPos
);
return
true
;
return
true
;
...
...
source/LoadCVSLibrary/storeConfig/CSVConfigReader.cs
查看文件 @
2b40314
...
@@ -128,6 +128,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -128,6 +128,7 @@ namespace OnlineStore.LoadCSVLibrary
}
}
}
}
bllIns
.
CheckField
();
bllIns
.
CheckField
();
bllIns
.
ConfigStr
=
line
.
Replace
(
",,,"
,
""
);
configList
.
Add
(
bllIns
);
configList
.
Add
(
bllIns
);
}
}
index
++;
index
++;
...
...
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
查看文件 @
2b40314
...
@@ -149,7 +149,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -149,7 +149,7 @@ namespace OnlineStore.LoadCSVLibrary
{
{
public
ConfigIO
()
public
ConfigIO
()
{
{
SlaveID
=
0
;
}
}
private
string
IP
=
""
;
private
string
IP
=
""
;
...
@@ -178,8 +178,6 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -178,8 +178,6 @@ namespace OnlineStore.LoadCSVLibrary
[
CSVAttribute
(
"电器定义"
)]
[
CSVAttribute
(
"电器定义"
)]
public
string
ElectricalDefinition
{
get
;
set
;
}
public
string
ElectricalDefinition
{
get
;
set
;
}
[
CSVAttribute
(
"SlaveID"
)]
public
byte
SlaveID
{
get
;
set
;
}
public
string
DisplayStr
public
string
DisplayStr
{
{
get
get
...
...
source/LoadCVSLibrary/storeConfig/config/BaseConfig.cs
查看文件 @
2b40314
...
@@ -10,48 +10,43 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -10,48 +10,43 @@ namespace OnlineStore.LoadCSVLibrary
{
{
public
class
BaseConfig
public
class
BaseConfig
{
{
private
bool
codeAutoLog
=
false
;
public
static
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>
SubDIList
{
get
;
set
;
}
public
static
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>
SubDIList
{
get
;
set
;
}
public
static
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>
SubDOList
{
get
;
set
;
}
public
static
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>
SubDOList
{
get
;
set
;
}
// public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public
static
Dictionary
<
string
,
string
>
ProIOIpMap
=
null
;
public
static
Dictionary
<
string
,
string
>
ProIOIpMap
=
null
;
public
const
string
IOIP_Str
=
"PRO_AOI_IP"
;
public
const
string
IOIP_Str
=
"PRO_AIO_IP"
;
/// <summary>
/// ID
/// </summary>
public
int
Id
{
get
;
set
;
}
public
int
Id
{
get
;
set
;
}
public
string
CID
{
get
;
set
;
}
public
string
CID
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 设备类型
/// 设备类型
/// </summary>
/// </summary>
public
string
DType
{
get
;
set
;
}
public
string
DType
{
get
;
set
;
}
/// <summary>
/// 配置文件路径
/// </summary>
public
string
ConfigFilePath
{
get
;
set
;
}
public
string
ConfigFilePath
{
get
;
set
;
}
public
Dictionary
<
String
,
ConfigIO
>
DIList
{
get
;
set
;
}
public
Dictionary
<
String
,
ConfigIO
>
DIList
{
get
;
set
;
}
public
Dictionary
<
String
,
ConfigIO
>
DOList
{
get
;
set
;
}
public
Dictionary
<
String
,
ConfigIO
>
DOList
{
get
;
set
;
}
/// <summary>
/// 料仓所有用到的IO卡名称
/// </summary>
public
List
<
string
>
IOIPList
{
get
;
set
;
}
public
List
<
string
>
IOIPList
{
get
;
set
;
}
public
BaseConfig
()
public
BaseConfig
()
{
{
SubDIList
=
new
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>();
SubDOList
=
new
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>();
}
}
public
BaseConfig
(
int
id
,
string
CID
,
string
type
,
string
filepath
)
public
BaseConfig
(
int
id
,
string
CID
,
string
type
,
string
filepath
)
{
{
this
.
CID
=
CID
;
this
.
CID
=
CID
;
this
.
Id
=
id
;
this
.
Id
=
id
;
this
.
DType
=
type
;
this
.
DType
=
type
;
this
.
ConfigFilePath
=
filepath
;
this
.
ConfigFilePath
=
filepath
;
SubDIList
=
new
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>();
SubDOList
=
new
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>();
}
}
public
virtual
void
LoadConfig
(
List
<
ConfigBase
>
configList
)
public
virtual
void
LoadConfig
(
List
<
ConfigBase
>
configList
)
{
{
...
@@ -61,8 +56,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -61,8 +56,7 @@ namespace OnlineStore.LoadCSVLibrary
StringBuilder
proBuilder
=
new
StringBuilder
(
"\r\n"
);
StringBuilder
proBuilder
=
new
StringBuilder
(
"\r\n"
);
DIList
=
new
Dictionary
<
string
,
ConfigIO
>();
DIList
=
new
Dictionary
<
string
,
ConfigIO
>();
DOList
=
new
Dictionary
<
string
,
ConfigIO
>();
DOList
=
new
Dictionary
<
string
,
ConfigIO
>();
// SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
// SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
IOIPList
=
new
List
<
string
>();
IOIPList
=
new
List
<
string
>();
//取得属性集合
//取得属性集合
PropertyInfo
[]
props
=
GetType
().
GetProperties
();
PropertyInfo
[]
props
=
GetType
().
GetProperties
();
...
@@ -99,11 +93,11 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -99,11 +93,11 @@ namespace OnlineStore.LoadCSVLibrary
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
}
}
}
}
else
if
(!
ProIOIpMap
.
ContainsKey
(
con
.
ProName
)
&&
con
.
ProName
.
ToUpper
().
Contains
(
IOIP_Str
.
ToUpper
()))
if
(!
ProIOIpMap
.
ContainsKey
(
con
.
ProName
)
&&
con
.
ProName
.
ToUpper
().
Contains
(
IOIP_Str
.
ToUpper
()))
{
{
ProIOIpMap
.
Add
(
con
.
ProName
,
con
.
ProValue
);
ProIOIpMap
.
Add
(
con
.
ProName
,
con
.
ProValue
);
}
}
else
else
if
(
codeAutoLog
||
(!
proMap
.
ContainsKey
(
con
.
ProName
)))
{
{
AddProBuffer
(
con
,
proBuilder
);
AddProBuffer
(
con
,
proBuilder
);
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
...
@@ -140,7 +134,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -140,7 +134,7 @@ namespace OnlineStore.LoadCSVLibrary
SubDIList
[
io
.
SubType
].
Add
(
io
.
ProName
,
io
);
SubDIList
[
io
.
SubType
].
Add
(
io
.
ProName
,
io
);
}
}
if
(!
ioTypeList
.
Contains
(
con
.
ProName
))
if
(!
ioTypeList
.
Contains
(
con
.
ProName
)
||
codeAutoLog
)
{
{
AddBuffer
(
con
,
builder
);
AddBuffer
(
con
,
builder
);
}
}
...
@@ -174,7 +168,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -174,7 +168,7 @@ namespace OnlineStore.LoadCSVLibrary
{
{
SubDOList
[
io
.
SubType
].
Add
(
io
.
ProName
,
io
);
SubDOList
[
io
.
SubType
].
Add
(
io
.
ProName
,
io
);
}
}
if
(!
ioTypeList
.
Contains
(
con
.
ProName
))
if
(!
ioTypeList
.
Contains
(
con
.
ProName
)
||
codeAutoLog
)
{
{
AddBuffer
(
con
,
builder
);
AddBuffer
(
con
,
builder
);
}
}
...
@@ -224,34 +218,10 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -224,34 +218,10 @@ namespace OnlineStore.LoadCSVLibrary
}
}
}
}
}
}
////DI检测
//foreach (string di in MustHaveDIList)
//{
// if (!DIList.ContainsKey(di))
// {
// throw new CVSFieldNotMatchingExection(this.ToString() + "的DI属性" + di + "必须配置值!");
// }
//}
////DO检测
//foreach (string io in MustHaveDOList)
//{
// if (!this.DOList.ContainsKey(io))
// {
// throw new CVSFieldNotMatchingExection(this.ToString() + "的DO属性" + io + "必须配置值!");
// }
//}
}
}
}
}
private
void
AddProBuffer
(
ConfigBase
con
,
StringBuilder
builder
)
private
void
AddProBuffer
(
ConfigBase
con
,
StringBuilder
builder
)
{
{
// /// <summary>
// /// PRO 是否使用定位气缸 IsHasLocationCylinder 0
// /// </summary>
//[ConfigProAttribute("IsHasLocationCylinder")]
//public int IsHasLocationCylinder { get; set; }
builder
.
Append
(
" /// <summary>\r\n"
);
builder
.
Append
(
" /// <summary>\r\n"
);
builder
.
Append
(
" /// "
+
con
.
ConfigStr
+
"\r\n"
);
builder
.
Append
(
" /// "
+
con
.
ConfigStr
+
"\r\n"
);
builder
.
Append
(
" /// </summary>\r\n"
);
builder
.
Append
(
" /// </summary>\r\n"
);
...
@@ -337,6 +307,4 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -337,6 +307,4 @@ namespace OnlineStore.LoadCSVLibrary
}
}
}
}
source/LoadCVSLibrary/storeConfig/config/Box_Config.cs
查看文件 @
2b40314
...
@@ -19,638 +19,239 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -19,638 +19,239 @@ namespace OnlineStore.LoadCSVLibrary
}
}
/// <summary>
/// <summary>
///
PRO,AGV小车站号名称,AgvNodeName,B2,,,,,,,
///
AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,250,1000,1000,80,60,50,10,1000,0,0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"AgvNodeName"
)]
[
ConfigProAttribute
(
"Middle_Axis"
)]
public
string
AgvNodeName
{
get
;
set
;
}
public
ConfigMoveAxis
Middle_Axis
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴原点目标速度 MiddleAxis_TargetSpeed 30000
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_TargetSpeed"
)]
public
int
MiddleAxis_TargetSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴加速度 MiddleAxis_AddSpeed 500
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_AddSpeed"
)]
public
short
MiddleAxis_AddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴减速度 MiddleAxis_DelSpeed 500
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_DelSpeed"
)]
public
short
MiddleAxis_DelSpeed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴二)升降轴轴原点目标速度 UpdownAxis_TargetSpeed 12000
0
///
AXIS,,L2_上下轴,UpDown_Axis,2,COM1,,300,400,400,400,400,400,10,1000,0,
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_TargetSpeed"
)]
[
ConfigProAttribute
(
"UpDown_Axis"
)]
public
int
UpdownAxis_TargetSpeed
{
get
;
set
;
}
public
ConfigMoveAxis
UpDown_Axis
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴二)升降轴轴加速度 UpdownAxis_AddSpeed 20
0
///
AXIS,,L3_进出轴,InOut_Axis,3,COM1,,100,300,300,20,60,200,10,1000,0,
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
UpdownAxis_AddSpeed
"
)]
[
ConfigProAttribute
(
"
InOut_Axis
"
)]
public
short
UpdownAxis_AddSpeed
{
get
;
set
;
}
public
ConfigMoveAxis
InOut_Axis
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴二)升降轴轴减速度 UpdownAxis_DelSpeed 20
0
///
AXIS,,L4_压紧轴,Comp_Axis,4,COM1,,100,300,300,20,60,200,10,1000,0,
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
UpdownAxis_DelSpeed
"
)]
[
ConfigProAttribute
(
"
Comp_Axis
"
)]
public
short
UpdownAxis_DelSpeed
{
get
;
set
;
}
public
ConfigMoveAxis
Comp_Axis
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO
(轴三)进出轴原点目标速度 InoutAxis_TargetSpeed 12
000
/// PRO
,,L2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585
000
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_TargetSpeed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P1"
)]
public
int
InoutAxis_TargetSpeed
{
get
;
set
;
}
public
int
UpDownAxis_P1
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO
(轴三)进出轴加速度 InoutAxis_AddSpeed 2
00
/// PRO
,,L2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,6045
00
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
InoutAxis_AddSpeed
"
)]
[
ConfigProAttribute
(
"
UpDownAxis_P2
"
)]
public
short
InoutAxis_AddSpeed
{
get
;
set
;
}
public
int
UpDownAxis_P2
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO
(轴三)进出轴减速度 InoutAxis_DelSpeed
200
/// PRO
,,L1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307
200
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_DelSpeed"
)]
[
ConfigProAttribute
(
"MiddleAxis_P1"
)]
public
short
InoutAxis_DelSpeed
{
get
;
set
;
}
public
int
MiddleAxis_P1
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴一)旋转轴原点低速度 MiddleAxis_HomeLowSpeed 5
0
///
PRO,,L3_进出轴_P1待机点,InOutAxis_P1,100
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
MiddleAxis_HomeLowSpeed
"
)]
[
ConfigProAttribute
(
"
InOutAxis_P1
"
)]
public
short
MiddleAxis_HomeLowSpeed
{
get
;
set
;
}
public
int
InOutAxis_P1
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴一)旋转轴原点高速 MiddleAxis_HomeHighSpeed 1
00
///
PRO,,L4_压紧轴_P1待机点,CompAxis_P1,1400
00
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
MiddleAxis_HomeHighSpeed
"
)]
[
ConfigProAttribute
(
"
CompAxis_P1
"
)]
public
short
MiddleAxis_HomeHighSpeed
{
get
;
set
;
}
public
int
CompAxis_P1
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴一)旋转轴原点加速度 MiddleAxis_HomeAddSpeed 3
0
///
PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,18000
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_HomeAddSpeed"
)]
[
ConfigProAttribute
(
"CompAxis_P3"
)]
public
short
MiddleAxis_HomeAddSpeed
{
get
;
set
;
}
public
int
CompAxis_P3
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴二)升降轴轴原点低速度 UpdownAxis_HomeLowSpeed 50
///
PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_HomeLowSpeed"
)]
[
ConfigProAttribute
(
"CompAxis_P2_List"
)]
public
short
UpdownAxis_HomeLowSpeed
{
get
;
set
;
}
public
string
CompAxis_P2_List
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴二)升降轴轴原点高速 UpdownAxis_HomeHighSpeed 1
00
///
PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,10000
00
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"Up
downAxis_HomeHighSpeed
"
)]
[
ConfigProAttribute
(
"Up
DownAxis_P11
"
)]
public
short
UpdownAxis_HomeHighSpeed
{
get
;
set
;
}
public
int
UpDownAxis_P11
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴二)升降轴轴原点加速度 UpdownAxis_HomeAddSpeed 3
0
///
PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,102300
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_HomeAddSpeed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P12"
)]
public
short
UpdownAxis_HomeAddSpeed
{
get
;
set
;
}
public
int
UpDownAxis_P12
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴三)进出轴原点低速 InoutAxis_HomeLowSpeed 5
0
///
PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,30690
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"
InoutAxis_HomeLowSpeed
"
)]
[
ConfigProAttribute
(
"
MiddleAxis_P11
"
)]
public
short
InoutAxis_HomeLowSpeed
{
get
;
set
;
}
public
int
MiddleAxis_P11
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴三)进出轴原点高速 InoutAxis_HomeHighSpeed 1
00
///
PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,1408
00
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"In
outAxis_HomeHighSpeed
"
)]
[
ConfigProAttribute
(
"In
OutAxis_P2
"
)]
public
short
InoutAxis_HomeHighSpeed
{
get
;
set
;
}
public
int
InOutAxis_P2
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO (轴三)进出轴原点加速度 InoutAxis_HomeAddSpeed 3
0
///
PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,14800
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_HomeAddSpeed"
)]
[
ConfigProAttribute
(
"InOutAxis_P11"
)]
public
short
InoutAxis_HomeAddSpeed
{
get
;
set
;
}
public
int
InOutAxis_P11
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P1速度 UpDownAxis_P1_Speed
///
PRO,,L2_上下轴_P1速度,UpDownAxis_P1_Speed,600
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P1_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P1_Speed"
)]
public
int
UpDownAxis_P1_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P1_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P2速度 UpDownAxis_P2_Speed
///
PRO,,L2_上下轴_P2速度,UpDownAxis_P2_Speed,600
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P2_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P2_Speed"
)]
public
int
UpDownAxis_P2_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P2_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P3速度 UpDownAxis_P3_Speed
///
PRO,,L2_上下轴_P3速度,UpDownAxis_P3_Speed,1000
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P3_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P3_Speed"
)]
public
int
UpDownAxis_P3_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P3_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P4速度 UpDownAxis_P4_Speed
///
PRO,,L2_上下轴_P4速度,UpDownAxis_P4_Speed,200
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P4_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P4_Speed"
)]
public
int
UpDownAxis_P4_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P4_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P5速度 UpDownAxis_P5_Speed
///
PRO,,L2_上下轴_P5速度,UpDownAxis_P5_Speed,1000
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P5_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P5_Speed"
)]
public
int
UpDownAxis_P5_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P5_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P6速度 UpDownAxis_P6_Speed
///
PRO,,L2_上下轴_P6速度,UpDownAxis_P6_Speed,200
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P6_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P6_Speed"
)]
public
int
UpDownAxis_P6_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P6_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P7速度 UpDownAxis_P7_Speed
///
PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,600
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P7_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P7_Speed"
)]
public
int
UpDownAxis_P7_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P7_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 升降轴(轴2)P8速度 UpDownAxis_P8_Speed
///
PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,600
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P8_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P8_Speed"
)]
public
int
UpDownAxis_P8_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P8_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 旋转轴(轴1)P1速度 MiddleAxis_P1_Speed
///
PRO,,L1_旋转轴_P1速度,MiddleAxis_P1_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_P1_Speed"
)]
[
ConfigProAttribute
(
"MiddleAxis_P1_Speed"
)]
public
int
MiddleAxis_P1_Speed
{
get
;
set
;
}
public
int
MiddleAxis_P1_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 旋转轴(轴1)P2速度 MiddleAxis_P2_Speed
///
PRO,,L1_旋转轴_P2速度,MiddleAxis_P2_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_P2_Speed"
)]
[
ConfigProAttribute
(
"MiddleAxis_P2_Speed"
)]
public
int
MiddleAxis_P2_Speed
{
get
;
set
;
}
public
int
MiddleAxis_P2_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 进出轴(轴3)P1速度 InOutAxis_P1_Speed
///
PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P1_Speed"
)]
[
ConfigProAttribute
(
"InOutAxis_P1_Speed"
)]
public
int
InOutAxis_P1_Speed
{
get
;
set
;
}
public
int
InOutAxis_P1_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 进出轴(轴3)P2速度 InOutAxis_P2_Speed
///
PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P2_Speed"
)]
[
ConfigProAttribute
(
"InOutAxis_P2_Speed"
)]
public
int
InOutAxis_P2_Speed
{
get
;
set
;
}
public
int
InOutAxis_P2_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 进出轴(轴3)P3速度 InOutAxis_P3_Speed
///
PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P3_Speed"
)]
[
ConfigProAttribute
(
"InOutAxis_P3_Speed"
)]
public
int
InOutAxis_P3_Speed
{
get
;
set
;
}
public
int
InOutAxis_P3_Speed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最小值 MiddleAxis_ErrorCountMin 200
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_ErrorCountMin"
)]
public
int
MiddleAxis_ErrorCountMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴停止时可误差的脉冲数的最小值 UpdownAxis_ErrorCountMin 200
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_ErrorCountMin"
)]
public
int
UpdownAxis_ErrorCountMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴停止时可误差的脉冲数的最小值 InoutAxis_ErrorCountMin 200
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_ErrorCountMin"
)]
public
int
InoutAxis_ErrorCountMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最大值 MiddleAxis_ErrorCountMax 500
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_ErrorCountMax"
)]
public
int
MiddleAxis_ErrorCountMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴停止时可误差的脉冲数的最大值 UpdownAxis_ErrorCountMax 500
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_ErrorCountMax"
)]
public
int
UpdownAxis_ErrorCountMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴停止时可误差的脉冲数的最大值 InoutAxis_ErrorCountMax 500
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_ErrorCountMax"
)]
public
int
InoutAxis_ErrorCountMax
{
get
;
set
;
}
/// <summary>
/// PRO,进出轴(轴3)P11-NG放料点,InOutAxis_P11_Position,1000,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P11_Position"
)]
public
int
InOutAxis_P11_Position
{
get
;
set
;
}
/// <summary>
/// PRO 升降轴(轴2)P11-NG放料低点 UpDownAxis_P11 403000
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P11"
)]
public
int
UpDownAxis_P11
{
get
;
set
;
}
/// <summary>
/// PRO 升降轴(轴2)P12-NG放料高点 UpDownAxis_P12 403000
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P12"
)]
public
int
UpDownAxis_P12
{
get
;
set
;
}
/// <summary>
/// PRO 旋转轴(轴1)P11-NG放料点 MiddleAxis_P11 268093
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_P11"
)]
public
int
MiddleAxis_P11
{
get
;
set
;
}
/// <summary>
/// PRO 进出轴(轴3)P2-扫码放料点 InOutAxis_P2_Position 1000
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P2_Position"
)]
public
int
InOutAxis_P2_Position
{
get
;
set
;
}
/// <summary>
/// PRO 升降轴(轴2)P1待机点/扫码放料低点 UpDownAxis_P1 403000
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P1"
)]
public
int
UpDownAxis_P1
{
get
;
set
;
}
/// <summary>
/// PRO 升降轴(轴2)P2扫码放料高点缓冲点 UpDownAxis_P2 415000
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P2"
)]
public
int
UpDownAxis_P2
{
get
;
set
;
}
/// <summary>
/// PRO 旋转轴(轴1)P1待机点/扫码放料点 MiddleAxis_P1 268093
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_P1"
)]
public
int
MiddleAxis_P1
{
get
;
set
;
}
/// <summary>
/// PRO 进出轴(轴3)P1待机原位点 InOutAxis_P1_Position
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P1_Position"
)]
public
int
InOutAxis_P1_Position
{
get
;
set
;
}
/// <summary>
/// PRO 压紧轴(轴4)P1待机原位点 CompAxis_P1_Position
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P1_Position"
)]
public
int
CompAxis_P1_Position
{
get
;
set
;
}
/// <summary>
///轴2升降轴 运动上下轴
/// </summary>
[
ConfigProAttribute
(
"UpDown_Axis"
)]
public
ConfigMoveAxis
UpDown_Axis
{
get
;
set
;
}
/// <summary>
/// 轴1旋转轴 运动中轴
/// </summary>
[
ConfigProAttribute
(
"Middle_Axis"
)]
public
ConfigMoveAxis
Middle_Axis
{
get
;
set
;
}
/// <summary>
/// 轴3进出轴
/// </summary>
[
ConfigProAttribute
(
"InOut_Axis"
)]
public
ConfigMoveAxis
InOut_Axis
{
get
;
set
;
}
/// <summary>
/// 轴3压紧轴
/// </summary>
[
ConfigProAttribute
(
"Comp_Axis"
)]
public
ConfigMoveAxis
Comp_Axis
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴目标速度 CompAxis_TargetSpeed 100
/// </summary>
[
ConfigProAttribute
(
"CompAxis_TargetSpeed"
)]
public
int
CompAxis_TargetSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴加速度 CompAxis_AddSpeed 300
/// </summary>
[
ConfigProAttribute
(
"CompAxis_AddSpeed"
)]
public
short
CompAxis_AddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴减速度 CompAxis_DelSpeed 300
/// </summary>
[
ConfigProAttribute
(
"CompAxis_DelSpeed"
)]
public
short
CompAxis_DelSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点低速 CompAxis_HomeLowSpeed 20
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeLowSpeed"
)]
public
int
CompAxis_HomeLowSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点高速 CompAxis_HomeHighSpeed 60
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeHighSpeed"
)]
public
int
CompAxis_HomeHighSpeed
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO (轴四)压紧轴原点加速度 CompAxis_HomeAddSpeed 200
/// PRO,,L4_压紧轴_P1速度,CompAxis_P1_Speed,400
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeAddSpeed"
)]
public
int
CompAxis_HomeAddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO 压紧轴(轴4)P1速度 CompAxis_P1_Speed 100
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P1_Speed"
)]
[
ConfigProAttribute
(
"CompAxis_P1_Speed"
)]
public
int
CompAxis_P1_Speed
{
get
;
set
;
}
public
int
CompAxis_P1_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 压紧轴(轴4)P2速度 CompAxis_P2_Speed 1
00
///
PRO,,L4_压紧轴_P2速度,CompAxis_P2_Speed,4
00
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P2_Speed"
)]
[
ConfigProAttribute
(
"CompAxis_P2_Speed"
)]
public
int
CompAxis_P2_Speed
{
get
;
set
;
}
public
int
CompAxis_P2_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 压紧轴(轴4)P3速度 CompAxis_P3_Speed 1
00
///
PRO,,L4_压紧轴_P3速度,CompAxis_P3_Speed,4
00
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P3_Speed"
)]
[
ConfigProAttribute
(
"CompAxis_P3_Speed"
)]
public
int
CompAxis_P3_Speed
{
get
;
set
;
}
public
int
CompAxis_P3_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,100,,,,,,,
/// PRO,,L2_上下轴_P101速度,UpDownAxis_P101_Speed,600
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P4_Speed"
)]
public
int
CompAxis_P4_Speed
{
get
;
set
;
}
/// <summary>
/// PRO,压紧轴(轴4)压紧确认信号收到之后下降的位置,CompAxis_Down_Position,2000,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"CompAxis_Down_Position"
)]
public
int
CompAxis_Down_Position
{
get
;
set
;
}
/// <summary>
/// PRO,压紧轴(轴4)P4目标压紧点,CompAxis_P4_Position,10000,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P4_Position"
)]
public
int
CompAxis_P4_Position
{
get
;
set
;
}
/// <summary>
/// PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,100,,,,,, ,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P101_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P101_Speed"
)]
public
int
UpDownAxis_P101_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P101_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,
升降轴(轴2)P102速度,UpDownAxis_P102_Speed,100,,,,,,,
/// PRO,
,L2_上下轴_P102速度,UpDownAxis_P102_Speed,600
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P102_Speed"
)]
[
ConfigProAttribute
(
"UpDownAxis_P102_Speed"
)]
public
int
UpDownAxis_P102_Speed
{
get
;
set
;
}
public
int
UpDownAxis_P102_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,
进出轴(轴3)P101速度,InOutAxis_P101_Speed,100,,,,,,,
/// PRO,
,L3_进出轴_P101速度,InOutAxis_P101_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"InOutAxis_P101_Speed"
)]
[
ConfigProAttribute
(
"InOutAxis_P101_Speed"
)]
public
int
InOutAxis_P101_Speed
{
get
;
set
;
}
public
int
InOutAxis_P101_Speed
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,
旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,120,,,,,,,
/// PRO,
,L1_旋转轴_P101速度,MiddleAxis_P101_Speed,300
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_P101_Speed"
)]
[
ConfigProAttribute
(
"MiddleAxis_P101_Speed"
)]
public
int
MiddleAxis_P101_Speed
{
get
;
set
;
}
public
int
MiddleAxis_P101_Speed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴最小限位 MiddleAxis_PositionMin
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_PositionMin"
,
false
)]
public
int
MiddleAxis_PositionMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴最小限位 UpdownAxis_PositionMin
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_PositionMin"
,
false
)]
public
int
UpdownAxis_PositionMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴最小限位 InoutAxis_PositionMin
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_PositionMin"
,
false
)]
public
int
InoutAxis_PositionMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴最大限位 MiddleAxis_PositionMax
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_PositionMax"
,
false
)]
public
int
MiddleAxis_PositionMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴最大限位 UpdownAxis_PositionMax
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_PositionMax"
,
false
)]
public
int
UpdownAxis_PositionMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴最大限位 InoutAxis_PositionMax
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_PositionMax"
,
false
)]
public
int
InoutAxis_PositionMax
{
get
;
set
;
}
/// <summary>
/// 预警温度
/// </summary>
[
ConfigProAttribute
(
"WarnTemperate"
)]
public
int
WarnTemperate
{
get
;
set
;
}
/// <summary>
/// 预警湿度
/// </summary>
[
ConfigProAttribute
(
"WarnHumidity"
)]
public
int
WarnHumidity
{
get
;
set
;
}
/// <summary>
/// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭)
/// </summary>
[
ConfigProAttribute
(
"AirCheckSeconds"
)]
public
int
AirCheckSeconds
{
get
;
set
;
}
/// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
/// </summary>
[
ConfigProAttribute
(
"Box_ResetMCount"
)]
public
int
Box_ResetMCount
{
get
;
set
;
}
/// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,,
/// </summary>
[
ConfigProAttribute
(
"Box_ResetACount"
)]
public
int
Box_ResetACount
{
get
;
set
;
}
/// <summary>
/// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000
/// </summary>
[
ConfigProAttribute
(
"IOSingle_TimerOut"
,
false
)]
public
int
IOSingle_TimerOut
{
get
;
set
;
}
/// <summary>
/// PRO 需要吹气的温度(温度标准) Max_Temperature 10
/// </summary>
[
ConfigProAttribute
(
"Max_Temperature"
,
false
)]
public
int
Max_Temperature
{
get
;
set
;
}
/// <summary>
/// PRO 需要吹气的湿度(湿度标准) Max_Humidity 10
/// </summary>
[
ConfigProAttribute
(
"Max_Humidity"
,
false
)]
public
int
Max_Humidity
{
get
;
set
;
}
/// <summary>
/// PRO 每次吹气的时间(分钟) BlowAir_Time 10
/// </summary>
[
ConfigProAttribute
(
"BlowAir_Time"
,
false
)]
public
int
BlowAir_Time
{
get
;
set
;
}
/// <summary>
/// PRO 两次吹气间隔(分钟) BlowAir_Interval 10
/// </summary>
[
ConfigProAttribute
(
"BlowAir_Interval"
,
false
)]
public
int
BlowAir_Interval
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
///
PRO,,温湿度端口号,Humiture_Port,COM5
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"Humiture_Port"
,
true
)]
[
ConfigProAttribute
(
"Humiture_Port"
)]
public
string
Humiture_Port
{
get
;
set
;
}
public
string
Humiture_Port
{
get
;
set
;
}
/// <summary>
/// PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,Name1#Name1,,,,,
/// </summary>
[
ConfigProAttribute
(
"CameraNameList"
)]
public
string
CameraNameList
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,RFID读卡器IP,RFID_IP,192.168.200.11,,,,,,,
/// PRO,,是否是调试状态,IsInDebug,0
/// </summary>
[
ConfigProAttribute
(
"RFID_IP"
)]
public
string
RFID_IP
{
get
;
set
;
}
/// <summary>
/// PRO,是否是调试状态,IsInDebug,1,,,,,,,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"IsInDebug"
)]
[
ConfigProAttribute
(
"IsInDebug"
)]
public
int
IsInDebug
{
get
;
set
;
}
public
int
IsInDebug
{
get
;
set
;
}
private
List
<
string
>
CameraList
=
null
;
/// <summary>
private
Dictionary
<
int
,
int
>
ComP2Map
=
null
;
/// PRO,压紧轴(轴4)非七寸取料时的压紧前点相对压紧点的位置,CompAxis_P3_P2_Value,-50000,,,,,,,
public
int
GetComP2
(
int
plateh
)
/// /// </summary>
[
ConfigProAttribute
(
"CompAxis_P3_P2_Value"
)]
public
int
CompAxis_P3_P2_Value
{
get
;
set
;
}
/// <summary>
/// PRO,压紧轴(轴4)七寸盘取料时的压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"CompAxis7_P3_P2_Value"
)]
public
int
CompAxis7_P3_P2_Value
{
get
;
set
;
}
public
int
GetCom_P3_P2
(
int
width
=
13
)
{
if
(
width
.
Equals
(
7
))
{
return
CompAxis7_P3_P2_Value
;
}
return
CompAxis_P3_P2_Value
;
}
public
int
GetCom_P3_P2
(
string
width
=
"13"
)
{
if
(
width
.
Equals
(
"7"
))
{
return
CompAxis7_P3_P2_Value
;
}
return
CompAxis_P3_P2_Value
;
}
/// <summary>
/// PRO 压紧轴(轴4)P2压紧点范围对应值 CompAxis_P2_List 8 = 1000; 2000#12=2001;3000#16=3001;4000#20=4001;5000#22=5001;6000#24=6001;7000#
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P2_List"
)]
public
string
CompAxis_P2_List
{
get
;
set
;
}
/// <summary>
/// PRO,压紧轴(轴4)P3最大压紧前点,CompAxis_Max_P3,10000,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"CompAxis_Max_P3"
)]
public
int
CompAxis_Max_P3
{
get
;
set
;
}
/// <summary>
/// PRO 所有料仓的CID(用#号分隔) All_CIDs packing-1#packing-2#packing-3#packing-4#packing-5#packing-6#packing-7#packing-8
/// </summary>
[
ConfigProAttribute
(
"All_CIDs"
)]
public
string
All_CIDs
{
get
;
set
;
}
private
List
<
ComP2Info
>
ComP2List
=
null
;
public
ComP2Info
GetComP2
(
int
plateh
)
{
{
//查找指定的高度
//查找指定的高度
analysisComP2
();
analysisComP2
();
List
<
ComP2Info
>
list
=
(
from
m
in
ComP2List
where
m
.
PlateH
.
Equals
(
plateh
)
select
m
).
ToList
<
ComP2Info
>();
if
(
ComP2Map
.
ContainsKey
(
plateh
))
if
(
list
.
Count
>
0
)
{
{
return
list
[
0
];
return
ComP2Map
[
plateh
];
}
//查找类似的高度
list
=
(
from
com
in
ComP2List
orderby
com
.
PlateH
descending
select
com
).
ToList
<
ComP2Info
>();
foreach
(
ComP2Info
comp2
in
list
)
{
if
(
plateh
>=
comp2
.
PlateH
)
{
return
comp2
;
}
}
}
return
new
List
<
int
>(
ComP2Map
.
Values
).
First
<
int
>();
return
new
ComP2Info
(
plateh
,
CompAxis_P4_Position
,
CompAxis_P4_Position
+
CompAxis_Down_Position
);
}
public
int
GetComP2PlateH
(
int
currP
)
{
analysisComP2
();
List
<
ComP2Info
>
list
=
(
from
com
in
ComP2List
where
com
.
MinComP
<=
currP
&&
com
.
MaxComP
>=
currP
select
com
).
ToList
<
ComP2Info
>();
if
(
list
.
Count
>
0
)
{
return
list
[
0
].
PlateH
;
}
}
//查找最相似的盘高
int
height
=
8
;
list
=
(
from
com
in
ComP2List
orderby
com
.
PlateH
descending
select
com
).
ToList
<
ComP2Info
>();
foreach
(
ComP2Info
comp2
in
list
)
{
if
(
currP
<=
comp2
.
MinComP
)
{
height
=
comp2
.
PlateH
+
4
;
break
;
}
}
if
(
currP
>
CompAxis_P4_Position
)
{
height
=
8
;
}
LogUtil
.
error
(
"GetComP2PlateH ["
+
currP
+
"] 未找到对应的盘高,使用相似盘高 ["
+
height
+
"]"
);
return
height
;
}
public
void
UpdateComP2
(
int
height
,
ComP2Info
p2Info
)
public
void
UpdateComP2
(
int
height
,
int
p2
)
{
{
analysisComP2
();
analysisComP2
();
bool
isUpdate
=
false
;
if
(
ComP2Map
.
ContainsKey
(
height
))
foreach
(
ComP2Info
p
in
ComP2List
)
{
if
(
p
.
PlateH
.
Equals
(
height
))
{
{
p
.
MinComP
=
p2Info
.
MinComP
;
ComP2Map
[
height
]
=
p2
;
p
.
MaxComP
=
p2Info
.
MaxComP
;
isUpdate
=
true
;
}
}
}
else
if
(!
isUpdate
)
{
{
ComP2
List
.
Add
(
p2Info
);
ComP2
Map
.
Add
(
height
,
p2
);
}
}
string
tt
=
""
;
string
tt
=
""
;
foreach
(
ComP2Info
p
in
ComP2List
)
foreach
(
int
p
in
ComP2Map
.
Keys
)
{
{
tt
+=
ComP2InfoToStr
(
p
)
;
tt
+=
p
+
"="
+
ComP2Map
[
p
]
+
";"
;
}
}
CompAxis_P2_List
=
tt
;
CompAxis_P2_List
=
tt
;
}
}
private
string
ComP2InfoToStr
(
ComP2Info
p2
)
{
return
p2
.
PlateH
+
"="
+
p2
.
MinComP
+
";"
+
p2
.
MaxComP
+
"#"
;
}
private
void
analysisComP2
()
private
void
analysisComP2
()
{
{
if
(
ComP2
List
==
null
)
if
(
ComP2
Map
==
null
)
{
{
try
try
{
{
// 8
= 1000; 2000#12=2001;3000#16=3001;4000#20=4001;5000#22=5001;6000#24=6001;7000#
// 8
=385001;424000#12=383001;385000#16=379001;
ComP2
List
=
new
List
<
ComP2Info
>();
ComP2
Map
=
new
Dictionary
<
int
,
int
>();
string
[]
arrayList
=
CompAxis_P2_List
.
Split
(
'
#
'
);
string
[]
arrayList
=
CompAxis_P2_List
.
Split
(
'
;
'
);
foreach
(
string
str
in
arrayList
)
foreach
(
string
str
in
arrayList
)
{
{
if
(
str
.
Equals
(
""
))
if
(
str
.
Equals
(
""
))
...
@@ -661,20 +262,8 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -661,20 +262,8 @@ namespace OnlineStore.LoadCSVLibrary
if
(
com2A
.
Length
.
Equals
(
2
))
if
(
com2A
.
Length
.
Equals
(
2
))
{
{
int
plateH
=
Convert
.
ToInt32
(
com2A
[
0
]);
int
plateH
=
Convert
.
ToInt32
(
com2A
[
0
]);
string
[]
pArray
=
com2A
[
1
].
Split
(
';'
);
int
p2
=
Convert
.
ToInt32
(
com2A
[
1
]);
if
(
pArray
.
Length
.
Equals
(
2
))
ComP2Map
.
Add
(
plateH
,
p2
);
{
int
minP
=
Convert
.
ToInt32
(
pArray
[
0
]);
int
maxP
=
Convert
.
ToInt32
(
pArray
[
1
]);
if
(
minP
>
CompAxis_P1_Position
&&
maxP
>
CompAxis_P1_Position
)
{
ComP2List
.
Add
(
new
ComP2Info
(
plateH
,
minP
,
maxP
));
}
else
{
LogUtil
.
error
(
"压紧轴P2 盘高【"
+
plateH
+
"】范围【"
+
minP
+
"~"
+
maxP
+
"】无效,位置小于待机点P1【"
+
CompAxis_P1_Position
+
"】"
);
}
}
}
}
}
}
}
}
...
@@ -685,82 +274,6 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -685,82 +274,6 @@ namespace OnlineStore.LoadCSVLibrary
}
}
}
}
public
List
<
string
>
GetCameraList
()
{
if
(
CameraList
==
null
)
{
CameraList
=
new
List
<
string
>();
string
[]
arrayList
=
CameraNameList
.
Split
(
'#'
);
foreach
(
string
str
in
arrayList
)
{
string
camera
=
str
.
Trim
();
if
(
string
.
IsNullOrEmpty
(
camera
).
Equals
(
false
))
{
CameraList
.
Add
(
camera
);
}
}
}
return
CameraList
;
}
public
static
void
ConfigAxis
(
BOX_Config
Config
)
{
Config
.
Middle_Axis
.
TargetSpeed
=
Config
.
MiddleAxis_TargetSpeed
;
Config
.
Middle_Axis
.
AddSpeed
=
Config
.
MiddleAxis_AddSpeed
;
Config
.
Middle_Axis
.
DelSpeed
=
Config
.
MiddleAxis_DelSpeed
;
Config
.
Middle_Axis
.
HomeAddSpeed
=
Config
.
MiddleAxis_HomeAddSpeed
;
Config
.
Middle_Axis
.
HomeHighSpeed
=
Config
.
MiddleAxis_HomeHighSpeed
;
Config
.
Middle_Axis
.
HomeLowSpeed
=
Config
.
MiddleAxis_HomeLowSpeed
;
Config
.
InOut_Axis
.
TargetSpeed
=
Config
.
InoutAxis_TargetSpeed
;
Config
.
InOut_Axis
.
DelSpeed
=
Config
.
InoutAxis_AddSpeed
;
Config
.
InOut_Axis
.
AddSpeed
=
Config
.
InoutAxis_DelSpeed
;
Config
.
InOut_Axis
.
HomeAddSpeed
=
Config
.
InoutAxis_HomeAddSpeed
;
Config
.
InOut_Axis
.
HomeHighSpeed
=
Config
.
InoutAxis_HomeHighSpeed
;
Config
.
InOut_Axis
.
HomeLowSpeed
=
Config
.
InoutAxis_HomeLowSpeed
;
Config
.
UpDown_Axis
.
TargetSpeed
=
Config
.
UpdownAxis_TargetSpeed
;
Config
.
UpDown_Axis
.
AddSpeed
=
Config
.
UpdownAxis_AddSpeed
;
Config
.
UpDown_Axis
.
DelSpeed
=
Config
.
UpdownAxis_DelSpeed
;
Config
.
UpDown_Axis
.
HomeAddSpeed
=
Config
.
UpdownAxis_HomeAddSpeed
;
Config
.
UpDown_Axis
.
HomeHighSpeed
=
Config
.
UpdownAxis_HomeHighSpeed
;
Config
.
UpDown_Axis
.
HomeLowSpeed
=
Config
.
UpdownAxis_HomeLowSpeed
;
Config
.
Comp_Axis
.
TargetSpeed
=
Config
.
CompAxis_TargetSpeed
;
Config
.
Comp_Axis
.
AddSpeed
=
Config
.
CompAxis_AddSpeed
;
Config
.
Comp_Axis
.
DelSpeed
=
Config
.
CompAxis_DelSpeed
;
Config
.
Comp_Axis
.
HomeAddSpeed
=
Config
.
CompAxis_HomeAddSpeed
;
Config
.
Comp_Axis
.
HomeHighSpeed
=
Config
.
CompAxis_HomeHighSpeed
;
Config
.
Comp_Axis
.
HomeLowSpeed
=
Config
.
CompAxis_HomeLowSpeed
;
Config
.
Middle_Axis
.
CanErrorCountMin
=
Config
.
MiddleAxis_ErrorCountMin
;
Config
.
InOut_Axis
.
CanErrorCountMin
=
Config
.
InoutAxis_ErrorCountMin
;
Config
.
UpDown_Axis
.
CanErrorCountMin
=
Config
.
UpdownAxis_ErrorCountMin
;
Config
.
Middle_Axis
.
CanErrorCountMax
=
Config
.
MiddleAxis_ErrorCountMax
;
Config
.
InOut_Axis
.
CanErrorCountMax
=
Config
.
InoutAxis_ErrorCountMax
;
Config
.
UpDown_Axis
.
CanErrorCountMax
=
Config
.
UpdownAxis_ErrorCountMax
;
Config
.
Middle_Axis
.
PositionMin
=
Config
.
MiddleAxis_PositionMin
;
Config
.
Middle_Axis
.
PositionMax
=
Config
.
MiddleAxis_PositionMax
;
Config
.
InOut_Axis
.
PositionMin
=
Config
.
InoutAxis_PositionMin
;
Config
.
InOut_Axis
.
PositionMax
=
Config
.
InoutAxis_PositionMax
;
Config
.
UpDown_Axis
.
PositionMin
=
Config
.
UpdownAxis_PositionMin
;
Config
.
UpDown_Axis
.
PositionMax
=
Config
.
UpdownAxis_PositionMax
;
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed;
//Config.UpDown_Axis.ResolveSpeed = Config.UpdownAxis_ResolveSpeed;
//Config.Middle_Axis.ResolveSpeed = Config.MiddleAxis_ResolveSpeed;
//Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1;
//Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position;
//Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_P1;
//Config.Comp_Axis.DefaultPosition = Config.CompAxis_P1_Position;
Config
.
Comp_Axis
.
CanErrorCountMax
=
1000
;
Config
.
Comp_Axis
.
CanErrorCountMin
=
10
;
Config
.
Comp_Axis
.
PositionMin
=
0
;
Config
.
Comp_Axis
.
PositionMax
=
0
;
}
}
}
...
...
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
查看文件 @
2b40314
...
@@ -25,147 +25,283 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -25,147 +25,283 @@ namespace OnlineStore.LoadCSVLibrary
}
}
return
TypeList
;
return
TypeList
;
}
}
/// <summary>
/// <summary>
///
DI 急停 SuddenStop_BTN 0 X01 DI-01
///
DI,0,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,X01,
/// </summary>
/// </summary>
public
static
string
SuddenStop_BTN
=
"SuddenStop_BTN"
;
public
static
string
SuddenStop_BTN
=
"SuddenStop_BTN"
;
/// <summary>
/// <summary>
///
DI 复位 Reset_BTN 1 X02 DI-02
///
DI,0,复位,Reset_BTN,1,PRO_AOI_IP_1,X02,
/// </summary>
/// </summary>
public
static
string
Reset_BTN
=
"Reset_BTN"
;
public
static
string
Reset_BTN
=
"Reset_BTN"
;
/// <summary>
/// <summary>
/// DI 气压检测 Airpressure_Check 2 X03 DI-03
/// DI,0,启动,AutoRun_BTN,2,PRO_AOI_IP_1,X03,
/// </summary>
public
static
string
AutoRun_BTN
=
"AutoRun_BTN"
;
/// <summary>
/// DI,0,气压检测,Airpressure_Check,3,PRO_AOI_IP_1,X04,
/// </summary>
/// </summary>
public
static
string
Airpressure_Check
=
"Airpressure_Check"
;
public
static
string
Airpressure_Check
=
"Airpressure_Check"
;
/// <summary>
/// <summary>
/// DI
L侧门禁 DoorLimit 3 X04 DI-04
/// DI
,0,线体入口料串检测,Line_InCheck,4,PRO_AOI_IP_1,X05,
/// </summary>
/// </summary>
public
static
string
DoorLimit
=
"DoorLimit
"
;
public
static
string
Line_InCheck
=
"Line_InCheck
"
;
/// <summary>
/// <summary>
/// DI
L侧料盘检测1(识别区) TrayCheck_1 0 X21 DI-21
/// DI
,0,线体上料等待区检测,Line_WaitCheck,5,PRO_AOI_IP_1,X06,
/// </summary>
/// </summary>
public
static
string
TrayCheck_1
=
"TrayCheck_1
"
;
public
static
string
Line_WaitCheck
=
"Line_WaitCheck
"
;
/// <summary>
/// <summary>
/// DI
L侧料盘检测2(识别区) TrayCheck_2 1 X22 DI-22
/// DI
,0,线体上料区料串检测,Line_WorkCheck,6,PRO_AOI_IP_1,X07,
/// </summary>
/// </summary>
public
static
string
TrayCheck_2
=
"TrayCheck_2
"
;
public
static
string
Line_WorkCheck
=
"Line_WorkCheck
"
;
/// <summary>
/// <summary>
/// DI
L侧料盘检测3(识别区) TrayCheck_3 2 X23 DI-23
/// DI
,0,料串识别检测1,ShelfCheck1,7,PRO_AOI_IP_1,X08,
/// </summary>
/// </summary>
public
static
string
TrayCheck_3
=
"TrayCheck_3
"
;
public
static
string
ShelfCheck1
=
"ShelfCheck1
"
;
/// <summary>
/// <summary>
/// DI
L侧料盘检测4(识别区) TrayCheck_4 3 X24 DI-24
/// DI
,0,料串识别检测2,ShelfCheck2,8,PRO_AOI_IP_1,X09,
/// </summary>
/// </summary>
public
static
string
TrayCheck_4
=
"TrayCheck_4
"
;
public
static
string
ShelfCheck2
=
"ShelfCheck2
"
;
/// <summary>
/// <summary>
/// DI
L侧入料口移门关闭端 EntranceDoor_Close 4 X25 DI-25
/// DI
,0,料串识别检测3,ShelfCheck3,9,PRO_AOI_IP_1,X10,
/// </summary>
/// </summary>
public
static
string
EntranceDoor_Close
=
"EntranceDoor_Close
"
;
public
static
string
ShelfCheck3
=
"ShelfCheck3
"
;
/// <summary>
/// <summary>
/// DI
L侧入料口移门打开端 EntranceDoor_Open 5 X26 DI-26
/// DI
,0,料串识别检测4,ShelfCheck4,10,PRO_AOI_IP_1,X11,
/// </summary>
/// </summary>
public
static
string
EntranceDoor_Open
=
"EntranceDoor_Open
"
;
public
static
string
ShelfCheck4
=
"ShelfCheck4
"
;
/// <summary>
/// <summary>
/// DI
L侧线体入料口检测 LineIn_Check 6 X27 DI-27
/// DI
,0,线体后端料串堆积检测,Line_BufferCheck,11,PRO_AOI_IP_1,X12,
/// </summary>
/// </summary>
public
static
string
Line
In_Check
=
"LineIn_
Check"
;
public
static
string
Line
_BufferCheck
=
"Line_Buffer
Check"
;
/// <summary>
/// <summary>
/// DI
L侧线体取料位检测 LineTake_Check 7 X28 DI-28
/// DI
,0,线体后端料串检测,Line_OutCheck,12,PRO_AOI_IP_1,X13,
/// </summary>
/// </summary>
public
static
string
Line
Take_Check
=
"LineTake_
Check"
;
public
static
string
Line
_OutCheck
=
"Line_Out
Check"
;
/// <summary>
/// <summary>
/// DI
L侧料叉压紧确认检测 Compress_Check 8 X29 DI-29
/// DI
,0,线体顶升气缸上升端,TopCylinder_Up,13,PRO_AOI_IP_1,X14,
/// </summary>
/// </summary>
public
static
string
Compress_Check
=
"Compress_Check
"
;
public
static
string
TopCylinder_Up
=
"TopCylinder_Up
"
;
/// <summary>
/// <summary>
/// DI
L侧NG料口料盘检测 NGTrayCheck 9 X30 DI-30
/// DI
,0,线体顶升气缸下降端,TopCylinder_Down,14,PRO_AOI_IP_1,X15,
/// </summary>
/// </summary>
public
static
string
NGTrayCheck
=
"NGTrayCheck
"
;
public
static
string
TopCylinder_Down
=
"TopCylinder_Down
"
;
/// <summary>
/// <summary>
/// DI
L侧NG料口升降门上升端 NGDoowCylinder_Up 10 X31 DI-31
/// DI
,0,取料提升机构前进端,Hoister_Forward,15,PRO_AOI_IP_1,X16,
/// </summary>
/// </summary>
public
static
string
NGDoowCylinder_Up
=
"NGDoowCylinder_Up
"
;
public
static
string
Hoister_Forward
=
"Hoister_Forward
"
;
/// <summary>
/// <summary>
/// D
I L侧NG料口升降门上升端 NGDoorCylinder_Down 11 X32 DI-32
/// D
O,0,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,Y01,
/// </summary>
/// </summary>
public
static
string
NGDoorCylinder_Down
=
"NGDoorCylinder_Down
"
;
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed
"
;
/// <summary>
/// <summary>
/// D
I L侧顶升装置上升端 TopCylinder_Up 12 X33 DI-33
/// D
O,0,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,Y02,
/// </summary>
/// </summary>
public
static
string
TopCylinder_Up
=
"TopCylinder_Up"
;
public
static
string
Alarm_HddLed
=
"Alarm_HddLed"
;
/// <summary>
/// <summary>
///
DI L侧顶升装置下降端 TopCylinder_Down 13 X34 DI-34
///
DO,0,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,Y03,
/// </summary>
/// </summary>
public
static
string
TopCylinder_Down
=
"TopCylinder_Down
"
;
public
static
string
RunSign_HddLed
=
"RunSign_HddLed
"
;
/// <summary>
/// <summary>
///
DI L侧定位装置上升端 LocationCylinder_Up 14 X35 DI-35
///
DO,0,报警蜂鸣器,Alarm_Buzzer,3,PRO_AOI_IP_1,Y04,
/// </summary>
/// </summary>
public
static
string
LocationCylinder_Up
=
"LocationCylinder_Up
"
;
public
static
string
Alarm_Buzzer
=
"Alarm_Buzzer
"
;
/// <summary>
/// <summary>
///
DI L侧定位装置下降端 LocationCylinder_Down 15 X36 DI-36
///
DO,1,左侧料口物料指示灯绿色,DoorLed_Green,4,PRO_AOI_IP_1,Y05,
/// </summary>
/// </summary>
public
static
string
LocationCylinder_Down
=
"LocationCylinder_Down"
;
public
static
string
DoorLed_Green
=
"DoorLed_Green"
;
/// <summary>
/// <summary>
/// DO
自动指示灯 AutoRun_HddLed 0 Y01 DO-01
/// DO
,1,左侧料口物料指示灯红色,DoorLed_Red,5,PRO_AOI_IP_1,Y06,
/// </summary>
/// </summary>
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
public
static
string
DoorLed_Red
=
"DoorLed_Red"
;
///// <summary>
///// DO,2,右侧料口物料指示灯绿色,DoorLed_Green,6,PRO_AOI_IP_1,Y07,
///// </summary>
//public static string DoorLed_Green = "DoorLed_Green";
///// <summary>
///// DO,2,右侧料口物料指示灯红色,DoorLed_Red,7,PRO_AOI_IP_1,Y08,
///// </summary>
//public static string DoorLed_Red = "DoorLed_Red";
///// <summary>
///// DO,0,取料提升机构电机前进,Hoister_Forward,8,PRO_AOI_IP_1,Y09,
///// </summary>
//public static string Hoister_Forward = "Hoister_Forward";
/// <summary>
/// <summary>
///
DO 故障指示灯 Alarm_HddLed 1 Y02 DO-02
///
DO,0,取料提升机构电机后退,Hoister_Back,9,PRO_AOI_IP_1,Y10,
/// </summary>
/// </summary>
public
static
string
Alarm_HddLed
=
"Alarm_HddLed"
;
public
static
string
Hoister_Back
=
"Hoister_Back"
;
/// <summary>
/// <summary>
///
DO 待机指示灯 RunSign_HddLed 2 Y03 DO-03
///
DO,0,相机光源ON,Camera_Led,10,PRO_AOI_IP_1,Y11,
/// </summary>
/// </summary>
public
static
string
RunSign_HddLed
=
"RunSign_Hdd
Led"
;
public
static
string
Camera_Led
=
"Camera_
Led"
;
/// <summary>
/// <summary>
///
DO 报警蜂鸣器 Alarm_Buzzer 3 Y04 DO-04
///
DO,1,左侧料仓升降轴刹车ON,UpdownAxis_Break,11,PRO_AOI_IP_1,Y12,
/// </summary>
/// </summary>
public
static
string
Alarm_Buzzer
=
"Alarm_Buzzer"
;
public
static
string
UpdownAxis_Break
=
"UpdownAxis_Break"
;
///// <summary>
///// DO,2,右侧料仓升降轴刹车ON,UpdownAxis_Break,12,PRO_AOI_IP_1,Y13,
///// </summary>
//public static string UpdownAxis_Break = "UpdownAxis_Break";
/// <summary>
/// <summary>
///
DO NG料线体电机运转 NGLine_Run 4 Y05 DO-05
///
DO,0,提升机构升降轴刹车ON,BatchAxis_Break,13,PRO_AOI_IP_1,Y14,
/// </summary>
/// </summary>
public
static
string
NGLine_Run
=
"NGLine_Run"
;
public
static
string
BatchAxis_Break
=
"BatchAxis_Break"
;
/// <summary>
/// <summary>
///
DO L侧料仓运转ON Run_Signal 0 Y21 DO-21
///
DO,0,移栽机构上下轴刹车ON,MoveAxis_Break,14,PRO_AOI_IP_1,Y15,
/// </summary>
/// </summary>
public
static
string
Run_Signal
=
"Run_Signal
"
;
public
static
string
MoveAxis_Break
=
"MoveAxis_Break
"
;
/// <summary>
/// <summary>
/// DO
L侧轴2刹车电源ON Axis_Brake 1 Y22 DO-22
/// DO
,1,左侧料仓伺服ON,Axis_Run,15,PRO_AOI_IP_1,Y16,
/// </summary>
/// </summary>
public
static
string
Axis_Brake
=
"Axis_Brake"
;
public
static
string
Axis_Run
=
"Axis_Run"
;
///// <summary>
///// DI,0,取料提升机构后退端,Hoister_Back,0,PRO_AOI_IP_2,X21,
///// </summary>
//public static string Hoister_Back = "Hoister_Back";
/// <summary>
/// <summary>
/// D
O L侧相机光源ON Camera_Led 2 Y23 DO-23
/// D
I,0,提升机构料盘检测,BatchAxis_Check,1,PRO_AOI_IP_2,X22,
/// </summary>
/// </summary>
public
static
string
Camera_Led
=
"Camera_Led"
;
public
static
string
BatchAxis_Check
=
"BatchAxis_Check"
;
/// <summary>
/// DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AOI_IP_2,X23,
/// </summary>
public
static
string
ClampCylinder_Relax
=
"ClampCylinder_Relax"
;
/// <summary>
/// DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AOI_IP_2,X24,
/// </summary>
public
static
string
ClampCylinder_Clamp
=
"ClampCylinder_Clamp"
;
/// <summary>
/// DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AOI_IP_2,X25,
/// </summary>
public
static
string
OutDoor_SafeSignal
=
"OutDoor_SafeSignal"
;
/// <summary>
/// DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AOI_IP_2,X26,
/// </summary>
public
static
string
InDoor_Check
=
"InDoor_Check"
;
/// <summary>
/// DI,1,左侧出料口门上升端,OutDoor_Up,6,PRO_AOI_IP_2,X27,
/// </summary>
public
static
string
OutDoor_Up
=
"OutDoor_Up"
;
/// <summary>
/// DI,1,左侧出料口门下降端,OutDoor_Down,7,PRO_AOI_IP_2,X28,
/// </summary>
public
static
string
OutDoor_Down
=
"OutDoor_Down"
;
/// <summary>
/// DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AOI_IP_2,X29,
/// </summary>
public
static
string
OutDoor_Check
=
"OutDoor_Check"
;
/// <summary>
/// DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AOI_IP_2,X30,
/// </summary>
public
static
string
Fixture_Check
=
"Fixture_Check"
;
///// <summary>
///// DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AOI_IP_2,X31,
///// </summary>
//public static string OutDoor_SafeSignal = "OutDoor_SafeSignal";
///// <summary>
///// DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AOI_IP_2,X32,
///// </summary>
//public static string InDoor_Check = "InDoor_Check";
///// <summary>
///// DI,2,右侧出料口门上升端,OutDoor_Up,12,PRO_AOI_IP_2,X33,
///// </summary>
//public static string OutDoor_Up = "OutDoor_Up";
///// <summary>
///// DI,2,右侧出料口门下降端,OutDoor_Down,13,PRO_AOI_IP_2,X34,
///// </summary>
//public static string OutDoor_Down = "OutDoor_Down";
///// <summary>
///// DI,2,右侧料叉料盘检测,OutDoor_Check,14,PRO_AOI_IP_2,X35,
///// </summary>
//public static string OutDoor_Check = "OutDoor_Check";
///// <summary>
///// DI,2,右侧出料口料盘检测,Fixture_Check,15,PRO_AOI_IP_2,X36,
///// </summary>
//public static string Fixture_Check = "Fixture_Check";
///// <summary>
///// DO,2,右侧料仓伺服ON,Axis_Run,0,PRO_AOI_IP_2,Y21,
///// </summary>
//public static string Axis_Run = "Axis_Run";
/// <summary>
/// DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AOI_IP_2,Y22,
/// </summary>
public
static
string
MoveAxis_Run
=
"MoveAxis_Run"
;
/// <summary>
/// <summary>
/// DO
L侧线体正转 Line_Run 5 Y26 DO-26
/// DO
,0,线体皮带正转,Line_Run,2,PRO_AOI_IP_2,Y23,
/// </summary>
/// </summary>
public
static
string
Line_Run
=
"Line_Run"
;
public
static
string
Line_Run
=
"Line_Run"
;
/// <summary>
/// <summary>
/// DO
L侧线体反转 Line_BackRun 6 Y27 DO-27
/// DO
,0,线体皮带反转,Line_BackRun,3,PRO_AOI_IP_2,Y24,
/// </summary>
/// </summary>
public
static
string
Line_BackRun
=
"Line_BackRun"
;
public
static
string
Line_BackRun
=
"Line_BackRun"
;
/// <summary>
/// <summary>
/// DO
L侧料仓吹气SOL StartOrStopBlow 7 Y28 DO-28
/// DO
,0,线体等待区阻挡1上升,Line_Stop1_Wait,4,PRO_AOI_IP_2,Y25,
/// </summary>
/// </summary>
public
static
string
StartOrStopBlow
=
"StartOrStopBlow"
;
public
static
string
Line_Stop1_Wait
=
"Line_Stop1_Wait"
;
/// <summary>
/// DO,0,线体上料区阻挡2上升,Line_Stop2_Work,5,PRO_AOI_IP_2,Y26,
/// </summary>
public
static
string
Line_Stop2_Work
=
"Line_Stop2_Work"
;
/// <summary>
/// DO,0,线体出料区阻挡3上升,Line_Stop3_Buffer,6,PRO_AOI_IP_2,Y27,
/// </summary>
public
static
string
Line_Stop3_Buffer
=
"Line_Stop3_Buffer"
;
/// <summary>
/// DO,0,线体放行阻挡4上升,Line_Stop4_Out,7,PRO_AOI_IP_2,Y28,
/// </summary>
public
static
string
Line_Stop4_Out
=
"Line_Stop4_Out"
;
///// <summary>
///// DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AOI_IP_2,Y29,
///// </summary>
//public static string TopCylinder_Up = "TopCylinder_Up";
///// <summary>
///// DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AOI_IP_2,Y30,
///// </summary>
//public static string TopCylinder_Down = "TopCylinder_Down";
///// <summary>
///// DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AOI_IP_2,Y31,
///// </summary>
//public static string ClampCylinder_Relax = "ClampCylinder_Relax";
///// <summary>
///// DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AOI_IP_2,Y32,
///// </summary>
//public static string ClampCylinder_Clamp = "ClampCylinder_Clamp";
///// <summary>
///// DO,1,左侧出料口门上升SOL,OutDoor_Up,12,PRO_AOI_IP_2,Y33,
///// </summary>
//public static string OutDoor_Up = "OutDoor_Up";
///// <summary>
///// DO,1,左侧出料口门下降SOL,OutDoor_Down,13,PRO_AOI_IP_2,Y34,
///// </summary>
//public static string OutDoor_Down = "OutDoor_Down";
///// <summary>
///// DO,2,右侧出料口门上升SOL,OutDoor_Up,14,PRO_AOI_IP_2,Y35,
///// </summary>
//public static string OutDoor_Up = "OutDoor_Up";
///// <summary>
///// DO,2,右侧出料口门下降SOL,OutDoor_Down,15,PRO_AOI_IP_2,Y36,
///// </summary>
//public static string OutDoor_Down = "OutDoor_Down";
/// <summary>
/// DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AOI_IP_3,X41,
/// </summary>
public
static
string
ClampCylinder_Check
=
"ClampCylinder_Check"
;
/// <summary>
/// DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AOI_IP_3,X42,
/// </summary>
public
static
string
LineOut_BTN
=
"LineOut_BTN"
;
/// <summary>
/// DO,0,线体入口指示灯,LineIn_Led,0,PRO_AOI_IP_3,Y41,
/// </summary>
public
static
string
LineIn_Led
=
"LineIn_Led"
;
/// <summary>
/// DO,0,线体出口指示灯,LineOut_Led,1,PRO_AOI_IP_3,Y42,
/// </summary>
public
static
string
LineOut_Led
=
"LineOut_Led"
;
/// <summary>
/// DO,0,设备内部照明ON,Device_Led,2,PRO_AOI_IP_3,Y43,
/// </summary>
public
static
string
Device_Led
=
"Device_Led"
;
public
static
string
TrayCheck_Door
=
"TrayCheck_Door"
;
// public static string TrayCheck_Fixture = "TrayCheck_Fixture";
}
}
public
enum
IO_VALUE
public
enum
IO_VALUE
{
{
...
...
source/LoadCVSLibrary/storeConfig/config/Store_Config.cs
查看文件 @
2b40314
...
@@ -18,147 +18,130 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -18,147 +18,130 @@ namespace OnlineStore.LoadCSVLibrary
}
}
///// <summary>
///// 预警温度
///// </summary>
//[ConfigProAttribute("WarnTemperate")]
//public int WarnTemperate { get; set; }
///// <summary>
///// 预警湿度
///// </summary>
//[ConfigProAttribute("WarnHumidity")]
//public int WarnHumidity { get; set; }
/// <summary>
/// <summary>
///
气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭)
///
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"AirCheckSeconds"
)]
[
ConfigProAttribute
(
"T1_Batch_Axis"
)]
public
int
AirCheckSeconds
{
get
;
set
;
}
public
ConfigMoveAxis
T1_Batch_Axis
{
get
;
set
;
}
///// <summary>
///// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
///// </summary>
//[ConfigProAttribute("Box_ResetMCount")]
//public int Box_ResetMCount { get; set; }
///// <summary>
///// PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,,
///// </summary>
//[ConfigProAttribute("Box_ResetACount")]
//public int Box_ResetACount { get; set; }
/// <summary>
/// <summary>
///
PRO IO信号超时时间(毫秒) IOSingle_TimerOut 500
0
///
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,
0
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"IOSingle_TimerOut"
,
false
)]
[
ConfigProAttribute
(
"T2_Middle_Axis"
)]
public
int
IOSingle_TimerOut
{
get
;
set
;
}
public
ConfigMoveAxis
T2_Middle_Axis
{
get
;
set
;
}
///// <summary>
///// PRO 需要吹气的温度(温度标准) Max_Temperature 10
///// </summary>
//[ConfigProAttribute("Max_Temperature", false)]
//public int Max_Temperature { get; set; }
///// <summary>
///// PRO 需要吹气的湿度(湿度标准) Max_Humidity 10
///// </summary>
//[ConfigProAttribute("Max_Humidity", false)]
//public int Max_Humidity { get; set; }
///// <summary>
///// PRO 每次吹气的时间(分钟) BlowAir_Time 10
///// </summary>
//[ConfigProAttribute("BlowAir_Time", false)]
//public int BlowAir_Time { get; set; }
///// <summary>
///// PRO 两次吹气间隔(分钟) BlowAir_Interval 10
///// </summary>
//[ConfigProAttribute("BlowAir_Interval", false)]
//public int BlowAir_Interval { get; set; }
//public int InoutAxis_PositionMax { get; set; }
///// <summary>
///// PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
///// </summary>
//[ConfigProAttribute("Humiture_Port", true )]
//public string Humiture_Port { get; set; }
/// <summary>
/// <summary>
/// PRO IO模块对应的DI数量 IO_DILength 192.168.200.10#16;192.168.200.11#4
/// AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
/// </summary>
[
ConfigProAttribute
(
"T3_Updown_Axis"
)]
public
ConfigMoveAxis
T3_Updown_Axis
{
get
;
set
;
}
/// <summary>
/// PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"IO_DILength"
)]
[
ConfigProAttribute
(
"IO_DILength"
)]
public
string
IO_DILength
{
get
;
set
;
}
public
string
IO_DILength
{
get
;
set
;
}
/// <summary>
/// <summary>
///
PRO 模块对应的DO数量 IO_DOLength 192.168.200.10#16;192.168.200.11#4
///
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"IO_DOLength"
)]
[
ConfigProAttribute
(
"IO_DOLength"
)]
public
string
IO_DOLength
{
get
;
set
;
}
public
string
IO_DOLength
{
get
;
set
;
}
///// <summary>
///// <summary>
/////
PRO 是否有仓门 HasDoor
1
/////
PRO,,第一块IO模块IP,PRO_AOI_IP_1,192.168.200.2
1
///// </summary>
///// </summary>
//[ConfigProAttribute("HasDoor")]
//[ConfigProAttribute("PRO_AOI_IP_1")]
//public int HasDoor { get; set; }
//public int PRO_AOI_IP_1 { get; set; }
///// <summary>
///// PRO,,第二块IO模块IP,PRO_AOI_IP_2,192.168.200.22
public
static
void
ConfigAxis
(
BOX_Config
Config
)
///// </summary>
{
//[ConfigProAttribute("PRO_AOI_IP_2")]
Config
.
Middle_Axis
.
TargetSpeed
=
Config
.
MiddleAxis_TargetSpeed
;
//public int PRO_AOI_IP_2 { get; set; }
Config
.
Middle_Axis
.
AddSpeed
=
Config
.
MiddleAxis_AddSpeed
;
///// <summary>
Config
.
Middle_Axis
.
DelSpeed
=
Config
.
MiddleAxis_DelSpeed
;
///// PRO,,第三块IO模块IP,PRO_AOI_IP_3,192.168.200.23
Config
.
Middle_Axis
.
HomeAddSpeed
=
Config
.
MiddleAxis_HomeAddSpeed
;
///// </summary>
Config
.
Middle_Axis
.
HomeHighSpeed
=
Config
.
MiddleAxis_HomeHighSpeed
;
//[ConfigProAttribute("PRO_AOI_IP_3")]
Config
.
Middle_Axis
.
HomeLowSpeed
=
Config
.
MiddleAxis_HomeLowSpeed
;
//public int PRO_AOI_IP_3 { get; set; }
/// <summary>
Config
.
InOut_Axis
.
TargetSpeed
=
Config
.
InoutAxis_TargetSpeed
;
/// PRO,,预警温度,WarnTemperate,80
Config
.
InOut_Axis
.
DelSpeed
=
Config
.
InoutAxis_AddSpeed
;
/// </summary>
Config
.
InOut_Axis
.
AddSpeed
=
Config
.
InoutAxis_DelSpeed
;
[
ConfigProAttribute
(
"WarnTemperate"
)]
Config
.
InOut_Axis
.
HomeAddSpeed
=
Config
.
InoutAxis_HomeAddSpeed
;
public
int
WarnTemperate
{
get
;
set
;
}
Config
.
InOut_Axis
.
HomeHighSpeed
=
Config
.
InoutAxis_HomeHighSpeed
;
/// <summary>
Config
.
InOut_Axis
.
HomeLowSpeed
=
Config
.
InoutAxis_HomeLowSpeed
;
/// PRO,,预警湿度,WarnHumidity,80
/// </summary>
Config
.
UpDown_Axis
.
TargetSpeed
=
Config
.
UpdownAxis_TargetSpeed
;
[
ConfigProAttribute
(
"WarnHumidity"
)]
Config
.
UpDown_Axis
.
AddSpeed
=
Config
.
UpdownAxis_AddSpeed
;
public
int
WarnHumidity
{
get
;
set
;
}
Config
.
UpDown_Axis
.
DelSpeed
=
Config
.
UpdownAxis_DelSpeed
;
/// <summary>
Config
.
UpDown_Axis
.
HomeAddSpeed
=
Config
.
UpdownAxis_HomeAddSpeed
;
/// PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000
Config
.
UpDown_Axis
.
HomeHighSpeed
=
Config
.
UpdownAxis_HomeHighSpeed
;
/// </summary>
Config
.
UpDown_Axis
.
HomeLowSpeed
=
Config
.
UpdownAxis_HomeLowSpeed
;
[
ConfigProAttribute
(
"Box_ResetMCount"
)]
public
int
Box_ResetMCount
{
get
;
set
;
}
Config
.
Comp_Axis
.
TargetSpeed
=
Config
.
CompAxis_TargetSpeed
;
/// <summary>
Config
.
Comp_Axis
.
AddSpeed
=
Config
.
CompAxis_AddSpeed
;
/// PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100
Config
.
Comp_Axis
.
DelSpeed
=
Config
.
CompAxis_DelSpeed
;
/// </summary>
Config
.
Comp_Axis
.
HomeAddSpeed
=
Config
.
CompAxis_HomeAddSpeed
;
[
ConfigProAttribute
(
"Box_ResetACount"
)]
Config
.
Comp_Axis
.
HomeHighSpeed
=
Config
.
CompAxis_HomeHighSpeed
;
public
int
Box_ResetACount
{
get
;
set
;
}
Config
.
Comp_Axis
.
HomeLowSpeed
=
Config
.
CompAxis_HomeLowSpeed
;
/// <summary>
/// PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000
Config
.
Middle_Axis
.
CanErrorCountMin
=
Config
.
MiddleAxis_ErrorCountMin
;
/// </summary>
Config
.
InOut_Axis
.
CanErrorCountMin
=
Config
.
InoutAxis_ErrorCountMin
;
[
ConfigProAttribute
(
"IOSingle_TimerOut"
)]
Config
.
UpDown_Axis
.
CanErrorCountMin
=
Config
.
UpdownAxis_ErrorCountMin
;
public
int
IOSingle_TimerOut
{
get
;
set
;
}
Config
.
Middle_Axis
.
CanErrorCountMax
=
Config
.
MiddleAxis_ErrorCountMax
;
/// <summary>
Config
.
InOut_Axis
.
CanErrorCountMax
=
Config
.
InoutAxis_ErrorCountMax
;
/// PRO,,需要吹气的温度(温度标准),Max_Temperature,0
Config
.
UpDown_Axis
.
CanErrorCountMax
=
Config
.
UpdownAxis_ErrorCountMax
;
/// </summary>
[
ConfigProAttribute
(
"Max_Temperature"
)]
Config
.
Middle_Axis
.
PositionMin
=
Config
.
MiddleAxis_PositionMin
;
public
int
Max_Temperature
{
get
;
set
;
}
Config
.
Middle_Axis
.
PositionMax
=
Config
.
MiddleAxis_PositionMax
;
/// <summary>
Config
.
InOut_Axis
.
PositionMin
=
Config
.
InoutAxis_PositionMin
;
/// PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10
Config
.
InOut_Axis
.
PositionMax
=
Config
.
InoutAxis_PositionMax
;
/// </summary>
Config
.
UpDown_Axis
.
PositionMin
=
Config
.
UpdownAxis_PositionMin
;
[
ConfigProAttribute
(
"Max_Humidity"
)]
Config
.
UpDown_Axis
.
PositionMax
=
Config
.
UpdownAxis_PositionMax
;
public
int
Max_Humidity
{
get
;
set
;
}
/// <summary>
/// PRO,,每次吹气的时间(分钟),BlowAir_Time,10
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed;
/// </summary>
//Config.UpDown_Axis.ResolveSpeed = Config.UpdownAxis_ResolveSpeed;
[
ConfigProAttribute
(
"BlowAir_Time"
)]
//Config.Middle_Axis.ResolveSpeed = Config.MiddleAxis_ResolveSpeed;
public
int
BlowAir_Time
{
get
;
set
;
}
/// <summary>
/// PRO,,两次吹气间隔(分钟),BlowAir_Interval,10
/// </summary>
[
ConfigProAttribute
(
"BlowAir_Interval"
)]
public
int
BlowAir_Interval
{
get
;
set
;
}
/// <summary>
/// PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1
/// </summary>
[
ConfigProAttribute
(
"IsDebug"
)]
public
int
IsDebug
{
get
;
set
;
}
/// <summary>
/// PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3
/// </summary>
[
ConfigProAttribute
(
"AirCheckSeconds"
)]
public
int
AirCheckSeconds
{
get
;
set
;
}
/// <summary>
/// PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2
/// </summary>
[
ConfigProAttribute
(
"All_CIDs"
)]
public
string
All_CIDs
{
get
;
set
;
}
/// <summary>
/// PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875)
/// </summary>
[
ConfigProAttribute
(
"CameraNameList"
)]
public
string
CameraNameList
{
get
;
set
;
}
//Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1;
private
List
<
string
>
CameraList
=
new
List
<
string
>();
//Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position;
public
List
<
string
>
GetCameraList
()
//Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_P1;
{
//Config.Comp_Axis.DefaultPosition = Config.CompAxis_P1_Position;
if
(
CameraList
==
null
)
Config
.
Comp_Axis
.
CanErrorCountMax
=
1000
;
{
Config
.
Comp_Axis
.
CanErrorCountMin
=
10
;
CameraList
=
new
List
<
string
>();
Config
.
Comp_Axis
.
PositionMin
=
0
;
string
[]
arrayList
=
CameraNameList
.
Split
(
'#'
);
Config
.
Comp_Axis
.
PositionMax
=
0
;
foreach
(
string
str
in
arrayList
)
{
string
camera
=
str
.
Trim
();
if
(
string
.
IsNullOrEmpty
(
camera
).
Equals
(
false
))
{
CameraList
.
Add
(
camera
);
}
}
}
return
CameraList
;
}
}
private
Dictionary
<
string
,
ushort
>
DILengthMap
=
null
;
private
Dictionary
<
string
,
ushort
>
DILengthMap
=
null
;
private
Dictionary
<
string
,
ushort
>
DOLengthMap
=
null
;
private
Dictionary
<
string
,
ushort
>
DOLengthMap
=
null
;
public
ushort
GetDILength
(
string
ip
)
public
ushort
GetDILength
(
string
ip
)
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论