liulb@mesnac.com 1 year ago
parent 50d8905ad6
commit 0667914e1c

@ -241,7 +241,6 @@ namespace Admin.Core.Service
List<BaseSpaceInfo> spaceInfos = null; List<BaseSpaceInfo> spaceInfos = null;
try try
{ {
//spaceInfos = _mesRepository.GetList(x => x.storeCode == storeCode).ToList();
var baseSpaceInfoList = await _dal.QueryAsync(); var baseSpaceInfoList = await _dal.QueryAsync();
var BaseBomInfoList = await _baseBomInfoRepository.QueryAsync(); var BaseBomInfoList = await _baseBomInfoRepository.QueryAsync();
spaceInfos = (from s in baseSpaceInfoList spaceInfos = (from s in baseSpaceInfoList

@ -22,6 +22,7 @@ namespace Admin.Core.Tasks
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(Job_BoxFoamData_Quartz)); private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(Job_BoxFoamData_Quartz));
private readonly IBoxFoamDataServices _boxFoamDataServices; private readonly IBoxFoamDataServices _boxFoamDataServices;
private readonly IOldBoxFoamDataServices _oldBoxFoamDataServices; private readonly IOldBoxFoamDataServices _oldBoxFoamDataServices;
public Job_BoxFoamData_Quartz(ISysTasksQzService SysTasksQzService, ISysJobLogService sysJobLogService, public Job_BoxFoamData_Quartz(ISysTasksQzService SysTasksQzService, ISysJobLogService sysJobLogService,
IBoxFoamDataServices boxFoamDataServices, IOldBoxFoamDataServices oldBoxFoamDataServices) IBoxFoamDataServices boxFoamDataServices, IOldBoxFoamDataServices oldBoxFoamDataServices)
{ {
@ -33,7 +34,7 @@ namespace Admin.Core.Tasks
public async Task Execute(IJobExecutionContext context) public async Task Execute(IJobExecutionContext context)
{ {
await ExecuteJob(context, async () => await Run(context)); await ExecuteJob(context, async () => await Run(context));
await ExecuteJob(context, async () => await OldBoxFoamDataRun(context)); await ExecuteJob(context, async () => await BoxFoamDataRun(context));
} }
public async Task Run(IJobExecutionContext context) public async Task Run(IJobExecutionContext context)
@ -41,7 +42,7 @@ namespace Admin.Core.Tasks
await SaveData(); await SaveData();
} }
public async Task OldBoxFoamDataRun(IJobExecutionContext context) public async Task BoxFoamDataRun(IJobExecutionContext context)
{ {
await SaveOldBoxFoamData(); await SaveOldBoxFoamData();
} }
@ -58,7 +59,7 @@ namespace Admin.Core.Tasks
//扫描入库信号,入库完成 //扫描入库信号,入库完成
try try
{ {
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("发泡Plc")); var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("Plc"));
if (obj.plc.IsConnected) if (obj.plc.IsConnected)
{ {
var taskList = await _boxFoamDataServices.QueryAsync(); var taskList = await _boxFoamDataServices.QueryAsync();

@ -425,7 +425,7 @@ namespace Admin.Core.Tasks
} }
else else
{ {
item.Production = obj.plc.ReadInt16("D181"); item.Production = objProduction.plc.ReadInt16("D181");
} }
} }
if (item.ObjId == 2) if (item.ObjId == 2)
@ -457,9 +457,9 @@ namespace Admin.Core.Tasks
{ {
item.Production = 0; item.Production = 0;
} }
else else if (objProduction != null&& objProduction.plc.IsConnected)
{ {
item.Production = obj.plc.ReadInt16("D183"); item.Production = objProduction.plc.ReadInt16("D183");
} }
} }
if (item.ObjId == 3) if (item.ObjId == 3)
@ -482,6 +482,7 @@ namespace Admin.Core.Tasks
{ {
item.Fixturestatus = "停止"; item.Fixturestatus = "停止";
} }
item.CuringTimeSettingValue = obj.plc.ReadInt16("D912").ToString(); item.CuringTimeSettingValue = obj.plc.ReadInt16("D912").ToString();
item.ActualValue = obj.plc.ReadInt16("T23").ToString(); item.ActualValue = obj.plc.ReadInt16("T23").ToString();
item.UpdatedTime = DateTime.Now; item.UpdatedTime = DateTime.Now;
@ -493,7 +494,7 @@ namespace Admin.Core.Tasks
} }
else else
{ {
item.Production = obj.plc.ReadInt16("D184"); item.Production = objProduction.plc.ReadInt16("D184");
} }
} }
if (item.ObjId == 4) if (item.ObjId == 4)
@ -504,25 +505,26 @@ namespace Admin.Core.Tasks
{ {
string type = $"{obj.plc.ReadInt16("D3144")}{obj.plc.ReadInt16("D3145")}"; string type = $"{obj.plc.ReadInt16("D3144")}{obj.plc.ReadInt16("D3145")}";
item.Fixtureboxtype = type; item.Fixtureboxtype = type;
item.CuringTimeSettingValue = obj.plc.ReadInt16("D913").ToString(); item.CuringTimeSettingValue = obj.plc.ReadInt16("D913").ToString();
item.ActualValue = obj.plc.ReadInt16("T33").ToString(); item.ActualValue = obj.plc.ReadInt16("T33").ToString();
item.UpdatedTime = DateTime.Now; item.UpdatedTime = DateTime.Now;
} }
var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2")); var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
if (objStatus != null) { if (objStatus != null) {
if (obj.plc.ReadBool("Y100")) if (objStatus.plc.ReadBool("Y100"))
{ {
item.Fixturestatus = "手动"; item.Fixturestatus = "手动";
} }
if (obj.plc.ReadBool("Y101")) if (objStatus.plc.ReadBool("Y101"))
{ {
item.Fixturestatus = "手动"; item.Fixturestatus = "手动";
} }
if (obj.plc.ReadBool("Y113")) if (objStatus.plc.ReadBool("Y113"))
{ {
item.Fixturestatus = "停止"; item.Fixturestatus = "停止";
} }
item.Production = obj.plc.ReadInt16("D185"); item.Production = objStatus.plc.ReadInt16("D185");
} }
} }
if (item.ObjId == 5) if (item.ObjId == 5)
@ -537,22 +539,23 @@ namespace Admin.Core.Tasks
item.ActualValue = obj.plc.ReadInt16("T43").ToString(); item.ActualValue = obj.plc.ReadInt16("T43").ToString();
item.UpdatedTime = DateTime.Now; item.UpdatedTime = DateTime.Now;
} }
var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2")); var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
if (objStatus != null) if (objStatus != null&& objStatus.plc.IsConnected)
{ {
if (obj.plc.ReadBool("Y105")) if (objStatus.plc.ReadBool("Y105"))
{ {
item.Fixturestatus = "手动"; item.Fixturestatus = "手动";
} }
if (obj.plc.ReadBool("Y106")) if (objStatus.plc.ReadBool("Y106"))
{ {
item.Fixturestatus = "手动"; item.Fixturestatus = "手动";
} }
if (obj.plc.ReadBool("Y114")) if (objStatus.plc.ReadBool("Y114"))
{ {
item.Fixturestatus = "停止"; item.Fixturestatus = "停止";
} }
item.Production = obj.plc.ReadInt16("D186"); item.Production = objStatus.plc.ReadInt16("D186");
} }
} }
if (item.ObjId == 6) if (item.ObjId == 6)
@ -563,25 +566,27 @@ namespace Admin.Core.Tasks
{ {
string type = $"{obj.plc.ReadInt16("D3152")}{obj.plc.ReadInt16("D3143")}"; string type = $"{obj.plc.ReadInt16("D3152")}{obj.plc.ReadInt16("D3143")}";
item.Fixtureboxtype = type; item.Fixtureboxtype = type;
item.ActualValue = obj.plc.ReadInt16("T53").ToString(); item.CuringTimeSettingValue = obj.plc.ReadInt16("D915").ToString();
item.UpdatedTime = DateTime.Now; item.UpdatedTime = DateTime.Now;
} }
var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2")); var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
if (objStatus != null) if (objStatus != null)
{ {
if (obj.plc.ReadBool("Y10A")) if (objStatus.plc.ReadBool("Y10A"))
{ {
item.Fixturestatus = "手动"; item.Fixturestatus = "手动";
} }
if (obj.plc.ReadBool("Y10B")) if (objStatus.plc.ReadBool("Y10B"))
{ {
item.Fixturestatus = "手动"; item.Fixturestatus = "手动";
} }
if (obj.plc.ReadBool("Y115")) if (objStatus.plc.ReadBool("Y115"))
{ {
item.Fixturestatus = "停止"; item.Fixturestatus = "停止";
} }
item.Production = obj.plc.ReadInt16("D187"); item.ActualValue = objStatus.plc.ReadInt16("T53").ToString();
item.Production = objStatus.plc.ReadInt16("D187");
} }
} }

@ -28,14 +28,6 @@ namespace Aucma.Core.BoxFoam.ViewModels
Task.WaitAll(InitEveryDayMethod(), InitData()); Task.WaitAll(InitEveryDayMethod(), InitData());
} }
//public void InitStatus()
//{
// for (int i = 0; i < 12; i++)
// {
// Color.Add("Red");
// }
//}
#region 日产量 #region 日产量
/// <summary> /// <summary>
/// 每日生产 /// 每日生产
@ -256,6 +248,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
} }
#endregion #endregion
#region 初始化发泡数据
/// <summary> /// <summary>
/// 初始化发泡数据 /// 初始化发泡数据
@ -290,7 +283,8 @@ namespace Aucma.Core.BoxFoam.ViewModels
} }
} }
#endregion
} }
} }

@ -95,8 +95,8 @@
<DataGridTextColumn Binding="{Binding Fixtureboxtype}" Header="夹具箱型" Width="*" /> <DataGridTextColumn Binding="{Binding Fixtureboxtype}" Header="夹具箱型" Width="*" />
<DataGridTextColumn Binding="{Binding Fixturestatus}" Header="夹具状态" Width="*" /> <DataGridTextColumn Binding="{Binding Fixturestatus}" Header="夹具状态" Width="*" />
<DataGridTextColumn Binding="{Binding Production}" Header="产量" Width="*" /> <DataGridTextColumn Binding="{Binding Production}" Header="产量" Width="*" />
<DataGridTextColumn Binding="{Binding CuringTimeSettingValue}" Header="设定时间(s)" Width="*" /> <DataGridTextColumn Binding="{Binding CuringTimeSettingValue}" Header="设定时间" Width="*" />
<DataGridTextColumn Binding="{Binding ActualValue}" Header="固化时间实际值(s)" Width="*"/> <DataGridTextColumn Binding="{Binding ActualValue}" Header="固化时间实际值" Width="*"/>
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
</Border> </Border>

@ -98,7 +98,7 @@
"ID": 1, "ID": 1,
"Name": "OldBoxFoam", "Name": "OldBoxFoam",
"JobGroup": "DEFAULT", "JobGroup": "DEFAULT",
"Cron": "*/15 * * * * ?", "Cron": "*/10 * * * * ?",
"AssemblyName": "Admin.Core.Tasks", "AssemblyName": "Admin.Core.Tasks",
"ClassName": "Job_OldBoxFoam_Quartz", "ClassName": "Job_OldBoxFoam_Quartz",
"Remark": "执行老发泡线任务调度系统", "Remark": "执行老发泡线任务调度系统",
@ -178,19 +178,19 @@
"Id": 2, "Id": 2,
"EquipName": "OldMelsecPlc2", "EquipName": "OldMelsecPlc2",
"IP": "10.10.93.152", "IP": "10.10.93.152",
"Port": 5003 "Port": 5002
}, },
{ {
"Id": 3, "Id": 3,
"EquipName": "OldMelsecPlc3", "EquipName": "OldMelsecPlc3",
"IP": "10.10.93.153", "IP": "10.10.93.153",
"Port": 5004 "Port": 5002
}, },
{ {
"Id": 4, "Id": 4,
"EquipName": "OldMelsecPlc4", "EquipName": "OldMelsecPlc4",
"IP": "10.10.93.154", "IP": "10.10.93.154",
"Port": 5005 "Port": 5002
} }
], ],
"IpRateLimiting": { "IpRateLimiting": {

@ -76,7 +76,7 @@ namespace Aucma.Core.RunPlc
int num = PlcHelper.melsecList.Count; int num = PlcHelper.melsecList.Count;
for (int i = 1; i <= num; i++) for (int i = 1; i <= num; i++)
{ {
var item = PlcHelper.melsecList.Where(c => c.Id ==1).FirstOrDefault(); var item = PlcHelper.melsecList.Where(c => c.Id == i).FirstOrDefault();
if (item == null) continue; if (item == null) continue;
if (await item.plc.Read("M100")) if (await item.plc.Read("M100"))
{ {

@ -32,6 +32,8 @@ namespace Aucma.Core.SheetMetal.ViewModels
//箱壳物料库存 //箱壳物料库存
ShellMaterialStockDataGrid = new ObservableCollection<BaseSpaceInfo>(); ShellMaterialStockDataGrid = new ObservableCollection<BaseSpaceInfo>();
List<BaseSpaceInfo> shellList =await _baseSpaceInfoServices.GetSpaceInfosByStoreCode(shellStoreCode); List<BaseSpaceInfo> shellList =await _baseSpaceInfoServices.GetSpaceInfosByStoreCode(shellStoreCode);
if (shellList == null) return;
shellList.OrderBy(x => x.ObjId); shellList.OrderBy(x => x.ObjId);
var shellResult = from m in shellList var shellResult = from m in shellList
group m by m.MaterialType into g group m by m.MaterialType into g

@ -2,6 +2,7 @@
using Admin.Core.IService; using Admin.Core.IService;
using Admin.Core.Model; using Admin.Core.Model;
using Admin.Core.Service; using Admin.Core.Service;
using Aucma.Core.HwPLc;
using Aucma.Core.SheetMetal.Models; using Aucma.Core.SheetMetal.Models;
using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
@ -59,25 +60,29 @@ namespace Aucma.Core.SheetMetal.ViewModels
private async Task PlanInfoTransmit() private async Task PlanInfoTransmit()
{ {
var productPlanInfo = _PlanInfo; var productPlanInfo = _PlanInfo;
if (productPlanInfo != null) if (productPlanInfo != null)
{ {
//下传到PLC //下传到PLC
string stationCode = Appsettings.app("StoreInfo", "StationCode"); string stationCode = Appsettings.app("StoreInfo", "StationCode");
var list = await _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(stationCode)); var list = await _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(stationCode));
if (list==null)
{
MessageBox.Show("未查询到计划!", "系统提醒");
return;
}
ExecutePlanInfo task = new ExecutePlanInfo(); ExecutePlanInfo task = new ExecutePlanInfo();
task.ExecutePlanCode = Guid.NewGuid().ToString(); task.ExecutePlanCode = Guid.NewGuid().ToString();
task.ProductPlanCode = PlanInfo.PlanCode; task.ProductPlanCode = PlanInfo.PlanCode;
task.OrderCode = PlanInfo.OrderCode; task.OrderCode = PlanInfo.OrderCode;
task.MaterialCode = PlanInfo.MaterialCode; task.MaterialCode = PlanInfo.MaterialCode;
task.MaterialName = PlanInfo.MaterialName; task.MaterialName = PlanInfo.MaterialName;
task.ProductLineCode = "1001";//计划工位 task.ProductLineCode = stationCode;//计划工位
if (list.Count == 0) if (list.Count == 0)
task.ExecuteOrder = 1; task.ExecuteOrder = 1;
if (list.Count != 0) if (list.Count != 0)
task.ExecuteOrder = list.Max(d => d.ExecuteOrder) + 1; task.ExecuteOrder = list.Max(d => d.ExecuteOrder) + 1;
task.ExecuteMethod = 1;//不做要求,系统自动确定 task.ExecuteMethod = 2;//不做要求,系统自动确定
task.PlanAmount = Convert.ToInt32(TransmitAmount); task.PlanAmount = Convert.ToInt32(TransmitAmount);
task.CompleteAmount = 0; task.CompleteAmount = 0;
task.CreatedTime = DateTime.Now; task.CreatedTime = DateTime.Now;
@ -86,16 +91,22 @@ namespace Aucma.Core.SheetMetal.ViewModels
task.TaskCode = GetMaxCodeAsync(); task.TaskCode = GetMaxCodeAsync();
var exec= await _executePlanInfoServices.FirstAsync(d=>d.ExecuteStatus==2&& d.ProductLineCode.Equals(stationCode)); var exec= await _executePlanInfoServices.FirstAsync(d=>d.ExecuteStatus==2&& d.ProductLineCode.Equals(stationCode));
if (exec==null) if (exec==null)
{ task.ExecuteStatus = 2;
task.ExecuteStatus =2;
}
else else
{
task.ExecuteStatus = 1; task.ExecuteStatus = 1;
}
var result = await _executePlanInfoServices.AddAsync(task); var result = await _executePlanInfoServices.AddAsync(task);
if (result > 0) if (result > 0)
{ {
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldTypePlc1"));
if (obj == null) { return; }
if (obj.plc.IsConnected)
{
obj.plc.WriteInt16("D8000", _TransmitAmount);//计划编号
obj.plc.WriteInt16("D8009", _TransmitAmount);//计划编号
obj.plc.WriteInt16("D8050", _TransmitAmount);//计划数量
obj.plc.ReadInt16("D8021");//应答字
}
MessageBox.Show("计划拆分成功!", "系统提醒"); MessageBox.Show("计划拆分成功!", "系统提醒");
WeakReferenceMessenger.Default.Send<string>("Refresh");//刷新窗口 WeakReferenceMessenger.Default.Send<string>("Refresh");//刷新窗口
} }

@ -114,24 +114,24 @@
} }
}, },
"StoreInfo": { "StoreInfo": {
"StationCode": "1001",
"StationName": "箱壳前后板生产", "StationName": "箱壳前后板生产",
"ShellStoreCode": "1001", "StationCode": "1001",
"LinerStoreCode": "1001", "ShellStoreCode": "XKJCK-001",
"FoamBeforeStoreCode": "1001", "LinerStoreCode": "NDJCK-001",
"FoamBeforeStoreCode": "PBSCK-001",
"ProductLineCode": "1001" "ProductLineCode": "1001"
}, },
"PLCServer": [ "PLCServer": [
{ {
"Id": 1, "Id": 1,
"EquipName": "后板Plc", "EquipName": "FrontPlatePlc",
"IP": "127.0.0.1", "IP": "10.10.91.1",
"Port": 6000 "Port": 6000
}, },
{ {
"Id": 2, "Id": 2,
"EquipName": "U壳PLC", "EquipName": "RearPanelPLC",
"IP": "127.0.0.1", "IP": "10.10.91.12",
"Port": 6000 "Port": 6000
} }
] ]

@ -31,7 +31,6 @@ namespace Aucma.Core.Tasks
private readonly ISmTaskExecutionServices _smTaskExecutionServices; private readonly ISmTaskExecutionServices _smTaskExecutionServices;
private readonly ISMProductionCompletionRecordServices _smProductionCompletionRecordServices; private readonly ISMProductionCompletionRecordServices _smProductionCompletionRecordServices;
public AucamTaskService(ISmTaskExecutionServices smTaskExecutionServices, ISMProductionCompletionRecordServices smProductionCompletionRecordServices, public AucamTaskService(ISmTaskExecutionServices smTaskExecutionServices, ISMProductionCompletionRecordServices smProductionCompletionRecordServices,
IOldBoxFoamDataServices oldBoxFoamDataServices) IOldBoxFoamDataServices oldBoxFoamDataServices)
{ {
@ -78,7 +77,7 @@ namespace Aucma.Core.Tasks
{ {
qFlay=false; qFlay=false;
//执行存盘操作 //执行存盘操作
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("前板Plc")); var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("FrontPlatePlc"));
if (obj.plc.IsConnected) if (obj.plc.IsConnected)
{ {
var val = obj.plc.ReadInt16("M110");//任务结束信号存盘 var val = obj.plc.ReadInt16("M110");//任务结束信号存盘
@ -131,7 +130,7 @@ namespace Aucma.Core.Tasks
{ {
hFlay = false; hFlay = false;
//执行存盘操作 //执行存盘操作
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("后板Plc")); var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("RearPanelPLC"));
if (obj.plc.IsConnected) if (obj.plc.IsConnected)
{ {
var val = obj.plc.ReadInt16("M101");//任务结束信号存盘 var val = obj.plc.ReadInt16("M101");//任务结束信号存盘

Loading…
Cancel
Save