Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ad5ca24d
由
LN
编写于
2020-03-08 22:27:51 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
上料机构优化。
托盘优化:阻挡下降后,可能等不到check1灭。
1 个父辈
d2453747
全部展开
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
182 行增加
和
77 行删除
source/AssemblyLineClient/App.config
source/AssemblyLineClient/FrmLineStore.cs
source/AssemblyLineClient/记录.txt
source/DeviceLibrary/assemblyLine/EquipBase.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
source/DeviceLibrary/assemblyLine/LineBean.cs
source/DeviceLibrary/assemblyLine/LineBean_Partial.cs
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
source/DeviceLibrary/model/KTK_Store.cs
source/AssemblyLineClient/App.config
查看文件 @
ad5ca24
...
@@ -6,64 +6,76 @@
...
@@ -6,64 +6,76 @@
<
appSettings
>
<
appSettings
>
<!--是否开机自动启动料仓-->
<!--是否开机自动启动料仓-->
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"包装料料仓"
/>
<
add
key
=
"App_Title"
value
=
"流水线客户端"
/>
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<!--
Server
address
-->
<!--
Server
address
-->
<
add
key
=
"http.server"
value
=
"http://10.85.160.25/myproject/"
/>
<!--<
add
key
=
"http.server"
value
=
"http://localhost/myproject/service/store/emptyPosForPutin"
/>-->
<
add
key
=
"http.server"
value
=
"http://192.168.101.11/myproject/"
/>
<!--
storeType
-->
<!--
storeType
-->
<
add
key
=
"store_count"
value
=
"2"
/>
<
add
key
=
"Line_moveEquip_count"
value
=
"18"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\StoreConfig.csv"
/>
<
add
key
=
"Line_feedingEquip_count"
value
=
"4"
/>
<
add
key
=
"Line_providingEquip_count"
value
=
"4"
/>
<
add
key
=
"Line_dischargeLine_count"
value
=
"2"
/>
<!--
start
one
store
config
-->
<!--
start
one
store
config
-->
<
add
key
=
"
Shelf_Position_Config"
value
=
"\StoreConfig\shelfPosition
.csv"
/>
<
add
key
=
"
ConfigPath_Line"
value
=
"\LineConfig\Config_Line
.csv"
/>
<
add
key
=
"
Store_Position_Config"
value
=
"\StoreConfig\linePositions
.csv"
/>
<
add
key
=
"
ConfigPath_MoveEquip"
value
=
"\LineConfig\MoveEquip\Config_MoveEquip
.csv"
/>
<
add
key
=
"
BOX_ConfigPath"
value
=
"\StoreConfig\BoxConfig
.csv"
/>
<
add
key
=
"
ConfigPath_FeedingEquip"
value
=
"\LineConfig\Config_FeedingEquip
.csv"
/>
<
add
key
=
"
Store_Type"
value
=
"RC_AC_PA
"
/>
<
add
key
=
"
ConfigPath_ProvidingEquip"
value
=
"\LineConfig\Config_ProvidingEquip.csv
"
/>
<
add
key
=
"
Store_CID"
value
=
"packing-store
"
/>
<
add
key
=
"
ConfigPath_DischargeLine"
value
=
"\LineConfig\Config_DischargeLine.csv
"
/>
<
add
key
=
"
Store_CID_1"
value
=
"packing-19
"
/>
<
add
key
=
"
Line_Type"
value
=
"Line
"
/>
<
add
key
=
"
Store_CID_2"
value
=
"packing-2
0"
/>
<
add
key
=
"
Line_CID"
value
=
"rc125
0"
/>
<!--
end
one
store
config
-->
<!--
end
one
store
config
-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<!--摄像机名称列表配置,用
#分割-->
<
add
key
=
"InOutDefaultPosition"
value
=
"52000"
/>
<
add
key
=
"CameraName"
value
=
"GigE:MV-CE100-30GC (00C69898519)#GigE:MV-CE100-30GC (00C95305929)"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<!--二维码类型列表配置,用
#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<!--二维码类型列表配置,用
#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<
add
key
=
"CodeType"
value
=
"QR Code#Data Matrix ECC 200"
/>
<
add
key
=
"CodeType"
value
=
"QR Code#Data Matrix ECC 200"
/>
<!--<
add
key
=
"CodeType"
value
=
"Data Matrix ECC 200"
/>-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<
add
key
=
"CodeParamPath"
value
=
"\CodeParam\"
/>
<
add
key
=
"CodeParamPath"
value
=
"\CodeParam\"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<!--出库等待料盘拿走的时间,秒-->
<!--出库等待料盘拿走的时间,秒-->
<
add
key
=
"OutStoreWaitSeconds"
value
=
"1"
/>
<
add
key
=
"OutStoreWaitSeconds"
value
=
"10"
/>
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"DIMS"
value
=
"60"
/>
<!--流水线监听端口-->
<
add
key
=
"DOMS"
value
=
"300"
/>
<
add
key
=
"TCPServerPort"
value
=
"5246"
/>
<!--流水线地址和端口配置-->
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<!--是否调试状态-->
<
add
key
=
"IsInDebug"
value
=
"1"
/>
<
add
key
=
"UseBuzzer"
value
=
"0"
/>
<!--
IO
模块是否主动上传-->
<
add
key
=
"AIOAutoUpload"
value
=
"0"
/>
<!--
AGV
调度服务器地址-->
<!--
AGV
调度服务器地址-->
<
add
key
=
"AgvServerIp"
value
=
"10.85.160.20"
/>
<
add
key
=
"AgvServerIp"
value
=
"10.85.160.20"
/>
<!--
IO
配置-->
<
add
key
=
"DIMS"
value
=
"60"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
<
add
key
=
"LineRunTest"
value
=
"1"
/>
<!--
ABB
机器人服务器-->
<
add
key
=
"ABBServerPort"
value
=
"21"
/>
<!--是否打开托盘编码界面-->
<
add
key
=
"OpenRFIDWrite"
value
=
"1"
/>
<
add
key
=
"DefaultPWD"
value
=
"123456"
/>
<!--当前调试的设备
ID
,分号分割-->
<
add
key
=
"DebugDeviceId"
value
=
"0"
/>
<
add
key
=
"Server_Log_Open"
value
=
"0"
/>
<
add
key
=
"CodeCount"
value
=
"3"
/>
<
add
key
=
"CodeCount"
value
=
"3"
/>
<
add
key
=
"Tool_P3_Offset"
value
=
"7000"
/>
<
add
key
=
"DefaultTrayNum"
value
=
"0"
/>
<
add
key
=
"Tool_P4_Offset"
value
=
"-2000"
/>
<
add
key
=
"NeedScanCode"
value
=
"1"
/>
<
add
key
=
"Tool_P5_Offset"
value
=
"-2000"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"0"
/>
<
add
key
=
"Tool_P6_Offset"
value
=
"7000"
/>
<
add
key
=
"Tool_TargetSpeed"
value
=
"20"
/>
<
add
key
=
"Tool_TargetPosition"
value
=
"1835000"
/>
<!--是否启用入料口移门,
1
=启用,
0
=禁用-->
<
add
key
=
"UseDoor"
value
=
"0"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"1"
/>
<
add
key
=
"AutoShelfInstore"
value
=
"1"
/>
</
appSettings
>
</
appSettings
>
<!-- <
log4net
> -->
<!-- <
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
> -->
<!-- <
file
value
=
"logs/Line-RC1250.log"
/> -->
<!-- <
param
name
=
"Encoding"
value
=
"UTF-8"
/> -->
<!-- <
appendToFile
value
=
"true"
/> -->
<!-- <
rollingStyle
value
=
"Date"
/> -->
<!-- <
datePattern
value
=
"yyyy-MM-dd"
/> -->
<!-- <
layout
type
=
"log4net.Layout.PatternLayout"
> -->
<!-- <
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/> -->
<!-- </
layout
> -->
<!-- </
appender
> -->
<!-- <
root
> -->
<!-- <
level
value
=
"Info"
/> -->
<!-- <
appender
-
ref
ref
=
"RollingLogFileAppender"
/> -->
<!-- </
root
> -->
<!-- </
log4net
> -->
<
log4net
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/
Packing-store-19-2
0.log"
/>
<
file
value
=
"logs/
Line-RC125
0.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"
/>
...
@@ -73,7 +85,7 @@
...
@@ -73,7 +85,7 @@
</
layout
>
</
layout
>
</
appender
>
</
appender
>
<
appender
name
=
"TheRFID"
type
=
"log4net.Appender.RollingFileAppender"
>
<
appender
name
=
"TheRFID"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/TheRFID-
19-20
.log"
/>
<
file
value
=
"logs/TheRFID-
line
.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"
/>
...
@@ -87,9 +99,13 @@
...
@@ -87,9 +99,13 @@
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
</
logger
>
</
logger
>
<
logger
name
=
"TheRFID"
>
<
logger
name
=
"TheRFID"
>
<
level
value
=
"
Debug
"
/>
<
level
value
=
"
Info
"
/>
<
appender
-
ref
ref
=
"TheRFID"
/>
<
appender
-
ref
ref
=
"TheRFID"
/>
</
logger
>
</
logger
>
<!--<
root
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
</
root
>-->
</
log4net
>
</
log4net
>
<
startup
>
<
startup
>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.6.1"
/>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.6.1"
/>
...
...
source/AssemblyLineClient/FrmLineStore.cs
查看文件 @
ad5ca24
...
@@ -418,9 +418,12 @@ namespace OnlineStore.AssemblyLine
...
@@ -418,9 +418,12 @@ namespace OnlineStore.AssemblyLine
}
}
AgvClient
.
Dispose
();
AgvClient
.
Dispose
();
if
(
IOManager
.
instance
!=
null
)
{
IOManager
.
instance
.
CloseAllDO
();
IOManager
.
instance
.
CloseAllDO
();
IOManager
.
instance
.
CloseAllConnection
();
IOManager
.
instance
.
CloseAllConnection
();
}
}
}
private
void
btnClearLog_Click
(
object
sender
,
EventArgs
e
)
private
void
btnClearLog_Click
(
object
sender
,
EventArgs
e
)
{
{
...
...
source/AssemblyLineClient/记录.txt
查看文件 @
ad5ca24
...
@@ -274,7 +274,8 @@ PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=800
...
@@ -274,7 +274,8 @@ PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=800
20200308
20200308
增加托盘顺序检测功能NeedCheckTray的开关选项。
增加托盘顺序检测功能NeedCheckTray的开关选项。
上料机构优化。
托盘优化:阻挡下降后,可能等不到check1灭。
...
...
source/DeviceLibrary/assemblyLine/EquipBase.cs
查看文件 @
ad5ca24
...
@@ -146,6 +146,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -146,6 +146,11 @@ namespace OnlineStore.DeviceLibrary
return
;
return
;
}
}
BaseTimerProcess
();
BaseTimerProcess
();
if
(
TimerMaxSeconds
>
3
&&
runStatus
>=
LineRunStatus
.
Runing
)
{
TimerMaxSeconds
=
3
;
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
...
@@ -194,6 +199,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -194,6 +199,7 @@ namespace OnlineStore.DeviceLibrary
}
}
protected
void
ResetClearData
()
protected
void
ResetClearData
()
{
{
TimerMaxSeconds
=
10
;
trayCount
=
0
;
trayCount
=
0
;
SetWarnMsg
(
""
);
SetWarnMsg
(
""
);
alarmType
=
LineAlarmType
.
None
;
alarmType
=
LineAlarmType
.
None
;
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_InStore.cs
查看文件 @
ad5ca24
...
@@ -105,13 +105,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -105,13 +105,15 @@ namespace OnlineStore.DeviceLibrary
lastStopDown
=
DateTime
.
Now
;
lastStopDown
=
DateTime
.
Now
;
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
,
CheckParam
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
,
CheckParam
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
//
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
LogUtil
.
debug
(
Name
+
" ["
+
trayCount
+
"] 检测到SW_StopCheck:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸下降 ,等待 SW_StopCheck=0"
);
LogUtil
.
debug
(
Name
+
" ["
+
trayCount
+
"] 检测到SW_StopCheck:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸下降 ,等待 SW_StopCheck=0"
);
//CheckLog("检测到SW_StopCheck:" + SecondMoveInfo.SLog + "阻挡气缸下降 ,等待 SW_StopCheck=0" );
//CheckLog("检测到SW_StopCheck:" + SecondMoveInfo.SLog + "阻挡气缸下降 ,等待 SW_StopCheck=0" );
IOMove
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
HIGH
,
1200
);
IOMove
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
HIGH
,
1200
);
SecondMoveInfo
.
OneWaitCanEndStep
=
true
;
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
HIGH
));
//
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_StopDown, IO_VALUE.HIGH));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopCheck
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_StopCheck
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
//IOMove(IO_Type.SW_StopDown, IO_VALUE.HIGH, TrayManager.StopDownWaitTime);
//IOMove(IO_Type.SW_StopDown, IO_VALUE.HIGH, TrayManager.StopDownWaitTime);
}
}
}
}
...
@@ -143,8 +145,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -143,8 +145,10 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
CheckLog
(
" 检测到FL_StopCheck:"
+
SecondMoveInfo
.
SLog
+
" FL阻挡1下降 ,等待 FL_StopCheck=0"
);
CheckLog
(
" 检测到FL_StopCheck:"
+
SecondMoveInfo
.
SLog
+
" FL阻挡1下降 ,等待 FL_StopCheck=0"
);
IOMove
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
HIGH
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_StopCylinder_Down1
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
OneWaitCanEndStep
=
true
;
//SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.FL_StopCylinder_Down1, IO_VALUE.HIGH));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_StopCheck
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_StopCheck
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
FL_TrayCheck
,
IO_VALUE
.
HIGH
));
/// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
/// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
}
}
}
}
...
@@ -199,7 +203,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -199,7 +203,7 @@ namespace OnlineStore.DeviceLibrary
{
{
TimeSpan
span
=
DateTime
.
Now
-
SecondMoveInfo
.
LastSetpTime
;
TimeSpan
span
=
DateTime
.
Now
-
SecondMoveInfo
.
LastSetpTime
;
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_FixtureCheck
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_01_FixtureCheck
);
LogUtil
.
debug
(
Name
+
"托盘阻挡:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸上升,下降耗时("
+
FormUtil
.
GetSpanStr
(
span
)+
"),等待SW_TrayCheck=1)"
);
LogUtil
.
debug
(
Name
+
"托盘阻挡:"
+
SecondMoveInfo
.
SLog
+
"阻挡气缸上升,下降耗时("
+
FormUtil
.
GetSpanStr
(
span
)
+
"),等待SW_TrayCheck=1)"
);
IOMove
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
SW_StopDown
,
IO_VALUE
.
LOW
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
HIGH
));
}
}
...
@@ -280,7 +284,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -280,7 +284,7 @@ namespace OnlineStore.DeviceLibrary
if
(
Config
.
SidesWayNum
.
Equals
(
2
))
if
(
Config
.
SidesWayNum
.
Equals
(
2
))
{
{
CylinderMove
(
null
,
IO_Type
.
SW_TopCylinder_Down
,
IO_Type
.
SW_TopCylinder_Up
);
CylinderMove
(
null
,
IO_Type
.
SW_TopCylinder_Down
,
IO_Type
.
SW_TopCylinder_Up
);
if
(
LineManager
.
Line
.
SwCanUpMove
(
3
))
if
(
LineManager
.
Line
.
SwCanUpMove
(
3
))
{
{
LineManager
.
Line
.
CylinderMove
(
null
,
IO_Type
.
SW3_TopCylinder_Down
,
IO_Type
.
SW3_TopCylinder_Up
);
LineManager
.
Line
.
CylinderMove
(
null
,
IO_Type
.
SW3_TopCylinder_Down
,
IO_Type
.
SW3_TopCylinder_Up
);
}
}
...
@@ -356,17 +360,18 @@ namespace OnlineStore.DeviceLibrary
...
@@ -356,17 +360,18 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_14_TopDown
))
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_14_TopDown
))
{
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_15_WaitCanGo
);
MO_15_WaitCanGo
();
if
(
Config
.
SidesWayNum
>
0
)
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
{
//if (Config.SidesWayNum > 0)
CheckLog
(
"托盘放行 "
+
SecondMoveInfo
.
SLog
+
" ,等待托盘离开"
);
//{
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
LOW
));
// CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待托盘离开");
}
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.LOW));
else
//}
{
//else
CheckLog
(
"托盘放行 "
+
SecondMoveInfo
.
SLog
+
" ,等待 NextStopCheck=0"
);
//{
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
// CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
}
// // SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
//}
}
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_15_WaitCanGo
))
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_15_WaitCanGo
))
{
{
...
@@ -423,7 +428,63 @@ namespace OnlineStore.DeviceLibrary
...
@@ -423,7 +428,63 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
}
}
private
void
TrayMoveOk
()
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_MoveOk
);
if
(
Config
.
SidesWayNum
>
0
)
{
if
(
CylinderIsOk
(
IO_Type
.
SW_LocationCylinder_Up
,
IO_Type
.
SW_LocationCylinder_Down
))
{
if
(
Config
.
SidesWayNum
.
Equals
(
2
))
{
//preTrayNum = currTrayNum;
CheckLog
(
"托盘放行: 此处为环形线横移2,顶升气缸不需要下降, (托盘放行结束) "
);
SMoveEnd
();
}
else
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_14_TopDown
);
CheckLog
(
"托盘放行, "
+
SecondMoveInfo
.
SLog
+
" ,环形线顶升气缸下降)"
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
SW_TopCylinder_Up
,
IO_Type
.
SW_TopCylinder_Down
);
}
}
else
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_13_LoactionDown
);
SInLog
(
"托盘放行, "
+
SecondMoveInfo
.
SLog
+
" 托盘开始放行,环形线定位气缸下降"
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
SW_LocationCylinder_Up
,
IO_Type
.
SW_LocationCylinder_Down
);
}
}
else
{
if
(
CylinderIsOk
(
IO_Type
.
FL_TopCylinder_Up
,
IO_Type
.
FL_TopCylinder_Down
))
{
MO_15_WaitCanGo
();
}
else
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_14_TopDown
);
CheckLog
(
"托盘放行, "
+
SecondMoveInfo
.
SLog
+
" , 顶升气缸下降)"
);
CylinderMove
(
SecondMoveInfo
,
IO_Type
.
FL_TopCylinder_Up
,
IO_Type
.
FL_TopCylinder_Down
);
}
}
}
private
void
MO_15_WaitCanGo
()
{
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_15_WaitCanGo
);
if
(
Config
.
SidesWayNum
>
0
)
{
CheckLog
(
"托盘放行 "
+
SecondMoveInfo
.
SLog
+
" ,等待托盘离开"
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
SW_TrayCheck
,
IO_VALUE
.
LOW
));
}
else
{
CheckLog
(
"托盘放行 "
+
SecondMoveInfo
.
SLog
+
" ,等待 NextStopCheck=0"
);
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
}
}
private
void
SMoveEnd
()
private
void
SMoveEnd
()
{
{
lastStopDown
=
DateTime
.
Now
.
AddSeconds
(-
2
);
lastStopDown
=
DateTime
.
Now
.
AddSeconds
(-
2
);
...
@@ -804,12 +865,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -804,12 +865,6 @@ namespace OnlineStore.DeviceLibrary
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移机构上升 "
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移机构上升 "
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_MoveCylinder_Down
,
IO_Type
.
SL_MoveCylinder_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_MoveCylinder_Down
,
IO_Type
.
SL_MoveCylinder_Up
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_26_CylinderUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_27_UpDownAxisToP1
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降伺服到P1点"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
if
(
Config
.
SidesWayNum
>
0
)
if
(
Config
.
SidesWayNum
>
0
)
{
{
InLog
(
MoveInfo
.
SLog
+
" 提前下降顶升气缸 ,环形线定位气缸先下降"
);
InLog
(
MoveInfo
.
SLog
+
" 提前下降顶升气缸 ,环形线定位气缸先下降"
);
...
@@ -820,12 +875,18 @@ namespace OnlineStore.DeviceLibrary
...
@@ -820,12 +875,18 @@ namespace OnlineStore.DeviceLibrary
InLog
(
MoveInfo
.
SLog
+
" 提前顶升下降, 顶升气缸下降)"
);
InLog
(
MoveInfo
.
SLog
+
" 提前顶升下降, 顶升气缸下降)"
);
CylinderMove
(
null
,
IO_Type
.
FL_TopCylinder_Up
,
IO_Type
.
FL_TopCylinder_Down
);
CylinderMove
(
null
,
IO_Type
.
FL_TopCylinder_Up
,
IO_Type
.
FL_TopCylinder_Down
);
}
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_26_CylinderUp
))
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FI_27_UpDownAxisToP1
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":升降伺服到P1点,托盘开始放行"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpDownAxisP1
,
Config
.
UpdownAxis_P1Speed
);
// SecondMoveInfo.NextMoveStep(LineMoveStep.MO_12_MoveOk);
TrayMoveOk
();
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_27_UpDownAxisToP1
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FI_27_UpDownAxisToP1
))
{
{
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移机构上升已到位,托盘开始放行 "
);
InLog
(
"料盘移栽"
+
MoveInfo
.
SLog
+
":上料横移机构上升已到位 "
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_MoveOk
);
CheckHasTray
();
CheckHasTray
();
}
}
#
endregion
#
endregion
...
...
source/DeviceLibrary/assemblyLine/FeedingEquip_OutStore.cs
查看文件 @
ad5ca24
...
@@ -407,6 +407,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -407,6 +407,11 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_216_CylinderUp
);
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
FO_216_CylinderUp
);
OutLog
(
"紧急出料"
+
MoveInfo
.
SLog
+
":上料横移机构上升"
);
OutLog
(
"紧急出料"
+
MoveInfo
.
SLog
+
":上料横移机构上升"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_MoveCylinder_Down
,
IO_Type
.
SL_MoveCylinder_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
SL_MoveCylinder_Down
,
IO_Type
.
SL_MoveCylinder_Up
);
if
(
Config
.
SidesWayNum
.
Equals
(
3
))
{
InLog
(
MoveInfo
.
SLog
+
" 提前下降顶升气缸 ,环形线定位气缸先下降"
);
CylinderMove
(
null
,
IO_Type
.
SW_LocationCylinder_Up
,
IO_Type
.
SW_LocationCylinder_Down
);
}
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FO_216_CylinderUp
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FO_216_CylinderUp
))
{
{
...
@@ -417,7 +422,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -417,7 +422,8 @@ namespace OnlineStore.DeviceLibrary
int
trayNum
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
TrayNumber
:
currTrayNum
;
int
trayNum
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
TrayNumber
:
currTrayNum
;
//更新此托盘为空托盘
//更新此托盘为空托盘
TrayManager
.
UpdateTrayInfo
(
trayNum
,
false
);
TrayManager
.
UpdateTrayInfo
(
trayNum
,
false
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MO_12_MoveOk
);
//SecondMoveInfo.NextMoveStep(LineMoveStep.MO_12_MoveOk);
TrayMoveOk
();
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FO_217_UpdownAxisToP1
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
FO_217_UpdownAxisToP1
))
{
{
...
...
source/DeviceLibrary/assemblyLine/LineBean.cs
查看文件 @
ad5ca24
...
@@ -293,7 +293,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -293,7 +293,8 @@ namespace OnlineStore.DeviceLibrary
}
}
private
void
RHomeOp
()
private
void
RHomeOp
()
{
{
mainTimer
.
Interval
=
1000
;
maxSeconds
=
10
;
// TrayManager.SidesWayStateMap = new System.Collections.Concurrent.ConcurrentDictionary<int, int>() ;
// TrayManager.SidesWayStateMap = new System.Collections.Concurrent.ConcurrentDictionary<int, int>() ;
alarmType
=
LineAlarmType
.
None
;
alarmType
=
LineAlarmType
.
None
;
mainTimer
.
Enabled
=
false
;
mainTimer
.
Enabled
=
false
;
...
@@ -691,10 +692,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -691,10 +692,11 @@ namespace OnlineStore.DeviceLibrary
}
}
private
bool
busyPro
=
false
;
private
bool
busyPro
=
false
;
private
DateTime
busyProTime
=
DateTime
.
Now
;
private
DateTime
busyProTime
=
DateTime
.
Now
;
private
int
maxSeconds
=
3
;
private
void
LineTimerPro
()
private
void
LineTimerPro
()
{
{
TimeSpan
span
=
DateTime
.
Now
-
busyProTime
;
TimeSpan
span
=
DateTime
.
Now
-
busyProTime
;
if
(
busyPro
&&
span
.
TotalSeconds
<
3
)
if
(
busyPro
&&
span
.
TotalSeconds
<
maxSeconds
)
{
{
return
;
return
;
}
}
...
@@ -893,7 +895,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -893,7 +895,9 @@ namespace OnlineStore.DeviceLibrary
runStatus
=
LineRunStatus
.
Runing
;
runStatus
=
LineRunStatus
.
Runing
;
lineStatus
=
LineStatus
.
StoreOnline
;
lineStatus
=
LineStatus
.
StoreOnline
;
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
LogUtil
.
info
(
Name
+
"所有移栽模块复位完成,打开流水线,开始运转,耗时 ["
+
FormUtil
.
GetSpanStr
(
span
)
+
"]"
);
mainTimer
.
Interval
=
300
;
maxSeconds
=
3
;
LogUtil
.
info
(
Name
+
"所有移栽模块复位完成,打开流水线,开始运转,定时器改为300,耗时 ["
+
FormUtil
.
GetSpanStr
(
span
)
+
"]"
);
}
}
else
if
(
span
.
TotalSeconds
>
120
)
else
if
(
span
.
TotalSeconds
>
120
)
{
{
...
...
source/DeviceLibrary/assemblyLine/LineBean_Partial.cs
查看文件 @
ad5ca24
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
查看文件 @
ad5ca24
...
@@ -509,11 +509,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -509,11 +509,13 @@ namespace OnlineStore.DeviceLibrary
//托盘在第一个阻挡处
//托盘在第一个阻挡处
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NewMove
(
LineMoveType
.
CheckFixture
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
NextMoveStep
(
LineMoveStep
.
MIO_00_Stop1Down
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
200
));
//
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
CheckLog
(
" 托盘检测:料盘检测StopCylinder_Check1 "
+
SecondMoveInfo
.
SLog
+
"阻挡气缸1-1下降 , 等待 StopCylinder_Check1=0"
);
CheckLog
(
" 托盘检测:料盘检测StopCylinder_Check1 "
+
SecondMoveInfo
.
SLog
+
"阻挡气缸1-1下降 , 等待 StopCylinder_Check1=0"
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
,
1200
);
IOMove
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
,
1200
);
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Down1
,
IO_VALUE
.
HIGH
));
SecondMoveInfo
.
OneWaitCanEndStep
=
true
;
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down1, IO_VALUE.HIGH));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check1
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check1
,
IO_VALUE
.
LOW
));
SecondMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
StopCylinder_Check2
,
IO_VALUE
.
HIGH
));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
}
}
}
}
...
...
source/DeviceLibrary/model/KTK_Store.cs
查看文件 @
ad5ca24
...
@@ -374,7 +374,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -374,7 +374,13 @@ namespace OnlineStore.DeviceLibrary
return
sta
;
return
sta
;
}
}
}
}
public
bool
CylinderIsOk
(
string
IoLowType
,
string
IoHighType
)
{
if
(
IOValue
(
IoLowType
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IoHighType
).
Equals
(
IO_VALUE
.
HIGH
)){
return
true
;
}
return
false
;
}
public
void
CylinderMove
(
LineMoveInfo
moveInfo
,
string
IoLowType
,
string
IoHighType
,
bool
isCheckMove
=
false
)
public
void
CylinderMove
(
LineMoveInfo
moveInfo
,
string
IoLowType
,
string
IoHighType
,
bool
isCheckMove
=
false
)
{
{
try
try
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论