diff --git a/S7.Net.Core/PLC.cs b/S7.Net.Core/PLC.cs
index f7d32a9..b1fa1d4 100644
--- a/S7.Net.Core/PLC.cs
+++ b/S7.Net.Core/PLC.cs
@@ -803,9 +803,14 @@ namespace S7.Net
}
public ErrorCode WriteStruct(object structValue, int db)
+ {
+ return WriteStruct(structValue, db, 0);
+ }
+
+ public ErrorCode WriteStruct(object structValue, int db, int startByteAdr)
{
var bytes = Types.Struct.ToBytes(structValue).ToList();
- var errCode = WriteMultipleBytes(bytes, db);
+ var errCode = WriteMultipleBytes(bytes, db, startByteAdr);
return errCode;
}
@@ -823,9 +828,14 @@ namespace S7.Net
/// The DB number
/// ErrorCode when writing (NoError if everything was ok)
private ErrorCode WriteMultipleBytes(List bytes, int db)
+ {
+ return WriteMultipleBytes(bytes, db, 0);
+ }
+
+ private ErrorCode WriteMultipleBytes(List bytes, int db, int startByteAdr)
{
ErrorCode errCode = ErrorCode.NoError;
- int index = 0;
+ int index = startByteAdr;
try
{
while (bytes.Count > 0)