diff --git a/Admin.Core.Api/Admin.Core.Model.xml b/Admin.Core.Api/Admin.Core.Model.xml
index 7a3c6968..751d7ed6 100644
--- a/Admin.Core.Api/Admin.Core.Model.xml
+++ b/Admin.Core.Api/Admin.Core.Model.xml
@@ -1556,6 +1556,11 @@
主键标识
+
+
+ 所属产线
+
+
拆分的SAP BOM 信息
diff --git a/Admin.Core.Tasks/QuartzNet/Jobs/Job_OldBoxFoam_Quartz.cs b/Admin.Core.Tasks/QuartzNet/Jobs/Job_OldBoxFoam_Quartz.cs
index 3fd21514..07001cf8 100644
--- a/Admin.Core.Tasks/QuartzNet/Jobs/Job_OldBoxFoam_Quartz.cs
+++ b/Admin.Core.Tasks/QuartzNet/Jobs/Job_OldBoxFoam_Quartz.cs
@@ -55,7 +55,17 @@ namespace Admin.Core.Tasks
public async Task Execute(IJobExecutionContext context)
{
- await ExecuteJob(context, async () => await OldBoxFoamDataRun(context));//发泡线
+ var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1"));
+ if (obj == null) { return; }
+ if (obj.plc.IsConnected)
+ {
+ ushort len =Convert.ToUInt16("48");
+ byte[] bt = obj.plc.ReadBytes("D2010", len);
+ readbyte.Content.Skip(2).Take(4).ToArray()
+ (int)byteTransform.TransSingle(readbyte.Content.Skip(2).Take(4).ToArray(), 0);
+ var t= bt;
+ }
+ //await ExecuteJob(context, async () => await OldBoxFoamDataRun(context));//发泡线
//await ExecuteJob(context, async () => await OldBoxFoamStoreDataRun(context));
}
///
@@ -70,7 +80,7 @@ namespace Admin.Core.Tasks
public async Task OldBoxFoamStoreDataRun(IJobExecutionContext context)
{
- await OldBoxFoamStoreData();
+ await OldBoxFoamStoreData();
}
#region PLC 老泡前库任务处理表
@@ -84,7 +94,7 @@ namespace Admin.Core.Tasks
{
try
{
- var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldTypePlc1"));
+ var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("OldMelsecPlc1"));
if (obj == null) { return; }
if (obj.plc.IsConnected)
{
diff --git a/Aucma.Core.HwPLc/IPlc.cs b/Aucma.Core.HwPLc/IPlc.cs
index cc16c35f..d6722fe0 100644
--- a/Aucma.Core.HwPLc/IPlc.cs
+++ b/Aucma.Core.HwPLc/IPlc.cs
@@ -33,6 +33,12 @@ namespace Aucma.Core.HwPLc
///
byte[] ReadBytes(string address, ushort len);
///
+ /// 读取
+ ///
+ ///
+ ///
+ byte[] Read(string address, ushort len);
+ ///
/// 读取bool
///
///
diff --git a/Aucma.Core.HwPLc/Impl/MelsecPlc.cs b/Aucma.Core.HwPLc/Impl/MelsecPlc.cs
index 2e594c86..6e1f962d 100644
--- a/Aucma.Core.HwPLc/Impl/MelsecPlc.cs
+++ b/Aucma.Core.HwPLc/Impl/MelsecPlc.cs
@@ -502,6 +502,29 @@ namespace Aucma.Core.HwPLc
}
return false;
}
+
+
#endregion
+
+ ///
+ /// 读取byte
+ ///
+ /// 地址
+ /// 长度
+ ///
+ public byte[] Read(string address, ushort len)
+ {
+ OperateResult readbyte = melsecMcNet.Read(address, len);
+ if (readbyte.IsSuccess)
+ {
+ IsConnected = true;
+ return readbyte.Content;
+ }
+ else
+ {
+ IsConnected = false;
+ return null;
+ }
+ }
}
}
diff --git a/Aucma.Core.HwPLc/Impl/SiemensPlc.cs b/Aucma.Core.HwPLc/Impl/SiemensPlc.cs
index a837fd10..0dc56418 100644
--- a/Aucma.Core.HwPLc/Impl/SiemensPlc.cs
+++ b/Aucma.Core.HwPLc/Impl/SiemensPlc.cs
@@ -119,12 +119,12 @@ namespace Aucma.Core.HwPLc
///
///
///
- public byte[] ReadBytes(string address)
+ public byte[] ReadBytes(string address,ushort len)
{
byte[] bytes = null;
try
{
- OperateResult read = siemensS7Net.Read(address, 26);
+ OperateResult read = siemensS7Net.Read(address, len);
if (read.IsSuccess)
{
byte[] code = new byte[read.Content.Length - 2];
@@ -499,10 +499,27 @@ namespace Aucma.Core.HwPLc
return false;
}
- public byte[] ReadBytes(string address, ushort len)
+ #endregion
+
+ ///
+ /// 读取byte
+ ///
+ /// 地址
+ /// 长度
+ ///
+ public byte[] Read(string address, ushort len)
{
- throw new NotImplementedException();
+ OperateResult readbyte = siemensS7Net.Read(address, len);
+ if (readbyte.IsSuccess)
+ {
+ IsConnected = true;
+ return readbyte.Content;
+ }
+ else
+ {
+ IsConnected = false;
+ return null;
+ }
}
- #endregion
}
}
diff --git a/Aucma.Core.PLc/IPlc.cs b/Aucma.Core.PLc/IPlc.cs
index a89b3ad5..f453720c 100644
--- a/Aucma.Core.PLc/IPlc.cs
+++ b/Aucma.Core.PLc/IPlc.cs
@@ -33,6 +33,12 @@ namespace Aucma.Core.PLc
///
byte[] ReadBytes(string address);
///
+ /// 读取
+ ///
+ ///
+ ///
+ byte[] Read(string address, ushort len);
+ ///
/// 读取bool
///
///
diff --git a/Aucma.Core.PLc/Impl/MelsecPlc.cs b/Aucma.Core.PLc/Impl/MelsecPlc.cs
index 0b70b406..edf78385 100644
--- a/Aucma.Core.PLc/Impl/MelsecPlc.cs
+++ b/Aucma.Core.PLc/Impl/MelsecPlc.cs
@@ -505,5 +505,26 @@ namespace Aucma.Core.PLc
return false;
}
#endregion
+
+ ///
+ /// 读取byte
+ ///
+ /// 地址
+ /// 长度
+ ///
+ public byte[] Read(string address, ushort len)
+ {
+ OperateResult readbyte = melsecMcNet.Read(address, len);
+ if (readbyte.IsSuccess)
+ {
+ IsConnected = true;
+ return readbyte.Content;
+ }
+ else
+ {
+ IsConnected = false;
+ return null;
+ }
+ }
}
}
diff --git a/Aucma.Core.PLc/Impl/SiemensPlc.cs b/Aucma.Core.PLc/Impl/SiemensPlc.cs
index c5e41131..d235eb9f 100644
--- a/Aucma.Core.PLc/Impl/SiemensPlc.cs
+++ b/Aucma.Core.PLc/Impl/SiemensPlc.cs
@@ -499,5 +499,26 @@ namespace Aucma.Core.PLc
return false;
}
#endregion
+
+ ///
+ /// 读取byte
+ ///
+ /// 地址
+ /// 长度
+ ///
+ public byte[] Read(string address, ushort len)
+ {
+ OperateResult readbyte = siemensS7Net.Read(address, len);
+ if (readbyte.IsSuccess)
+ {
+ IsConnected = true;
+ return readbyte.Content;
+ }
+ else
+ {
+ IsConnected = false;
+ return null;
+ }
+ }
}
}
diff --git a/Aucma.Core.RunPlc/RunPlcService.cs b/Aucma.Core.RunPlc/RunPlcService.cs
index 23f413df..ce447895 100644
--- a/Aucma.Core.RunPlc/RunPlcService.cs
+++ b/Aucma.Core.RunPlc/RunPlcService.cs
@@ -44,10 +44,11 @@ namespace Aucma.Core.RunPlc
private static Task StartMelsecMcPlcServer()
{
- // string ip = Appsettings.app("Middleware", "Scanner1", "Ip");
var allPlcServices = Appsettings.app("PLCServer").ToList();
- var list = allPlcServices.Where(d => d.PlcType=="Melsec" && d.Enabled == true).ToList();
- foreach (var item in list)
+ if (allPlcServices == null) return Task.CompletedTask;
+ var list = allPlcServices.FindAll(d => d.PlcType == "Melsec" && d.Enabled == true);
+
+ foreach (var item in allPlcServices)
{
PlcModel model = new PlcModel();
model.Id = item.Id;
@@ -63,22 +64,21 @@ namespace Aucma.Core.RunPlc
private static Task StartSiemensPlcServer()
{
- //var allPlcServices = Appsettings.app("PLCServer").ToList();
- //if (allPlcServices==null) return Task.CompletedTask;
- ////var list1 = allPlcServices.Where(d => d.PlcType.Equals("Siemens") && d.Enabled == true);
- // if (list1 == null) return Task.CompletedTask;
- //var list = list1.Where(d => d.PlcType.Equals("Siemens") && d.Enabled == true);
- //foreach (var item in list)
- //{
- // PlcModel model = new PlcModel();
- // model.Id = item.Id;
- // model.EquipName = item.EquipName;
- // model.IP = item.IP;
- // model.Port = item.Port;
- // model.PlcType = item.PlcType;
- // model.plc = new SiemensPlc(item.IP, item.Port);
- // PlcHelper.siemensList.Add(model);
- //}
+ List allPlcServices = Appsettings.app("PLCServer").ToList();
+ if (allPlcServices == null) return Task.CompletedTask;
+ var list = allPlcServices.FindAll(d => d.PlcType=="Siemens" && d.Enabled == true);
+
+ foreach (var item in list)
+ {
+ PlcModel model = new PlcModel();
+ model.Id = item.Id;
+ model.EquipName = item.EquipName;
+ model.IP = item.IP;
+ model.Port = item.Port;
+ model.PlcType = item.PlcType;
+ model.plc = new SiemensPlc(item.IP, item.Port);
+ PlcHelper.siemensList.Add(model);
+ }
return Task.CompletedTask;
}
#endregion