Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 11e2c782
由
LN
编写于
2019-11-08 15:13:59 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加料架位置的配置
1 个父辈
9717704f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
571 行增加
和
308 行删除
source/ACPackingStore/App.config
source/ACPackingStore/FrmBox.Designer.cs
source/ACPackingStore/FrmBox.cs
source/ACPackingStore/FrmStore.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
source/DeviceLibrary/ACPackingStore/StoreManager.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
source/DeviceLibrary/StoreConfig/shelfPosition.csv
source/DeviceLibrary/store/AutoInoutInfo.cs
source/DeviceLibrary/store/InOrOutStoreParam.cs → source/DeviceLibrary/store/InOutParam.cs
source/DeviceLibrary/store/LineMoveP.cs
source/DeviceLibrary/store/StoreStep.cs
source/DeviceLibrary/store/model/FixtureCodeInfo.cs
source/DeviceLibrary/store/model/FixtureInfo.cs
source/LoadCVSLibrary/position/ShelfPosition.cs
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
source/ACPackingStore/App.config
查看文件 @
11e2c78
...
@@ -28,11 +28,15 @@
...
@@ -28,11 +28,15 @@
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<!--二维码类型列表配置,用
#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<
add
key
=
"CodeType"
value
=
"QR Code"
/>
<!--出库等待料盘拿走的时间,秒-->
<!--出库等待料盘拿走的时间,秒-->
<
add
key
=
"OutStoreWaitSeconds"
value
=
"10"
/>
<
add
key
=
"OutStoreWaitSeconds"
value
=
"10"
/>
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"DIMS"
value
=
"120"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
<!--流水线地址和端口配置-->
<!--流水线地址和端口配置-->
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
...
...
source/ACPackingStore/FrmBox.Designer.cs
查看文件 @
11e2c78
此文件的差异被折叠,
点击展开。
source/ACPackingStore/FrmBox.cs
查看文件 @
11e2c78
此文件的差异被折叠,
点击展开。
source/ACPackingStore/FrmStore.cs
查看文件 @
11e2c78
...
@@ -26,36 +26,35 @@ namespace OnlineStore.ACPackingStore
...
@@ -26,36 +26,35 @@ namespace OnlineStore.ACPackingStore
internal
FrmStore
()
internal
FrmStore
()
{
{
InitializeComponent
();
InitializeComponent
();
LogUtil
.
logBox
=
this
.
logBox
;
startTimer
=
new
System
.
Timers
.
Timer
();
startTimer
=
new
System
.
Timers
.
Timer
();
startTimer
.
Interval
=
1000
;
startTimer
.
Interval
=
1000
;
startTimer
.
Enabled
=
false
;
startTimer
.
Enabled
=
false
;
startTimer
.
AutoReset
=
false
;
startTimer
.
AutoReset
=
false
;
}
}
private
void
FrmMain_Load
(
object
sender
,
EventArgs
e
)
private
void
FrmMain_Load
(
object
sender
,
EventArgs
e
)
{
{
FrmBase
.
GetVersion
();
FrmBase
.
GetVersion
();
store
=
StoreManager
.
InitStore
();
store
=
StoreManager
.
InitStore
();
if
(
store
==
null
)
if
(
store
==
null
)
{
{
this
.
Close
();
this
.
Close
();
return
;
return
;
}
}
else
foreach
(
AC_BOX_Bean
box
in
store
.
BoxMap
.
Values
)
{
{
foreach
(
AC_BOX_Bean
box
in
store
.
BoxMap
.
Values
)
FrmBox
frm
=
new
FrmBox
();
{
frm
.
BoxBean
=
box
;
FrmBox
frm
=
new
FrmBox
();
AddForm
(
box
.
Name
,
frm
);
frm
.
BoxBean
=
box
;
AddForm
(
box
.
Name
,
frm
);
}
}
}
chbAutoRun
.
Checked
=
store
.
UseBuzzer
;
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
this
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
chbAutoRun
.
Checked
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_AutoRun
).
Equals
(
1
);
chbAutoRun
.
Checked
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_AutoRun
).
Equals
(
1
);
HideForm
()
;
// LogUtil.logBox = this.logBox
;
chbAutoRun
.
Checked
=
store
.
UseBuzzer
;
// HideForm()
;
LoadOk
=
true
;
LoadOk
=
true
;
}
}
...
@@ -88,8 +87,7 @@ namespace OnlineStore.ACPackingStore
...
@@ -88,8 +87,7 @@ namespace OnlineStore.ACPackingStore
this
.
Opacity
=
0
;
this
.
Opacity
=
0
;
this
.
ShowInTaskbar
=
false
;
this
.
ShowInTaskbar
=
false
;
this
.
notifyIcon1
.
Visible
=
true
;
this
.
notifyIcon1
.
Visible
=
true
;
this
.
Hide
();
this
.
Hide
();
GC
.
Collect
();
}
}
private
void
notifyIcon1_MouseDoubleClick
(
object
sender
,
MouseEventArgs
e
)
private
void
notifyIcon1_MouseDoubleClick
(
object
sender
,
MouseEventArgs
e
)
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
查看文件 @
11e2c78
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
11e2c78
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
查看文件 @
11e2c78
...
@@ -18,22 +18,81 @@ namespace OnlineStore.DeviceLibrary
...
@@ -18,22 +18,81 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
void
StartShelfInStore
()
public
void
StartShelfInStore
()
{
{
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
if
(
storeRunStatus
==
StoreRunStatus
.
Runing
)
{
{
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
LogInfo
(
" 空闲中,检测到入料口有信号,入料口移门打开,"
);
LogInfo
(
" 空闲中,检测到入料口有信号,
料架入库:
入料口移门打开,"
);
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
MoveInfo
.
NewMove
(
StoreMoveType
.
InStore
,
new
InOutParam
());
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_OtherAxisToP1
)
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S02_DoorOpen
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Close
,
IO_Type
.
EntranceDoor_Open
);
}
}
}
}
}
}
private
void
ShelfInStoreProcess
()
{
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S01_LineIn_Check
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S02_DoorOpen
);
InStoreLog
(
"SI_S02_DoorOpen:料架入库:入料口移门打开"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Close
,
IO_Type
.
EntranceDoor_Open
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S02_DoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S03_LineRun
);
InStoreLog
(
"SI_S03_LineRun:料架入库:线体正转,等待取料位检测到信号"
);
IOMove
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineTake_Check
,
IO_VALUE
.
HIGH
));
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S03_LineRun
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S04_LineStop
);
InStoreLog
(
"SI_S04_LineStop:料架入库:取料位检测到信号,停止线体正转"
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S04_LineStop
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S05_DoorClose
);
InStoreLog
(
"SI_S05_DoorClose:料架入库:入料口移门关闭"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
EntranceDoor_Open
,
IO_Type
.
EntranceDoor_Close
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S05_DoorClose
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S06_LocationUp
);
InStoreLog
(
"SI_S06_LocationUp:料架入库:定位装置上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
LocationCylinder_Down
,
IO_Type
.
LocationCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S06_LocationUp
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S07_TopCylinderUp
);
InStoreLog
(
"SI_S07_TopCylinderUp:料架入库:顶升装置上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S07_TopCylinderUp
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_S08_StartGetTray
);
InStoreLog
(
"SI_S07_TopCylinderUp:料架入库:开始循环从第一个空位逐个取料盘,扫码入库"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Down
,
IO_Type
.
TopCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
SI_S08_StartGetTray
))
{
}
else
{
LogInfo
(
" 入库,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
}
}
}
}
}
}
source/DeviceLibrary/ACPackingStore/StoreManager.cs
查看文件 @
11e2c78
...
@@ -37,7 +37,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -37,7 +37,8 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
valueList
.
Contains
(
item
))
if
(
valueList
.
Contains
(
item
))
{
{
LogUtil
.
error
(
LOGGER
,
type
.
Name
+
"枚举值:"
+
item
+
"重复存在,请检查代码!"
);
LogUtil
.
error
(
type
.
Name
+
"枚举值:"
+
item
+
"重复存在,请检查代码,即将 退出程序!"
);
MessageBox
.
Show
(
type
.
Name
+
"枚举值:"
+
item
+
"重复存在,请检查代码,即将 退出程序!"
);
Application
.
Exit
();
Application
.
Exit
();
break
;
break
;
}
}
...
@@ -122,7 +123,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -122,7 +123,7 @@ namespace OnlineStore.DeviceLibrary
{
{
LOGGER
.
Error
(
"出错:"
,
ex
);
LOGGER
.
Error
(
"出错:"
,
ex
);
MessageBox
.
Show
(
ex
.
ToString
(),
"加载配置错误(请检查配置)"
);
MessageBox
.
Show
(
ex
.
ToString
(),
"加载配置错误(请检查配置)"
);
Application
.
Exit
();
}
}
return
Store
;
return
Store
;
}
}
...
@@ -153,6 +154,66 @@ namespace OnlineStore.DeviceLibrary
...
@@ -153,6 +154,66 @@ namespace OnlineStore.DeviceLibrary
LOGGER
.
Error
(
"出错:"
,
ex
);
LOGGER
.
Error
(
"出错:"
,
ex
);
}
}
}
}
public
static
bool
LoadInoutParam
(
InOutParam
param
,
AC_BOX_Bean
box
)
{
if
(
param
==
null
)
{
return
false
;
}
//加载位置
if
(
param
.
MoveP
==
null
)
{
LineMoveP
p
=
new
LineMoveP
();
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
param
.
PosID
);
if
(
position
==
null
)
{
LogUtil
.
error
(
box
.
Name
+
"GetPositon["
+
param
.
PosID
+
"]=null,没有库位不能执行出入库"
);
return
false
;
}
ShelfPosition
sp
=
CSVPositionReader
<
ShelfPosition
>.
GetPositon
(
param
.
ShelfPosID
);
if
(
sp
==
null
)
{
LogUtil
.
error
(
box
.
Name
+
"GetPositon["
+
param
.
ShelfPosID
+
"]=null,没有库位不能执行出入库"
);
return
false
;
}
p
.
InOut_PA
=
sp
.
InoutAxis_PA
;
p
.
UpDown_LPA1
=
sp
.
UpDownAxis_LPA1
;
p
.
UpDown_HPA2
=
sp
.
UpDownAxis_HPA2
;
p
.
Middle_PA
=
sp
.
MiddleAxis_PA
;
p
.
ComPress_P1
=
box
.
Config
.
CompressAxis_P1_Position
;
p
.
InOut_P1
=
box
.
Config
.
InOutAxis_P1_Position
;
p
.
Middle_P1
=
box
.
Config
.
MiddleAxis_P1_Position
;
p
.
InOut_P2
=
position
.
InOutAxis_DoorPosition_P2
;
p
.
UpDown_P1
=
box
.
Config
.
UpDownAxis_DoorOPosition_P1
;
p
.
UpDown_P8
=
box
.
Config
.
UpDownAxis_DoorIBPosition_P8
;
p
.
UpDown_P2
=
box
.
Config
.
UpDownAxis_DoorIPosition_P2
;
p
.
UpDown_P7
=
box
.
Config
.
UpDownAxis_DoorOBPosition_P7
;
p
.
ComPress_P2
=
position
.
CompressAxis_Position_P2
;
p
.
ComPress_P3
=
position
.
CompressAxis_CPosition_P3
;
p
.
InOut_P3
=
position
.
InOutAxis_Position_P3
;
p
.
Middle_P2
=
position
.
MiddleAxis_Position_P2
;
p
.
UpDown_P3
=
position
.
UpDownAxis_IHPosition_P3
;
p
.
UpDown_P4
=
position
.
UpDownAxis_ILPosition_P4
;
p
.
UpDown_P5
=
position
.
UpDownAxis_OHPosition_P5
;
p
.
UpDown_P6
=
position
.
UpDownAxis_OLPosition_P6
;
param
.
MoveP
=
p
;
if
(
String
.
IsNullOrEmpty
(
param
.
PlateH
))
{
param
.
PlateH
=
position
.
BagHigh
.
ToString
();
}
if
(
string
.
IsNullOrEmpty
(
param
.
PlateW
))
{
param
.
PlateW
=
position
.
BagWidth
.
ToString
();
}
return
true
;
}
return
true
;
}
private
static
string
api_communication
=
"service/store/communication"
;
//流水线状态通信接口
private
static
string
api_communication
=
"service/store/communication"
;
//流水线状态通信接口
private
static
string
api_nextFeeder
=
"service/store/nextFeeder"
;
// 出库站位列表切换接口
private
static
string
api_nextFeeder
=
"service/store/nextFeeder"
;
// 出库站位列表切换接口
public
static
string
GetPostApi
(
string
host
)
public
static
string
GetPostApi
(
string
host
)
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
11e2c78
...
@@ -77,14 +77,14 @@
...
@@ -77,14 +77,14 @@
<Compile Include="device\PanasonicServo\ACServerManager.cs" />
<Compile Include="device\PanasonicServo\ACServerManager.cs" />
<Compile Include="device\PanasonicServo\ACServerManager_Partial.cs" />
<Compile Include="device\PanasonicServo\ACServerManager_Partial.cs" />
<Compile Include="device\RFID\RFIDManager.cs" />
<Compile Include="device\RFID\RFIDManager.cs" />
<Compile Include="store\AutoInoutInfo.cs" />
<Compile Include="store\LineMoveP.cs" />
<Compile Include="store\LineMoveP.cs" />
<Compile Include="store\LineAlarm.cs">
<Compile Include="store\LineAlarm.cs">
<SubType>Code</SubType>
<SubType>Code</SubType>
</Compile>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="store\model\AxisAlarmInfo.cs" />
<Compile Include="store\model\AxisAlarmInfo.cs" />
<Compile Include="store\model\FixtureCodeInfo.cs" />
<Compile Include="store\InOutParam.cs">
<Compile Include="store\InOrOutStoreParam.cs">
<SubType>Code</SubType>
<SubType>Code</SubType>
</Compile>
</Compile>
<Compile Include="store\model\StoreMoveInfo.cs">
<Compile Include="store\model\StoreMoveInfo.cs">
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
11e2c78
...
@@ -113,7 +113,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
...
@@ -113,7 +113,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
查看文件 @
11e2c78
...
@@ -115,7 +115,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
...
@@ -115,7 +115,6 @@ PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
...
...
source/DeviceLibrary/StoreConfig/shelfPosition.csv
查看文件 @
11e2c78
位置,优先级,高度,宽度,料仓ID,旋转轴位置
,升降轴低点,升降轴高点,进出轴位置
位置,优先级,高度,宽度,料仓ID,旋转轴位置
PA,升降轴低点PA1,升降轴高点PA2,进出轴位置PA
1#
AC1_1
_1_4,1,8,7,1,211783,51884,55245,81000
1#
S
_1_4,1,8,7,1,211783,51884,55245,81000
1#
AC1_1
_1_5,2,8,7,1,211783,67807,71168,81000
1#
S
_1_5,2,8,7,1,211783,67807,71168,81000
1#
AC1_1
_1_6,3,8,7,1,211783,83730,87091,81000
1#
S
_1_6,3,8,7,1,211783,83730,87091,81000
1#
AC1_1
_1_7,4,8,7,1,211783,99653,103014,81000
1#
S
_1_7,4,8,7,1,211783,99653,103014,81000
1#
AC1_1
_1_8,5,8,7,1,211783,115576,118937,81000
1#
S
_1_8,5,8,7,1,211783,115576,118937,81000
1#
AC1_1
_1_9,6,8,7,1,211783,131499,134860,81000
1#
S
_1_9,6,8,7,1,211783,131499,134860,81000
1#
AC1_1
_1_10,7,8,7,1,211783,147422,150783,81000
1#
S
_1_10,7,8,7,1,211783,147422,150783,81000
1#
AC1_1
_1_11,8,8,7,1,211783,163345,166706,81000
1#
S
_1_11,8,8,7,1,211783,163345,166706,81000
1#
AC1_1
_1_12,9,8,7,1,211783,179268,182629,81000
1#
S
_1_12,9,8,7,1,211783,179268,182629,81000
1#
AC1_1
_1_13,10,8,7,1,211783,195191,198552,81000
1#
S
_1_13,10,8,7,1,211783,195191,198552,81000
1#
AC1_1
_1_14,11,8,7,1,211783,211114,214475,81000
1#
S
_1_14,11,8,7,1,211783,211114,214475,81000
1#
AC1_1
_1_15,12,8,7,1,211783,227037,230398,81000
1#
S
_1_15,12,8,7,1,211783,227037,230398,81000
1#
AC1_1
_1_16,13,8,7,1,211783,242960,246321,81000
1#
S
_1_16,13,8,7,1,211783,242960,246321,81000
1#
AC1_1
_1_17,14,8,7,1,211783,258883,262244,81000
1#
S
_1_17,14,8,7,1,211783,258883,262244,81000
1#
AC1_1
_1_18,15,8,7,1,211783,274806,278167,81000
1#
S
_1_18,15,8,7,1,211783,274806,278167,81000
1#
AC1_1
_1_19,16,8,7,1,211783,289000,294090,81000
1#
S
_1_19,16,8,7,1,211783,289000,294090,81000
1#
AC1_1
_1_20,17,8,7,1,211783,304652,310013,81000
1#
S
_1_20,17,8,7,1,211783,304652,310013,81000
1#
AC1_1
_1_21,18,8,7,1,211783,320575,325936,81000
1#
S
_1_21,18,8,7,1,211783,320575,325936,81000
1#
AC1_1
_1_22,19,8,7,1,211783,336498,341859,81000
1#
S
_1_22,19,8,7,1,211783,336498,341859,81000
1#
AC1_1
_2_3,20,8,7,1,211783,385700,389433,81000
1#
S
_2_3,20,8,7,1,211783,385700,389433,81000
1#
AC1_1
_2_4,21,8,7,1,211783,403000,405356,81000
1#
S
_2_4,21,8,7,1,211783,403000,405356,81000
1#
AC1_1
_2_5,22,8,7,1,211783,418345,421279,81000
1#
S
_2_5,22,8,7,1,211783,418345,421279,81000
1#
AC1_1
_2_6,23,8,7,1,211783,434000,437202,81000
1#
S
_2_6,23,8,7,1,211783,434000,437202,81000
1#
AC1_1
_2_7,24,8,7,1,211783,450000,453125,81000
1#
S
_2_7,24,8,7,1,211783,450000,453125,81000
1#
AC1_1
_2_8,25,8,7,1,211783,465900,469048,81000
1#
S
_2_8,25,8,7,1,211783,465900,469048,81000
1#
AC1_1
_2_9,26,8,7,1,211783,481800,484971,81000
1#
S
_2_9,26,8,7,1,211783,481800,484971,81000
1#
AC1_1
_2_10,27,8,7,1,211783,497660,500894,81000
1#
S
_2_10,27,8,7,1,211783,497660,500894,81000
1#
AC1_1
_2_11,28,8,7,1,211783,513600,516817,81000
1#
S
_2_11,28,8,7,1,211783,513600,516817,81000
1#
AC1_1
_2_12,29,8,7,1,211783,529200,532740,81000
1#
S
_2_12,29,8,7,1,211783,529200,532740,81000
1#
AC1_1
_2_13,30,8,7,1,211783,545100,548663,81000
1#
S
_2_13,30,8,7,1,211783,545100,548663,81000
1#
AC1_1
_2_14,31,8,7,1,211783,560500,564586,81000
1#
S
_2_14,31,8,7,1,211783,560500,564586,81000
1#
AC1_1
_2_15,32,8,7,1,211783,575500,580509,81000
1#
S
_2_15,32,8,7,1,211783,575500,580509,81000
1#
AC1_1
_2_16,33,8,7,1,211783,591500,596432,81000
1#
S
_2_16,33,8,7,1,211783,591500,596432,81000
1#
AC1_1
_2_17,34,8,7,1,211783,606000,612355,81000
1#
S
_2_17,34,8,7,1,211783,606000,612355,81000
1#
AC1_1
_2_18,35,8,7,1,211783,621000,628278,81000
1#
S
_2_18,35,8,7,1,211783,621000,628278,81000
,,,,,,,,
,,,,,,,,
2#
AC1_1
_1_4,1,8,7,2,211783,51884,55245,81000
2#
S
_1_4,1,8,7,2,211783,51884,55245,81000
2#
AC1_1
_1_5,2,8,7,2,211783,67807,71168,81000
2#
S
_1_5,2,8,7,2,211783,67807,71168,81000
2#
AC1_1
_1_6,3,8,7,2,211783,83730,87091,81000
2#
S
_1_6,3,8,7,2,211783,83730,87091,81000
2#
AC1_1
_1_7,4,8,7,2,211783,99653,103014,81000
2#
S
_1_7,4,8,7,2,211783,99653,103014,81000
2#
AC1_1
_1_8,5,8,7,2,211783,115576,118937,81000
2#
S
_1_8,5,8,7,2,211783,115576,118937,81000
2#
AC1_1
_1_9,6,8,7,2,211783,131499,134860,81000
2#
S
_1_9,6,8,7,2,211783,131499,134860,81000
2#
AC1_1
_1_10,7,8,7,2,211783,147422,150783,81000
2#
S
_1_10,7,8,7,2,211783,147422,150783,81000
2#
AC1_1
_1_11,8,8,7,2,211783,163345,166706,81000
2#
S
_1_11,8,8,7,2,211783,163345,166706,81000
2#
AC1_1
_1_12,9,8,7,2,211783,179268,182629,81000
2#
S
_1_12,9,8,7,2,211783,179268,182629,81000
2#
AC1_1
_1_13,10,8,7,2,211783,195191,198552,81000
2#
S
_1_13,10,8,7,2,211783,195191,198552,81000
2#
AC1_1
_1_14,11,8,7,2,211783,211114,214475,81000
2#
S
_1_14,11,8,7,2,211783,211114,214475,81000
2#
AC1_1
_1_15,12,8,7,2,211783,227037,230398,81000
2#
S
_1_15,12,8,7,2,211783,227037,230398,81000
2#
AC1_1
_1_16,13,8,7,2,211783,242960,246321,81000
2#
S
_1_16,13,8,7,2,211783,242960,246321,81000
2#
AC1_1
_1_17,14,8,7,2,211783,258883,262244,81000
2#
S
_1_17,14,8,7,2,211783,258883,262244,81000
2#
AC1_1
_1_18,15,8,7,2,211783,274806,278167,81000
2#
S
_1_18,15,8,7,2,211783,274806,278167,81000
2#
AC1_1
_1_19,16,8,7,2,211783,289000,294090,81000
2#
S
_1_19,16,8,7,2,211783,289000,294090,81000
2#
AC1_1
_1_20,17,8,7,2,211783,304652,310013,81000
2#
S
_1_20,17,8,7,2,211783,304652,310013,81000
2#
AC1_1
_1_21,18,8,7,2,211783,320575,325936,81000
2#
S
_1_21,18,8,7,2,211783,320575,325936,81000
2#
AC1_1
_1_22,19,8,7,2,211783,336498,341859,81000
2#
S
_1_22,19,8,7,2,211783,336498,341859,81000
2#
AC1_1
_2_3,20,8,7,2,211783,385700,389433,81000
2#
S
_2_3,20,8,7,2,211783,385700,389433,81000
2#
AC1_1
_2_4,21,8,7,2,211783,403000,405356,81000
2#
S
_2_4,21,8,7,2,211783,403000,405356,81000
2#
AC1_1
_2_5,22,8,7,2,211783,418345,421279,81000
2#
S
_2_5,22,8,7,2,211783,418345,421279,81000
2#
AC1_1
_2_6,23,8,7,2,211783,434000,437202,81000
2#
S
_2_6,23,8,7,2,211783,434000,437202,81000
2#
AC1_1
_2_7,24,8,7,2,211783,450000,453125,81000
2#
S
_2_7,24,8,7,2,211783,450000,453125,81000
2#
AC1_1
_2_8,25,8,7,2,211783,465900,469048,81000
2#
S
_2_8,25,8,7,2,211783,465900,469048,81000
2#
AC1_1
_2_9,26,8,7,2,211783,481800,484971,81000
2#
S
_2_9,26,8,7,2,211783,481800,484971,81000
2#
AC1_1
_2_10,27,8,7,2,211783,497660,500894,81000
2#
S
_2_10,27,8,7,2,211783,497660,500894,81000
2#
AC1_1
_2_11,28,8,7,2,211783,513600,516817,81000
2#
S
_2_11,28,8,7,2,211783,513600,516817,81000
2#
AC1_1
_2_12,29,8,7,2,211783,529200,532740,81000
2#
S
_2_12,29,8,7,2,211783,529200,532740,81000
2#
AC1_1
_2_13,30,8,7,2,211783,545100,548663,81000
2#
S
_2_13,30,8,7,2,211783,545100,548663,81000
2#
AC1_1
_2_14,31,8,7,2,211783,560500,564586,81000
2#
S
_2_14,31,8,7,2,211783,560500,564586,81000
2#
AC1_1
_2_15,32,8,7,2,211783,575500,580509,81000
2#
S
_2_15,32,8,7,2,211783,575500,580509,81000
2#
AC1_1
_2_16,33,8,7,2,211783,591500,596432,81000
2#
S
_2_16,33,8,7,2,211783,591500,596432,81000
2#
AC1_1
_2_17,34,8,7,2,211783,606000,612355,81000
2#
S
_2_17,34,8,7,2,211783,606000,612355,81000
2#
AC1_1
_2_18,35,8,7,2,211783,621000,628278,81000
2#
S
_2_18,35,8,7,2,211783,621000,628278,81000
source/DeviceLibrary/store/AutoInoutInfo.cs
0 → 100644
查看文件 @
11e2c78
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
public
class
AutoInoutInfo
{
/// <summary>
/// 入库完成后自动出库,出库完成后自动入库
/// </summary>
public
bool
autoNext
=
false
;
/// <summary>
/// 自动出入库间隔
/// </summary>
public
int
Jiange
=
3
;
public
int
positionIndex
=
0
;
public
string
autoMsg
=
""
;
public
int
startIndex
=
-
1
;
public
string
shelfPosId
=
""
;
#
region
出入库参数
/// <summary>
/// 当前出入库的次数,超过配置的数量时,需要自动重置一下,再进行出入库
/// </summary>
internal
int
CurrInOutCount
=
0
;
internal
int
CurrInOutACount
=
0
;
#
endregion
internal
void
InOutEndProcess
(
AC_BOX_Bean
boxBean
,
StoreMoveType
storeMoveType
)
{
try
{
CurrInOutCount
++;
CurrInOutACount
++;
//是否自动进入出库状态
if
(!
autoNext
)
{
return
;
}
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
InStore
))
{
int
newIndex
=
positionIndex
-
1
;
if
(
newIndex
<
0
)
{
if
(
startIndex
>=
0
&&
startIndex
<
boxBean
.
PositionNumList
.
Count
)
{
newIndex
=
startIndex
;
boxBean
.
LogInfo
(
"下一个索引不存在,重新开始自动出入库,索引【"
+
startIndex
+
"】"
);
}
else
{
autoNext
=
false
;
autoMsg
=
"自动出入库结束!"
;
boxBean
.
LogInfo
(
"下一个索引不存在,自动 出入库结束!"
);
}
}
else
{
positionIndex
=
newIndex
;
string
posid
=
boxBean
.
PositionNumList
[
positionIndex
];
//判断是否需要重置
if
(
CurrInOutACount
>=
boxBean
.
Config
.
Box_ResetACount
)
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把出库信息存入排队列表中"
);
boxBean
.
Reset
(
false
);
autoMsg
=
"自动出库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
""
,
posid
,
shelfPosId
));
}
else
if
(
CurrInOutCount
>=
boxBean
.
Config
.
Box_ResetMCount
)
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX旋转轴,先把出库信息存入排队列表中"
);
//ResetMiddleAxis(false);
autoMsg
=
"自动出库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
""
,
posid
,
shelfPosId
));
}
else
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
);
autoMsg
=
"自动出库:"
+
posid
;
boxBean
.
StartOutStoreMove
(
new
InOutParam
(
""
,
posid
,
shelfPosId
));
}
}
}
else
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
int
newIndex
=
positionIndex
-
Jiange
;
if
(
newIndex
<
0
)
{
if
(
startIndex
>=
0
&&
startIndex
<
boxBean
.
PositionNumList
.
Count
)
{
newIndex
=
startIndex
;
boxBean
.
LogInfo
(
"下一个索引不存在,重新开始自动出入库,索引【"
+
startIndex
+
"】"
);
}
else
{
autoNext
=
false
;
autoMsg
=
"自动出入库结束!"
;
boxBean
.
LogInfo
(
"下一个索引不存在,自动 出入库结束!"
);
}
}
else
{
string
posid
=
boxBean
.
PositionNumList
[
newIndex
];
//判断是否需要重置
if
(
CurrInOutACount
>=
boxBean
.
Config
.
Box_ResetACount
)
{
boxBean
.
LogInfo
(
"自动进入下一个入库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutACount
+
"次,需要重置BOX,先把入库信息存入排队列表中"
);
boxBean
.
Reset
(
false
);
autoMsg
=
"自动入库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
));
}
else
if
(
CurrInOutCount
>=
boxBean
.
Config
.
Box_ResetMCount
)
{
boxBean
.
LogInfo
(
"自动进入下一个出库:posid="
+
posid
+
",当时已经出入库"
+
CurrInOutCount
+
"次,需要重置BOX旋转轴,先把出库信息存入排队列表中"
);
//ResetMiddleAxis(false);
autoMsg
=
"自动入库:"
+
posid
;
boxBean
.
AddWaitOutInfo
(
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
));
}
else
{
boxBean
.
LogInfo
(
"自动进入下一个入库:posid="
+
posid
);
autoMsg
=
"自动入库:"
+
posid
;
boxBean
.
StartInStoreMove
(
new
InOutParam
(
"AAAA"
,
posid
,
shelfPosId
));
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
boxBean
.
Name
+
"InOutEndProcess ERROR:"
+
ex
.
ToString
());
}
}
internal
void
ClearCount
()
{
CurrInOutACount
=
0
;
CurrInOutCount
=
0
;
}
}
}
source/DeviceLibrary/store/InO
rOutStore
Param.cs
→
source/DeviceLibrary/store/InO
ut
Param.cs
查看文件 @
11e2c78
...
@@ -17,9 +17,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -17,9 +17,8 @@ namespace OnlineStore.DeviceLibrary
{
{
public
static
readonly
ILog
log
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
readonly
ILog
log
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
InOutParam
()
public
InOutParam
()
{
{
ACStoreP
=
null
;
this
.
WareCode
=
""
;
this
.
WareNumber
=
""
;
MoveP
=
null
;
MoveP
=
null
;
}
}
/// <summary>
/// <summary>
...
@@ -27,71 +26,43 @@ namespace OnlineStore.DeviceLibrary
...
@@ -27,71 +26,43 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
/// <param name="wareNo">物品二维码</param>
/// <param name="wareNo">物品二维码</param>
/// <param name="position">仓位号</param>
/// <param name="position">仓位号</param>
public
InOutParam
(
string
wareNo
,
string
posId
)
public
InOutParam
(
string
wareNo
,
string
posId
,
string
ShelfPosID
)
{
{
ACStoreP
=
null
;
this
.
ShelfPosID
=
ShelfPosID
;
Ware
Number
=
wareNo
;
Ware
Code
=
wareNo
;
Pos
itionNum
=
posId
;
Pos
ID
=
posId
;
MoveP
=
null
;
MoveP
=
null
;
IsSolderPaste
=
false
;
IsSolderPaste
=
false
;
}
}
public
InOutParam
(
string
wareNo
,
string
posId
,
string
plateH
,
string
plateW
)
public
InOutParam
(
string
wareNo
,
string
posId
,
string
plateH
,
string
plateW
,
string
ShelfPosID
=
""
)
{
{
ACStoreP
=
null
;
this
.
ShelfPosID
=
ShelfPosID
;
Ware
Number
=
wareNo
;
Ware
Code
=
wareNo
;
Pos
itionNum
=
posId
;
Pos
ID
=
posId
;
MoveP
=
null
;
MoveP
=
null
;
this
.
PlateW
=
plateW
;
this
.
PlateW
=
plateW
;
this
.
PlateH
=
plateH
;
this
.
PlateH
=
plateH
;
IsSolderPaste
=
false
;
IsSolderPaste
=
false
;
}
}
public
InOutParam
(
string
wareNo
,
string
posId
,
LineMoveP
linePosition
)
{
public
InOutParam
(
string
wareNo
,
string
posId
,
LineMoveP
linePosition
)
WareCode
=
wareNo
;
{
PosID
=
posId
;
ACStoreP
=
null
;
WareNumber
=
wareNo
;
PositionNum
=
posId
;
MoveP
=
linePosition
;
MoveP
=
linePosition
;
IsSolderPaste
=
false
;
IsSolderPaste
=
false
;
}
}
//public InOutStoreParam(string wareNo, string posId, ACStorePosition movep)
//{
// ACStoreP = movep;
// WareNumber = wareNo;
// PositionNum = posId;
// MoveP = null;
// IsSolderPaste = false;
//}
private
ACBoxPosition
ACStoreP
=
null
;
public
ACBoxPosition
GetACPosition
()
{
try
{
if
(
ACStoreP
==
null
)
{
ACStoreP
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
PositionNum
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
log
,
"出入库获取库位信息GetKTKPosition出错:"
+
ex
.
ToString
());
}
return
ACStoreP
;
}
/// <summary>
/// <summary>
/// 物品二维码信息
/// 物品二维码信息
/// </summary>
/// </summary>
public
string
Ware
Number
{
get
;
set
;
}
public
string
Ware
Code
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 位置坐标名(对应配置表的位置)
/// 位置坐标名(对应配置表的位置)
/// </summary>
/// </summary>
public
string
PositionNum
{
get
;
set
;
}
public
string
PosID
{
get
;
set
;
}
/// <summary>
/// 料架对应的库位号
/// </summary>
public
string
ShelfPosID
=
""
;
public
LineMoveP
MoveP
{
get
;
set
;
}
public
LineMoveP
MoveP
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 料盘高度
/// 料盘高度
...
@@ -105,7 +76,100 @@ namespace OnlineStore.DeviceLibrary
...
@@ -105,7 +76,100 @@ namespace OnlineStore.DeviceLibrary
/// 是否是放入锡膏(在线料仓才需要此字段)
/// 是否是放入锡膏(在线料仓才需要此字段)
/// </summary>
/// </summary>
public
bool
IsSolderPaste
{
get
;
set
;
}
public
bool
IsSolderPaste
{
get
;
set
;
}
/// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
}
/// </summary>
/// <returns></returns>
public
int
GetStoreId
()
{
if
(!
PosID
.
Equals
(
""
))
{
string
[]
arr
=
PosID
.
Split
(
'#'
);
if
(
arr
.
Length
>=
2
)
{
try
{
return
int
.
Parse
(
arr
[
0
]);
}
catch
(
Exception
ex
)
{
}
}
}
return
-
1
;
}
public
string
ToStr
()
{
return
" ShelfPosID=["
+
ShelfPosID
+
"],WareCode=【"
+
WareCode
+
"】,PosID=【"
+
PosID
+
"】,PlateW=【"
+
PlateW
+
"】,PlateH=【"
+
PlateH
+
"】"
;
}
}
///// <summary>
// /// 夹具编码信息(保存夹具检测到的IO数值,和对应的料仓位置)
// /// </summary>
//public class FixtureCodeInfo
//{
// public FixtureCodeInfo(string wareNum, string posId)
// {
// this.WareNum = wareNum;
// this.PosId = posId;
// this.plateH = "";
// this.plateW = "";
// }
// public FixtureCodeInfo(string wareNum, string posId, string platew, string plateh)
// {
// this.WareNum = wareNum;
// this.PosId = posId;
// this.plateW = platew;
// this.plateH = plateh;
// }
// /// <summary>
// /// 物品二维码
// /// </summary>
// public string WareNum { get; set; }
// /// <summary>
// /// 库位号编码
// /// </summary>
// public string PosId { get; set; }
// /// <summary>
// /// 料盘宽
// /// </summary>
// public string plateW { get; set; }
// /// <summary>
// /// 料盘高
// /// </summary>
// public string plateH { get; set; }
// public string ToStr()
// {
// return " WareNum=【" + WareNum + "】,PosId=【" + PosId + "】,plateW=【" + plateW + "】,plateH=【" + plateH + "】";
// }
// /// <summary>
// /// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
// /// </summary>
// /// <returns></returns>
// public int GetStoreId()
// {
// if (!PosId.Equals(""))
// {
// string[] arr = PosId.Split('#');
// if (arr.Length >= 2)
// {
// try
// {
// return int.Parse(arr[0]);
// }
// catch (Exception ex)
// {
// }
// }
// }
// return -1;
// }
//}
}
}
source/DeviceLibrary/store/LineMoveP.cs
查看文件 @
11e2c78
...
@@ -79,5 +79,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -79,5 +79,22 @@ namespace OnlineStore.DeviceLibrary
/// 轴4( 压紧轴) 压紧前点P3
/// 轴4( 压紧轴) 压紧前点P3
/// </summary>
/// </summary>
public
int
ComPress_P3
{
get
;
set
;
}
public
int
ComPress_P3
{
get
;
set
;
}
/// <summary>
/// 料架进出轴取料点
/// </summary>
public
int
InOut_PA
=
0
;
/// <summary>
/// 料架旋转轴位置
/// </summary>
public
int
Middle_PA
=
0
;
/// <summary>
/// 料架升降轴低点PA1
/// </summary>
public
int
UpDown_LPA1
=
0
;
/// <summary>
/// 料架升降轴高点PA2
/// </summary>
public
int
UpDown_HPA2
=
0
;
}
}
}
}
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
11e2c78
...
@@ -316,7 +316,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -316,7 +316,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 料架入库:检测到线体入料口信号
/// 料架入库:检测到线体入料口信号
/// </summary>
/// </summary>
SI_S01_L
I
neIn_Check
=
20001
,
SI_S01_L
i
neIn_Check
=
20001
,
/// <summary>
/// <summary>
/// 料架入库:入料口移门打开
/// 料架入库:入料口移门打开
/// </summary>
/// </summary>
...
@@ -342,6 +342,63 @@ namespace OnlineStore.DeviceLibrary
...
@@ -342,6 +342,63 @@ namespace OnlineStore.DeviceLibrary
/// 料架入库:顶升装置上升
/// 料架入库:顶升装置上升
/// </summary>
/// </summary>
SI_S07_TopCylinderUp
=
20007
,
SI_S07_TopCylinderUp
=
20007
,
/// <summary>
/// 料架入库:开始循环从第一个空位逐个取料盘,扫码入库
/// </summary>
SI_S08_StartGetTray
=
20008
,
///// <summary>
///// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点)
///// </summary>
//SI_S03_CompressWare = 20103,
///// <summary>
///// 入库。。压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P3(压紧前点)
///// </summary>
//SI_S04_CompressWare = 20104,
///// <summary>
///// 入库。。叉子进入入料口,轴3( 叉子) 至P2( 进料口取料点)
///// </summary>
//SI_S05_DeviceToDoor = 20105,
///// <summary>
///// 入库。。把物品放入叉子上,轴2( 上下) 至P7( 进料口取料缓冲点),压紧物品(有压紧轴的才需要此步骤),轴4( 压紧) 至P2(压紧点)
///// </summary>
//SI_S06_DoorWarToDevice = 20106,
///// <summary>
///// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
///// </summary>
//SI_S07_DeviceBackFromDoor = 20107,
///// <summary>
///// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤)
///// </summary>
//SI_S08_LocationCylinder_Up = 20108,
///// <summary>
///// 入库。。移动到库位点,轴1( 转盘) 至P2( 库位点)轴2(上下) 至P3(库位入库前点)
///// </summary>
//SI_S09_MoveToBag = 20109,
///// <summary>
///// 入库。。定位气缸退回 (有压紧轴的不需要此步骤)
///// </summary>
//SI_S10_LocationCylinder_Down = 20110,
///// <summary>
///// 入库。。叉子进入库位中,轴3( 叉子) 至P3(库位取放料点)
///// </summary>
//SI_S11_DeviceToBag = 20111,
///// <summary>
///// 入库。。放下物品,轴2( 上下) 至P4( 库位入料缓冲点)轴4( 压紧) 至P3( 压紧前点)
///// </summary>
//SI_S12_PutWareToBag = 20112,
///// <summary>
///// 入库。。叉子从库位中返回,轴3( 叉子) 动作至P1( 待机点)
///// </summary>
//SI_S13_DeviceBackFromBag = 20113,
///// <summary>
///// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
///// </summary>
//SI_S14_GoBack = 20114,
#
endregion
#
endregion
}
}
...
...
source/DeviceLibrary/store/model/FixtureCodeInfo.cs
deleted
100644 → 0
查看文件 @
9717704
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.DeviceLibrary
{
/// <summary>
/// 夹具编码信息(保存夹具检测到的IO数值,和对应的料仓位置)
/// </summary>
public
class
FixtureCodeInfo
{
public
FixtureCodeInfo
(
int
trayCode
,
string
wareNum
,
string
posId
)
{
this
.
TrayCode
=
trayCode
;
this
.
WareNum
=
wareNum
;
this
.
PosId
=
posId
;
this
.
plateH
=
""
;
this
.
plateW
=
""
;
}
public
FixtureCodeInfo
(
int
trayCode
,
string
wareNum
,
string
posId
,
string
platew
,
string
plateh
)
{
this
.
TrayCode
=
trayCode
;
this
.
WareNum
=
wareNum
;
this
.
PosId
=
posId
;
this
.
plateW
=
platew
;
this
.
plateH
=
plateh
;
}
/// <summary>
/// 夹具编码值(1-6)
/// </summary>
public
int
TrayCode
{
get
;
set
;
}
/// <summary>
/// 物品二维码
/// </summary>
public
string
WareNum
{
get
;
set
;
}
/// <summary>
/// 库位号编码
/// </summary>
public
string
PosId
{
get
;
set
;
}
/// <summary>
/// 料盘宽
/// </summary>
public
string
plateW
{
get
;
set
;
}
/// <summary>
/// 料盘高
/// </summary>
public
string
plateH
{
get
;
set
;
}
public
string
ToStr
()
{
return
"TrayCode【"
+
TrayCode
+
"】,WareNum=【"
+
WareNum
+
"】,PosId=【"
+
PosId
+
"】,plateW=【"
+
plateW
+
"】,plateH=【"
+
plateH
+
"】"
;
}
/// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
/// </summary>
/// <returns></returns>
public
int
GetStoreId
()
{
if
(!
PosId
.
Equals
(
""
))
{
string
[]
arr
=
PosId
.
Split
(
'#'
);
if
(
arr
.
Length
>=
2
)
{
try
{
return
int
.
Parse
(
arr
[
0
]);
}
catch
(
Exception
ex
)
{
}
}
}
return
-
1
;
}
}
}
source/DeviceLibrary/store/model/FixtureInfo.cs
deleted
100644 → 0
查看文件 @
9717704
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.DeviceLibrary
{
/// <summary>
/// 托盘信息
/// </summary>
public
class
FixtureInfo
{
private
int
codeNum
;
private
int
inOrOut
;
public
FixtureInfo
(
int
codeNum
,
bool
isFull
,
int
inOrOut
,
int
bagWidth
)
{
this
.
codeNum
=
codeNum
;
this
.
IsFull
=
isFull
;
this
.
inOrOut
=
inOrOut
;
BagWidth
=
bagWidth
;
}
/// <summary>
/// 夹具编码值(1-6)
/// </summary>
public
int
TrayCode
{
get
;
set
;
}
/// <summary>
/// 是否有料盘,true=有料盘
/// </summary>
public
bool
IsFull
{
get
;
set
;
}
/// <summary>
/// 出库还是入库(有料盘时才有此操作)0=无操作,1=入库,2=出库
/// </summary>
public
int
InOrOutStore
{
get
;
set
;
}
/// <summary>
/// 如果是出库,需要记录盘宽,七寸小盘可以累积到托盘上
/// 只有出库才会有值
/// </summary>
public
int
BagWidth
{
get
;
set
;
}
}
}
source/LoadCVSLibrary/position/ShelfPosition.cs
查看文件 @
11e2c78
...
@@ -12,27 +12,27 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -12,27 +12,27 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
/// </summary>
[
CSVAttribute
(
"料仓ID"
)]
[
CSVAttribute
(
"料仓ID"
)]
public
int
StoreId
{
get
;
set
;
}
public
int
StoreId
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 旋转轴位置
/// 旋转轴位置
PA
/// </summary>
/// </summary>
[
CSVAttribute
(
"旋转轴位置"
)]
[
CSVAttribute
(
"旋转轴位置
PA
"
)]
public
int
MiddleAxis_P
100
{
get
;
set
;
}
public
int
MiddleAxis_P
A
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 升降轴
高点
/// 升降轴
低点PA1
/// </summary>
/// </summary>
[
CSVAttribute
(
"升降轴低点"
)]
[
CSVAttribute
(
"升降轴低点
PA1
"
)]
public
int
UpDownAxis_
HP100
{
get
;
set
;
}
public
int
UpDownAxis_
LPA1
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 升降轴高点
/// 升降轴高点
PA2
/// /// </summary>
/// /// </summary>
[
CSVAttribute
(
"升降轴高点"
)]
[
CSVAttribute
(
"升降轴高点
PA2
"
)]
public
int
UpDownAxis_
LP100
{
get
;
set
;
}
public
int
UpDownAxis_
HPA2
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 进出轴位置
/// 进出轴位置
PA
/// </summary>
/// </summary>
[
CSVAttribute
(
"进出轴位置"
)]
[
CSVAttribute
(
"进出轴位置
PA
"
)]
public
int
UpDownAxis_P100
{
get
;
set
;
}
public
int
InoutAxis_PA
{
get
;
set
;
}
}
}
}
}
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
查看文件 @
11e2c78
...
@@ -288,29 +288,14 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -288,29 +288,14 @@ namespace OnlineStore.LoadCSVLibrary
{
{
IoValue
=
-
1
;
IoValue
=
-
1
;
}
}
else
if
(
ProType
.
Equals
(
ConfigItemType
.
DI
))
else
{
{
IoValue
=
Convert
.
ToInt32
(
ProValue
,
8
);
IoValue
=
Convert
.
ToInt32
(
ProValue
);
}
}
else
if
(
ProType
.
Equals
(
ConfigItemType
.
DO
))
{
if
(
ProValue
.
Length
==
2
)
{
int
a
=
Convert
.
ToInt32
(
ProValue
.
Substring
(
0
,
1
),
16
)
-
8
;
string
str
=
a
+
ProValue
.
Substring
(
1
,
1
);
IoValue
=
Convert
.
ToInt32
(
str
,
8
);
//IoValue = a + b;
}
else
{
IoValue
=
Convert
.
ToInt32
(
ProValue
,
16
)
-
Convert
.
ToInt32
(
"80"
,
16
);
}
}
//LOGGER.Info("IO转换:(" + ElectricalDefinition + ")" + ProVale + "=" + IoValue);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
LOGGER
.
Error
(
"出错了:"
,
ex
);
LOGGER
.
Error
(
ToString
()+
"出错了:"
,
ex
);
return
-
1
;
return
-
1
;
}
}
return
IoValue
;
return
IoValue
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论