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

@ -241,7 +241,6 @@ namespace Admin.Core.Service
List<BaseSpaceInfo> spaceInfos = null;
try
{
//spaceInfos = _mesRepository.GetList(x => x.storeCode == storeCode).ToList();
var baseSpaceInfoList = await _dal.QueryAsync();
var BaseBomInfoList = await _baseBomInfoRepository.QueryAsync();
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 readonly IBoxFoamDataServices _boxFoamDataServices;
private readonly IOldBoxFoamDataServices _oldBoxFoamDataServices;
public Job_BoxFoamData_Quartz(ISysTasksQzService SysTasksQzService, ISysJobLogService sysJobLogService,
IBoxFoamDataServices boxFoamDataServices, IOldBoxFoamDataServices oldBoxFoamDataServices)
{
@ -33,7 +34,7 @@ namespace Admin.Core.Tasks
public async Task Execute(IJobExecutionContext 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)
@ -41,7 +42,7 @@ namespace Admin.Core.Tasks
await SaveData();
}
public async Task OldBoxFoamDataRun(IJobExecutionContext context)
public async Task BoxFoamDataRun(IJobExecutionContext context)
{
await SaveOldBoxFoamData();
}
@ -58,7 +59,7 @@ namespace Admin.Core.Tasks
//扫描入库信号,入库完成
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)
{
var taskList = await _boxFoamDataServices.QueryAsync();

@ -425,7 +425,7 @@ namespace Admin.Core.Tasks
}
else
{
item.Production = obj.plc.ReadInt16("D181");
item.Production = objProduction.plc.ReadInt16("D181");
}
}
if (item.ObjId == 2)
@ -457,9 +457,9 @@ namespace Admin.Core.Tasks
{
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)
@ -482,6 +482,7 @@ namespace Admin.Core.Tasks
{
item.Fixturestatus = "停止";
}
item.CuringTimeSettingValue = obj.plc.ReadInt16("D912").ToString();
item.ActualValue = obj.plc.ReadInt16("T23").ToString();
item.UpdatedTime = DateTime.Now;
@ -493,7 +494,7 @@ namespace Admin.Core.Tasks
}
else
{
item.Production = obj.plc.ReadInt16("D184");
item.Production = objProduction.plc.ReadInt16("D184");
}
}
if (item.ObjId == 4)
@ -504,25 +505,26 @@ namespace Admin.Core.Tasks
{
string type = $"{obj.plc.ReadInt16("D3144")}{obj.plc.ReadInt16("D3145")}";
item.Fixtureboxtype = type;
item.CuringTimeSettingValue = obj.plc.ReadInt16("D913").ToString();
item.ActualValue = obj.plc.ReadInt16("T33").ToString();
item.UpdatedTime = DateTime.Now;
}
var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
if (objStatus != null) {
if (obj.plc.ReadBool("Y100"))
if (objStatus.plc.ReadBool("Y100"))
{
item.Fixturestatus = "手动";
}
if (obj.plc.ReadBool("Y101"))
if (objStatus.plc.ReadBool("Y101"))
{
item.Fixturestatus = "手动";
}
if (obj.plc.ReadBool("Y113"))
if (objStatus.plc.ReadBool("Y113"))
{
item.Fixturestatus = "停止";
}
item.Production = obj.plc.ReadInt16("D185");
item.Production = objStatus.plc.ReadInt16("D185");
}
}
if (item.ObjId == 5)
@ -537,22 +539,23 @@ namespace Admin.Core.Tasks
item.ActualValue = obj.plc.ReadInt16("T43").ToString();
item.UpdatedTime = DateTime.Now;
}
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 = "手动";
}
if (obj.plc.ReadBool("Y106"))
if (objStatus.plc.ReadBool("Y106"))
{
item.Fixturestatus = "手动";
}
if (obj.plc.ReadBool("Y114"))
if (objStatus.plc.ReadBool("Y114"))
{
item.Fixturestatus = "停止";
}
item.Production = obj.plc.ReadInt16("D186");
item.Production = objStatus.plc.ReadInt16("D186");
}
}
if (item.ObjId == 6)
@ -563,25 +566,27 @@ namespace Admin.Core.Tasks
{
string type = $"{obj.plc.ReadInt16("D3152")}{obj.plc.ReadInt16("D3143")}";
item.Fixtureboxtype = type;
item.ActualValue = obj.plc.ReadInt16("T53").ToString();
item.CuringTimeSettingValue = obj.plc.ReadInt16("D915").ToString();
item.UpdatedTime = DateTime.Now;
}
var objStatus = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc2"));
if (objStatus != null)
{
if (obj.plc.ReadBool("Y10A"))
if (objStatus.plc.ReadBool("Y10A"))
{
item.Fixturestatus = "手动";
}
if (obj.plc.ReadBool("Y10B"))
if (objStatus.plc.ReadBool("Y10B"))
{
item.Fixturestatus = "手动";
}
if (obj.plc.ReadBool("Y115"))
if (objStatus.plc.ReadBool("Y115"))
{
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());
}
//public void InitStatus()
//{
// for (int i = 0; i < 12; i++)
// {
// Color.Add("Red");
// }
//}
#region 日产量
/// <summary>
/// 每日生产
@ -256,6 +248,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
}
#endregion
#region 初始化发泡数据
/// <summary>
/// 初始化发泡数据
@ -290,7 +283,8 @@ namespace Aucma.Core.BoxFoam.ViewModels
}
}
}
#endregion
}
}

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

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

@ -76,7 +76,7 @@ namespace Aucma.Core.RunPlc
int num = PlcHelper.melsecList.Count;
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 (await item.plc.Read("M100"))
{

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

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

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

@ -31,7 +31,6 @@ namespace Aucma.Core.Tasks
private readonly ISmTaskExecutionServices _smTaskExecutionServices;
private readonly ISMProductionCompletionRecordServices _smProductionCompletionRecordServices;
public AucamTaskService(ISmTaskExecutionServices smTaskExecutionServices, ISMProductionCompletionRecordServices smProductionCompletionRecordServices,
IOldBoxFoamDataServices oldBoxFoamDataServices)
{
@ -78,7 +77,7 @@ namespace Aucma.Core.Tasks
{
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)
{
var val = obj.plc.ReadInt16("M110");//任务结束信号存盘
@ -131,7 +130,7 @@ namespace Aucma.Core.Tasks
{
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)
{
var val = obj.plc.ReadInt16("M101");//任务结束信号存盘

Loading…
Cancel
Save