|
@@ -1,10 +1,10 @@
|
|
|
using Quartz;
|
|
|
-using System;
|
|
|
using System.Collections.Generic;
|
|
|
-using System.Linq;
|
|
|
+using System.Threading;
|
|
|
using System.Threading.Tasks;
|
|
|
using WCS.Data;
|
|
|
using WCS.PLC;
|
|
|
+using WCS.PLC.Model.Equipment;
|
|
|
using WCS.Workflow;
|
|
|
|
|
|
namespace WCS.Service.Quartz
|
|
@@ -30,14 +30,78 @@ namespace WCS.Service.Quartz
|
|
|
ThreadHelper.TaskThread(BaseWorkflow.PutDevInfoToWMS);
|
|
|
//更新PLC最后完成时间和各个设备任务数量
|
|
|
ThreadHelper.TaskThread(BaseWorkflow.UpdateUnexecuteTask);
|
|
|
-
|
|
|
+
|
|
|
//执行WCS逻辑
|
|
|
WCS_PLCList.ExecuteWcs_Workflow();
|
|
|
//执行Agv逻辑
|
|
|
ThreadHelper.TaskThread(AgvWorkflow.AgvRun);
|
|
|
|
|
|
ThreadHelper.TaskThread(AgvWorkflow.AgvUpdateStatus);
|
|
|
+
|
|
|
+ ThreadHelper.TaskThread(WriteDataToLog);
|
|
|
return Task.FromResult(string.Empty);
|
|
|
}
|
|
|
+
|
|
|
+ private static int _writeDataToLog = 0;
|
|
|
+
|
|
|
+ public void WriteDataToLog()
|
|
|
+ {
|
|
|
+ if (Interlocked.Exchange(ref _writeDataToLog, 1) == 0)
|
|
|
+ {
|
|
|
+ Thread.Sleep(1000);
|
|
|
+ var list = new List<EQUIPMENTINFO>();
|
|
|
+ foreach (var item in Current.PlcSet)
|
|
|
+ {
|
|
|
+ foreach (var equipmentInfo in item.WCS_EquipmentInfoSet)
|
|
|
+ {
|
|
|
+ list.Add(new EQUIPMENTINFO()
|
|
|
+ {
|
|
|
+ EQU_NO = equipmentInfo.Equ_No,
|
|
|
+ EQU_PLCNAME = equipmentInfo.Equ_PlcName,
|
|
|
+ //EQU_BARCODE = equipmentInfo.EQU_BARCODE,
|
|
|
+ EQU_ALARAMSMSG = equipmentInfo.Equ_AlaramsMsg,
|
|
|
+ EQU_NOTES = equipmentInfo.Equ_Notes,
|
|
|
+ EQU_CONVSIGNALJSON =
|
|
|
+ (equipmentInfo.Equ_Type == EquipmentType.conveyor.ToString()) ? equipmentInfo.EquSignal_Conv.ToJson() :
|
|
|
+ (equipmentInfo.Equ_Type == EquipmentType.srm.ToString()) ? equipmentInfo.EquSignal_Srm.ToJson() : equipmentInfo.EquSignal_Rgv.ToJson(),
|
|
|
+
|
|
|
+ EQU_BARCODE = equipmentInfo.EquSignal_Conv.BarCodeStr
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Log4netHelper.Logger_PLCDATALog.InfoFormat(list.ToJson());
|
|
|
+ Interlocked.Exchange(ref _writeDataToLog, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public class EQUIPMENTINFO
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// 设备名称
|
|
|
+ /// </summary>
|
|
|
+ public string EQU_NO { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// PLC名称
|
|
|
+ /// </summary>
|
|
|
+ public string EQU_PLCNAME { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 读取到的条码
|
|
|
+ /// </summary>
|
|
|
+ public string EQU_BARCODE { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 报警信息
|
|
|
+ /// </summary>
|
|
|
+ public string EQU_ALARAMSMSG { get; set; }
|
|
|
+
|
|
|
+ public string EQU_NOTES { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 设备信号集合
|
|
|
+ /// </summary>
|
|
|
+ public string EQU_CONVSIGNALJSON { get; set; }
|
|
|
}
|
|
|
}
|