add IPLC Read

dev
liulb@mesnac.com 1 year ago
parent 74906be59b
commit 80bbcd062e

@ -1556,6 +1556,11 @@
主键标识 主键标识
</summary> </summary>
</member> </member>
<member name="P:Admin.Core.Model.OffLineInfo.ProductLineCode">
<summary>
所属产线
</summary>
</member>
<member name="T:Admin.Core.Model.OldBoxFoamData"> <member name="T:Admin.Core.Model.OldBoxFoamData">
<summary> <summary>
拆分的SAP BOM 信息 拆分的SAP BOM 信息

@ -55,7 +55,17 @@ namespace Admin.Core.Tasks
public async Task Execute(IJobExecutionContext context) 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)); //await ExecuteJob(context, async () => await OldBoxFoamStoreDataRun(context));
} }
/// <summary> /// <summary>
@ -84,7 +94,7 @@ namespace Admin.Core.Tasks
{ {
try 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 == null) { return; }
if (obj.plc.IsConnected) if (obj.plc.IsConnected)
{ {

@ -33,6 +33,12 @@ namespace Aucma.Core.HwPLc
/// <returns></returns> /// <returns></returns>
byte[] ReadBytes(string address, ushort len); byte[] ReadBytes(string address, ushort len);
/// <summary> /// <summary>
/// 读取
/// </summary>
/// <param name="address"></param>
/// <returns></returns>
byte[] Read(string address, ushort len);
/// <summary>
/// 读取bool /// 读取bool
/// </summary> /// </summary>
/// <param name="address"></param> /// <param name="address"></param>

@ -502,6 +502,29 @@ namespace Aucma.Core.HwPLc
} }
return false; return false;
} }
#endregion #endregion
/// <summary>
/// 读取byte
/// </summary>
/// <param name="address">地址</param>
/// <param name="len">长度</param>
/// <returns></returns>
public byte[] Read(string address, ushort len)
{
OperateResult<byte[]> readbyte = melsecMcNet.Read(address, len);
if (readbyte.IsSuccess)
{
IsConnected = true;
return readbyte.Content;
}
else
{
IsConnected = false;
return null;
}
}
} }
} }

@ -119,12 +119,12 @@ namespace Aucma.Core.HwPLc
/// </summary> /// </summary>
/// <param name="address"></param> /// <param name="address"></param>
/// <returns></returns> /// <returns></returns>
public byte[] ReadBytes(string address) public byte[] ReadBytes(string address,ushort len)
{ {
byte[] bytes = null; byte[] bytes = null;
try try
{ {
OperateResult<byte[]> read = siemensS7Net.Read(address, 26); OperateResult<byte[]> read = siemensS7Net.Read(address, len);
if (read.IsSuccess) if (read.IsSuccess)
{ {
byte[] code = new byte[read.Content.Length - 2]; byte[] code = new byte[read.Content.Length - 2];
@ -499,10 +499,27 @@ namespace Aucma.Core.HwPLc
return false; return false;
} }
public byte[] ReadBytes(string address, ushort len) #endregion
/// <summary>
/// 读取byte
/// </summary>
/// <param name="address">地址</param>
/// <param name="len">长度</param>
/// <returns></returns>
public byte[] Read(string address, ushort len)
{
OperateResult<byte[]> readbyte = siemensS7Net.Read(address, len);
if (readbyte.IsSuccess)
{ {
throw new NotImplementedException(); IsConnected = true;
return readbyte.Content;
}
else
{
IsConnected = false;
return null;
}
} }
#endregion
} }
} }

@ -33,6 +33,12 @@ namespace Aucma.Core.PLc
/// <returns></returns> /// <returns></returns>
byte[] ReadBytes(string address); byte[] ReadBytes(string address);
/// <summary> /// <summary>
/// 读取
/// </summary>
/// <param name="address"></param>
/// <returns></returns>
byte[] Read(string address, ushort len);
/// <summary>
/// 读取bool /// 读取bool
/// </summary> /// </summary>
/// <param name="address"></param> /// <param name="address"></param>

@ -505,5 +505,26 @@ namespace Aucma.Core.PLc
return false; return false;
} }
#endregion #endregion
/// <summary>
/// 读取byte
/// </summary>
/// <param name="address">地址</param>
/// <param name="len">长度</param>
/// <returns></returns>
public byte[] Read(string address, ushort len)
{
OperateResult<byte[]> readbyte = melsecMcNet.Read(address, len);
if (readbyte.IsSuccess)
{
IsConnected = true;
return readbyte.Content;
}
else
{
IsConnected = false;
return null;
}
}
} }
} }

@ -499,5 +499,26 @@ namespace Aucma.Core.PLc
return false; return false;
} }
#endregion #endregion
/// <summary>
/// 读取byte
/// </summary>
/// <param name="address">地址</param>
/// <param name="len">长度</param>
/// <returns></returns>
public byte[] Read(string address, ushort len)
{
OperateResult<byte[]> readbyte = siemensS7Net.Read(address, len);
if (readbyte.IsSuccess)
{
IsConnected = true;
return readbyte.Content;
}
else
{
IsConnected = false;
return null;
}
}
} }
} }

@ -44,10 +44,11 @@ namespace Aucma.Core.RunPlc
private static Task StartMelsecMcPlcServer() private static Task StartMelsecMcPlcServer()
{ {
// string ip = Appsettings.app("Middleware", "Scanner1", "Ip");
var allPlcServices = Appsettings.app<PlcModel>("PLCServer").ToList(); var allPlcServices = Appsettings.app<PlcModel>("PLCServer").ToList();
var list = allPlcServices.Where(d => d.PlcType=="Melsec" && d.Enabled == true).ToList(); if (allPlcServices == null) return Task.CompletedTask;
foreach (var item in list) var list = allPlcServices.FindAll(d => d.PlcType == "Melsec" && d.Enabled == true);
foreach (var item in allPlcServices)
{ {
PlcModel model = new PlcModel(); PlcModel model = new PlcModel();
model.Id = item.Id; model.Id = item.Id;
@ -63,22 +64,21 @@ namespace Aucma.Core.RunPlc
private static Task StartSiemensPlcServer() private static Task StartSiemensPlcServer()
{ {
//var allPlcServices = Appsettings.app<PlcModel>("PLCServer").ToList(); List<PlcModel> allPlcServices = Appsettings.app<PlcModel>("PLCServer").ToList();
//if (allPlcServices==null) return Task.CompletedTask; if (allPlcServices == null) return Task.CompletedTask;
////var list1 = allPlcServices.Where(d => d.PlcType.Equals("Siemens") && d.Enabled == true); var list = allPlcServices.FindAll(d => d.PlcType=="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)
//foreach (var item in list) {
//{ PlcModel model = new PlcModel();
// PlcModel model = new PlcModel(); model.Id = item.Id;
// model.Id = item.Id; model.EquipName = item.EquipName;
// model.EquipName = item.EquipName; model.IP = item.IP;
// model.IP = item.IP; model.Port = item.Port;
// model.Port = item.Port; model.PlcType = item.PlcType;
// model.PlcType = item.PlcType; model.plc = new SiemensPlc(item.IP, item.Port);
// model.plc = new SiemensPlc(item.IP, item.Port); PlcHelper.siemensList.Add(model);
// PlcHelper.siemensList.Add(model); }
//}
return Task.CompletedTask; return Task.CompletedTask;
} }
#endregion #endregion

Loading…
Cancel
Save