You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
3.8 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using ICSharpCode.Core;
using Mesnac.Equips;
using Mesnac.Codd.Session;
using Mesnac.Controls.Base;
using System.Threading.Tasks;
namespace Mesnac.Action.ChemicalWeighing.FinishBatch
{
/// <summary>
/// 生产管理-后台业务-生产数据存盘业务服务类
/// </summary>
public class FinishBatchService
{
#region 字段定义
/// <summary>
/// 运行状态true:已运行false未运行
/// </summary>
private bool runState = false;
#endregion
#region 单例实现
private static FinishBatchService _instance = null;
private FinishBatchService()
{
}
public static FinishBatchService Instance
{
get
{
lock (String.Empty)
{
if (_instance == null)
{
_instance = new FinishBatchService();
}
return _instance;
}
}
}
#endregion
#region 启动服务
public void Start()
{
try
{
if (this.runState)
{
return;
}
lock (String.Empty)
{
//BasePlcHelper.Instance.PlcRead(BasePlcHelper.Instance.read_data, out int[] p);
Mesnac.Equips.Factory.Instance.SetMinHZReadDataEvent(ReadData);
this.runState = true;
}
}
catch(Exception ex)
{
ICSharpCode.Core.LoggingService<FinishBatchService>.Error("自动更新计划状态服务异常:" + ex.Message, ex);
}
}
#endregion
#region 停止服务
public void Stop()
{
try
{
if (!this.runState)
{
return;
}
lock (String.Empty)
{
ICSharpCode.Core.LoggingService<FinishBatchService>.Debug("开始停止生产数据存盘服务...");
//Mesnac.Equips.Factory.Instance.ClearMinHZReadDataEvent(ReadData);
ICSharpCode.Core.LoggingService<FinishBatchService>.Debug("停止生产数据存盘服务完毕!");
this.runState = false;
}
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<FinishBatchService>.Error("停止生产数据存盘业务服务异常:" + ex.Message, ex);
}
}
#endregion
#region 事件处理 普力通物料下传2023-06-12
private void ReadData(object sender, Mesnac.Equips.ReadEventArgs e)
{
try
{
lock(String.Empty)
{
//XlPlcHelper.PlcPlanHelper.ExecPlanState();
#region 更新溶剂称量计划状态地磅
Task.Run(async () =>
{
await ChemicalWeighingPlc.PlcPlanHelper.UpdateWeighbridge1PlanData();
});
Task.Run(async () =>
{
await ChemicalWeighingPlc.PlcPlanHelper.UpdateWeighbridge2PlanData();
});
#endregion
}
}
catch(Exception ex)
{
ICSharpCode.Core.LoggingService<FinishBatchService>.Error(ex.Message, ex);
}
finally
{
}
}
#endregion
}
}