74 lines
2.7 KiB
C#
74 lines
2.7 KiB
C#
|
|
using Cowain.Bake.BLL;
|
|||
|
|
using Cowain.Bake.Common.Enums;
|
|||
|
|
using Cowain.Bake.Communication.MOM;
|
|||
|
|
using Cowain.Bake.Main.ViewModels;
|
|||
|
|
using Cowain.Bake.Model;
|
|||
|
|
using Cowain.Bake.Model.Models;
|
|||
|
|
using Opc.Ua;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Threading;
|
|||
|
|
using Unity;
|
|||
|
|
using JSON = Newtonsoft.Json.JsonConvert;
|
|||
|
|
|
|||
|
|
namespace Cowain.Bake.Main.Station
|
|||
|
|
{
|
|||
|
|
public class MesCollectStation
|
|||
|
|
{
|
|||
|
|
readonly CancellationTokenSource cts = new CancellationTokenSource();
|
|||
|
|
readonly List<TDeviceConfig> stoveConfs = null;
|
|||
|
|
IUnityContainer _unityContainer { get; set; }
|
|||
|
|
public MesCollectStation(IUnityContainer unityContainer)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
_unityContainer = unityContainer;
|
|||
|
|
stoveConfs = _unityContainer.Resolve<DeviceConfigService>().GetConfig(EDeviceType.PLC, EDeviceName.StovePlc1);
|
|||
|
|
}
|
|||
|
|
/*
|
|||
|
|
1 运行状态
|
|||
|
|
2 待机状态
|
|||
|
|
3 报警状态
|
|||
|
|
4 停机状态
|
|||
|
|
*/
|
|||
|
|
//mes-mom 2.设备状态 只有联机才调用MES接口,MOM返回成功,失败
|
|||
|
|
public void EqptStatus(DataValue data, Variable node)
|
|||
|
|
{
|
|||
|
|
Int16 value = (Int16)data.WrappedValue.Value;
|
|||
|
|
List<TAlarm> models = null;
|
|||
|
|
if (int.Parse(_unityContainer.Resolve<SysSetupService>().GetValueByParaID(ESysSetup.MOMEnable.ToString())) == (int)EMOMEnable.Enable)
|
|||
|
|
{
|
|||
|
|
if ((int)EStatusCode.Warn == value)
|
|||
|
|
{
|
|||
|
|
var alarms = _unityContainer.Resolve<MainWindowViewModel>().Alarms.Where(x=>x.StationId == node.StationId).ToList();
|
|||
|
|
models = JSON.DeserializeObject<List<TAlarm>>(JSON.SerializeObject(alarms));
|
|||
|
|
}
|
|||
|
|
//_unityContainer.Resolve<MESProcess>().MESEqptStatus((UInt16)value, models); //经常超时 2026-2-9
|
|||
|
|
}
|
|||
|
|
_unityContainer.Resolve<BasicInfoViewModel>().DeviceStatusName = ((EStatusCode)value).GetDescription();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//public string MakeJsonTemperature(string headName, float[] value)
|
|||
|
|
//{
|
|||
|
|
// headName = Regex.Replace(headName, @"\d", "");
|
|||
|
|
// List<PallletTemp> listTemp = new List<PallletTemp>();
|
|||
|
|
// for (int i = 1; i <= value.Length; i++)
|
|||
|
|
// {
|
|||
|
|
// listTemp.Add(new PallletTemp()
|
|||
|
|
// {
|
|||
|
|
// HeadName = $"{headName}{i}",
|
|||
|
|
// Value = value[i - 1]
|
|||
|
|
// });
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// return JsonConvert.SerializeObject(listTemp);
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
public void Stop()
|
|||
|
|
{
|
|||
|
|
// 在需要取消任务的时候,调用以下代码:
|
|||
|
|
cts.Cancel();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|