Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO827-OutletEquip
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3adb03ef
由
LN
编写于
2021-03-27 19:09:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增机物料显示和操作按钮。修改与环形线交互逻辑。
1 个父辈
056990ed
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
77 行增加
和
64 行删除
source/DeviceLibrary/StoreConfig/StoreConfig.csv
source/DeviceLibrary/StoreConfig/linePositions.csv
source/DeviceLibrary/bean/EquipBean.cs
source/DeviceLibrary/bean/EquipBean_Partial.cs
source/DeviceLibrary/lineConnect/LineConnect.cs
source/DeviceLibrary/model/EquipBase.cs
source/DeviceLibrary/model/InOutParam.cs
source/DeviceLibrary/model/StoreMoveInfo.cs
source/HCSingleStore/FrmEquip.Designer.cs
source/HCSingleStore/FrmEquip.cs
source/DeviceLibrary/StoreConfig/StoreConfig.csv
查看文件 @
3adb03e
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,0,(轴一)旋转轴,Middle_Axis,0,HC,,100,1000,1000,
5,5
0,3000,10,100,0,0
AXIS,0,(轴二)升降轴
轴,UpDown_Axis,1,HC,,200,2000,2000,20,2
50,3000,10,100,0,0
AXIS,0,(轴三)进出轴,InOut_Axis,2,HC,,
5000,5000,5
000,100,400,3000,10,100,0,0
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,0,(轴一)旋转轴,Middle_Axis,0,HC,,100,1000,1000,
20,10
0,3000,10,100,0,0
AXIS,0,(轴二)升降轴
,UpDown_Axis,1,HC,,100,1000,1000,20,1
50,3000,10,100,0,0
AXIS,0,(轴三)进出轴,InOut_Axis,2,HC,,
3000,3000,3
000,100,400,3000,10,100,0,0
AXIS,0,(轴四)压紧轴,Comp_Axis,3,HC,,30000,15000,15000,3000,5000,10000,10,100,0,0
,,,,,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口取料低点 P1,UpDownAxis_DoorL_P1,2914,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口取料高点 P2,UpDownAxis_DoorH_P2,3200,,,,,,,,,,,,
PRO,0,升降轴(轴2)NG口放料高点 P5,UpDownAxis_DoorH_P5,
305
0,,,,,,,,,,,,
PRO,0,升降轴(轴2)NG口放料低点 P6,UpDownAxis_DoorH_P6,
305
0,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P1/取料点/待机原位点,MiddleAxis_P1,47
71
,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P3/NG口放料点,MiddleAxis_P3,
891
,,,,,,,,,,,,
PRO,0,升降轴(轴2)NG口放料高点 P5,UpDownAxis_DoorH_P5,
490
0,,,,,,,,,,,,
PRO,0,升降轴(轴2)NG口放料低点 P6,UpDownAxis_DoorH_P6,
490
0,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P1/取料点/待机原位点,MiddleAxis_P1,47
60
,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P3/NG口放料点,MiddleAxis_P3,
2450
,,,,,,,,,,,,
PRO,0,进出轴(轴3)P1/待机原位点,InOutAxis_P1,200,,,,,,,,,,,,
PRO,0,进出轴(轴3)P4/NG口放料点,InOutAxis_P4,100,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P1待机原位点,CompressAxis_P1,
1000
0,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P2压紧点列表,CompAxis_P2_List,8=
9400,,,,
,,,,,,,,
PRO,0,压紧轴(轴4)P1待机原位点,CompressAxis_P1,
476
0,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P2压紧点列表,CompAxis_P2_List,8=
74800,12=71300,28=59300,36=46800,48=40400
,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,500,,,,,,,,,,,,
...
...
@@ -42,8 +42,8 @@ PRO,0,出出料多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,
PRO,0,出出料多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,
PRO,0,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,
PRO,0,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,
PRO,0,是否使用料盘检测信号,IsUse_Tray_Check,
1
,,,,,,,,,,,,
PRO,0,是否调试状态,ISDebug,
1
,,,,,,,,,,,,
PRO,0,是否使用料盘检测信号,IsUse_Tray_Check,
0
,,,,,,,,,,,,
PRO,0,是否调试状态,ISDebug,
0
,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
DI,0,急停,SuddenStop_BTN,0,HC,X00,,,,,,,,,,
...
...
source/DeviceLibrary/StoreConfig/linePositions.csv
查看文件 @
3adb03e
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/bean/EquipBean.cs
查看文件 @
3adb03e
...
...
@@ -869,15 +869,15 @@ namespace OnlineStore.DeviceLibrary
}
private
void
StartMove
()
{
LogInfo
(
"开始
执行料仓门口的料
【"
+
LineConnect
.
DoorPosInfo
.
ToStr
()
+
"】"
);
LogInfo
(
"开始
移栽
【"
+
LineConnect
.
DoorPosInfo
.
ToStr
()
+
"】"
);
bool
result
=
StartOutMove
(
new
InOutParam
(
LineConnect
.
DoorPosInfo
));
if
(!
result
)
{
LogInfo
(
"
执行料仓门口的料
【"
+
LineConnect
.
DoorPosInfo
.
ToStr
()
+
"】失败"
);
LogInfo
(
"
移栽
【"
+
LineConnect
.
DoorPosInfo
.
ToStr
()
+
"】失败"
);
}
else
{
LogInfo
(
"
执行料仓门口的料【"
+
LineConnect
.
DoorPosInfo
.
ToStr
()
+
"】成功,清理料仓
门口数据"
);
LogInfo
(
"
移栽【"
+
LineConnect
.
DoorPosInfo
.
ToStr
()
+
"】成功,清理
门口数据"
);
LineConnect
.
DoorPosInfo
=
null
;
}
}
...
...
@@ -976,14 +976,22 @@ namespace OnlineStore.DeviceLibrary
}
public
string
GetMoveStr
()
{
string
msg
=
""
;
msg
+=
"状态: "
+
storeRunStatus
+
"\t "
+
" "
+
storeStatus
+
"\n"
;
msg
+=
"alarm: "
+
alarmType
+
"\n"
;
msg
+=
"Move:"
+
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
MoveStep
+
"\n"
;
foreach
(
WorkStation
shelf
in
StationMap
.
Values
)
string
msg
=
LineConnect
.
DoorPosInfo
?.
ToStr
();
foreach
(
WorkStation
shelf
in
StationMap
.
Values
)
{
msg
+=
shelf
.
Name
+
": "
+
shelf
.
CurrShelf
.
ToStr
()+
"\r\n"
;
}
if
(
alarmType
.
Equals
(
StoreAlarmType
.
None
))
{
msg
+=
"状态: "
+
storeRunStatus
+
"\t "
+
" "
+
storeStatus
+
"\t "
+
"\n"
;
}
else
{
msg
+=
"状态: "
+
storeRunStatus
+
"\t "
+
" "
+
storeStatus
+
"\t "
+
" "
+
"报警:"
+
alarmType
+
"\n"
;
}
//msg += "alarm: " + alarmType + "\n";
msg
+=
"Move:"
+
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
MoveStep
+
"\n"
;
return
msg
;
}
...
...
source/DeviceLibrary/bean/EquipBean_Partial.cs
查看文件 @
3adb03e
...
...
@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary
p
.
InOut_P1
=
Config
.
InOutAxis_P1
;
p
.
InOut_P2
=
position
.
InOutAxis_P2
;
p
.
InOut_P3
=
position
.
InOutAxis_P3
;
p
.
InOut_P
3
=
Config
.
InOutAxis_P4
;
p
.
InOut_P
4
=
Config
.
InOutAxis_P4
;
p
.
Middle_P1
=
Config
.
MiddleAxis_P1
;
p
.
Middle_P2
=
position
.
MiddleAxis_P2
;
...
...
@@ -78,7 +78,6 @@ namespace OnlineStore.DeviceLibrary
{
param
.
PosInfo
.
PlateW
=
position
.
BagWidth
;
}
return
true
;
}
else
if
((
param
.
PosInfo
.
PlateH
<=
0
)
||
(
param
.
PosInfo
.
PlateW
<=
0
))
{
...
...
@@ -96,7 +95,6 @@ namespace OnlineStore.DeviceLibrary
{
param
.
PosInfo
.
PlateW
=
position
.
BagWidth
;
}
return
true
;
}
int
v
=
Config
.
GetCompP2
(
param
.
PosInfo
.
PlateH
);
if
(
v
>
0
&&
(!
param
.
MoveP
.
ComPress_P2
.
Equals
(
v
)))
...
...
@@ -275,15 +273,15 @@ namespace OnlineStore.DeviceLibrary
{
if
(!
LoadParamPosition
(
param
))
{
LogUtil
.
error
(
Name
+
" 启动出料【"
+
p
osId
+
"】出错,找不到库位信息
"
);
LogUtil
.
error
(
Name
+
" 启动出料【"
+
p
aram
.
PosInfo
.
ToStr
()
+
"】出错,找不到库位
"
);
return
false
;
}
if
(
IOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
HIGH
))
{
LogUtil
.
error
(
Name
+
" 启动出料【"
+
p
osId
+
"】出错,叉子料盘检测有料"
);
LogUtil
.
error
(
Name
+
" 启动出料【"
+
p
aram
.
PosInfo
.
ToStr
()
+
"】出错,叉子料盘检测有料"
);
return
false
;
}
LogInfo
(
" 启动出料【"
+
p
osId
+
"】"
);
LogInfo
(
" 启动出料【"
+
p
aram
.
PosInfo
.
ToStr
()
+
"】"
);
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeStatus
=
StoreStatus
.
OutStoreExecute
;
MoveInfo
.
NewMove
(
StoreMoveType
.
OutStore
,
param
);
...
...
@@ -350,7 +348,20 @@ namespace OnlineStore.DeviceLibrary
MoveLog
(
" 叉子进入出料口,进出轴至P2(进料口取料点) "
+
movep
.
InOut_P2
);
ACAxisMove
(
Config
.
InOut_Axis
,
movep
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
private
void
MoveToPosition
(
LineMoveP
moveP
)
{
if
(
MoveInfo
.
MoveParam
.
PosInfo
.
IsNg
)
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
SO_31_MoveToNG
);
MoveLog
(
"移动到NG箱,旋转轴至P3["
+
moveP
.
Middle_P3
+
"], 升降轴至P5["
+
moveP
.
UpDown_P5
+
"] "
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P3
,
Config
.
MiddleAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
}
else
{
SO_21_MoveToBag
();
}
}
private
void
SO_21_MoveToBag
()
{
LineMoveP
moveP
=
MoveInfo
.
MoveParam
.
MoveP
;
...
...
@@ -443,22 +454,12 @@ namespace OnlineStore.DeviceLibrary
}
else
{
SO_21_MoveToBag
();
MoveToPosition
(
moveP
);
}
}
else
if
(
MoveInfo
.
IsStep
(
MoveStep
.
SO_17_TrayCheck
))
{
if
(
MoveInfo
.
MoveParam
.
PosInfo
.
IsNg
)
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
SO_31_MoveToNG
);
MoveLog
(
"移动到NG箱,旋转轴至P3["
+
moveP
.
Middle_P3
+
"], 升降轴至P5["
+
moveP
.
UpDown_P5
+
"] "
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P3
,
Config
.
MiddleAxis_P3_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
}
else
{
SO_21_MoveToBag
();
}
{
MoveToPosition
(
moveP
);
}
#
region
->
料架
else
if
(
MoveInfo
.
IsStep
(
MoveStep
.
SO_21_MoveToBag
))
...
...
source/DeviceLibrary/lineConnect/LineConnect.cs
查看文件 @
3adb03e
...
...
@@ -131,7 +131,7 @@ namespace OnlineStore.DeviceLibrary
if
(
cmd
.
Equals
(
cmd_startIn
))
{
LogUtil
.
info
(
"["
+
CID
+
"]收到流水线消息:"
+
message
);
InOutPosInfo
inout
=
new
InOutPosInfo
(
reviceInfo
.
WareCode
,
""
,
reviceInfo
.
PlateH
,
reviceInfo
.
PlateW
,
reviceInfo
.
IsNg
,
reviceInfo
.
PosId
,
reviceInfo
.
rfid
);
InOutPosInfo
inout
=
new
InOutPosInfo
(
reviceInfo
.
WareCode
,
""
,
reviceInfo
.
PlateW
,
reviceInfo
.
PlateH
,
reviceInfo
.
IsNg
,
reviceInfo
.
PosId
,
reviceInfo
.
rfid
);
string
logName
=
"收到流水线命令【 "
+
inout
.
ToStr
()
+
"】:"
;
if
(
DoorPosInfo
!=
null
)
...
...
source/DeviceLibrary/model/EquipBase.cs
查看文件 @
3adb03e
...
...
@@ -274,9 +274,7 @@ namespace OnlineStore.DeviceLibrary
public
abstract
bool
StartOutMove
(
InOutParam
param
);
protected
abstract
void
OutProcess
();
#
endregion
public
string
GetRunStr
()
{
string
sta
=
"运行中"
;
...
...
@@ -366,9 +364,7 @@ namespace OnlineStore.DeviceLibrary
return
sta
+
" "
+
MoveInfo
.
MoveType
+
"_"
+
MoveInfo
.
MoveStep
;
}
}
public
void
IOMove
(
string
IoType
,
IO_VALUE
value
)
{
IOManager
.
IOMove
(
IoType
,
value
,
baseConfig
.
DeviceID
);
...
...
source/DeviceLibrary/model/InOutParam.cs
查看文件 @
3adb03e
...
...
@@ -118,11 +118,11 @@ namespace OnlineStore.DeviceLibrary
{
if
(
IsNg
)
{
return
$
"
仓
门口NG料 [{ barcode }] [{ ShelfPosId }] [{PlateW }x{ PlateH }],boxPos[{ BoxPosId }],rfid [{ rfid}]"
;
return
$
" 门口NG料 [{ barcode }] [{ ShelfPosId }] [{PlateW }x{ PlateH }],boxPos[{ BoxPosId }],rfid [{ rfid}]"
;
}
else
{
return
$
"
仓
门口物料 [{ barcode }] [{ ShelfPosId }] [{PlateW }x{ PlateH }],boxPos[{ BoxPosId }],rfid [{ rfid}]"
;
return
$
" 门口物料 [{ barcode }] [{ ShelfPosId }] [{PlateW }x{ PlateH }],boxPos[{ BoxPosId }],rfid [{ rfid}]"
;
}
}
}
...
...
source/DeviceLibrary/model/StoreMoveInfo.cs
查看文件 @
3adb03e
...
...
@@ -234,7 +234,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
WaitType
==
2
)
{
return
$
"IO信号
等待,IO类型【{ IoType }】,等待值
【{ IoValue }】"
;
return
$
"IO信号
【{ IoType }】=
【{ IoValue }】"
;
}
else
if
(
WaitType
==
3
)
{
...
...
source/HCSingleStore/FrmEquip.Designer.cs
查看文件 @
3adb03e
此文件的差异被折叠,
点击展开。
source/HCSingleStore/FrmEquip.cs
查看文件 @
3adb03e
...
...
@@ -168,10 +168,7 @@ namespace OnlineStore.ACSingleStore
chbDebug
.
Checked
=
equip
.
IsDebug
;
LoadOk
=
true
;
}
//lblHeartMsg.Text = LineConnect.HeartMsg;
lblHeartMsg
.
Text
=
LineConnect
.
DoorPosInfo
?.
ToStr
();
lblMoveEquipInfo
.
Text
=
"移栽状态:"
+
(
equip
.
lineConn
.
CanStartOut
()
?
"可出库"
:
"不可出库"
)
+
" "
+
equip
.
lineConn
.
LastUpdateTime
.
ToLongTimeString
()
+
""
;
lblThisSta
.
Text
=
equip
.
GetRunStr
();
lblMoveStr
.
Text
=
equip
.
GetMoveStr
();
//ReadPosistion();
...
...
@@ -1127,8 +1124,26 @@ namespace OnlineStore.ACSingleStore
{
equip
.
IOMove
(
IO_Type
.
Device_Led
,
IO_VALUE
.
LOW
);
}
private
void
btnMoni_Click
(
object
sender
,
EventArgs
e
)
{
string
text
=
txtMoni
.
Text
.
Trim
();
LogUtil
.
info
(
"点击模拟按钮:"
+
text
);
equip
.
lineConn
.
HandlerMsg
(
text
);
}
private
void
工位
1
复位
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
btnClearDoor_Click
(
object
sender
,
EventArgs
e
)
{
DialogResult
resul
=
MessageBox
.
Show
(
"确定清除:"
+
LineConnect
.
DoorPosInfo
?.
ToStr
()
+
""
,
"提示"
,
MessageBoxButtons
.
OKCancel
);
if
(
resul
.
Equals
(
DialogResult
.
OK
))
{
LogUtil
.
info
(
equip
.
Name
+
"点击:清理门口料盘:"
+
LineConnect
.
DoorPosInfo
?.
ToStr
());
LineConnect
.
DoorPosInfo
=
null
;
}
}
private
void
btnS1Reset_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
equip
.
Name
+
"点击:S1复位"
);
if
(
equip
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Wait
))
...
...
@@ -1139,7 +1154,7 @@ namespace OnlineStore.ACSingleStore
equip
.
StationMap
[
1
].
Reset
();
}
private
void
s2
复位
ToolStripMenuItem
_Click
(
object
sender
,
EventArgs
e
)
private
void
btnS2Reset
_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
equip
.
Name
+
"点击:S2复位"
);
if
(
equip
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Wait
))
...
...
@@ -1150,7 +1165,7 @@ namespace OnlineStore.ACSingleStore
equip
.
StationMap
[
2
].
Reset
();
}
private
void
s3
复位
ToolStripMenuItem
_Click
(
object
sender
,
EventArgs
e
)
private
void
btnS3Reset
_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
equip
.
Name
+
"点击:S3复位"
);
if
(
equip
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Wait
))
...
...
@@ -1160,12 +1175,5 @@ namespace OnlineStore.ACSingleStore
}
equip
.
StationMap
[
3
].
Reset
();
}
private
void
btnMoni_Click
(
object
sender
,
EventArgs
e
)
{
string
text
=
txtMoni
.
Text
.
Trim
();
LogUtil
.
info
(
"点击模拟按钮:"
+
text
);
equip
.
lineConn
.
HandlerMsg
(
text
);
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论