Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO775-DUOStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ab330180
由
刘韬
编写于
2020-11-26 13:25:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
更新IO配置
1 个父辈
419a02c5
全部展开
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
135 行增加
和
42 行删除
source/DUOStore/FrmIOStatus.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/StoreConfig/StoreConfig.csv
source/DeviceLibrary/duoStore/DUOStoreBean.cs
source/DeviceLibrary/duoStore/DUOStoreBean_Partial.cs
source/DeviceLibrary/duoStore/ElectricClamp.cs
source/DeviceLibrary/duoStore/EquipBase.cs
source/DeviceLibrary/store/KTK_Store.cs
source/DeviceLibrary/store/model/StoreMoveInfo.cs
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
source/LoadCVSLibrary/storeConfig/config/Store_Config.cs
source/DUOStore/FrmIOStatus.cs
查看文件 @
ab33018
...
@@ -287,7 +287,7 @@ namespace OnlineStore.DUOStore
...
@@ -287,7 +287,7 @@ namespace OnlineStore.DUOStore
private
void
btnStoreOn_Click
(
object
sender
,
EventArgs
e
)
private
void
btnStoreOn_Click
(
object
sender
,
EventArgs
e
)
{
{
BtnMove
(
btnCamerLed
,
"打开设备
电源"
,
"关闭设备电源
"
,
IO_Type
.
Device_Led
);
BtnMove
(
btnCamerLed
,
"打开设备
照明"
,
"关闭设备照明
"
,
IO_Type
.
Device_Led
);
}
}
private
void
btnCloseCyDo_Click
(
object
sender
,
EventArgs
e
)
private
void
btnCloseCyDo_Click
(
object
sender
,
EventArgs
e
)
...
@@ -303,12 +303,12 @@ namespace OnlineStore.DUOStore
...
@@ -303,12 +303,12 @@ namespace OnlineStore.DUOStore
private
void
btnClamp_Click
(
object
sender
,
EventArgs
e
)
private
void
btnClamp_Click
(
object
sender
,
EventArgs
e
)
{
{
StoreManager
.
Store
.
CylinderMove
(
null
,
IO_Type
.
ClampCylinder_Relax
,
IO_Type
.
ClampCylinder_Clamp
);
ElectricClamp
.
Clamp
(
);
}
}
private
void
btnRelax_Click
(
object
sender
,
EventArgs
e
)
private
void
btnRelax_Click
(
object
sender
,
EventArgs
e
)
{
{
StoreManager
.
Store
.
CylinderMove
(
null
,
IO_Type
.
ClampCylinder_Clamp
,
IO_Type
.
ClampCylinder_Relax
);
ElectricClamp
.
Release
(
);
}
}
private
void
btnLDoorUp_Click
(
object
sender
,
EventArgs
e
)
private
void
btnLDoorUp_Click
(
object
sender
,
EventArgs
e
)
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
ab33018
...
@@ -78,6 +78,7 @@
...
@@ -78,6 +78,7 @@
<Compile Include="duoStore\BoxBean_Partial.cs" />
<Compile Include="duoStore\BoxBean_Partial.cs" />
<Compile Include="duoStore\BoxBean_Shelf.cs" />
<Compile Include="duoStore\BoxBean_Shelf.cs" />
<Compile Include="duoStore\DUOStoreBean_Partial.cs" />
<Compile Include="duoStore\DUOStoreBean_Partial.cs" />
<Compile Include="duoStore\ElectricClamp.cs" />
<Compile Include="duoStore\EquipBase.cs" />
<Compile Include="duoStore\EquipBase.cs" />
<Compile Include="duoStore\HoisterCylinder.cs" />
<Compile Include="duoStore\HoisterCylinder.cs" />
<Compile Include="duoStore\HumitureBean.cs" />
<Compile Include="duoStore\HumitureBean.cs" />
...
...
source/DeviceLibrary/StoreConfig/StoreConfig.csv
查看文件 @
ab33018
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/duoStore/DUOStoreBean.cs
查看文件 @
ab33018
...
@@ -25,10 +25,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -25,10 +25,12 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 取料提升机构气缸
/// 取料提升机构气缸
/// </summary>
/// </summary>
public
HoisterCylinder
hoisterCylinder
=
new
HoisterCylinder
(
0
);
//public HoisterCylinder hoisterCylinder = new HoisterCylinder(0);
public
ElectricClamp
electricClamp
=
new
ElectricClamp
(
0
);
public
AxisBean
T1_BatchAxis
=
null
;
public
AxisBean
T1_BatchAxis
=
null
;
public
AxisBean
T2_MiddleAxis
=
null
;
public
AxisBean
T2_MiddleAxis
=
null
;
public
AxisBean
T3_UpdownAxis
=
null
;
public
AxisBean
T3_UpdownAxis
=
null
;
public
AxisBean
T4_InOut_Axis
=
null
;
#
region
初始化
#
region
初始化
...
@@ -67,6 +69,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -67,6 +69,7 @@ namespace OnlineStore.DeviceLibrary
T1_BatchAxis
=
new
AxisBean
(
Config
.
T1_Batch_Axis
,
Name
);
T1_BatchAxis
=
new
AxisBean
(
Config
.
T1_Batch_Axis
,
Name
);
T2_MiddleAxis
=
new
AxisBean
(
Config
.
T2_Middle_Axis
,
Name
);
T2_MiddleAxis
=
new
AxisBean
(
Config
.
T2_Middle_Axis
,
Name
);
T3_UpdownAxis
=
new
AxisBean
(
Config
.
T3_Updown_Axis
,
Name
);
T3_UpdownAxis
=
new
AxisBean
(
Config
.
T3_Updown_Axis
,
Name
);
T4_InOut_Axis
=
new
AxisBean
(
Config
.
T4_InOut_Axis
,
Name
);
IOManager
.
Init
();
IOManager
.
Init
();
CodeManager
.
LoadConfig
();
CodeManager
.
LoadConfig
();
...
@@ -188,13 +191,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -188,13 +191,10 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
600
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
600
));
IOMove
(
IO_Type
.
Line_Stop1_Wait
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Stop1_Wait
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Stop2_Work
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Stop2_Work
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Stop3_Buffer
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Stop4_Out
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Stop4_Out
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop1_Wait
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop1_Wait
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop2_Work
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop2_Work
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop3_Buffer
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop4_Out
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Stop4_Out
,
IO_VALUE
.
LOW
));
hoisterCylinder
.
StartForward
(
MoveInfo
);
}
}
protected
override
void
ResetProcess
()
protected
override
void
ResetProcess
()
...
@@ -220,7 +220,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -220,7 +220,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LR_03_BatchAxisHome
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LR_03_BatchAxisHome
);
LogUtil
.
info
(
Name
+
"复位 "
+
MoveInfo
.
MoveStep
+
" :夹爪放松,提升轴回原点,上下轴回原点,流水线停止"
);
LogUtil
.
info
(
Name
+
"复位 "
+
MoveInfo
.
MoveStep
+
" :夹爪放松,提升轴回原点,上下轴回原点,流水线停止"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Clamp
,
IO_Type
.
ClampCylinder_Relax
);
ElectricClamp
.
Release
(
MoveInfo
);
T1_BatchAxis
.
HomeMove
(
MoveInfo
);
T1_BatchAxis
.
HomeMove
(
MoveInfo
);
T3_UpdownAxis
.
HomeMove
(
MoveInfo
);
T3_UpdownAxis
.
HomeMove
(
MoveInfo
);
LineStop
(
MoveInfo
);
LineStop
(
MoveInfo
);
...
@@ -300,12 +300,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -300,12 +300,11 @@ namespace OnlineStore.DeviceLibrary
equip
.
StopMove
();
equip
.
StopMove
();
}
}
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
hoisterCylinder
.
Stop
();
//轴运动停止
//轴运动停止
T3_UpdownAxis
.
SuddenStop
();
T3_UpdownAxis
.
SuddenStop
();
T2_MiddleAxis
.
SuddenStop
();
T2_MiddleAxis
.
SuddenStop
();
T1_BatchAxis
.
SuddenStop
();
T1_BatchAxis
.
SuddenStop
();
T4_InOut_Axis
.
SuddenStop
();
CloseAllAxis
();
CloseAllAxis
();
LineStop
();
LineStop
();
...
@@ -581,10 +580,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -581,10 +580,8 @@ namespace OnlineStore.DeviceLibrary
try
try
{
{
if
(
IOValue
(
IO_Type
.
Line_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
if
(
IOValue
(
IO_Type
.
Line_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_BackRun
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_Run
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_Run
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_BufferCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
Line_BufferCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
Line_Stop3_Buffer
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_Stop4_Out
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_Stop4_Out
).
Equals
(
IO_VALUE
.
LOW
)
&&
LowProcess
.
Equals
(
false
))
LowProcess
.
Equals
(
false
))
{
{
...
@@ -596,7 +593,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -596,7 +593,7 @@ namespace OnlineStore.DeviceLibrary
LowProcess
=
true
;
LowProcess
=
true
;
LogUtil
.
info
(
Name
+
"从料架堆积处放一个料架到后端"
);
LogUtil
.
info
(
Name
+
"从料架堆积处放一个料架到后端"
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
,
false
,
30000
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
,
false
,
30000
);
IOMove
(
IO_Type
.
Line_Stop3_Buffer
,
IO_VALUE
.
HIGH
,
false
,
2000
);
//
IOMove(IO_Type.Line_Stop3_Buffer, IO_VALUE.HIGH, false, 2000);
if
(
WaitIo
(
IO_Type
.
Line_OutCheck
,
IO_VALUE
.
HIGH
,
30000
,
"堆积处放料架到后端"
))
if
(
WaitIo
(
IO_Type
.
Line_OutCheck
,
IO_VALUE
.
HIGH
,
30000
,
"堆积处放料架到后端"
))
{
{
LineStop
();
LineStop
();
...
@@ -619,10 +616,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -619,10 +616,10 @@ namespace OnlineStore.DeviceLibrary
public
int
GetShelfNum
()
public
int
GetShelfNum
()
{
{
int
ShelfCheck1
=
(
int
)
IOValue
(
IO_Type
.
ShelfCheck1
);
int
ShelfCheck1
=
0
;
//
(int)IOValue(IO_Type.ShelfCheck1);
int
ShelfCheck2
=
(
int
)
IOValue
(
IO_Type
.
ShelfCheck2
);
int
ShelfCheck2
=
0
;
//
(int)IOValue(IO_Type.ShelfCheck2);
int
ShelfCheck3
=
(
int
)
IOValue
(
IO_Type
.
ShelfCheck3
);
int
ShelfCheck3
=
0
;
//
(int)IOValue(IO_Type.ShelfCheck3);
int
ShelfCheck4
=
(
int
)
IOValue
(
IO_Type
.
ShelfCheck4
);
int
ShelfCheck4
=
0
;
//
(int)IOValue(IO_Type.ShelfCheck4);
string
dStr
=
ShelfCheck4
.
ToString
()+
ShelfCheck3
.
ToString
()
+
ShelfCheck2
.
ToString
()
+
ShelfCheck1
.
ToString
();
string
dStr
=
ShelfCheck4
.
ToString
()+
ShelfCheck3
.
ToString
()
+
ShelfCheck2
.
ToString
()
+
ShelfCheck1
.
ToString
();
int
num
=
Convert
.
ToInt32
(
dStr
,
2
);
int
num
=
Convert
.
ToInt32
(
dStr
,
2
);
...
@@ -633,10 +630,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -633,10 +630,8 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
move
!=
null
)
if
(
move
!=
null
)
{
{
move
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
));
move
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
));
move
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
));
}
}
IOMove
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
);
}
}
...
@@ -644,29 +639,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -644,29 +639,26 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
move
!=
null
)
if
(
move
!=
null
)
{
{
move
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
));
move
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
));
move
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
));
}
}
IOMove
(
IO_Type
.
Line_BackRun
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
LOW
);
}
}
public
bool
OpenAllAxis
(
bool
isCheck
=
true
)
public
bool
OpenAllAxis
(
bool
isCheck
=
true
)
{
{
if
(
RunMultiAxis
(
isCheck
,
new
AxisBean
[]{
T3_UpdownAxis
,
T2_MiddleAxis
}))
if
(
RunMultiAxis
(
isCheck
,
new
AxisBean
[]{
T3_UpdownAxis
,
T2_MiddleAxis
,
T4_InOut_Axis
,
T1_BatchAxis
}))
{
if
(
RunAxis
(
isCheck
,
T1_BatchAxis
)
)
{
{
return
true
;
return
true
;
}
//if (RunAxis(isCheck, T1_BatchAxis) )
// return true;
}
}
return
false
;
return
false
;
}
}
public
void
CloseAllAxis
()
public
void
CloseAllAxis
()
{
{
CloseMultiAxis
(
new
AxisBean
[]
{
T3_UpdownAxis
,
T2_MiddleAxis
});
CloseMultiAxis
(
new
AxisBean
[]
{
T3_UpdownAxis
,
T2_MiddleAxis
,
T4_InOut_Axis
,
T1_BatchAxis
});
CloseAxis
(
T1_BatchAxis
);
//
CloseAxis(T1_BatchAxis);
}
}
}
}
}
}
\ No newline at end of file
\ No newline at end of file
source/DeviceLibrary/duoStore/DUOStoreBean_Partial.cs
查看文件 @
ab33018
...
@@ -254,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -254,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LO_14_CylinderTighten
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LO_14_CylinderTighten
);
InOutStoreLog
(
"取料:夹爪气缸夹紧"
);
InOutStoreLog
(
"取料:夹爪气缸夹紧"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Relax
,
IO_Type
.
ClampCylinder_Clamp
);
ElectricClamp
.
Clamp
(
MoveInfo
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LO_14_CylinderTighten
))
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LO_14_CylinderTighten
))
{
{
...
@@ -292,7 +292,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -292,7 +292,7 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LO_19_CylinderRelax
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LO_19_CylinderRelax
);
InOutStoreLog
(
"料盘移栽: 夹爪气缸放松"
);
InOutStoreLog
(
"料盘移栽: 夹爪气缸放松"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Clamp
,
IO_Type
.
ClampCylinder_Relax
);
ElectricClamp
.
Release
(
MoveInfo
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LO_19_CylinderRelax
))
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LO_19_CylinderRelax
))
{
{
...
@@ -335,7 +335,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -335,7 +335,6 @@ namespace OnlineStore.DeviceLibrary
InOutStoreLog
(
" 等待料盘出库"
);
InOutStoreLog
(
" 等待料盘出库"
);
}
}
}
}
#
endregion
#
endregion
...
@@ -610,7 +609,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -610,7 +609,6 @@ namespace OnlineStore.DeviceLibrary
InOutStoreLog
(
"入料检测:有料盘:升降轴到料串高点P2["
+
Config
.
UpdownAxis_P2
+
"],旋转轴到料串位置P4["
+
Config
.
MiddleAxis_P4
+
"]"
);
InOutStoreLog
(
"入料检测:有料盘:升降轴到料串高点P2["
+
Config
.
UpdownAxis_P2
+
"],旋转轴到料串位置P4["
+
Config
.
MiddleAxis_P4
+
"]"
);
T3_UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P2
,
Config
.
UpdownAxis_P2Speed
);
T3_UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P2
,
Config
.
UpdownAxis_P2Speed
);
T2_MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P4
,
Config
.
MiddleAxis_P4Speed
);
T2_MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P4
,
Config
.
MiddleAxis_P4Speed
);
}
}
#
endregion
#
endregion
...
@@ -625,7 +623,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -625,7 +623,7 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LI_13_CylinderTighten
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LI_13_CylinderTighten
);
InOutStoreLog
(
"取料:夹爪气缸夹紧"
);
InOutStoreLog
(
"取料:夹爪气缸夹紧"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Relax
,
IO_Type
.
ClampCylinder_Clamp
);
ElectricClamp
.
Clamp
(
MoveInfo
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LI_13_CylinderTighten
))
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LI_13_CylinderTighten
))
{
{
...
@@ -741,7 +739,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -741,7 +739,7 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LI_24_CylinderRelax
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
LI_24_CylinderRelax
);
InOutStoreLog
(
"料盘移栽: 上料气缸放松"
);
InOutStoreLog
(
"料盘移栽: 上料气缸放松"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Clamp
,
IO_Type
.
ClampCylinder_Relax
);
ElectricClamp
.
Release
(
MoveInfo
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LI_24_CylinderRelax
))
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LI_24_CylinderRelax
))
{
{
...
...
source/DeviceLibrary/duoStore/ElectricClamp.cs
0 → 100644
查看文件 @
ab33018
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
public
class
ElectricClamp
{
private
static
int
subType
=
0
;
public
static
bool
needClamp
=
false
;
public
ElectricClamp
(
int
subType
)
{
//this.subType = subType;
}
public
static
void
Clamp
(
StoreMoveInfo
moveInfo
=
null
)
{
needClamp
=
true
;
if
(!
IsBusy
)
{
IOManager
.
IOMove
(
IO_Type
.
Clamp_SetPos0
,
IO_VALUE
.
LOW
,
subType
);
IOManager
.
IOMove
(
IO_Type
.
Clamp_SetPos1
,
IO_VALUE
.
HIGH
,
subType
);
IOManager
.
IOMove
(
IO_Type
.
Clamp_DoAction
,
IO_VALUE
.
HIGH
,
subType
);
}
if
(
moveInfo
!=
null
)
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitElectricClamp
());
}
public
static
bool
Release
(
StoreMoveInfo
moveInfo
=
null
)
{
needClamp
=
false
;
if
(!
IsBusy
)
{
IOManager
.
IOMove
(
IO_Type
.
Clamp_SetPos0
,
IO_VALUE
.
HIGH
,
subType
);
IOManager
.
IOMove
(
IO_Type
.
Clamp_SetPos1
,
IO_VALUE
.
LOW
,
subType
);
IOManager
.
IOMove
(
IO_Type
.
Clamp_DoAction
,
IO_VALUE
.
HIGH
,
subType
);
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
return
true
;
}
else
{
return
false
;
if
(
moveInfo
!=
null
)
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitElectricClamp
());
}
}
public
static
bool
IsBusy
{
get
{
return
IOManager
.
IOValue
(
IO_Type
.
Clamp_Busy
,
subType
).
Equals
(
IO_VALUE
.
HIGH
);
}
}
public
static
bool
IsClamp
{
get
{
return
IOManager
.
IOValue
(
IO_Type
.
Clamp_OnPosition
,
subType
).
Equals
(
IO_VALUE
.
HIGH
);
}
}
}
}
source/DeviceLibrary/duoStore/EquipBase.cs
查看文件 @
ab33018
...
@@ -231,10 +231,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -231,10 +231,14 @@ namespace OnlineStore.DeviceLibrary
int
timeOutMs
=
StoreManager
.
Config
.
IOSingle_TimerOut
;
int
timeOutMs
=
StoreManager
.
Config
.
IOSingle_TimerOut
;
if
(!
wait
.
IsEnd
)
if
(!
wait
.
IsEnd
)
{
{
if
(
wait
.
IoType
.
Equals
(
IO_Type
.
Line_
BackRun
)
||
wait
.
IoType
.
Equals
(
IO_Type
.
Line_
Run
))
if
(
wait
.
IoType
.
Equals
(
IO_Type
.
Line_Run
))
{
{
IOMove
(
wait
.
IoType
,
wait
.
IoValue
);
IOMove
(
wait
.
IoType
,
wait
.
IoValue
);
}
}
else
if
(
wait
.
IoType
.
Equals
(
IO_Type
.
Clamp_OnPosition
))
{
ElectricClamp
.
Clamp
();
}
else
if
(
span
.
TotalMilliseconds
>
timeOutMs
&&
NoAlarm
())
else
if
(
span
.
TotalMilliseconds
>
timeOutMs
&&
NoAlarm
())
{
{
...
@@ -253,6 +257,25 @@ namespace OnlineStore.DeviceLibrary
...
@@ -253,6 +257,25 @@ namespace OnlineStore.DeviceLibrary
{
{
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W012_ElectricClampEvent
))
{
if
(
ElectricClamp
.
IsBusy
)
break
;
if
(
ElectricClamp
.
needClamp
)
{
if
(
ElectricClamp
.
IsClamp
)
wait
.
IsEnd
=
true
;
else
{
ElectricClamp
.
Clamp
();
break
;
}
}
else
{
wait
.
IsEnd
=
ElectricClamp
.
Release
();
}
}
else
else
{
{
wait
.
IsEnd
=
CheckWaitResult
(
MoveInfo
,
wait
);
wait
.
IsEnd
=
CheckWaitResult
(
MoveInfo
,
wait
);
...
...
source/DeviceLibrary/store/KTK_Store.cs
查看文件 @
ab33018
...
@@ -94,6 +94,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -94,6 +94,7 @@ namespace OnlineStore.DeviceLibrary
/// 运动处理
/// 运动处理
/// </summary>
/// </summary>
protected
bool
isInPro
=
false
;
protected
bool
isInPro
=
false
;
object
worklock
=
new
object
();
protected
virtual
void
BusyMoveProcess
()
protected
virtual
void
BusyMoveProcess
()
{
{
//if (isInPro)
//if (isInPro)
...
@@ -101,6 +102,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -101,6 +102,8 @@ namespace OnlineStore.DeviceLibrary
// return;
// return;
//}
//}
isInPro
=
true
;
isInPro
=
true
;
if
(
Monitor
.
TryEnter
(
worklock
))
{
try
try
{
{
switch
(
MoveInfo
.
MoveType
)
switch
(
MoveInfo
.
MoveType
)
...
@@ -128,6 +131,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -128,6 +131,11 @@ namespace OnlineStore.DeviceLibrary
{
{
LogUtil
.
error
(
"BusyMoveProcess出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
"BusyMoveProcess出错:"
+
ex
.
ToString
());
}
}
finally
{
Monitor
.
Exit
(
worklock
);
}
}
isInPro
=
false
;
isInPro
=
false
;
}
}
protected
void
SaveAlarmInfo
(
AlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
MoveType
storeMoveType
)
protected
void
SaveAlarmInfo
(
AlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
MoveType
storeMoveType
)
...
@@ -497,12 +505,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -497,12 +505,10 @@ namespace OnlineStore.DeviceLibrary
public
bool
RunAxis
(
bool
isCheck
,
AxisBean
axis
)
public
bool
RunAxis
(
bool
isCheck
,
AxisBean
axis
)
{
{
IOMove
(
axis
.
Config
.
ServerOnDO
,
IO_VALUE
.
HIGH
);
string
msg
=
""
;
string
msg
=
""
;
bool
result
=
axis
.
Open
(
isCheck
,
out
msg
);
bool
result
=
axis
.
Open
(
isCheck
,
out
msg
);
if
(
result
&&
String
.
IsNullOrEmpty
(
msg
))
if
(
result
&&
String
.
IsNullOrEmpty
(
msg
))
{
{
IOMove
(
axis
.
Config
.
BreakOnDO
,
IO_VALUE
.
HIGH
);
return
true
;
return
true
;
}
}
SetWarnMsg
(
Name
+
msg
);
SetWarnMsg
(
Name
+
msg
);
...
@@ -513,10 +519,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -513,10 +519,8 @@ namespace OnlineStore.DeviceLibrary
public
void
CloseAxis
(
AxisBean
axis
)
public
void
CloseAxis
(
AxisBean
axis
)
{
{
IOMove
(
axis
.
Config
.
BreakOnDO
,
IO_VALUE
.
LOW
);
axis
.
ServoOff
();
axis
.
ServoOff
();
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
IOMove
(
axis
.
Config
.
ServerOnDO
,
IO_VALUE
.
LOW
);
}
}
...
...
source/DeviceLibrary/store/model/StoreMoveInfo.cs
查看文件 @
ab33018
...
@@ -214,6 +214,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -214,6 +214,12 @@ namespace OnlineStore.DeviceLibrary
wait
.
WaitType
=
WaitEnum
.
W011_DoorCloseEvent
;
wait
.
WaitType
=
WaitEnum
.
W011_DoorCloseEvent
;
return
wait
;
return
wait
;
}
}
public
static
WaitResultInfo
WaitElectricClamp
()
{
WaitResultInfo
wait
=
new
WaitResultInfo
();
wait
.
WaitType
=
WaitEnum
.
W012_ElectricClampEvent
;
return
wait
;
}
public
string
ToStr
()
public
string
ToStr
()
{
{
if
(
WaitType
.
Equals
(
WaitEnum
.
W001_AxisMove
))
if
(
WaitType
.
Equals
(
WaitEnum
.
W001_AxisMove
))
...
@@ -363,11 +369,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -363,11 +369,14 @@ namespace OnlineStore.DeviceLibrary
/// Agv状态
/// Agv状态
/// </summary>
/// </summary>
internal
static
int
W010_AgvStatus
=
10
;
internal
static
int
W010_AgvStatus
=
10
;
/// <summary>
/// <summary>
/// 等待agvDoorClose事件
/// 等待agvDoorClose事件
/// </summary>
/// </summary>
internal
static
int
W011_DoorCloseEvent
=
11
;
internal
static
int
W011_DoorCloseEvent
=
11
;
/// <summary>
/// 等待电夹爪事件
/// </summary>
internal
static
int
W012_ElectricClampEvent
=
12
;
}
}
public
enum
MoveType
public
enum
MoveType
{
{
...
...
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
查看文件 @
ab33018
...
@@ -61,11 +61,11 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -61,11 +61,11 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// <summary>
/// 伺服ON的Do信号
/// 伺服ON的Do信号
/// </summary>
/// </summary>
public
string
ServerOnDO
=
""
;
//
public string ServerOnDO = "";
/// <summary>
///
/
<summary>
/// 伺服刹车信号
/// 伺服刹车信号
/// </summary>
/// </summary>
public
string
BreakOnDO
=
""
;
//
public string BreakOnDO = "";
[
CSVAttribute
(
"设备名称"
)]
[
CSVAttribute
(
"设备名称"
)]
public
string
DeviceName
{
get
;
set
;
}
public
string
DeviceName
{
get
;
set
;
}
...
...
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
查看文件 @
ab33018
此文件的差异被折叠,
点击展开。
source/LoadCVSLibrary/storeConfig/config/Store_Config.cs
查看文件 @
ab33018
...
@@ -34,6 +34,12 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -34,6 +34,12 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"T3_Updown_Axis"
)]
[
ConfigProAttribute
(
"T3_Updown_Axis"
)]
public
ConfigMoveAxis
T3_Updown_Axis
{
get
;
set
;
}
public
ConfigMoveAxis
T3_Updown_Axis
{
get
;
set
;
}
/// <summary>
/// <summary>
/// AXIS,,T4_取料机构进出轴,T4_InOut_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
/// </summary>
[
ConfigProAttribute
(
"T3_Updown_Axis"
)]
public
ConfigMoveAxis
T4_InOut_Axis
{
get
;
set
;
}
/// <summary>
/// PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
/// 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"
)]
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论