Commit 27b1c4a9 张东亮

存储机构视频两分钟超时

1 个父辈 437aefa4
...@@ -295,7 +295,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -295,7 +295,7 @@ namespace OnlineStore.DeviceLibrary
System.Windows.Forms.MessageBoxButtons.OK); System.Windows.Forms.MessageBoxButtons.OK);
SetBoxStatus(DeviceStatus.None, RunStatus.Wait); SetBoxStatus(DeviceStatus.None, RunStatus.Wait);
MoveInfo.NewMove(MoveType.None); MoveInfo.NewMove(MoveType.None);
LogInfo($"复位 {MoveInfo.SLog} :因到位信号取消"); LogInfo($"复位 {MoveInfo.SLog} :因到位信号取消,{msg}");
return; return;
} }
SetWarnMsg(""); SetWarnMsg("");
...@@ -899,7 +899,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -899,7 +899,8 @@ namespace OnlineStore.DeviceLibrary
ComAxis_A.SuddenStop(); ComAxis_A.SuddenStop();
CloseAllAxis(); CloseAllAxis();
//停止记录
StopRecord();
} }
......
...@@ -74,6 +74,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -74,6 +74,8 @@ namespace OnlineStore.DeviceLibrary
{ {
SaveImage("box_B", cnt); SaveImage("box_B", cnt);
}); });
if ((DateTime.Now - dateTime).TotalMinutes > 2)
StopRecord();
} }
camera_event?.Invoke(new CameraArgs(name, bmp)); camera_event?.Invoke(new CameraArgs(name, bmp));
} }
...@@ -199,6 +201,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -199,6 +201,7 @@ namespace OnlineStore.DeviceLibrary
bool IsRecord = false; bool IsRecord = false;
int cnt = 0; int cnt = 0;
InOutPosInfo inOutPosInfo = null; InOutPosInfo inOutPosInfo = null;
DateTime dateTime = DateTime.Now;
/// <summary> /// <summary>
/// 开始记录 /// 开始记录
/// </summary> /// </summary>
...@@ -210,7 +213,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -210,7 +213,7 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
inOutPosInfo = MoveInfo.MoveParam.PosInfo; inOutPosInfo = MoveInfo.MoveParam.PosInfo.ToCopy();
} }
cnt = 0; cnt = 0;
string inputfolderA = Application.StartupPath + imgPath + "box_A\\" + DateTime.Now.ToString("yyyyMMdd") + "\\" + inOutPosInfo.PosId; string inputfolderA = Application.StartupPath + imgPath + "box_A\\" + DateTime.Now.ToString("yyyyMMdd") + "\\" + inOutPosInfo.PosId;
...@@ -219,6 +222,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -219,6 +222,7 @@ namespace OnlineStore.DeviceLibrary
string outputfolderB = Application.StartupPath + "\\Videos\\box_B\\" + DateTime.Now.ToString("yyyyMMdd") + "\\" + inOutPosInfo.PosId; string outputfolderB = Application.StartupPath + "\\Videos\\box_B\\" + DateTime.Now.ToString("yyyyMMdd") + "\\" + inOutPosInfo.PosId;
ffmpegA.SetParam(inputfolderA, outputfolderA, $"{DateTime.Now.ToString("hhmmss")}_{inOutPosInfo.barcode}.mp4"); ffmpegA.SetParam(inputfolderA, outputfolderA, $"{DateTime.Now.ToString("hhmmss")}_{inOutPosInfo.barcode}.mp4");
ffmpegB.SetParam(inputfolderB, outputfolderB, $"{DateTime.Now.ToString("hhmmss")}_{inOutPosInfo.barcode}.mp4"); ffmpegB.SetParam(inputfolderB, outputfolderB, $"{DateTime.Now.ToString("hhmmss")}_{inOutPosInfo.barcode}.mp4");
dateTime = DateTime.Now;
IsRecord = true; IsRecord = true;
} }
/// <summary> /// <summary>
...@@ -226,30 +230,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -226,30 +230,14 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
public void StopRecord() public void StopRecord()
{ {
if (!IsRecord)
return;
IsRecord = false; IsRecord = false;
LogUtil.info("监控视频开始转换");
Task task1 = ffmpegA.ConvertImgsToMp4(); Task task1 = ffmpegA.ConvertImgsToMp4();
Task task2 = ffmpegB.ConvertImgsToMp4(); Task task2 = ffmpegB.ConvertImgsToMp4();
Task.WaitAll(new Task[] { task1, task2 }, TimeSpan.FromMinutes(1)); Task.WaitAll(new Task[] { task1, task2 }, TimeSpan.FromMinutes(1));
Task.Factory.StartNew(delegate { LogUtil.info("监控视频转换完成");
try
{
System.IO.Directory.Delete(ffmpegA.InputFolder, true);
}
catch (Exception ex)
{
LogUtil.error($"删除文件夹失败:{ffmpegA.InputFolder}", ex);
}
});
Task.Factory.StartNew(delegate {
try
{
System.IO.Directory.Delete(ffmpegB.InputFolder, true);
}
catch (Exception ex)
{
LogUtil.error($"删除文件夹失败:{ffmpegB.InputFolder}", ex);
}
});
} }
#endregion #endregion
} }
...@@ -319,6 +307,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -319,6 +307,7 @@ namespace OnlineStore.DeviceLibrary
{ {
Task task = Task.Factory.StartNew(delegate Task task = Task.Factory.StartNew(delegate
{ {
StringBuilder sb = new StringBuilder(InputFolder);
using (Process p = new Process()) using (Process p = new Process())
{ {
//(1)设置要启动的应用程序 //(1)设置要启动的应用程序
...@@ -340,6 +329,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -340,6 +329,14 @@ namespace OnlineStore.DeviceLibrary
p.StandardInput.Close(); p.StandardInput.Close();
p.StandardError.ReadToEnd(); p.StandardError.ReadToEnd();
p.WaitForExit(); p.WaitForExit();
try
{
System.IO.Directory.Delete(sb.ToString(), true);
}
catch (Exception ex)
{
LogUtil.error($"删除文件夹失败:{sb.ToString()}", ex);
}
} }
}); });
......
...@@ -5,10 +5,11 @@ ...@@ -5,10 +5,11 @@
</configSections> </configSections>
<appSettings> <appSettings>
<!--是否开机自动启动料仓--> <!--是否开机自动启动料仓-->
<add key="App_AutoRun" value="0" /> <add key="App_AutoRun" value="1" />
<add key="App_Title" value="智能存储仓客户端" /> <add key="App_Title" value="智能存储仓客户端" />
<!--Server address--> <!--Server address-->
<add key="http.server" value="http://192.168.1.123:8800/" /> <!-- <add key="http.server" value="http://localhost/smdbox/" /> -->
<add key="http.server" value="http://192.168.33.100/smf-core/" />
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)--> <!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<add key="StartBlowValue" value="4" /> <add key="StartBlowValue" value="4" />
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)--> <!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
...@@ -23,8 +24,8 @@ ...@@ -23,8 +24,8 @@
<add key="ConfigPath_DrawerPosition" value="\Config\DrawerPosition.csv" /> <add key="ConfigPath_DrawerPosition" value="\Config\DrawerPosition.csv" />
<add key="ConfigPath_TrayList" value="\LineConfig\TrayList.data" /> <add key="ConfigPath_TrayList" value="\LineConfig\TrayList.data" />
<add key="ConfigPath_PosDebugInfo" value="\Config\PosDebugInfo.json" /> <add key="ConfigPath_PosDebugInfo" value="\Config\PosDebugInfo.json" />
<add key="Line_CID" value="05" />
<add key="ImagePath" value="\Images\" /> <add key="ImagePath" value="\Images\" />
<add key="Line_CID" value="04" />
<!--end one store config--> <!--end one store config-->
<!--二维码类型列表配置,用#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code--> <!--二维码类型列表配置,用#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<add key="CodeType" value="Data Matrix ECC 200#QR Code" /> <add key="CodeType" value="Data Matrix ECC 200#QR Code" />
...@@ -35,15 +36,14 @@ ...@@ -35,15 +36,14 @@
<add key="Config_Pwd" value="123456" /> <add key="Config_Pwd" value="123456" />
<!--出库等待料盘拿走的时间,秒--> <!--出库等待料盘拿走的时间,秒-->
<add key="OutStoreWaitSeconds" value="10" /> <add key="OutStoreWaitSeconds" value="10" />
<!--流水线监听端口--> <!--流水线监听端口-->
<add key="TCPServerPort" value="5246" /> <add key="TCPServerPort" value="5246" />
<!--AGV调度服务器地址--> <!--AGV调度服务器地址-->
<add key="AgvServerIp" value="10.85.162.40" /> <add key="AgvServerIp" value="10.85.162.40" />
<!--关闭相机的抽屉检测功能-->
<add key="CloseCamDetect" value="True" />
<!--ABB机器人服务器--> <!--ABB机器人服务器-->
<add key="ABBServerPort" value="21" /> <add key="ABBServerPort" value="21" />
<!--关闭相机的抽屉检测功能-->
<add key="CloseCamDetect" value="True" />
<!--是否打开托盘编码界面--> <!--是否打开托盘编码界面-->
<add key="OpenRFIDWrite" value="1" /> <add key="OpenRFIDWrite" value="1" />
<add key="DefaultPWD" value="123456" /> <add key="DefaultPWD" value="123456" />
...@@ -58,12 +58,19 @@ ...@@ -58,12 +58,19 @@
<add key="Feed_LastShelfID_103" value="B25" /> <add key="Feed_LastShelfID_103" value="B25" />
<add key="Feed_LastShelfID_104" value="B7" /> <add key="Feed_LastShelfID_104" value="B7" />
<add key="SaveErrorImageToFile" value="1" /> <add key="SaveErrorImageToFile" value="1" />
<add key="UseSecurityAccess" value ="1"/>
<add key="RfidServer_Port" value="12001" /> <add key="RfidServer_Port" value="12001" />
<add key ="TrayHeightList" value ="8;12;16;20;24;28;36;48"/> <add key="TrayHeightList" value="8;12;16;20;24;28;36;48" />
<add key ="AutoInput" value ="1"/>
<!--夹爪夹紧时忽略的料号列表,多个用#分割--> <!--夹爪夹紧时忽略的料号列表,多个用#分割-->
<add key ="PNList" value ="3402021720#3402021721#3402021100#3402021101#3402021102#3402021103#3402021104#3402021105#3402021106#3402021107#3402021108#3402021109#3402021112#3402021122"/> <add key="PNList" value="3402021720#3402021721#3402021100#3402021101#3402021102#3402021103#3402021104#3402021105#3402021106#3402021107#3402021108#3402021109#3402021112#3402021122" />
<add key="BOutStoreInfo" value="" />
<add key="AOutStoreInfo" value="" />
<add key="AutoInput" value="1" />
<add key="BShelfInfo" value="{&quot;ShelfRfid&quot;:&quot;000&quot;,&quot;ShelfState&quot;:3,&quot;XuniRfid&quot;:&quot;&quot;}" />
<add key="AInStoreInfo" value="{&quot;singleOut&quot;:false,&quot;barcode&quot;:&quot;TJM220317000620&quot;,&quot;PosId&quot;:&quot;05AA03060413&quot;,&quot;PlateW&quot;:7,&quot;PlateH&quot;:8,&quot;urgentReel&quot;:false,&quot;cutReel&quot;:false,&quot;smallReel&quot;:false,&quot;rfid&quot;:&quot;000&quot;,&quot;rfidLoc&quot;:0,&quot;IsNG&quot;:false,&quot;NgMsg&quot;:&quot;&quot;}" />
<add key="BInStoreInfo" value="" />
<add key="AShelfInfo" value="{&quot;ShelfRfid&quot;:&quot;000&quot;,&quot;ShelfState&quot;:2,&quot;XuniRfid&quot;:&quot;&quot;}" />
<add key="UseSecurityAccess" value="1" />
<add key="UseBuzzer" value="0" />
</appSettings> </appSettings>
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
...@@ -96,26 +103,6 @@ ...@@ -96,26 +103,6 @@
<conversionPattern value="[%date][%t]%-5p %m%n" /> <conversionPattern value="[%date][%t]%-5p %m%n" />
</layout> </layout>
</appender> </appender>
<logger name="CameraVisionLib">
<level value="Debug"/>
<appender-ref ref="CameraVisionLib"/>
</logger>
<appender name="CameraVisionLib" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs\\CameraVisionLib.log" />
<param name="Encoding" value="UTF-8"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%d][%t][%c:%L]%-5p %m%n" />
</layout>
</appender>
<logger name="CameraVisionLib">
<level value="debug" />
<appender-ref ref="CameraVisionLib" />
</logger>
<logger name="RollingLogFileAppender"> <logger name="RollingLogFileAppender">
<level value="Info" /> <level value="Info" />
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!