Rename and Move DataRequestItem

This commit is contained in:
Serge Camille
2020-09-16 23:02:09 +02:00
parent 4d37679c75
commit a7608e3cb7
4 changed files with 18 additions and 15 deletions

View File

@@ -1,4 +1,5 @@
using S7.Net.Helper;
using S7.Net.Protocol.S7;
using S7.Net.Types;
using System;
using System.Collections.Generic;
@@ -243,7 +244,7 @@ namespace S7.Net
}
}
private static byte[] BuildReadRequestPackage(IList<DataRequestItem> dataItems)
private static byte[] BuildReadRequestPackage(IList<DataItemAddress> dataItems)
{
int packageSize = 19 + (dataItems.Count * 12);
var package = new System.IO.MemoryStream(packageSize);

View File

@@ -7,6 +7,7 @@ using System.Threading.Tasks;
using S7.Net.Protocol;
using System.IO;
using System.Threading;
using S7.Net.Protocol.S7;
namespace S7.Net
{
@@ -262,7 +263,7 @@ namespace S7.Net
try
{
var dataToSend = BuildReadRequestPackage(dataItems.Select(d=> new DataRequestItem(d)).ToList());
var dataToSend = BuildReadRequestPackage(dataItems.Select(d => DataItem.GetDataItemAddress(d)).ToList());
await stream.WriteAsync(dataToSend, 0, dataToSend.Length);
var s7data = await COTP.TSDU.ReadAsync(stream, cancellationToken);
@@ -435,7 +436,7 @@ namespace S7.Net
{
var stream = GetStreamIfAvailable();
var dataToSend = BuildReadRequestPackage(new [] { new DataRequestItem(dataType, db, startByteAdr, count)});
var dataToSend = BuildReadRequestPackage(new [] { new DataItemAddress(dataType, db, startByteAdr, count)});
await stream.WriteAsync(dataToSend, 0, dataToSend.Length, cancellationToken);
var s7data = await COTP.TSDU.ReadAsync(stream, cancellationToken);

View File

@@ -1,11 +1,11 @@

using S7.Net.Types;
namespace S7.Net
namespace S7.Net.Protocol.S7
{
internal class DataRequestItem
/// <summary>
/// Represents an area of memory in the PLC
/// </summary>
internal class DataItemAddress
{
public DataRequestItem(DataType dataType, int db, int startByteAddress, int byteLength)
public DataItemAddress(DataType dataType, int db, int startByteAddress, int byteLength)
{
DataType = dataType;
DB = db;
@@ -13,11 +13,6 @@ namespace S7.Net
ByteLength = byteLength;
}
public DataRequestItem(DataItem dataItem)
: this(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, Plc.VarTypeToByteLength(dataItem.VarType, dataItem.Count))
{
}
/// <summary>
/// Memory area to read

View File

@@ -1,4 +1,5 @@
using System;
using S7.Net.Protocol.S7;
using System;
namespace S7.Net.Types
{
@@ -94,5 +95,10 @@ namespace S7.Net.Types
return dataItem;
}
internal static DataItemAddress GetDataItemAddress(DataItem dataItem)
{
return new DataItemAddress(dataItem.DataType, dataItem.DB, dataItem.StartByteAdr, Plc.VarTypeToByteLength(dataItem.VarType, dataItem.Count));
}
}
}