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)