main
liuwf 12 months ago
parent 48a79f8dfe
commit 7bab9614a4

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>

@ -213,7 +213,7 @@
}
],
"StationInfo": {
"StationCode": "1010",
"StationCode": "1008",
"ProductLineCode": "CX_02"
},
@ -267,15 +267,15 @@
"Enabled": true,
"IP": "10.10.92.49",
"Port": 2014
},
{
"Id": 7,
"EquipName": "Palletiz",
"PlcType": "Melsec",
"Enabled": true,
"IP": "10.10.92.80",
"Port": 2013
}
//{
// "Id": 7,
// "EquipName": "Palletiz",
// "PlcType": "Melsec",
// "Enabled": true,
// "IP": "10.10.92.80",
// "Port": 2013
//}
],
"IpRateLimiting": {

@ -47,7 +47,7 @@ namespace Aucma.Core.DataCollector
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
}
else if (stationCode == "1005")//泡前库、发泡线、发泡机、泡后库
else if (stationCode == "1005")//泡前库、发泡线、发泡机
{
Task.Run(() =>
{
@ -56,7 +56,7 @@ namespace Aucma.Core.DataCollector
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
}
else if (stationCode == "1010")//条码绑定工位
else if (stationCode == "1008")//条码绑定工位
{
// 包装线采集
Task.Run(() =>
@ -64,49 +64,63 @@ namespace Aucma.Core.DataCollector
DataCollectorFactory collector = new PackingCX02Factory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
});
// 箱壳
Task.Run(() =>
{
DataCollectorFactory collector = new PalletizFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
DataCollectorFactory collector = new ShellStoreFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
// 内胆
Task.Run(() =>
{
DataCollectorFactory collector = new ShellStoreFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
DataCollectorFactory collector = new LinerStoreFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
//箱壳预装线
Task.Run(() =>
{
DataCollectorFactory collector = new LinerStoreFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
DataCollectorFactory collector = new ShellPreassembleFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
// 内胆预装线
Task.Run(() =>
{
DataCollectorFactory collector = new ShellPreassembleFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
DataCollectorFactory collector = new LinerPreassembleFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
// 泡后库
Task.Run(() =>
{
DataCollectorFactory collector = new LinerPreassembleFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
DataCollectorFactory collector = new FoamBackFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
}
else if (stationCode == "1010")//分垛A库
{
// 二线分垛
Task.Run(() =>
{
DataCollectorFactory collector = new PalletizFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
// 二线输送平台
Task.Run(() =>
{
DataCollectorFactory collector = new FoamBackFactory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
DataCollectorFactory collector = new TransPlatformCX02Factory(_deviceParamServices, _deviceAlarmInfoServices, _deviceElectricityServices);
Parallel.Invoke(() => collector.CollectDeviceAlarmInfo(out var alarmInfos), () => collector.CollectDeviceElectricity(out var electricity));
});
}
}catch(Exception ex)
}
catch(Exception ex)
{
_logger.Error($"UseDataCollectorExtensions逻辑执行异常:{ex.Message}");
}

@ -12,7 +12,7 @@ namespace Aucma.Core.DataCollector.Factory
/// </summary>
public class PalletizFactory : DataCollectorFactory
{
private PlcModel _plc = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("Palletiz"));
private PlcModel _plc = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("InStoreAPlc"));
public PalletizFactory(IBaseDeviceParamServices deviceParamServices, IRecordDeviceAlarmInfoServices deviceAlarmInfoServices, IRecordDeviceElectricityServices deviceElectricityServices) : base(deviceParamServices, deviceAlarmInfoServices, deviceElectricityServices)
{

@ -8,18 +8,18 @@ using System.Globalization;
namespace Aucma.Core.DataCollector.Factory
{
/// <summary>
/// 二线打包线数据采集
/// 物料输送平台数据采集
/// </summary>
public class TransPlatformFactory : DataCollectorFactory
public class TransPlatformCX02Factory : DataCollectorFactory
{
private PlcModel _plc = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("条码绑定Plc"));
private PlcModel _plc = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("TransPlatform"));
public TransPlatformFactory(IBaseDeviceParamServices deviceParamServices, IRecordDeviceAlarmInfoServices deviceAlarmInfoServices, IRecordDeviceElectricityServices deviceElectricityServices) : base(deviceParamServices, deviceAlarmInfoServices, deviceElectricityServices)
public TransPlatformCX02Factory(IBaseDeviceParamServices deviceParamServices, IRecordDeviceAlarmInfoServices deviceAlarmInfoServices, IRecordDeviceElectricityServices deviceElectricityServices) : base(deviceParamServices, deviceAlarmInfoServices, deviceElectricityServices)
{
}
/// <summary>
/// 采集二线打包线设备报警信息
/// 采集物料输送平台设备报警信息
/// </summary>
/// <param name="deviceAlarmInfos"></param>
/// <exception cref="NotImplementedException"></exception>
@ -29,14 +29,14 @@ namespace Aucma.Core.DataCollector.Factory
{
try
{
var deviceParams1 = base._deviceParamServices.Query(x => x.DeviceCode == "E00011");
var deviceParams1 = base._deviceParamServices.Query(x => x.DeviceCode == "E00034");
if (_plc != null)
{
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}采集二线打包线设备报警信息");
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}采集物料输送平台设备报警信息");
var plc = _plc.plc;
var deviceParams = base._deviceParamServices.Query(x => x.DeviceCode == "E00011");
var deviceParams = base._deviceParamServices.Query(x => x.DeviceCode == "E00034");
if (deviceParams != null)
{
@ -77,13 +77,13 @@ namespace Aucma.Core.DataCollector.Factory
}
catch(Exception ex)
{
base._logger.Error($"采集二线打包线设备报警信息:{ex.Message}");
base._logger.Error($"采集物料输送平台设备报警信息:{ex.Message}");
}
}
}
/// <summary>
/// 采集二线打包线设备用电信息
/// 采集物料输送平台设备用电信息
/// </summary>
/// <param name="deviceElectricity"></param>
/// <exception cref="NotImplementedException"></exception>
@ -95,30 +95,30 @@ namespace Aucma.Core.DataCollector.Factory
{
if (_plc != null)
{
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}采集二线打包线设备用电信息");
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}采集物料输送平台设备用电信息");
var plc = _plc.plc;
deviceElectricitys = new List<Record_DeviceElectricity>();
// 20机柜
string[] ground = new string[] { "D7602", "D7604", "D7606", "D7608", "D7610", "D7612", "D7630", "D7634", "D7638", "D7642" };
Record_DeviceElectricity _deviceElectricity_ground = new Record_DeviceElectricity()
{
MonitorId = "E00011_0001"
MonitorId = "E00034_0001"
};
base.ReadDeviceElectricity(ground, plc, ref _deviceElectricity_ground);
deviceElectricitys.Add(_deviceElectricity_ground);
// 21机柜
string[] platform = new string[] { "D7652", "D7664", "D7666", "D7668", "D7660", "D7662", "D7680", "D7684", "D7688", "D7692" };
Record_DeviceElectricity _deviceElectricity_platform = new Record_DeviceElectricity()
{
MonitorId = "E00011_0002"
MonitorId = "E00034_0002"
};
base.ReadDeviceElectricity(platform, plc, ref _deviceElectricity_platform);
@ -138,7 +138,7 @@ namespace Aucma.Core.DataCollector.Factory
}
catch (Exception ex)
{
base._logger.Error($"采集二线打包线设备用电信息:{ex.Message}");
base._logger.Error($"采集物料输送平台设备用电信息:{ex.Message}");
}
}
}

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>

@ -135,12 +135,12 @@ namespace Aucma.Core.Palletiz.Business
{
if (string.IsNullOrEmpty(asciiStr))
{
throw new ArgumentException($"入库申请处理异常:条码信息为空");
throw new ArgumentException($"条码信息为空");
}
if (string.IsNullOrEmpty(spaceArea))
{
throw new ArgumentException($"入库申请处理异常:货道区域为空");
throw new ArgumentException($"货道区域为空");
}
@ -149,7 +149,7 @@ namespace Aucma.Core.Palletiz.Business
if (prodInfo == null)
{
throw new ArgumentException($"入库申请处理异常:根据成品码获取成品信息为空");
throw new ArgumentException($"根据成品码获取成品信息为空");
}
RefreshProductInfoEvent?.Invoke(asciiStr,prodInfo.ProductModel,prodInfo.ProductOrderNo);
@ -198,7 +198,7 @@ namespace Aucma.Core.Palletiz.Business
{
msg = msg + "放行失败";
RefreshMsgEvent?.Invoke(msg);
throw new ArgumentException($"入库申请处理异常:入库任务下发至PLC失败");
throw new ArgumentException($"入库任务下发至PLC失败等待plc响应超时");
}
else
{
@ -225,7 +225,7 @@ namespace Aucma.Core.Palletiz.Business
}
catch (Exception e)
{
msg =$"入库逻辑处理异常:{e.Message}";
msg =$"{e.Message}";
RefreshMsgEvent?.Invoke(msg);
}

@ -112,6 +112,7 @@ namespace Aucma.Core.Palletiz
// Socket连接扫码器
app.UseTouchSocketMildd(socket);
app.UseDataCollectorExtensions();
}

@ -198,9 +198,18 @@
"Enabled": true,
"IP": "10.10.92.80", //10.10.92.80
"Port": 2014
},
{
"Id": 2,
"EquipName": "TransPlatform",
"PlcType": "Melsec",
"Enabled": true,
"IP": "10.10.92.75",
"Port": 2015
}
],
"StoreInfo": {
"StationCode": "1010",
"StationName": "成品分垛库",
"PalletizStoreCodeA": "FDK-001",
"PalletizStoreCodeB": "FDK-002",

Loading…
Cancel
Save