Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ba709f42
由
LN
编写于
2020-02-17 18:20:35 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
最后一盘补充高度改为5
1 个父辈
4a0d06d5
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
121 行增加
和
34 行删除
source/AssemblyLineClient/FrmLineStore.Designer.cs
source/AssemblyLineClient/记录.txt
source/DeviceLibrary/assemblyLine/DischargeLine.cs
source/DeviceLibrary/assemblyLine/DischargeLine_Partial.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/LineBean.cs
source/DeviceLibrary/assemblyLine/OutTrayLineBean.cs
source/AssemblyLineClient/FrmLineStore.Designer.cs
查看文件 @
ba709f4
...
@@ -144,8 +144,6 @@
...
@@ -144,8 +144,6 @@
// checkBox1
// checkBox1
//
//
this
.
checkBox1
.
AutoSize
=
true
;
this
.
checkBox1
.
AutoSize
=
true
;
this
.
checkBox1
.
Checked
=
true
;
this
.
checkBox1
.
CheckState
=
System
.
Windows
.
Forms
.
CheckState
.
Checked
;
this
.
checkBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
checkBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
checkBox1
.
Location
=
new
System
.
Drawing
.
Point
(
478
,
137
);
this
.
checkBox1
.
Location
=
new
System
.
Drawing
.
Point
(
478
,
137
);
this
.
checkBox1
.
Name
=
"checkBox1"
;
this
.
checkBox1
.
Name
=
"checkBox1"
;
...
...
source/AssemblyLineClient/记录.txt
查看文件 @
ba709f4
...
@@ -104,3 +104,96 @@ D2(上料模块出口)
...
@@ -104,3 +104,96 @@ D2(上料模块出口)
20200217
20200217
Mayleave、MayEnter是包装料仓的,开了门后发,环形线和VMI是不用的。状态不需要重复设置。
Mayleave、MayEnter是包装料仓的,开了门后发,环形线和VMI是不用的。状态不需要重复设置。
上料机构最后一盘料需要补充2mm.
出库皮带线分配规则:
服务器出库参数:
(参数信息可以在日志中看到,或者点击主界面的【托盘信息】按钮看到)
urgentReel: =true 表示紧急料,需要出到料串上,=false出到流水线
cutReel: =true 表示分盘料,需要出到料串上,=false出到流水线
smallReel: =true表示 小料(7x8),放置到小料架上,=false表示大料
rfid: 分配的料架RFID
rfidLoc:料架位置
当为小料时(smallReel=true),
rfidLoc为 70,71,72,必须走 3 / 4号皮带线;
rfidLoc为 1 - 46, 优先走1 / 2号皮带线
rfidLoc为 47 - 92, 优先走3 / 4号皮带线,
当为大料时(smallReel=false),
rfidLoc为 12, 必须走 1号2后皮带线
rfidLoc为 1 - 6, 优先走1 / 2号皮带线,
rfidLoc为 7 - 11,优先走3 / 4号皮带线
出料机构空闲条件:没有处理料盘,或者上一个料盘已经放到流水线上(步骤已到达夹爪放松)
料盘出库超时条件:当前时间-料盘放入托盘的时间>3分钟
当出料机构检测到出料托盘后,
如果当前是出库必须走的皮带线,拦截托盘
如果当前是优先皮带线,且空闲中,拦截托盘
如果当前不是优先皮带线,但是优先皮带线全部不可用(未启动,急停,无气压信号)中,拦截托盘
如果当前不是优先皮带线,但是料盘出库超时,拦截托盘
如果此出库信息无优先线,且当前空闲中,拦截托盘
\ No newline at end of file
\ No newline at end of file
source/DeviceLibrary/assemblyLine/DischargeLine.cs
查看文件 @
ba709f4
...
@@ -48,7 +48,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -48,7 +48,7 @@ namespace OnlineStore.DeviceLibrary
{
{
Line3MaxPosition
=
22
;
Line3MaxPosition
=
22
;
}
}
TimerMaxSeconds
=
2
;
TimerMaxSeconds
=
5
;
}
}
/// <summary>
/// <summary>
...
@@ -306,7 +306,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -306,7 +306,10 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
IOValue
(
IO_Type
.
DLine_Run3
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOValue
(
IO_Type
.
DLine_Run3
).
Equals
(
IO_VALUE
.
LOW
))
{
{
return
true
;
if
(
Line3Turn
.
CanStart
(
1000
))
{
return
true
;
}
}
}
else
else
{
{
...
@@ -328,7 +331,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -328,7 +331,7 @@ namespace OnlineStore.DeviceLibrary
{
{
//判断皮带三还有料盘,需要转动一个工位
//判断皮带三还有料盘,需要转动一个工位
UpdateLastP
();
UpdateLastP
();
LogUtil
.
debug
(
hengyiName
+
"空闲,且流水线还有料盘,转动一个工位"
);
LogUtil
.
info
(
hengyiName
+
"空闲,且流水线还有料盘,转动一个工位"
);
Line3Turn
.
StartLineRun
(
IO_Type
.
DLine_Run3
,
IO_Type
.
Location_Check3
,
Line3EndProcess
);
Line3Turn
.
StartLineRun
(
IO_Type
.
DLine_Run3
,
IO_Type
.
Location_Check3
,
Line3EndProcess
);
}
}
...
...
source/DeviceLibrary/assemblyLine/DischargeLine_Partial.cs
查看文件 @
ba709f4
...
@@ -167,7 +167,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -167,7 +167,9 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
DO_04_SeparateMove
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
DO_04_SeparateMove
))
{
{
if
(
TrayLine2
.
Line3CanRun
&&
TrayLine1
.
Line3CanRun
)
if
(
TrayLine2
.
Line3CanRun
&&
TrayLine1
.
Line3CanRun
&&
Line3TurnIsStop
()
&&
Line3Turn
.
CanStart
())
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
DO_05_LineRun
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
DO_05_LineRun
);
LogInfo
(
hengyiName
+
"出口有料,转动皮带线,同时转动分盘装置"
);
LogInfo
(
hengyiName
+
"出口有料,转动皮带线,同时转动分盘装置"
);
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
ba709f4
...
@@ -951,44 +951,34 @@ namespace OnlineStore.DeviceLibrary
...
@@ -951,44 +951,34 @@ namespace OnlineStore.DeviceLibrary
int
AxisChangeValue
=
Config
.
Height_ChangeValue
;
int
AxisChangeValue
=
Config
.
Height_ChangeValue
;
//计算高度
//计算高度
EndMovePosition
=
BatchAxis
.
GetAclPosition
();
EndMovePosition
=
BatchAxis
.
GetAclPosition
();
bool
isLast
=
false
;
int
chaz
=
Math
.
Abs
(
EndMovePosition
-
Config
.
BatchAxisP3
);
if
(
chaz
<
BatchAxis
.
Config
.
CanErrorCountMax
)
{
isLast
=
true
;
}
float
height
=
(
float
)
Math
.
Ceiling
(
1F
*
(
EndMovePosition
-
StartMovePosition
)
/
AxisChangeValue
);
float
height
=
(
float
)
Math
.
Ceiling
(
1F
*
(
EndMovePosition
-
StartMovePosition
)
/
AxisChangeValue
);
// int addHeight = 0;
string
buchongStr
=
""
;
//如果检测信号未亮,极限亮了,需要补充高
if
(
isLast
)
//if (IOManager.IOValue(IO_Type.TrayCheck_LoadMaterial).Equals(IO_VALUE.LOW))
{
//{
buchongStr
=
"(最后一盘料已补充5)"
;
// addHeight = Config.LastTrayAddHeight;
height
+=
5
;
//}
}
// height += addHeight;
//if (height <= 8) { height = 8; }
//else
//{
// height = (int)Math.Floor(1F * (height - 4) / 4) * 4;
//}
// height = height - 4;
// if (height <= 8) { height = 8; }
// LastHeight =(int) height-4;
List
<
int
>
heightList
=
LineManager
.
GetTrayList
();
List
<
int
>
heightList
=
LineManager
.
GetTrayList
();
heightList
=
(
from
m
in
heightList
orderby
m
descending
select
m
).
ToList
<
int
>();
heightList
=
(
from
m
in
heightList
orderby
m
descending
select
m
).
ToList
<
int
>();
float
minCha
=
height
;
float
minCha
=
height
;
foreach
(
int
h
in
heightList
)
foreach
(
int
h
in
heightList
)
{
{
//取差值最小的接近值
//取差值最小的接近值
float
cha
=
Math
.
Abs
(
h
-
(
height
-
4
));
float
cha
=
Math
.
Abs
(
h
-
(
height
-
4
));
if
(
cha
<
minCha
)
if
(
cha
<
minCha
)
{
{
LastHeight
=
h
;
LastHeight
=
h
;
minCha
=
cha
;
minCha
=
cha
;
}
}
//if (LastHeight >= h)
//{
// LastHeight = h;
// break;
//}
}
}
if
(
LastHeight
<=
8
)
{
LastHeight
=
8
;
}
if
(
LastHeight
<=
8
)
{
LastHeight
=
8
;
}
string
msg
=
Name
+
" 计算盘高:上升前 ["
+
StartMovePosition
+
"]实时[ "
+
EndMovePosition
+
"]差值["
+
(
EndMovePosition
-
StartMovePosition
)
+
"]系数["
+
AxisChangeValue
+
"] 计算后["
+
height
+
"]"
+
",归类为【"
+
LastHeight
+
"mm】"
;
string
msg
=
Name
+
" 计算盘高:上升前 ["
+
StartMovePosition
+
"]实时[ "
+
EndMovePosition
+
"]差值["
+
(
EndMovePosition
-
StartMovePosition
)
+
"]系数["
+
AxisChangeValue
+
"] 计算后"
+
buchongStr
+
"["
+
height
+
"]"
+
",归类为【"
+
LastHeight
+
"mm】"
;
LogUtil
.
info
(
msg
);
LogUtil
.
info
(
msg
);
return
LastHeight
;
return
LastHeight
;
}
}
...
...
source/DeviceLibrary/assemblyLine/LineBean.cs
查看文件 @
ba709f4
...
@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary
public
partial
class
LineBean
:
KTK_Store
public
partial
class
LineBean
:
KTK_Store
{
{
public
bool
IsDebug
=
false
;
public
bool
IsDebug
=
false
;
public
bool
UseAgvClient
=
tru
e
;
public
bool
UseAgvClient
=
fals
e
;
/// <summary>
/// <summary>
/// 灯闪烁定时器
/// 灯闪烁定时器
/// </summary>
/// </summary>
...
...
source/DeviceLibrary/assemblyLine/OutTrayLineBean.cs
查看文件 @
ba709f4
...
@@ -330,13 +330,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -330,13 +330,14 @@ namespace OnlineStore.DeviceLibrary
private
string
LastCheckDI
=
""
;
private
string
LastCheckDI
=
""
;
private
int
subType
=
0
;
private
int
subType
=
0
;
internal
DateTime
LastEndTime
=
DateTime
.
Now
;
internal
DateTime
LastEndTime
=
DateTime
.
Now
;
public
bool
CanStart
(
int
totalMS
=
2
000
)
public
bool
CanStart
(
int
totalMS
=
3
000
)
{
{
TimeSpan
span
=
DateTime
.
Now
-
LastEndTime
;
TimeSpan
span
=
DateTime
.
Now
-
LastEndTime
;
if
(
span
.
TotalMilliseconds
>
totalMS
)
if
(
span
.
TotalMilliseconds
>
totalMS
)
{
{
return
true
;
return
true
;
}
return
false
;
}
return
false
;
}
}
public
LineTurnBean
(
int
subType
)
public
LineTurnBean
(
int
subType
)
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论