Commit ad5ca24d LN

上料机构优化。

托盘优化:阻挡下降后,可能等不到check1灭。
1 个父辈 d2453747
...@@ -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-20" /> <add key="Line_CID" value="rc1250" />
<!--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-20.log" /> <file value="logs/Line-RC1250.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" />
......
...@@ -418,8 +418,11 @@ namespace OnlineStore.AssemblyLine ...@@ -418,8 +418,11 @@ namespace OnlineStore.AssemblyLine
} }
AgvClient.Dispose(); AgvClient.Dispose();
IOManager.instance.CloseAllDO(); if (IOManager.instance != null)
IOManager.instance.CloseAllConnection(); {
IOManager.instance.CloseAllDO();
IOManager.instance.CloseAllConnection();
}
} }
private void btnClearLog_Click(object sender, EventArgs e) private void btnClearLog_Click(object sender, EventArgs e)
......
...@@ -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灭。
......
...@@ -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;
......
...@@ -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))
{ {
......
...@@ -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)
{ {
......
...@@ -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));
} }
} }
......
...@@ -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!