You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2024/09/05 12:51:10 UTC
(plc4x) 01/04: refactor: Updated all except python to generate the updated mspecs for the optimized Modbus driver.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 1d0f1764eb4f19e8c2db91726bb084e30bbef692
Author: Christofer Dutz <cd...@apache.org>
AuthorDate: Wed Sep 4 17:52:14 2024 +0200
refactor: Updated all except python to generate the updated mspecs for the optimized Modbus driver.
---
.../modbus/include/modbus_data_type.h | 4 +-
plc4c/generated-sources/modbus/src/data_item.c | 50 ++
.../modbus/src/modbus_data_type.c | 20 +-
.../protocols/modbus/readwrite/model/DataItem.go | 35 +
.../modbus/readwrite/model/ModbusDataType.go | 24 +
.../plc4x/java/modbus/readwrite/DataItem.java | 23 +
.../java/modbus/readwrite/ModbusDataType.java | 4 +-
.../protocols/modbus/readwrite/DriverType.py | 8 +-
.../plc4py/protocols/modbus/readwrite/ModbusADU.py | 74 +--
.../protocols/modbus/readwrite/ModbusAsciiADU.py | 83 +--
.../protocols/modbus/readwrite/ModbusConstants.py | 33 +-
.../protocols/modbus/readwrite/ModbusDataType.py | 62 +-
.../ModbusDeviceInformationConformityLevel.py | 8 +-
.../readwrite/ModbusDeviceInformationLevel.py | 8 +-
.../ModbusDeviceInformationMoreFollows.py | 8 +-
.../readwrite/ModbusDeviceInformationObject.py | 52 +-
.../protocols/modbus/readwrite/ModbusErrorCode.py | 8 +-
.../plc4py/protocols/modbus/readwrite/ModbusPDU.py | 725 +++++----------------
.../modbus/readwrite/ModbusPDUDiagnosticRequest.py | 55 +-
.../readwrite/ModbusPDUDiagnosticResponse.py | 55 +-
.../protocols/modbus/readwrite/ModbusPDUError.py | 47 +-
.../ModbusPDUGetComEventCounterRequest.py | 28 +-
.../ModbusPDUGetComEventCounterResponse.py | 61 +-
.../readwrite/ModbusPDUGetComEventLogRequest.py | 28 +-
.../readwrite/ModbusPDUGetComEventLogResponse.py | 87 +--
.../ModbusPDUMaskWriteHoldingRegisterRequest.py | 76 +--
.../ModbusPDUMaskWriteHoldingRegisterResponse.py | 76 +--
.../modbus/readwrite/ModbusPDUReadCoilsRequest.py | 57 +-
.../modbus/readwrite/ModbusPDUReadCoilsResponse.py | 44 +-
.../ModbusPDUReadDeviceIdentificationRequest.py | 68 +-
.../ModbusPDUReadDeviceIdentificationResponse.py | 165 ++---
.../ModbusPDUReadDiscreteInputsRequest.py | 57 +-
.../ModbusPDUReadDiscreteInputsResponse.py | 48 +-
.../ModbusPDUReadExceptionStatusRequest.py | 32 +-
.../ModbusPDUReadExceptionStatusResponse.py | 42 +-
.../readwrite/ModbusPDUReadFifoQueueRequest.py | 46 +-
.../readwrite/ModbusPDUReadFifoQueueResponse.py | 56 +-
.../readwrite/ModbusPDUReadFileRecordRequest.py | 49 +-
.../ModbusPDUReadFileRecordRequestItem.py | 79 +--
.../readwrite/ModbusPDUReadFileRecordResponse.py | 49 +-
.../ModbusPDUReadFileRecordResponseItem.py | 58 +-
.../ModbusPDUReadHoldingRegistersRequest.py | 61 +-
.../ModbusPDUReadHoldingRegistersResponse.py | 48 +-
.../ModbusPDUReadInputRegistersRequest.py | 57 +-
.../ModbusPDUReadInputRegistersResponse.py | 48 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.py | 114 ++--
...PDUReadWriteMultipleHoldingRegistersResponse.py | 48 +-
.../readwrite/ModbusPDUReportServerIdRequest.py | 28 +-
.../readwrite/ModbusPDUReportServerIdResponse.py | 44 +-
.../readwrite/ModbusPDUWriteFileRecordRequest.py | 49 +-
.../ModbusPDUWriteFileRecordRequestItem.py | 86 ++-
.../readwrite/ModbusPDUWriteFileRecordResponse.py | 49 +-
.../ModbusPDUWriteFileRecordResponseItem.py | 86 ++-
.../ModbusPDUWriteMultipleCoilsRequest.py | 76 +--
.../ModbusPDUWriteMultipleCoilsResponse.py | 61 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.py | 80 +--
...dbusPDUWriteMultipleHoldingRegistersResponse.py | 65 +-
.../readwrite/ModbusPDUWriteSingleCoilRequest.py | 57 +-
.../readwrite/ModbusPDUWriteSingleCoilResponse.py | 57 +-
.../ModbusPDUWriteSingleRegisterRequest.py | 61 +-
.../ModbusPDUWriteSingleRegisterResponse.py | 61 +-
.../protocols/modbus/readwrite/ModbusRtuADU.py | 81 +--
.../protocols/modbus/readwrite/ModbusTcpADU.py | 113 ++--
.../protocols/simulated/readwrite/DataItem.py | 463 +++++++------
.../plc4py/protocols/simulated/readwrite/Dummy.py | 37 +-
.../simulated/readwrite/SimulatedDataTypeSizes.py | 60 +-
plc4py/plc4py/protocols/umas/readwrite/DataItem.py | 262 ++++----
.../protocols/umas/readwrite/ModbusErrorCode.py | 8 +-
.../plc4py/protocols/umas/readwrite/ModbusPDU.py | 101 +--
.../protocols/umas/readwrite/ModbusPDUError.py | 56 +-
.../protocols/umas/readwrite/ModbusTcpADU.py | 92 ++-
.../umas/readwrite/PlcMemoryBlockIdent.py | 73 +--
.../protocols/umas/readwrite/UmasConstants.py | 33 +-
.../protocols/umas/readwrite/UmasDataType.py | 56 +-
.../umas/readwrite/UmasDatatypeReference.py | 105 ++-
.../UmasDeviceInformationConformityLevel.py | 8 +-
.../umas/readwrite/UmasDeviceInformationLevel.py | 8 +-
.../readwrite/UmasDeviceInformationMoreFollows.py | 8 +-
.../umas/readwrite/UmasInitCommsRequest.py | 52 +-
.../umas/readwrite/UmasInitCommsResponse.py | 151 ++---
.../protocols/umas/readwrite/UmasMemoryBlock.py | 64 +-
.../umas/readwrite/UmasMemoryBlockBasicInfo.py | 94 ++-
plc4py/plc4py/protocols/umas/readwrite/UmasPDU.py | 47 +-
.../plc4py/protocols/umas/readwrite/UmasPDUItem.py | 293 +++------
.../umas/readwrite/UmasPDUPlcIdentRequest.py | 31 +-
.../umas/readwrite/UmasPDUPlcIdentResponse.py | 285 +++-----
.../umas/readwrite/UmasPDUPlcStatusRequest.py | 31 +-
.../umas/readwrite/UmasPDUPlcStatusResponse.py | 112 ++--
.../umas/readwrite/UmasPDUProjectInfoRequest.py | 46 +-
.../readwrite/UmasPDUReadDatatypeNamesResponse.py | 84 ++-
.../readwrite/UmasPDUReadMemoryBlockRequest.py | 128 ++--
.../readwrite/UmasPDUReadMemoryBlockResponse.py | 86 +--
.../UmasPDUReadUmasUDTDefinitionResponse.py | 77 +--
.../UmasPDUReadUnlocatedVariableNamesRequest.py | 143 ++--
.../UmasPDUReadUnlocatedVariableNamesResponse.py | 96 ++-
.../UmasPDUReadUnlocatedVariableResponse.py | 52 +-
.../umas/readwrite/UmasPDUReadVariableRequest.py | 87 +--
.../umas/readwrite/UmasPDUReadVariableResponse.py | 46 +-
.../umas/readwrite/UmasPDUWriteVariableRequest.py | 87 +--
.../umas/readwrite/UmasPDUWriteVariableResponse.py | 46 +-
.../protocols/umas/readwrite/UmasUDTDefinition.py | 92 ++-
.../readwrite/UmasUnlocatedVariableReference.py | 136 ++--
.../umas/readwrite/VariableReadRequestReference.py | 98 ++-
.../readwrite/VariableWriteRequestReference.py | 118 ++--
.../main/resources/protocols/modbus/modbus.mspec | 12 +
105 files changed, 3334 insertions(+), 4652 deletions(-)
diff --git a/plc4c/generated-sources/modbus/include/modbus_data_type.h b/plc4c/generated-sources/modbus/include/modbus_data_type.h
index ed76694eb5..cf4f363252 100644
--- a/plc4c/generated-sources/modbus/include/modbus_data_type.h
+++ b/plc4c/generated-sources/modbus/include/modbus_data_type.h
@@ -56,7 +56,9 @@ enum plc4c_modbus_read_write_modbus_data_type {
plc4c_modbus_read_write_modbus_data_type_CHAR = 24,
plc4c_modbus_read_write_modbus_data_type_WCHAR = 25,
plc4c_modbus_read_write_modbus_data_type_STRING = 26,
- plc4c_modbus_read_write_modbus_data_type_WSTRING = 27
+ plc4c_modbus_read_write_modbus_data_type_WSTRING = 27,
+ plc4c_modbus_read_write_modbus_data_type_RAW_COIL = 98,
+ plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER = 99
};
typedef enum plc4c_modbus_read_write_modbus_data_type plc4c_modbus_read_write_modbus_data_type;
diff --git a/plc4c/generated-sources/modbus/src/data_item.c b/plc4c/generated-sources/modbus/src/data_item.c
index 0b1a1ab3e5..1f6133e1b1 100644
--- a/plc4c/generated-sources/modbus/src/data_item.c
+++ b/plc4c/generated-sources/modbus/src/data_item.c
@@ -631,6 +631,42 @@ plc4c_return_code plc4c_modbus_read_write_data_item_parse(plc4x_spi_context ctx,
}
*data_item = plc4c_data_create_list_data(value);
+ } else if(dataType == plc4c_modbus_read_write_modbus_data_type_RAW_COIL) { /* RawByteArray */
+
+ // Array field (value)
+ // Count array
+ plc4c_list* value;
+ plc4c_utils_list_create(&value);
+ int itemCount = (int) plc4c_spi_evaluation_helper_ceil((numberOfValues) / (8));
+ for(int curItem = 0; curItem < itemCount; curItem++) {
+ char* _val = malloc(sizeof(char) * 1);
+ _res = plc4c_spi_read_char(readBuffer, (char*) _val);
+ if(_res != OK) {
+ return _res;
+ }
+ plc4c_data* _item = plc4c_data_create_byte_data(*_val);
+ plc4c_utils_list_insert_head_value(value, _item);
+ }
+ *data_item = plc4c_data_create_list_data(value);
+
+ } else if(dataType == plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER) { /* RawByteArray */
+
+ // Array field (value)
+ // Count array
+ plc4c_list* value;
+ plc4c_utils_list_create(&value);
+ int itemCount = (int) (numberOfValues) * (2);
+ for(int curItem = 0; curItem < itemCount; curItem++) {
+ char* _val = malloc(sizeof(char) * 1);
+ _res = plc4c_spi_read_char(readBuffer, (char*) _val);
+ if(_res != OK) {
+ return _res;
+ }
+ plc4c_data* _item = plc4c_data_create_byte_data(*_val);
+ plc4c_utils_list_insert_head_value(value, _item);
+ }
+ *data_item = plc4c_data_create_list_data(value);
+
}
return OK;
@@ -844,6 +880,12 @@ plc4c_return_code plc4c_modbus_read_write_data_item_serialize(plc4x_spi_context
}
} else if(dataType == plc4c_modbus_read_write_modbus_data_type_WCHAR) { /* List */
+ // Array field
+ } else if(dataType == plc4c_modbus_read_write_modbus_data_type_RAW_COIL) { /* RawByteArray */
+
+ // Array field
+ } else if(dataType == plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER) { /* RawByteArray */
+
// Array field
}
return OK;
@@ -1022,6 +1064,14 @@ uint16_t plc4c_modbus_read_write_data_item_length_in_bits(plc4x_spi_context ctx,
// Array field
lengthInBits += 16 * plc4c_utils_list_size(data_item->data.list_value);
+ } else if(dataType == plc4c_modbus_read_write_modbus_data_type_RAW_COIL) { /* RawByteArray */
+
+ // Array field
+ lengthInBits += 8 * plc4c_utils_list_size(data_item->data.list_value);
+ } else if(dataType == plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER) { /* RawByteArray */
+
+ // Array field
+ lengthInBits += 8 * plc4c_utils_list_size(data_item->data.list_value);
}
return lengthInBits;
}
diff --git a/plc4c/generated-sources/modbus/src/modbus_data_type.c b/plc4c/generated-sources/modbus/src/modbus_data_type.c
index c17b6074f7..c6c2653827 100644
--- a/plc4c/generated-sources/modbus/src/modbus_data_type.c
+++ b/plc4c/generated-sources/modbus/src/modbus_data_type.c
@@ -142,11 +142,17 @@ plc4c_modbus_read_write_modbus_data_type plc4c_modbus_read_write_modbus_data_typ
if(strcmp(value_string, "WSTRING") == 0) {
return plc4c_modbus_read_write_modbus_data_type_WSTRING;
}
+ if(strcmp(value_string, "RAW_COIL") == 0) {
+ return plc4c_modbus_read_write_modbus_data_type_RAW_COIL;
+ }
+ if(strcmp(value_string, "RAW_REGISTER") == 0) {
+ return plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER;
+ }
return -1;
}
int plc4c_modbus_read_write_modbus_data_type_num_values() {
- return 27;
+ return 29;
}
plc4c_modbus_read_write_modbus_data_type plc4c_modbus_read_write_modbus_data_type_value_for_index(int index) {
@@ -232,6 +238,12 @@ plc4c_modbus_read_write_modbus_data_type plc4c_modbus_read_write_modbus_data_typ
case 26: {
return plc4c_modbus_read_write_modbus_data_type_WSTRING;
}
+ case 27: {
+ return plc4c_modbus_read_write_modbus_data_type_RAW_COIL;
+ }
+ case 28: {
+ return plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER;
+ }
default: {
return -1;
}
@@ -321,6 +333,12 @@ uint8_t plc4c_modbus_read_write_modbus_data_type_get_data_type_size(plc4c_modbus
case plc4c_modbus_read_write_modbus_data_type_LINT: { /* '9' */
return 8;
}
+ case plc4c_modbus_read_write_modbus_data_type_RAW_COIL: { /* '98' */
+ return 1;
+ }
+ case plc4c_modbus_read_write_modbus_data_type_RAW_REGISTER: { /* '99' */
+ return 2;
+ }
default: {
return 0;
}
diff --git a/plc4go/protocols/modbus/readwrite/model/DataItem.go b/plc4go/protocols/modbus/readwrite/model/DataItem.go
index 017a02d2b2..74240ed8d2 100644
--- a/plc4go/protocols/modbus/readwrite/model/DataItem.go
+++ b/plc4go/protocols/modbus/readwrite/model/DataItem.go
@@ -21,6 +21,7 @@ package model
import (
"context"
+ "math"
"github.com/pkg/errors"
"github.com/rs/zerolog"
@@ -457,6 +458,24 @@ func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, d
_ = value // TODO: temporary till we fix TIME stuff in golang (see above in the template)
readBuffer.CloseContext("DataItem")
return values.NewPlcList(value), nil
+ case dataType == ModbusDataType_RAW_COIL: // RawByteArray
+ // Array Field (value)
+ value, _valueErr := readBuffer.ReadByteArray("value", int(math.Ceil(float64(numberOfValues)/float64(float64(8)))))
+ if _valueErr != nil {
+ return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+ }
+ _ = value // TODO: temporary till we fix TIME stuff in golang (see above in the template)
+ readBuffer.CloseContext("DataItem")
+ return values.NewPlcRawByteArray(value), nil
+ case dataType == ModbusDataType_RAW_REGISTER: // RawByteArray
+ // Array Field (value)
+ value, _valueErr := readBuffer.ReadByteArray("value", int((numberOfValues)*(2)))
+ if _valueErr != nil {
+ return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+ }
+ _ = value // TODO: temporary till we fix TIME stuff in golang (see above in the template)
+ readBuffer.CloseContext("DataItem")
+ return values.NewPlcRawByteArray(value), nil
}
// TODO: add more info which type it is actually
return nil, errors.New("unsupported type")
@@ -761,6 +780,22 @@ func DataItemSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.Wri
return errors.Wrap(_itemErr, "Error serializing 'value' field")
}
}
+ case dataType == ModbusDataType_RAW_COIL: // RawByteArray
+ // Array Field (value)
+ for i := uint32(0); i < uint32(math.Ceil(float64(m.GetNumberOfValues())/float64(float64(8)))); i++ {
+ _itemErr := /*TODO: migrate me*/ writeBuffer.WriteByte("", value.GetIndex(i).GetByte())
+ if _itemErr != nil {
+ return errors.Wrap(_itemErr, "Error serializing 'value' field")
+ }
+ }
+ case dataType == ModbusDataType_RAW_REGISTER: // RawByteArray
+ // Array Field (value)
+ for i := uint32(0); i < uint32((m.GetNumberOfValues())*(2)); i++ {
+ _itemErr := /*TODO: migrate me*/ writeBuffer.WriteByte("", value.GetIndex(i).GetByte())
+ if _itemErr != nil {
+ return errors.Wrap(_itemErr, "Error serializing 'value' field")
+ }
+ }
default:
// TODO: add more info which type it is actually
return errors.New("unsupported type")
diff --git a/plc4go/protocols/modbus/readwrite/model/ModbusDataType.go b/plc4go/protocols/modbus/readwrite/model/ModbusDataType.go
index 95d4881de4..7d84483870 100644
--- a/plc4go/protocols/modbus/readwrite/model/ModbusDataType.go
+++ b/plc4go/protocols/modbus/readwrite/model/ModbusDataType.go
@@ -69,6 +69,8 @@ const (
ModbusDataType_WCHAR ModbusDataType = 25
ModbusDataType_STRING ModbusDataType = 26
ModbusDataType_WSTRING ModbusDataType = 27
+ ModbusDataType_RAW_COIL ModbusDataType = 98
+ ModbusDataType_RAW_REGISTER ModbusDataType = 99
)
var ModbusDataTypeValues []ModbusDataType
@@ -103,6 +105,8 @@ func init() {
ModbusDataType_WCHAR,
ModbusDataType_STRING,
ModbusDataType_WSTRING,
+ ModbusDataType_RAW_COIL,
+ ModbusDataType_RAW_REGISTER,
}
}
@@ -216,6 +220,14 @@ func (e ModbusDataType) DataTypeSize() uint8 {
{ /* '9' */
return 8
}
+ case 98:
+ { /* '98' */
+ return 1
+ }
+ case 99:
+ { /* '99' */
+ return 2
+ }
default:
{
return 0
@@ -287,6 +299,10 @@ func ModbusDataTypeByValue(value uint8) (enum ModbusDataType, ok bool) {
return ModbusDataType_DINT, true
case 9:
return ModbusDataType_LINT, true
+ case 98:
+ return ModbusDataType_RAW_COIL, true
+ case 99:
+ return ModbusDataType_RAW_REGISTER, true
}
return 0, false
}
@@ -347,6 +363,10 @@ func ModbusDataTypeByName(value string) (enum ModbusDataType, ok bool) {
return ModbusDataType_DINT, true
case "LINT":
return ModbusDataType_LINT, true
+ case "RAW_COIL":
+ return ModbusDataType_RAW_COIL, true
+ case "RAW_REGISTER":
+ return ModbusDataType_RAW_REGISTER, true
}
return 0, false
}
@@ -476,6 +496,10 @@ func (e ModbusDataType) PLC4XEnumName() string {
return "DINT"
case ModbusDataType_LINT:
return "LINT"
+ case ModbusDataType_RAW_COIL:
+ return "RAW_COIL"
+ case ModbusDataType_RAW_REGISTER:
+ return "RAW_REGISTER"
}
return fmt.Sprintf("Unknown(%v)", uint8(e))
}
diff --git a/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/DataItem.java b/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/DataItem.java
index 555bd7c476..24b72a5eb9 100644
--- a/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/DataItem.java
+++ b/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/DataItem.java
@@ -280,6 +280,13 @@ public class DataItem {
value.add(new PlcSTRING(_item));
}
return new PlcList(value);
+ } else if (EvaluationHelper.equals(dataType, ModbusDataType.RAW_COIL)) { // RawByteArray
+ byte[] value =
+ readBuffer.readByteArray("value", Math.toIntExact(CEIL((numberOfValues) / (8))));
+ return new PlcRawByteArray(value);
+ } else if (EvaluationHelper.equals(dataType, ModbusDataType.RAW_REGISTER)) { // RawByteArray
+ byte[] value = readBuffer.readByteArray("value", Math.toIntExact((numberOfValues) * (2)));
+ return new PlcRawByteArray(value);
}
return null;
}
@@ -479,6 +486,16 @@ public class DataItem {
if (_value != null) {
lengthInBits += 16 * _value.getList().size();
}
+ } else if (EvaluationHelper.equals(dataType, ModbusDataType.RAW_COIL)) { // RawByteArray
+ // Array field
+ if (_value != null) {
+ lengthInBits += 8 * _value.getRaw().length;
+ }
+ } else if (EvaluationHelper.equals(dataType, ModbusDataType.RAW_REGISTER)) { // RawByteArray
+ // Array field
+ if (_value != null) {
+ lengthInBits += 8 * _value.getRaw().length;
+ }
}
return lengthInBits;
@@ -714,6 +731,12 @@ public class DataItem {
_value.getList().stream().map(PlcValue::getString).collect(Collectors.toList()),
writeString(writeBuffer, 16),
WithOption.WithEncoding("UTF-16"));
+ } else if (EvaluationHelper.equals(dataType, ModbusDataType.RAW_COIL)) { // RawByteArray
+ // Array Field (value)
+ writeByteArrayField("value", _value.getRaw(), writeByteArray(writeBuffer, 8));
+ } else if (EvaluationHelper.equals(dataType, ModbusDataType.RAW_REGISTER)) { // RawByteArray
+ // Array Field (value)
+ writeByteArrayField("value", _value.getRaw(), writeByteArray(writeBuffer, 8));
}
}
}
diff --git a/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/ModbusDataType.java b/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/ModbusDataType.java
index b7d91d4d35..0132a9df80 100644
--- a/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/ModbusDataType.java
+++ b/plc4j/drivers/modbus/src/main/generated/org/apache/plc4x/java/modbus/readwrite/ModbusDataType.java
@@ -52,7 +52,9 @@ public enum ModbusDataType {
CHAR((short) 24, (short) 1),
WCHAR((short) 25, (short) 2),
STRING((short) 26, (short) 1),
- WSTRING((short) 27, (short) 2);
+ WSTRING((short) 27, (short) 2),
+ RAW_COIL((short) 98, (short) 1),
+ RAW_REGISTER((short) 99, (short) 2);
private static final Map<Short, ModbusDataType> map;
static {
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/DriverType.py b/plc4py/plc4py/protocols/modbus/readwrite/DriverType.py
index 229dc8761e..c3ad3cf700 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/DriverType.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/DriverType.py
@@ -19,10 +19,12 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class DriverType(AutoNumberEnum):
-
+
MODBUS_TCP: int = 0x01
MODBUS_RTU: int = 0x02
MODBUS_ASCII: int = 0x03
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
index 573c097d9c..8fd89d19c1 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusADU.py
@@ -30,8 +30,7 @@ from plc4py.protocols.modbus.readwrite.DriverType import DriverType
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
class ModbusADU(ABC, PlcMessage):
# Arguments.
@@ -42,6 +41,7 @@ class ModbusADU(ABC, PlcMessage):
def driver_type(self) -> DriverType:
pass
+
@abstractmethod
def serialize_modbus_adu_child(self, write_buffer: WriteBuffer) -> None:
pass
@@ -54,6 +54,7 @@ class ModbusADU(ABC, PlcMessage):
write_buffer.pop_context("ModbusADU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -65,13 +66,12 @@ class ModbusADU(ABC, PlcMessage):
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
if kwargs is None:
- raise PlcRuntimeException(
- "Wrong number of arguments, expected 2, but got None"
- )
+ raise PlcRuntimeException("Wrong number of arguments, expected 2, but got None")
driver_type: DriverType = 0
if isinstance(kwargs.get("driver_type"), DriverType):
@@ -79,10 +79,7 @@ class ModbusADU(ABC, PlcMessage):
elif isinstance(kwargs.get("driver_type"), str):
driver_type = DriverType(str(kwargs.get("driver_type")))
else:
- raise PlcRuntimeException(
- "Argument 0 expected to be of type DriverType or a string which is parseable but was "
- + kwargs.get("driver_type").getClass().getName()
- )
+ raise PlcRuntimeException("Argument 0 expected to be of type DriverType or a string which is parseable but was " + kwargs.get("driver_type").getClass().getName())
response: bool = False
if isinstance(kwargs.get("response"), bool):
@@ -90,17 +87,13 @@ class ModbusADU(ABC, PlcMessage):
elif isinstance(kwargs.get("response"), str):
response = bool(str(kwargs.get("response")))
else:
- raise PlcRuntimeException(
- "Argument 1 expected to be of type bool or a string which is parseable but was "
- + kwargs.get("response").getClass().getName()
- )
+ raise PlcRuntimeException("Argument 1 expected to be of type bool or a string which is parseable but was " + kwargs.get("response").getClass().getName())
return ModbusADU.static_parse_context(read_buffer, driver_type, response)
+
@staticmethod
- def static_parse_context(
- read_buffer: ReadBuffer, driver_type: DriverType, response: bool
- ):
+ def static_parse_context(read_buffer: ReadBuffer, driver_type: DriverType, response: bool):
read_buffer.push_context("ModbusADU")
if isinstance(driver_type, str):
@@ -108,43 +101,31 @@ class ModbusADU(ABC, PlcMessage):
if isinstance(response, str):
response = bool(strtobool(response))
+
# Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
builder: ModbusADUBuilder = None
from plc4py.protocols.modbus.readwrite.ModbusTcpADU import ModbusTcpADU
+ if driver_type == DriverType.MODBUS_TCP :
- if driver_type == DriverType.MODBUS_TCP:
-
- builder = ModbusTcpADU.static_parse_builder(
- read_buffer, driver_type, response
- )
+ builder = ModbusTcpADU.static_parse_builder(read_buffer, driver_type, response)
from plc4py.protocols.modbus.readwrite.ModbusRtuADU import ModbusRtuADU
+ if driver_type == DriverType.MODBUS_RTU :
- if driver_type == DriverType.MODBUS_RTU:
-
- builder = ModbusRtuADU.static_parse_builder(
- read_buffer, driver_type, response
- )
+ builder = ModbusRtuADU.static_parse_builder(read_buffer, driver_type, response)
from plc4py.protocols.modbus.readwrite.ModbusAsciiADU import ModbusAsciiADU
+ if driver_type == DriverType.MODBUS_ASCII :
- if driver_type == DriverType.MODBUS_ASCII:
-
- builder = ModbusAsciiADU.static_parse_builder(
- read_buffer, driver_type, response
- )
+ builder = ModbusAsciiADU.static_parse_builder(read_buffer, driver_type, response)
if builder is None:
- raise ParseException(
- "Unsupported case for discriminated type"
- + " parameters ["
- + "driverType="
- + str(driver_type)
- + "]"
- )
+ raise ParseException("Unsupported case for discriminated type"+" parameters ["+"driverType="+str(driver_type)+"]")
+
read_buffer.pop_context("ModbusADU")
# Create the instance
- _modbus_adu: ModbusADU = builder.build(response)
+ _modbus_adu: ModbusADU = builder.build(response )
return _modbus_adu
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -160,16 +141,19 @@ class ModbusADU(ABC, PlcMessage):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
-
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusADUBuilder:
- def build(self, response: bool) -> ModbusADU:
+ def build(self, response: bool ) -> ModbusADU:
pass
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
index 855549d401..a027fced44 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
@@ -32,8 +32,7 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.utils.GenericTypes import ByteOrder
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusAsciiADU(ModbusADU):
address: int
@@ -43,24 +42,23 @@ class ModbusAsciiADU(ModbusADU):
# Accessors for discriminator values.
driver_type: ClassVar[DriverType] = DriverType.MODBUS_ASCII
+
+
def serialize_modbus_adu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusAsciiADU")
# Simple Field (address)
- write_buffer.write_unsigned_byte(
- self.address, bit_length=8, logical_name="address"
- )
+ write_buffer.write_unsigned_byte(self.address,bit_length=8,logical_name="address")
# Simple Field (pdu)
- write_buffer.write_serializable(self.pdu, logical_name="pdu")
+ write_buffer.write_serializable(self.pdu,logical_name="pdu")
# Checksum Field (checksum) (Calculated)
- write_buffer.write_unsigned_byte(
- int(StaticHelper.ascii_lrc_check(address, pdu)), logical_name="crc"
- )
+ write_buffer.write_unsigned_byte(int(StaticHelper.ascii_lrc_check(address, pdu)), logical_name="crc")
write_buffer.pop_context("ModbusAsciiADU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -79,10 +77,9 @@ class ModbusAsciiADU(ModbusADU):
return length_in_bits
+
@staticmethod
- def static_parse_builder(
- read_buffer: ReadBuffer, driver_type: DriverType, response: bool
- ):
+ def static_parse_builder(read_buffer: ReadBuffer, driver_type: DriverType, response: bool):
read_buffer.push_context("ModbusAsciiADU")
if isinstance(driver_type, str):
@@ -90,32 +87,21 @@ class ModbusAsciiADU(ModbusADU):
if isinstance(response, str):
response = bool(strtobool(response))
- address: int = read_buffer.read_unsigned_byte(
- logical_name="address",
- bit_length=8,
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- pdu: ModbusPDU = read_buffer.read_complex(
- read_function=ModbusPDU.static_parse,
- logical_name="pdu",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- crc: int = read_buffer.read_unsigned_byte(
- logical_name="crc",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
+
+ address: int = read_buffer.read_unsigned_byte(logical_name="address", bit_length=8, byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
+
+ pdu: ModbusPDU = read_buffer.read_complex(read_function=ModbusPDU.static_parse, logical_name="pdu", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
+
+ crc: int = read_buffer.read_unsigned_byte(logical_name="crc", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
read_buffer.pop_context("ModbusAsciiADU")
# Create the instance
- return ModbusAsciiADUBuilder(address, pdu)
+ return ModbusAsciiADUBuilder(address, pdu )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -125,25 +111,20 @@ class ModbusAsciiADU(ModbusADU):
return False
that: ModbusAsciiADU = ModbusAsciiADU(o)
- return (
- (self.address == that.address)
- and (self.pdu == that.pdu)
- and super().equals(that)
- and True
- )
+ return (self.address == that.address) and (self.pdu == that.pdu) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -151,11 +132,9 @@ class ModbusAsciiADUBuilder:
address: int
pdu: ModbusPDU
- def build(
- self,
- response: bool,
- ) -> ModbusAsciiADU:
- modbus_ascii_adu: ModbusAsciiADU = ModbusAsciiADU(
- response, self.address, self.pdu
- )
+ def build(self,response: bool , ) -> ModbusAsciiADU:
+ modbus_ascii_adu: ModbusAsciiADU = ModbusAsciiADU(response , self.address, self.pdu )
return modbus_ascii_adu
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py
index 3047aab843..746bef1b82 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py
@@ -25,22 +25,22 @@ from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
-class ModbusConstants:
+class ModbusConstants():
MODBUS_TCP_DEFAULT_PORT: int = int(502)
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusConstants")
# Const Field (modbusTcpDefaultPort)
- write_buffer.write_unsigned_short(
- self.MODBUS_TCP_DEFAULT_PORT, logical_name="modbusTcpDefaultPort"
- )
+ write_buffer.write_unsigned_short(self.MODBUS_TCP_DEFAULT_PORT, logical_name="modbusTcpDefaultPort")
write_buffer.pop_context("ModbusConstants")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -53,23 +53,26 @@ class ModbusConstants:
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusConstants.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusConstants")
- MODBUS_TCP_DEFAULT_PORT: int = read_buffer.read_unsigned_short(
- logical_name="modbus_tcp_default_port"
- )
+
+
+ MODBUS_TCP_DEFAULT_PORT: int = read_buffer.read_unsigned_short(logical_name="modbus_tcp_default_port")
read_buffer.pop_context("ModbusConstants")
# Create the instance
_modbus_constants: ModbusConstants = ModbusConstants()
return _modbus_constants
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -85,10 +88,14 @@ class ModbusConstants:
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDataType.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDataType.py
index 0ab173983c..ba37b720fe 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDataType.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDataType.py
@@ -19,34 +19,38 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class ModbusDataType(AutoNumberEnum):
_init_ = "value, data_type_size"
- BOOL = (1, int(2))
- BYTE = (2, int(2))
- WORD = (3, int(2))
- DWORD = (4, int(4))
- LWORD = (5, int(8))
- SINT = (6, int(2))
- INT = (7, int(2))
- DINT = (8, int(4))
- LINT = (9, int(8))
- USINT = (10, int(2))
- UINT = (11, int(2))
- UDINT = (12, int(4))
- ULINT = (13, int(8))
- REAL = (14, int(4))
- LREAL = (15, int(8))
- TIME = (16, int(8))
- LTIME = (17, int(8))
- DATE = (18, int(8))
- LDATE = (19, int(8))
- TIME_OF_DAY = (20, int(8))
- LTIME_OF_DAY = (21, int(8))
- DATE_AND_TIME = (22, int(8))
- LDATE_AND_TIME = (23, int(8))
- CHAR = (24, int(1))
- WCHAR = (25, int(2))
- STRING = (26, int(1))
- WSTRING = (27, int(2))
+ BOOL = (1 , int(2) )
+ BYTE = (2 , int(2) )
+ WORD = (3 , int(2) )
+ DWORD = (4 , int(4) )
+ LWORD = (5 , int(8) )
+ SINT = (6 , int(2) )
+ INT = (7 , int(2) )
+ DINT = (8 , int(4) )
+ LINT = (9 , int(8) )
+ USINT = (10 , int(2) )
+ UINT = (11 , int(2) )
+ UDINT = (12 , int(4) )
+ ULINT = (13 , int(8) )
+ REAL = (14 , int(4) )
+ LREAL = (15 , int(8) )
+ TIME = (16 , int(8) )
+ LTIME = (17 , int(8) )
+ DATE = (18 , int(8) )
+ LDATE = (19 , int(8) )
+ TIME_OF_DAY = (20 , int(8) )
+ LTIME_OF_DAY = (21 , int(8) )
+ DATE_AND_TIME = (22 , int(8) )
+ LDATE_AND_TIME = (23 , int(8) )
+ CHAR = (24 , int(1) )
+ WCHAR = (25 , int(2) )
+ STRING = (26 , int(1) )
+ WSTRING = (27 , int(2) )
+ RAW_COIL = (98 , int(1) )
+ RAW_REGISTER = (99 , int(2) )
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationConformityLevel.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationConformityLevel.py
index 1c6b6c2e15..c637a32421 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationConformityLevel.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationConformityLevel.py
@@ -19,10 +19,12 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class ModbusDeviceInformationConformityLevel(AutoNumberEnum):
-
+
BASIC_STREAM_ONLY: int = 0x01
REGULAR_STREAM_ONLY: int = 0x02
EXTENDED_STREAM_ONLY: int = 0x03
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationLevel.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationLevel.py
index 34300606ba..eca833ecf4 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationLevel.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationLevel.py
@@ -19,11 +19,13 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class ModbusDeviceInformationLevel(AutoNumberEnum):
-
+
BASIC: int = 0x01
REGULAR: int = 0x02
EXTENDED: int = 0x03
INDIVIDUAL: int = 0x04
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationMoreFollows.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationMoreFollows.py
index 1c613af6ec..9162add303 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationMoreFollows.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationMoreFollows.py
@@ -19,9 +19,11 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class ModbusDeviceInformationMoreFollows(AutoNumberEnum):
-
+
NO_MORE_OBJECTS_AVAILABLE: int = 0x00
MORE_OBJECTS_AVAILABLE: int = 0xFF
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py
index f862361bd6..39fbae97e2 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py
@@ -27,23 +27,22 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import Any
from typing import List
import math
-
-
+
@dataclass
-class ModbusDeviceInformationObject:
+class ModbusDeviceInformationObject():
object_id: int
data: List[int]
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusDeviceInformationObject")
# Simple Field (objectId)
- write_buffer.write_unsigned_byte(
- self.object_id, bit_length=8, logical_name="objectId"
- )
+ write_buffer.write_unsigned_byte(self.object_id,bit_length=8,logical_name="objectId")
# Implicit Field (object_length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- object_length: int = int(len(self.data))
+ object_length: int = (int(len(self.data)))
write_buffer.write_unsigned_byte(object_length, logical_name="object_length")
# Array Field (data)
@@ -51,6 +50,7 @@ class ModbusDeviceInformationObject:
write_buffer.pop_context("ModbusDeviceInformationObject")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -68,37 +68,35 @@ class ModbusDeviceInformationObject:
if self.data is not None:
length_in_bits += 8 * len(self.data)
+
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusDeviceInformationObject.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusDeviceInformationObject")
- object_id: int = read_buffer.read_unsigned_byte(
- logical_name="object_id", bit_length=8
- )
- object_length: int = read_buffer.read_unsigned_byte(
- logical_name="object_length"
- )
- data: List[Any] = read_buffer.read_array_field(
- logical_name="data",
- read_function=read_buffer.read_byte,
- count=object_length,
- )
+ object_id: int = read_buffer.read_unsigned_byte(logical_name="object_id", bit_length=8)
+
+
+
+ object_length: int = read_buffer.read_unsigned_byte(logical_name="object_length")
+
+ data: List[Any] = read_buffer.read_array_field(logical_name="data", read_function=read_buffer.read_byte, count=object_length)
read_buffer.pop_context("ModbusDeviceInformationObject")
# Create the instance
- _modbus_device_information_object: ModbusDeviceInformationObject = (
- ModbusDeviceInformationObject(object_id, data)
- )
+ _modbus_device_information_object: ModbusDeviceInformationObject = ModbusDeviceInformationObject(object_id, data )
return _modbus_device_information_object
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -114,10 +112,14 @@ class ModbusDeviceInformationObject:
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusErrorCode.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusErrorCode.py
index bfbad8d872..3f626e2374 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusErrorCode.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusErrorCode.py
@@ -19,10 +19,9 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class ModbusErrorCode(AutoNumberEnum):
-
+
ILLEGAL_FUNCTION: int = 1
ILLEGAL_DATA_ADDRESS: int = 2
ILLEGAL_DATA_VALUE: int = 3
@@ -33,3 +32,6 @@ class ModbusErrorCode(AutoNumberEnum):
MEMORY_PARITY_ERROR: int = 8
GATEWAY_PATH_UNAVAILABLE: int = 10
GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND: int = 11
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
index f9d904881f..bf75a36da6 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
@@ -29,8 +29,7 @@ from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
class ModbusPDU(ABC, PlcMessage):
@@ -38,15 +37,14 @@ class ModbusPDU(ABC, PlcMessage):
@property
def error_flag(self) -> bool:
pass
-
@property
def function_flag(self) -> int:
pass
-
@property
def response(self) -> bool:
pass
+
@abstractmethod
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer) -> None:
pass
@@ -55,18 +53,17 @@ class ModbusPDU(ABC, PlcMessage):
write_buffer.push_context("ModbusPDU")
# Discriminator Field (errorFlag) (Used as input to a switch field)
- write_buffer.write_bit(self.error_flag, logical_name="error_flag", bit_length=1)
+ write_buffer.write_bit(self.error_flag, logical_name="error_flag", bit_length=1 )
# Discriminator Field (functionFlag) (Used as input to a switch field)
- write_buffer.write_unsigned_byte(
- self.function_flag, logical_name="function_flag", bit_length=7
- )
+ write_buffer.write_unsigned_byte(self.function_flag, logical_name="function_flag", bit_length=7 )
# Switch field (Serialize the sub-type)
self.serialize_modbus_pdu_child(write_buffer)
write_buffer.pop_context("ModbusPDU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -84,13 +81,12 @@ class ModbusPDU(ABC, PlcMessage):
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
if kwargs is None:
- raise PlcRuntimeException(
- "Wrong number of arguments, expected 1, but got None"
- )
+ raise PlcRuntimeException("Wrong number of arguments, expected 1, but got None")
response: bool = False
if isinstance(kwargs.get("response"), bool):
@@ -98,13 +94,11 @@ class ModbusPDU(ABC, PlcMessage):
elif isinstance(kwargs.get("response"), str):
response = bool(str(kwargs.get("response")))
else:
- raise PlcRuntimeException(
- "Argument 0 expected to be of type bool or a string which is parseable but was "
- + kwargs.get("response").getClass().getName()
- )
+ raise PlcRuntimeException("Argument 0 expected to be of type bool or a string which is parseable but was " + kwargs.get("response").getClass().getName())
return ModbusPDU.static_parse_context(read_buffer, response)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDU")
@@ -112,543 +106,181 @@ class ModbusPDU(ABC, PlcMessage):
if isinstance(response, str):
response = bool(strtobool(response))
- error_flag: bool = read_buffer.read_bit(
- logical_name="error_flag", bit_length=1, response=response
- )
+ error_flag: bool = read_buffer.read_bit(logical_name="error_flag", bit_length=1, response=response)
+
+
+ function_flag: int = read_buffer.read_unsigned_byte(logical_name="function_flag", bit_length=7, response=response)
+
- function_flag: int = read_buffer.read_unsigned_byte(
- logical_name="function_flag", bit_length=7, response=response
- )
# Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
builder: ModbusPDUBuilder = None
from plc4py.protocols.modbus.readwrite.ModbusPDUError import ModbusPDUError
-
- if error_flag == bool(True):
+ if error_flag == bool(True) :
builder = ModbusPDUError.static_parse_builder(read_buffer, response)
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadDiscreteInputsRequest import (
- ModbusPDUReadDiscreteInputsRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x02)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadDiscreteInputsRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadDiscreteInputsResponse import (
- ModbusPDUReadDiscreteInputsResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x02)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadDiscreteInputsResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadCoilsRequest import (
- ModbusPDUReadCoilsRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x01)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadCoilsRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadCoilsResponse import (
- ModbusPDUReadCoilsResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x01)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadCoilsResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleCoilRequest import (
- ModbusPDUWriteSingleCoilRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x05)
- and response == bool(False)
- ):
-
- builder = ModbusPDUWriteSingleCoilRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleCoilResponse import (
- ModbusPDUWriteSingleCoilResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x05)
- and response == bool(True)
- ):
-
- builder = ModbusPDUWriteSingleCoilResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleCoilsRequest import (
- ModbusPDUWriteMultipleCoilsRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x0F)
- and response == bool(False)
- ):
-
- builder = ModbusPDUWriteMultipleCoilsRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleCoilsResponse import (
- ModbusPDUWriteMultipleCoilsResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x0F)
- and response == bool(True)
- ):
-
- builder = ModbusPDUWriteMultipleCoilsResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadInputRegistersRequest import (
- ModbusPDUReadInputRegistersRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x04)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadInputRegistersRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadInputRegistersResponse import (
- ModbusPDUReadInputRegistersResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x04)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadInputRegistersResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadHoldingRegistersRequest import (
- ModbusPDUReadHoldingRegistersRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x03)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadHoldingRegistersRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadHoldingRegistersResponse import (
- ModbusPDUReadHoldingRegistersResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x03)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadHoldingRegistersResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleRegisterRequest import (
- ModbusPDUWriteSingleRegisterRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x06)
- and response == bool(False)
- ):
-
- builder = ModbusPDUWriteSingleRegisterRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleRegisterResponse import (
- ModbusPDUWriteSingleRegisterResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x06)
- and response == bool(True)
- ):
-
- builder = ModbusPDUWriteSingleRegisterResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleHoldingRegistersRequest import (
- ModbusPDUWriteMultipleHoldingRegistersRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x10)
- and response == bool(False)
- ):
-
- builder = (
- ModbusPDUWriteMultipleHoldingRegistersRequest.static_parse_builder(
- read_buffer, response
- )
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleHoldingRegistersResponse import (
- ModbusPDUWriteMultipleHoldingRegistersResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x10)
- and response == bool(True)
- ):
-
- builder = (
- ModbusPDUWriteMultipleHoldingRegistersResponse.static_parse_builder(
- read_buffer, response
- )
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadWriteMultipleHoldingRegistersRequest import (
- ModbusPDUReadWriteMultipleHoldingRegistersRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x17)
- and response == bool(False)
- ):
-
- builder = (
- ModbusPDUReadWriteMultipleHoldingRegistersRequest.static_parse_builder(
- read_buffer, response
- )
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadWriteMultipleHoldingRegistersResponse import (
- ModbusPDUReadWriteMultipleHoldingRegistersResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x17)
- and response == bool(True)
- ):
-
- builder = (
- ModbusPDUReadWriteMultipleHoldingRegistersResponse.static_parse_builder(
- read_buffer, response
- )
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUMaskWriteHoldingRegisterRequest import (
- ModbusPDUMaskWriteHoldingRegisterRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x16)
- and response == bool(False)
- ):
-
- builder = ModbusPDUMaskWriteHoldingRegisterRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUMaskWriteHoldingRegisterResponse import (
- ModbusPDUMaskWriteHoldingRegisterResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x16)
- and response == bool(True)
- ):
-
- builder = ModbusPDUMaskWriteHoldingRegisterResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadFifoQueueRequest import (
- ModbusPDUReadFifoQueueRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x18)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadFifoQueueRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadFifoQueueResponse import (
- ModbusPDUReadFifoQueueResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x18)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadFifoQueueResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordRequest import (
- ModbusPDUReadFileRecordRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x14)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadFileRecordRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordResponse import (
- ModbusPDUReadFileRecordResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x14)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadFileRecordResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordRequest import (
- ModbusPDUWriteFileRecordRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x15)
- and response == bool(False)
- ):
-
- builder = ModbusPDUWriteFileRecordRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordResponse import (
- ModbusPDUWriteFileRecordResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x15)
- and response == bool(True)
- ):
-
- builder = ModbusPDUWriteFileRecordResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadExceptionStatusRequest import (
- ModbusPDUReadExceptionStatusRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x07)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadExceptionStatusRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadExceptionStatusResponse import (
- ModbusPDUReadExceptionStatusResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x07)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadExceptionStatusResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUDiagnosticRequest import (
- ModbusPDUDiagnosticRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x08)
- and response == bool(False)
- ):
-
- builder = ModbusPDUDiagnosticRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUDiagnosticResponse import (
- ModbusPDUDiagnosticResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x08)
- and response == bool(True)
- ):
-
- builder = ModbusPDUDiagnosticResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventCounterRequest import (
- ModbusPDUGetComEventCounterRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x0B)
- and response == bool(False)
- ):
-
- builder = ModbusPDUGetComEventCounterRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventCounterResponse import (
- ModbusPDUGetComEventCounterResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x0B)
- and response == bool(True)
- ):
-
- builder = ModbusPDUGetComEventCounterResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventLogRequest import (
- ModbusPDUGetComEventLogRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x0C)
- and response == bool(False)
- ):
-
- builder = ModbusPDUGetComEventLogRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventLogResponse import (
- ModbusPDUGetComEventLogResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x0C)
- and response == bool(True)
- ):
-
- builder = ModbusPDUGetComEventLogResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReportServerIdRequest import (
- ModbusPDUReportServerIdRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x11)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReportServerIdRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReportServerIdResponse import (
- ModbusPDUReportServerIdResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x11)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReportServerIdResponse.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadDeviceIdentificationRequest import (
- ModbusPDUReadDeviceIdentificationRequest,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x2B)
- and response == bool(False)
- ):
-
- builder = ModbusPDUReadDeviceIdentificationRequest.static_parse_builder(
- read_buffer, response
- )
- from plc4py.protocols.modbus.readwrite.ModbusPDUReadDeviceIdentificationResponse import (
- ModbusPDUReadDeviceIdentificationResponse,
- )
-
- if (
- error_flag == bool(False)
- and function_flag == int(0x2B)
- and response == bool(True)
- ):
-
- builder = ModbusPDUReadDeviceIdentificationResponse.static_parse_builder(
- read_buffer, response
- )
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadDiscreteInputsRequest import ModbusPDUReadDiscreteInputsRequest
+ if error_flag == bool(False) and function_flag == int(0x02) and response == bool(False) :
+
+ builder = ModbusPDUReadDiscreteInputsRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadDiscreteInputsResponse import ModbusPDUReadDiscreteInputsResponse
+ if error_flag == bool(False) and function_flag == int(0x02) and response == bool(True) :
+
+ builder = ModbusPDUReadDiscreteInputsResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadCoilsRequest import ModbusPDUReadCoilsRequest
+ if error_flag == bool(False) and function_flag == int(0x01) and response == bool(False) :
+
+ builder = ModbusPDUReadCoilsRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadCoilsResponse import ModbusPDUReadCoilsResponse
+ if error_flag == bool(False) and function_flag == int(0x01) and response == bool(True) :
+
+ builder = ModbusPDUReadCoilsResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleCoilRequest import ModbusPDUWriteSingleCoilRequest
+ if error_flag == bool(False) and function_flag == int(0x05) and response == bool(False) :
+
+ builder = ModbusPDUWriteSingleCoilRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleCoilResponse import ModbusPDUWriteSingleCoilResponse
+ if error_flag == bool(False) and function_flag == int(0x05) and response == bool(True) :
+
+ builder = ModbusPDUWriteSingleCoilResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleCoilsRequest import ModbusPDUWriteMultipleCoilsRequest
+ if error_flag == bool(False) and function_flag == int(0x0F) and response == bool(False) :
+
+ builder = ModbusPDUWriteMultipleCoilsRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleCoilsResponse import ModbusPDUWriteMultipleCoilsResponse
+ if error_flag == bool(False) and function_flag == int(0x0F) and response == bool(True) :
+
+ builder = ModbusPDUWriteMultipleCoilsResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadInputRegistersRequest import ModbusPDUReadInputRegistersRequest
+ if error_flag == bool(False) and function_flag == int(0x04) and response == bool(False) :
+
+ builder = ModbusPDUReadInputRegistersRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadInputRegistersResponse import ModbusPDUReadInputRegistersResponse
+ if error_flag == bool(False) and function_flag == int(0x04) and response == bool(True) :
+
+ builder = ModbusPDUReadInputRegistersResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadHoldingRegistersRequest import ModbusPDUReadHoldingRegistersRequest
+ if error_flag == bool(False) and function_flag == int(0x03) and response == bool(False) :
+
+ builder = ModbusPDUReadHoldingRegistersRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadHoldingRegistersResponse import ModbusPDUReadHoldingRegistersResponse
+ if error_flag == bool(False) and function_flag == int(0x03) and response == bool(True) :
+
+ builder = ModbusPDUReadHoldingRegistersResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleRegisterRequest import ModbusPDUWriteSingleRegisterRequest
+ if error_flag == bool(False) and function_flag == int(0x06) and response == bool(False) :
+
+ builder = ModbusPDUWriteSingleRegisterRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteSingleRegisterResponse import ModbusPDUWriteSingleRegisterResponse
+ if error_flag == bool(False) and function_flag == int(0x06) and response == bool(True) :
+
+ builder = ModbusPDUWriteSingleRegisterResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleHoldingRegistersRequest import ModbusPDUWriteMultipleHoldingRegistersRequest
+ if error_flag == bool(False) and function_flag == int(0x10) and response == bool(False) :
+
+ builder = ModbusPDUWriteMultipleHoldingRegistersRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteMultipleHoldingRegistersResponse import ModbusPDUWriteMultipleHoldingRegistersResponse
+ if error_flag == bool(False) and function_flag == int(0x10) and response == bool(True) :
+
+ builder = ModbusPDUWriteMultipleHoldingRegistersResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadWriteMultipleHoldingRegistersRequest import ModbusPDUReadWriteMultipleHoldingRegistersRequest
+ if error_flag == bool(False) and function_flag == int(0x17) and response == bool(False) :
+
+ builder = ModbusPDUReadWriteMultipleHoldingRegistersRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadWriteMultipleHoldingRegistersResponse import ModbusPDUReadWriteMultipleHoldingRegistersResponse
+ if error_flag == bool(False) and function_flag == int(0x17) and response == bool(True) :
+
+ builder = ModbusPDUReadWriteMultipleHoldingRegistersResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUMaskWriteHoldingRegisterRequest import ModbusPDUMaskWriteHoldingRegisterRequest
+ if error_flag == bool(False) and function_flag == int(0x16) and response == bool(False) :
+
+ builder = ModbusPDUMaskWriteHoldingRegisterRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUMaskWriteHoldingRegisterResponse import ModbusPDUMaskWriteHoldingRegisterResponse
+ if error_flag == bool(False) and function_flag == int(0x16) and response == bool(True) :
+
+ builder = ModbusPDUMaskWriteHoldingRegisterResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadFifoQueueRequest import ModbusPDUReadFifoQueueRequest
+ if error_flag == bool(False) and function_flag == int(0x18) and response == bool(False) :
+
+ builder = ModbusPDUReadFifoQueueRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadFifoQueueResponse import ModbusPDUReadFifoQueueResponse
+ if error_flag == bool(False) and function_flag == int(0x18) and response == bool(True) :
+
+ builder = ModbusPDUReadFifoQueueResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordRequest import ModbusPDUReadFileRecordRequest
+ if error_flag == bool(False) and function_flag == int(0x14) and response == bool(False) :
+
+ builder = ModbusPDUReadFileRecordRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordResponse import ModbusPDUReadFileRecordResponse
+ if error_flag == bool(False) and function_flag == int(0x14) and response == bool(True) :
+
+ builder = ModbusPDUReadFileRecordResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordRequest import ModbusPDUWriteFileRecordRequest
+ if error_flag == bool(False) and function_flag == int(0x15) and response == bool(False) :
+
+ builder = ModbusPDUWriteFileRecordRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordResponse import ModbusPDUWriteFileRecordResponse
+ if error_flag == bool(False) and function_flag == int(0x15) and response == bool(True) :
+
+ builder = ModbusPDUWriteFileRecordResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadExceptionStatusRequest import ModbusPDUReadExceptionStatusRequest
+ if error_flag == bool(False) and function_flag == int(0x07) and response == bool(False) :
+
+ builder = ModbusPDUReadExceptionStatusRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadExceptionStatusResponse import ModbusPDUReadExceptionStatusResponse
+ if error_flag == bool(False) and function_flag == int(0x07) and response == bool(True) :
+
+ builder = ModbusPDUReadExceptionStatusResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUDiagnosticRequest import ModbusPDUDiagnosticRequest
+ if error_flag == bool(False) and function_flag == int(0x08) and response == bool(False) :
+
+ builder = ModbusPDUDiagnosticRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUDiagnosticResponse import ModbusPDUDiagnosticResponse
+ if error_flag == bool(False) and function_flag == int(0x08) and response == bool(True) :
+
+ builder = ModbusPDUDiagnosticResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventCounterRequest import ModbusPDUGetComEventCounterRequest
+ if error_flag == bool(False) and function_flag == int(0x0B) and response == bool(False) :
+
+ builder = ModbusPDUGetComEventCounterRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventCounterResponse import ModbusPDUGetComEventCounterResponse
+ if error_flag == bool(False) and function_flag == int(0x0B) and response == bool(True) :
+
+ builder = ModbusPDUGetComEventCounterResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventLogRequest import ModbusPDUGetComEventLogRequest
+ if error_flag == bool(False) and function_flag == int(0x0C) and response == bool(False) :
+
+ builder = ModbusPDUGetComEventLogRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUGetComEventLogResponse import ModbusPDUGetComEventLogResponse
+ if error_flag == bool(False) and function_flag == int(0x0C) and response == bool(True) :
+
+ builder = ModbusPDUGetComEventLogResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReportServerIdRequest import ModbusPDUReportServerIdRequest
+ if error_flag == bool(False) and function_flag == int(0x11) and response == bool(False) :
+
+ builder = ModbusPDUReportServerIdRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReportServerIdResponse import ModbusPDUReportServerIdResponse
+ if error_flag == bool(False) and function_flag == int(0x11) and response == bool(True) :
+
+ builder = ModbusPDUReportServerIdResponse.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadDeviceIdentificationRequest import ModbusPDUReadDeviceIdentificationRequest
+ if error_flag == bool(False) and function_flag == int(0x2B) and response == bool(False) :
+
+ builder = ModbusPDUReadDeviceIdentificationRequest.static_parse_builder(read_buffer, response)
+ from plc4py.protocols.modbus.readwrite.ModbusPDUReadDeviceIdentificationResponse import ModbusPDUReadDeviceIdentificationResponse
+ if error_flag == bool(False) and function_flag == int(0x2B) and response == bool(True) :
+
+ builder = ModbusPDUReadDeviceIdentificationResponse.static_parse_builder(read_buffer, response)
if builder is None:
- raise ParseException(
- "Unsupported case for discriminated type"
- + " parameters ["
- + "errorFlag="
- + str(error_flag)
- + " "
- + "functionFlag="
- + str(function_flag)
- + " "
- + "response="
- + str(response)
- + "]"
- )
+ raise ParseException("Unsupported case for discriminated type"+" parameters ["+"errorFlag="+str(error_flag)+" "+"functionFlag="+str(function_flag)+" "+"response="+str(response)+"]")
+
read_buffer.pop_context("ModbusPDU")
# Create the instance
_modbus_pdu: ModbusPDU = builder.build()
return _modbus_pdu
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -664,18 +296,19 @@ class ModbusPDU(ABC, PlcMessage):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
-
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUBuilder:
- def build(
- self,
- ) -> ModbusPDU:
+ def build(self, ) -> ModbusPDU:
pass
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
index 3015f728ea..8b77a6b8e9 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUDiagnosticRequest(ModbusPDU):
sub_function: int
@@ -39,19 +38,20 @@ class ModbusPDUDiagnosticRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x08
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUDiagnosticRequest")
# Simple Field (subFunction)
- write_buffer.write_unsigned_short(
- self.sub_function, bit_length=16, logical_name="subFunction"
- )
+ write_buffer.write_unsigned_short(self.sub_function,bit_length=16,logical_name="subFunction")
# Simple Field (data)
- write_buffer.write_unsigned_short(self.data, bit_length=16, logical_name="data")
+ write_buffer.write_unsigned_short(self.data,bit_length=16,logical_name="data")
write_buffer.pop_context("ModbusPDUDiagnosticRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -67,6 +67,7 @@ class ModbusPDUDiagnosticRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUDiagnosticRequest")
@@ -74,17 +75,19 @@ class ModbusPDUDiagnosticRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- sub_function: int = read_buffer.read_unsigned_short(
- logical_name="sub_function", bit_length=16, response=response
- )
- data: int = read_buffer.read_unsigned_short(
- logical_name="data", bit_length=16, response=response
- )
+ sub_function: int = read_buffer.read_unsigned_short(logical_name="sub_function", bit_length=16, response=response)
+
+
+
+ data: int = read_buffer.read_unsigned_short(logical_name="data", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUDiagnosticRequest")
# Create the instance
- return ModbusPDUDiagnosticRequestBuilder(sub_function, data)
+ return ModbusPDUDiagnosticRequestBuilder(sub_function, data )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -94,25 +97,20 @@ class ModbusPDUDiagnosticRequest(ModbusPDU):
return False
that: ModbusPDUDiagnosticRequest = ModbusPDUDiagnosticRequest(o)
- return (
- (self.sub_function == that.sub_function)
- and (self.data == that.data)
- and super().equals(that)
- and True
- )
+ return (self.sub_function == that.sub_function) and (self.data == that.data) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -120,10 +118,9 @@ class ModbusPDUDiagnosticRequestBuilder:
sub_function: int
data: int
- def build(
- self,
- ) -> ModbusPDUDiagnosticRequest:
- modbus_pdudiagnostic_request: ModbusPDUDiagnosticRequest = (
- ModbusPDUDiagnosticRequest(self.sub_function, self.data)
- )
+ def build(self,) -> ModbusPDUDiagnosticRequest:
+ modbus_pdudiagnostic_request: ModbusPDUDiagnosticRequest = ModbusPDUDiagnosticRequest(self.sub_function, self.data )
return modbus_pdudiagnostic_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
index cec882ff00..92907da71b 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUDiagnosticResponse(ModbusPDU):
sub_function: int
@@ -39,19 +38,20 @@ class ModbusPDUDiagnosticResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x08
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUDiagnosticResponse")
# Simple Field (subFunction)
- write_buffer.write_unsigned_short(
- self.sub_function, bit_length=16, logical_name="subFunction"
- )
+ write_buffer.write_unsigned_short(self.sub_function,bit_length=16,logical_name="subFunction")
# Simple Field (data)
- write_buffer.write_unsigned_short(self.data, bit_length=16, logical_name="data")
+ write_buffer.write_unsigned_short(self.data,bit_length=16,logical_name="data")
write_buffer.pop_context("ModbusPDUDiagnosticResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -67,6 +67,7 @@ class ModbusPDUDiagnosticResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUDiagnosticResponse")
@@ -74,17 +75,19 @@ class ModbusPDUDiagnosticResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- sub_function: int = read_buffer.read_unsigned_short(
- logical_name="sub_function", bit_length=16, response=response
- )
- data: int = read_buffer.read_unsigned_short(
- logical_name="data", bit_length=16, response=response
- )
+ sub_function: int = read_buffer.read_unsigned_short(logical_name="sub_function", bit_length=16, response=response)
+
+
+
+ data: int = read_buffer.read_unsigned_short(logical_name="data", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUDiagnosticResponse")
# Create the instance
- return ModbusPDUDiagnosticResponseBuilder(sub_function, data)
+ return ModbusPDUDiagnosticResponseBuilder(sub_function, data )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -94,25 +97,20 @@ class ModbusPDUDiagnosticResponse(ModbusPDU):
return False
that: ModbusPDUDiagnosticResponse = ModbusPDUDiagnosticResponse(o)
- return (
- (self.sub_function == that.sub_function)
- and (self.data == that.data)
- and super().equals(that)
- and True
- )
+ return (self.sub_function == that.sub_function) and (self.data == that.data) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -120,10 +118,9 @@ class ModbusPDUDiagnosticResponseBuilder:
sub_function: int
data: int
- def build(
- self,
- ) -> ModbusPDUDiagnosticResponse:
- modbus_pdudiagnostic_response: ModbusPDUDiagnosticResponse = (
- ModbusPDUDiagnosticResponse(self.sub_function, self.data)
- )
+ def build(self,) -> ModbusPDUDiagnosticResponse:
+ modbus_pdudiagnostic_response: ModbusPDUDiagnosticResponse = ModbusPDUDiagnosticResponse(self.sub_function, self.data )
return modbus_pdudiagnostic_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
index db1c6b8e81..cbb107e391 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
@@ -29,8 +29,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUError(ModbusPDU):
exception_code: ModbusErrorCode
@@ -39,16 +38,17 @@ class ModbusPDUError(ModbusPDU):
function_flag: ClassVar[int] = 0
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUError")
# Simple Field (exceptionCode)
- write_buffer.write_unsigned_byte(
- self.exception_code, logical_name="exceptionCode"
- )
+ write_buffer.write_unsigned_byte(self.exception_code, logical_name="exceptionCode")
write_buffer.pop_context("ModbusPDUError")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -61,6 +61,7 @@ class ModbusPDUError(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUError")
@@ -68,16 +69,15 @@ class ModbusPDUError(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- exception_code: ModbusErrorCode = read_buffer.read_enum(
- read_function=ModbusErrorCode,
- bit_length=8,
- logical_name="exception_code",
- response=response,
- )
+
+ exception_code: ModbusErrorCode = read_buffer.read_enum(read_function=ModbusErrorCode,bit_length=8, logical_name="exception_code", response=response)
+
+
read_buffer.pop_context("ModbusPDUError")
# Create the instance
- return ModbusPDUErrorBuilder(exception_code)
+ return ModbusPDUErrorBuilder(exception_code )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -87,32 +87,29 @@ class ModbusPDUError(ModbusPDU):
return False
that: ModbusPDUError = ModbusPDUError(o)
- return (
- (self.exception_code == that.exception_code)
- and super().equals(that)
- and True
- )
+ return (self.exception_code == that.exception_code) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUErrorBuilder:
exception_code: ModbusErrorCode
- def build(
- self,
- ) -> ModbusPDUError:
- modbus_pduerror: ModbusPDUError = ModbusPDUError(self.exception_code)
+ def build(self,) -> ModbusPDUError:
+ modbus_pduerror: ModbusPDUError = ModbusPDUError(self.exception_code )
return modbus_pduerror
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
index 013e4fec3f..19eb40853a 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUGetComEventCounterRequest(ModbusPDU):
# Accessors for discriminator values.
@@ -37,11 +36,14 @@ class ModbusPDUGetComEventCounterRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x0B
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUGetComEventCounterRequest")
write_buffer.pop_context("ModbusPDUGetComEventCounterRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -51,6 +53,7 @@ class ModbusPDUGetComEventCounterRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUGetComEventCounterRequest")
@@ -58,10 +61,12 @@ class ModbusPDUGetComEventCounterRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
+
read_buffer.pop_context("ModbusPDUGetComEventCounterRequest")
# Create the instance
return ModbusPDUGetComEventCounterRequestBuilder()
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -77,22 +82,21 @@ class ModbusPDUGetComEventCounterRequest(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUGetComEventCounterRequestBuilder:
- def build(
- self,
- ) -> ModbusPDUGetComEventCounterRequest:
- modbus_pduget_com_event_counter_request: ModbusPDUGetComEventCounterRequest = (
- ModbusPDUGetComEventCounterRequest()
- )
+ def build(self,) -> ModbusPDUGetComEventCounterRequest:
+ modbus_pduget_com_event_counter_request: ModbusPDUGetComEventCounterRequest = ModbusPDUGetComEventCounterRequest()
return modbus_pduget_com_event_counter_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
index 04e11662f5..3a28a3189d 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUGetComEventCounterResponse(ModbusPDU):
status: int
@@ -39,21 +38,20 @@ class ModbusPDUGetComEventCounterResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x0B
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUGetComEventCounterResponse")
# Simple Field (status)
- write_buffer.write_unsigned_short(
- self.status, bit_length=16, logical_name="status"
- )
+ write_buffer.write_unsigned_short(self.status,bit_length=16,logical_name="status")
# Simple Field (eventCount)
- write_buffer.write_unsigned_short(
- self.event_count, bit_length=16, logical_name="eventCount"
- )
+ write_buffer.write_unsigned_short(self.event_count,bit_length=16,logical_name="eventCount")
write_buffer.pop_context("ModbusPDUGetComEventCounterResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUGetComEventCounterResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUGetComEventCounterResponse")
@@ -76,17 +75,19 @@ class ModbusPDUGetComEventCounterResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- status: int = read_buffer.read_unsigned_short(
- logical_name="status", bit_length=16, response=response
- )
- event_count: int = read_buffer.read_unsigned_short(
- logical_name="event_count", bit_length=16, response=response
- )
+ status: int = read_buffer.read_unsigned_short(logical_name="status", bit_length=16, response=response)
+
+
+
+ event_count: int = read_buffer.read_unsigned_short(logical_name="event_count", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUGetComEventCounterResponse")
# Create the instance
- return ModbusPDUGetComEventCounterResponseBuilder(status, event_count)
+ return ModbusPDUGetComEventCounterResponseBuilder(status, event_count )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -95,28 +96,21 @@ class ModbusPDUGetComEventCounterResponse(ModbusPDU):
if not isinstance(o, ModbusPDUGetComEventCounterResponse):
return False
- that: ModbusPDUGetComEventCounterResponse = ModbusPDUGetComEventCounterResponse(
- o
- )
- return (
- (self.status == that.status)
- and (self.event_count == that.event_count)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUGetComEventCounterResponse = ModbusPDUGetComEventCounterResponse(o)
+ return (self.status == that.status) and (self.event_count == that.event_count) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -124,10 +118,9 @@ class ModbusPDUGetComEventCounterResponseBuilder:
status: int
event_count: int
- def build(
- self,
- ) -> ModbusPDUGetComEventCounterResponse:
- modbus_pduget_com_event_counter_response: (
- ModbusPDUGetComEventCounterResponse
- ) = ModbusPDUGetComEventCounterResponse(self.status, self.event_count)
+ def build(self,) -> ModbusPDUGetComEventCounterResponse:
+ modbus_pduget_com_event_counter_response: ModbusPDUGetComEventCounterResponse = ModbusPDUGetComEventCounterResponse(self.status, self.event_count )
return modbus_pduget_com_event_counter_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
index e185d9a61f..982f531d6a 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUGetComEventLogRequest(ModbusPDU):
# Accessors for discriminator values.
@@ -37,11 +36,14 @@ class ModbusPDUGetComEventLogRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x0C
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUGetComEventLogRequest")
write_buffer.pop_context("ModbusPDUGetComEventLogRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -51,6 +53,7 @@ class ModbusPDUGetComEventLogRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUGetComEventLogRequest")
@@ -58,10 +61,12 @@ class ModbusPDUGetComEventLogRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
+
read_buffer.pop_context("ModbusPDUGetComEventLogRequest")
# Create the instance
return ModbusPDUGetComEventLogRequestBuilder()
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -77,22 +82,21 @@ class ModbusPDUGetComEventLogRequest(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUGetComEventLogRequestBuilder:
- def build(
- self,
- ) -> ModbusPDUGetComEventLogRequest:
- modbus_pduget_com_event_log_request: ModbusPDUGetComEventLogRequest = (
- ModbusPDUGetComEventLogRequest()
- )
+ def build(self,) -> ModbusPDUGetComEventLogRequest:
+ modbus_pduget_com_event_log_request: ModbusPDUGetComEventLogRequest = ModbusPDUGetComEventLogRequest()
return modbus_pduget_com_event_log_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
index 47be82ad93..44e7895a35 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUGetComEventLogResponse(ModbusPDU):
status: int
@@ -43,33 +42,30 @@ class ModbusPDUGetComEventLogResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x0C
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUGetComEventLogResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.events)) + int(6)
+ byte_count: int = (int(len(self.events))+ int(6))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Simple Field (status)
- write_buffer.write_unsigned_short(
- self.status, bit_length=16, logical_name="status"
- )
+ write_buffer.write_unsigned_short(self.status,bit_length=16,logical_name="status")
# Simple Field (eventCount)
- write_buffer.write_unsigned_short(
- self.event_count, bit_length=16, logical_name="eventCount"
- )
+ write_buffer.write_unsigned_short(self.event_count,bit_length=16,logical_name="eventCount")
# Simple Field (messageCount)
- write_buffer.write_unsigned_short(
- self.message_count, bit_length=16, logical_name="messageCount"
- )
+ write_buffer.write_unsigned_short(self.message_count,bit_length=16,logical_name="messageCount")
# Array Field (events)
write_buffer.write_byte_array(self.events, logical_name="events")
write_buffer.pop_context("ModbusPDUGetComEventLogResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -93,8 +89,10 @@ class ModbusPDUGetComEventLogResponse(ModbusPDU):
if self.events is not None:
length_in_bits += 8 * len(self.events)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUGetComEventLogResponse")
@@ -102,34 +100,27 @@ class ModbusPDUGetComEventLogResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- status: int = read_buffer.read_unsigned_short(
- logical_name="status", bit_length=16, response=response
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ status: int = read_buffer.read_unsigned_short(logical_name="status", bit_length=16, response=response)
+
- event_count: int = read_buffer.read_unsigned_short(
- logical_name="event_count", bit_length=16, response=response
- )
- message_count: int = read_buffer.read_unsigned_short(
- logical_name="message_count", bit_length=16, response=response
- )
+ event_count: int = read_buffer.read_unsigned_short(logical_name="event_count", bit_length=16, response=response)
- events: List[Any] = read_buffer.read_array_field(
- logical_name="events",
- read_function=read_buffer.read_byte,
- count=byte_count - int(6),
- response=response,
- )
+
+
+ message_count: int = read_buffer.read_unsigned_short(logical_name="message_count", bit_length=16, response=response)
+
+
+
+ events: List[Any] = read_buffer.read_array_field(logical_name="events", read_function=read_buffer.read_byte, count=byte_count- int(6), response=response)
read_buffer.pop_context("ModbusPDUGetComEventLogResponse")
# Create the instance
- return ModbusPDUGetComEventLogResponseBuilder(
- status, event_count, message_count, events
- )
+ return ModbusPDUGetComEventLogResponseBuilder(status, event_count, message_count, events )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -139,27 +130,20 @@ class ModbusPDUGetComEventLogResponse(ModbusPDU):
return False
that: ModbusPDUGetComEventLogResponse = ModbusPDUGetComEventLogResponse(o)
- return (
- (self.status == that.status)
- and (self.event_count == that.event_count)
- and (self.message_count == that.message_count)
- and (self.events == that.events)
- and super().equals(that)
- and True
- )
+ return (self.status == that.status) and (self.event_count == that.event_count) and (self.message_count == that.message_count) and (self.events == that.events) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -169,12 +153,9 @@ class ModbusPDUGetComEventLogResponseBuilder:
message_count: int
events: List[int]
- def build(
- self,
- ) -> ModbusPDUGetComEventLogResponse:
- modbus_pduget_com_event_log_response: ModbusPDUGetComEventLogResponse = (
- ModbusPDUGetComEventLogResponse(
- self.status, self.event_count, self.message_count, self.events
- )
- )
+ def build(self,) -> ModbusPDUGetComEventLogResponse:
+ modbus_pduget_com_event_log_response: ModbusPDUGetComEventLogResponse = ModbusPDUGetComEventLogResponse(self.status, self.event_count, self.message_count, self.events )
return modbus_pduget_com_event_log_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
index 74d37ddf1b..b1760dbdfe 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUMaskWriteHoldingRegisterRequest(ModbusPDU):
reference_address: int
@@ -40,26 +39,23 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x16
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUMaskWriteHoldingRegisterRequest")
# Simple Field (referenceAddress)
- write_buffer.write_unsigned_short(
- self.reference_address, bit_length=16, logical_name="referenceAddress"
- )
+ write_buffer.write_unsigned_short(self.reference_address,bit_length=16,logical_name="referenceAddress")
# Simple Field (andMask)
- write_buffer.write_unsigned_short(
- self.and_mask, bit_length=16, logical_name="andMask"
- )
+ write_buffer.write_unsigned_short(self.and_mask,bit_length=16,logical_name="andMask")
# Simple Field (orMask)
- write_buffer.write_unsigned_short(
- self.or_mask, bit_length=16, logical_name="orMask"
- )
+ write_buffer.write_unsigned_short(self.or_mask,bit_length=16,logical_name="orMask")
write_buffer.pop_context("ModbusPDUMaskWriteHoldingRegisterRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -78,6 +74,7 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUMaskWriteHoldingRegisterRequest")
@@ -85,23 +82,23 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- reference_address: int = read_buffer.read_unsigned_short(
- logical_name="reference_address", bit_length=16, response=response
- )
- and_mask: int = read_buffer.read_unsigned_short(
- logical_name="and_mask", bit_length=16, response=response
- )
+ reference_address: int = read_buffer.read_unsigned_short(logical_name="reference_address", bit_length=16, response=response)
+
+
+
+ and_mask: int = read_buffer.read_unsigned_short(logical_name="and_mask", bit_length=16, response=response)
+
+
+
+ or_mask: int = read_buffer.read_unsigned_short(logical_name="or_mask", bit_length=16, response=response)
+
- or_mask: int = read_buffer.read_unsigned_short(
- logical_name="or_mask", bit_length=16, response=response
- )
read_buffer.pop_context("ModbusPDUMaskWriteHoldingRegisterRequest")
# Create the instance
- return ModbusPDUMaskWriteHoldingRegisterRequestBuilder(
- reference_address, and_mask, or_mask
- )
+ return ModbusPDUMaskWriteHoldingRegisterRequestBuilder(reference_address, and_mask, or_mask )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,29 +107,21 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(ModbusPDU):
if not isinstance(o, ModbusPDUMaskWriteHoldingRegisterRequest):
return False
- that: ModbusPDUMaskWriteHoldingRegisterRequest = (
- ModbusPDUMaskWriteHoldingRegisterRequest(o)
- )
- return (
- (self.reference_address == that.reference_address)
- and (self.and_mask == that.and_mask)
- and (self.or_mask == that.or_mask)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUMaskWriteHoldingRegisterRequest = ModbusPDUMaskWriteHoldingRegisterRequest(o)
+ return (self.reference_address == that.reference_address) and (self.and_mask == that.and_mask) and (self.or_mask == that.or_mask) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -141,12 +130,9 @@ class ModbusPDUMaskWriteHoldingRegisterRequestBuilder:
and_mask: int
or_mask: int
- def build(
- self,
- ) -> ModbusPDUMaskWriteHoldingRegisterRequest:
- modbus_pdumask_write_holding_register_request: (
- ModbusPDUMaskWriteHoldingRegisterRequest
- ) = ModbusPDUMaskWriteHoldingRegisterRequest(
- self.reference_address, self.and_mask, self.or_mask
- )
+ def build(self,) -> ModbusPDUMaskWriteHoldingRegisterRequest:
+ modbus_pdumask_write_holding_register_request: ModbusPDUMaskWriteHoldingRegisterRequest = ModbusPDUMaskWriteHoldingRegisterRequest(self.reference_address, self.and_mask, self.or_mask )
return modbus_pdumask_write_holding_register_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
index 6c927cc936..c1b76cb1e2 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUMaskWriteHoldingRegisterResponse(ModbusPDU):
reference_address: int
@@ -40,26 +39,23 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x16
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUMaskWriteHoldingRegisterResponse")
# Simple Field (referenceAddress)
- write_buffer.write_unsigned_short(
- self.reference_address, bit_length=16, logical_name="referenceAddress"
- )
+ write_buffer.write_unsigned_short(self.reference_address,bit_length=16,logical_name="referenceAddress")
# Simple Field (andMask)
- write_buffer.write_unsigned_short(
- self.and_mask, bit_length=16, logical_name="andMask"
- )
+ write_buffer.write_unsigned_short(self.and_mask,bit_length=16,logical_name="andMask")
# Simple Field (orMask)
- write_buffer.write_unsigned_short(
- self.or_mask, bit_length=16, logical_name="orMask"
- )
+ write_buffer.write_unsigned_short(self.or_mask,bit_length=16,logical_name="orMask")
write_buffer.pop_context("ModbusPDUMaskWriteHoldingRegisterResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -78,6 +74,7 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUMaskWriteHoldingRegisterResponse")
@@ -85,23 +82,23 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- reference_address: int = read_buffer.read_unsigned_short(
- logical_name="reference_address", bit_length=16, response=response
- )
- and_mask: int = read_buffer.read_unsigned_short(
- logical_name="and_mask", bit_length=16, response=response
- )
+ reference_address: int = read_buffer.read_unsigned_short(logical_name="reference_address", bit_length=16, response=response)
+
+
+
+ and_mask: int = read_buffer.read_unsigned_short(logical_name="and_mask", bit_length=16, response=response)
+
+
+
+ or_mask: int = read_buffer.read_unsigned_short(logical_name="or_mask", bit_length=16, response=response)
+
- or_mask: int = read_buffer.read_unsigned_short(
- logical_name="or_mask", bit_length=16, response=response
- )
read_buffer.pop_context("ModbusPDUMaskWriteHoldingRegisterResponse")
# Create the instance
- return ModbusPDUMaskWriteHoldingRegisterResponseBuilder(
- reference_address, and_mask, or_mask
- )
+ return ModbusPDUMaskWriteHoldingRegisterResponseBuilder(reference_address, and_mask, or_mask )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,29 +107,21 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(ModbusPDU):
if not isinstance(o, ModbusPDUMaskWriteHoldingRegisterResponse):
return False
- that: ModbusPDUMaskWriteHoldingRegisterResponse = (
- ModbusPDUMaskWriteHoldingRegisterResponse(o)
- )
- return (
- (self.reference_address == that.reference_address)
- and (self.and_mask == that.and_mask)
- and (self.or_mask == that.or_mask)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUMaskWriteHoldingRegisterResponse = ModbusPDUMaskWriteHoldingRegisterResponse(o)
+ return (self.reference_address == that.reference_address) and (self.and_mask == that.and_mask) and (self.or_mask == that.or_mask) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -141,12 +130,9 @@ class ModbusPDUMaskWriteHoldingRegisterResponseBuilder:
and_mask: int
or_mask: int
- def build(
- self,
- ) -> ModbusPDUMaskWriteHoldingRegisterResponse:
- modbus_pdumask_write_holding_register_response: (
- ModbusPDUMaskWriteHoldingRegisterResponse
- ) = ModbusPDUMaskWriteHoldingRegisterResponse(
- self.reference_address, self.and_mask, self.or_mask
- )
+ def build(self,) -> ModbusPDUMaskWriteHoldingRegisterResponse:
+ modbus_pdumask_write_holding_register_response: ModbusPDUMaskWriteHoldingRegisterResponse = ModbusPDUMaskWriteHoldingRegisterResponse(self.reference_address, self.and_mask, self.or_mask )
return modbus_pdumask_write_holding_register_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
index 0ca0b2c92a..f1b47e43f4 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadCoilsRequest(ModbusPDU):
starting_address: int
@@ -39,21 +38,20 @@ class ModbusPDUReadCoilsRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x01
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadCoilsRequest")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
write_buffer.pop_context("ModbusPDUReadCoilsRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUReadCoilsRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadCoilsRequest")
@@ -76,17 +75,19 @@ class ModbusPDUReadCoilsRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
+
+
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUReadCoilsRequest")
# Create the instance
- return ModbusPDUReadCoilsRequestBuilder(starting_address, quantity)
+ return ModbusPDUReadCoilsRequestBuilder(starting_address, quantity )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -96,25 +97,20 @@ class ModbusPDUReadCoilsRequest(ModbusPDU):
return False
that: ModbusPDUReadCoilsRequest = ModbusPDUReadCoilsRequest(o)
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and super().equals(that)
- and True
- )
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -122,10 +118,9 @@ class ModbusPDUReadCoilsRequestBuilder:
starting_address: int
quantity: int
- def build(
- self,
- ) -> ModbusPDUReadCoilsRequest:
- modbus_pduread_coils_request: ModbusPDUReadCoilsRequest = (
- ModbusPDUReadCoilsRequest(self.starting_address, self.quantity)
- )
+ def build(self,) -> ModbusPDUReadCoilsRequest:
+ modbus_pduread_coils_request: ModbusPDUReadCoilsRequest = ModbusPDUReadCoilsRequest(self.starting_address, self.quantity )
return modbus_pduread_coils_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
index 2f08efdc1a..e9aa350788 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadCoilsResponse(ModbusPDU):
value: List[int]
@@ -40,11 +39,13 @@ class ModbusPDUReadCoilsResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x01
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadCoilsResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -52,6 +53,7 @@ class ModbusPDUReadCoilsResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadCoilsResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -66,8 +68,10 @@ class ModbusPDUReadCoilsResponse(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadCoilsResponse")
@@ -75,20 +79,15 @@ class ModbusPDUReadCoilsResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadCoilsResponse")
# Create the instance
- return ModbusPDUReadCoilsResponseBuilder(value)
+ return ModbusPDUReadCoilsResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -105,23 +104,22 @@ class ModbusPDUReadCoilsResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadCoilsResponseBuilder:
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadCoilsResponse:
- modbus_pduread_coils_response: ModbusPDUReadCoilsResponse = (
- ModbusPDUReadCoilsResponse(self.value)
- )
+ def build(self,) -> ModbusPDUReadCoilsResponse:
+ modbus_pduread_coils_response: ModbusPDUReadCoilsResponse = ModbusPDUReadCoilsResponse(self.value )
return modbus_pduread_coils_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
index ff2838f131..6b1a6cc95b 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
@@ -23,16 +23,13 @@ from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
-from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationLevel import (
- ModbusDeviceInformationLevel,
-)
+from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationLevel import ModbusDeviceInformationLevel
from plc4py.protocols.modbus.readwrite.ModbusPDU import ModbusPDU
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
level: ModbusDeviceInformationLevel
@@ -43,6 +40,8 @@ class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x2B
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadDeviceIdentificationRequest")
@@ -53,12 +52,11 @@ class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
write_buffer.write_unsigned_byte(self.level, logical_name="level")
# Simple Field (objectId)
- write_buffer.write_unsigned_byte(
- self.object_id, bit_length=8, logical_name="objectId"
- )
+ write_buffer.write_unsigned_byte(self.object_id,bit_length=8,logical_name="objectId")
write_buffer.pop_context("ModbusPDUReadDeviceIdentificationRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -77,6 +75,7 @@ class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadDeviceIdentificationRequest")
@@ -84,24 +83,21 @@ class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- MEI_TYPE: int = read_buffer.read_unsigned_byte(
- logical_name="mei_type", response=response
- )
- level: ModbusDeviceInformationLevel = read_buffer.read_enum(
- read_function=ModbusDeviceInformationLevel,
- bit_length=8,
- logical_name="level",
- response=response,
- )
+ MEI_TYPE: int = read_buffer.read_unsigned_byte(logical_name="mei_type", response=response)
+
+ level: ModbusDeviceInformationLevel = read_buffer.read_enum(read_function=ModbusDeviceInformationLevel,bit_length=8, logical_name="level", response=response)
+
+
+
+ object_id: int = read_buffer.read_unsigned_byte(logical_name="object_id", bit_length=8, response=response)
+
- object_id: int = read_buffer.read_unsigned_byte(
- logical_name="object_id", bit_length=8, response=response
- )
read_buffer.pop_context("ModbusPDUReadDeviceIdentificationRequest")
# Create the instance
- return ModbusPDUReadDeviceIdentificationRequestBuilder(level, object_id)
+ return ModbusPDUReadDeviceIdentificationRequestBuilder(level, object_id )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,28 +106,21 @@ class ModbusPDUReadDeviceIdentificationRequest(ModbusPDU):
if not isinstance(o, ModbusPDUReadDeviceIdentificationRequest):
return False
- that: ModbusPDUReadDeviceIdentificationRequest = (
- ModbusPDUReadDeviceIdentificationRequest(o)
- )
- return (
- (self.level == that.level)
- and (self.object_id == that.object_id)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUReadDeviceIdentificationRequest = ModbusPDUReadDeviceIdentificationRequest(o)
+ return (self.level == that.level) and (self.object_id == that.object_id) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -139,10 +128,9 @@ class ModbusPDUReadDeviceIdentificationRequestBuilder:
level: ModbusDeviceInformationLevel
object_id: int
- def build(
- self,
- ) -> ModbusPDUReadDeviceIdentificationRequest:
- modbus_pduread_device_identification_request: (
- ModbusPDUReadDeviceIdentificationRequest
- ) = ModbusPDUReadDeviceIdentificationRequest(self.level, self.object_id)
+ def build(self,) -> ModbusPDUReadDeviceIdentificationRequest:
+ modbus_pduread_device_identification_request: ModbusPDUReadDeviceIdentificationRequest = ModbusPDUReadDeviceIdentificationRequest(self.level, self.object_id )
return modbus_pduread_device_identification_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
index 5b14e8da36..aca7d6a74f 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
@@ -23,18 +23,10 @@ from distutils.util import strtobool
from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
-from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationConformityLevel import (
- ModbusDeviceInformationConformityLevel,
-)
-from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationLevel import (
- ModbusDeviceInformationLevel,
-)
-from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationMoreFollows import (
- ModbusDeviceInformationMoreFollows,
-)
-from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationObject import (
- ModbusDeviceInformationObject,
-)
+from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationConformityLevel import ModbusDeviceInformationConformityLevel
+from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationLevel import ModbusDeviceInformationLevel
+from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationMoreFollows import ModbusDeviceInformationMoreFollows
+from plc4py.protocols.modbus.readwrite.ModbusDeviceInformationObject import ModbusDeviceInformationObject
from plc4py.protocols.modbus.readwrite.ModbusPDU import ModbusPDU
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
@@ -42,8 +34,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
level: ModbusDeviceInformationLevel
@@ -58,6 +49,8 @@ class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x2B
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadDeviceIdentificationResponse")
@@ -68,34 +61,27 @@ class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
write_buffer.write_unsigned_byte(self.level, logical_name="level")
# Simple Field (individualAccess)
- write_buffer.write_bit(
- self.individual_access, bit_length=1, logical_name="individualAccess"
- )
+ write_buffer.write_bit(self.individual_access,bit_length=1,logical_name="individualAccess")
# Simple Field (conformityLevel)
- write_buffer.write_unsigned_byte(
- self.conformity_level, logical_name="conformityLevel"
- )
+ write_buffer.write_unsigned_byte(self.conformity_level, logical_name="conformityLevel")
# Simple Field (moreFollows)
write_buffer.write_unsigned_byte(self.more_follows, logical_name="moreFollows")
# Simple Field (nextObjectId)
- write_buffer.write_unsigned_byte(
- self.next_object_id, bit_length=8, logical_name="nextObjectId"
- )
+ write_buffer.write_unsigned_byte(self.next_object_id,bit_length=8,logical_name="nextObjectId")
# Implicit Field (number_of_objects) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- number_of_objects: int = int(len(self.objects))
- write_buffer.write_unsigned_byte(
- number_of_objects, logical_name="number_of_objects"
- )
+ number_of_objects: int = (int(len(self.objects)))
+ write_buffer.write_unsigned_byte(number_of_objects, logical_name="number_of_objects")
# Array Field (objects)
write_buffer.write_complex_array(self.objects, logical_name="objects")
write_buffer.pop_context("ModbusPDUReadDeviceIdentificationResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -129,8 +115,11 @@ class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
for element in self.objects:
length_in_bits += element.length_in_bits()
+
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadDeviceIdentificationResponse")
@@ -138,62 +127,37 @@ class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- MEI_TYPE: int = read_buffer.read_unsigned_byte(
- logical_name="mei_type", response=response
- )
-
- level: ModbusDeviceInformationLevel = read_buffer.read_enum(
- read_function=ModbusDeviceInformationLevel,
- bit_length=8,
- logical_name="level",
- response=response,
- )
-
- individual_access: bool = read_buffer.read_bit(
- logical_name="individual_access", bit_length=1, response=response
- )
-
- conformity_level: ModbusDeviceInformationConformityLevel = (
- read_buffer.read_enum(
- read_function=ModbusDeviceInformationConformityLevel,
- bit_length=7,
- logical_name="conformity_level",
- response=response,
- )
- )
-
- more_follows: ModbusDeviceInformationMoreFollows = read_buffer.read_enum(
- read_function=ModbusDeviceInformationMoreFollows,
- bit_length=8,
- logical_name="more_follows",
- response=response,
- )
-
- next_object_id: int = read_buffer.read_unsigned_byte(
- logical_name="next_object_id", bit_length=8, response=response
- )
-
- number_of_objects: int = read_buffer.read_unsigned_byte(
- logical_name="number_of_objects", response=response
- )
-
- objects: List[Any] = read_buffer.read_array_field(
- logical_name="objects",
- read_function=ModbusDeviceInformationObject.static_parse,
- count=number_of_objects,
- response=response,
- )
+
+ MEI_TYPE: int = read_buffer.read_unsigned_byte(logical_name="mei_type", response=response)
+
+ level: ModbusDeviceInformationLevel = read_buffer.read_enum(read_function=ModbusDeviceInformationLevel,bit_length=8, logical_name="level", response=response)
+
+
+
+ individual_access: bool = read_buffer.read_bit(logical_name="individual_access", bit_length=1, response=response)
+
+
+
+ conformity_level: ModbusDeviceInformationConformityLevel = read_buffer.read_enum(read_function=ModbusDeviceInformationConformityLevel,bit_length=7, logical_name="conformity_level", response=response)
+
+
+
+ more_follows: ModbusDeviceInformationMoreFollows = read_buffer.read_enum(read_function=ModbusDeviceInformationMoreFollows,bit_length=8, logical_name="more_follows", response=response)
+
+
+
+ next_object_id: int = read_buffer.read_unsigned_byte(logical_name="next_object_id", bit_length=8, response=response)
+
+
+
+ number_of_objects: int = read_buffer.read_unsigned_byte(logical_name="number_of_objects", response=response)
+
+ objects: List[Any] = read_buffer.read_array_field(logical_name="objects", read_function=ModbusDeviceInformationObject.static_parse, count=number_of_objects, response=response)
read_buffer.pop_context("ModbusPDUReadDeviceIdentificationResponse")
# Create the instance
- return ModbusPDUReadDeviceIdentificationResponseBuilder(
- level,
- individual_access,
- conformity_level,
- more_follows,
- next_object_id,
- objects,
- )
+ return ModbusPDUReadDeviceIdentificationResponseBuilder(level, individual_access, conformity_level, more_follows, next_object_id, objects )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -202,32 +166,21 @@ class ModbusPDUReadDeviceIdentificationResponse(ModbusPDU):
if not isinstance(o, ModbusPDUReadDeviceIdentificationResponse):
return False
- that: ModbusPDUReadDeviceIdentificationResponse = (
- ModbusPDUReadDeviceIdentificationResponse(o)
- )
- return (
- (self.level == that.level)
- and (self.individual_access == that.individual_access)
- and (self.conformity_level == that.conformity_level)
- and (self.more_follows == that.more_follows)
- and (self.next_object_id == that.next_object_id)
- and (self.objects == that.objects)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUReadDeviceIdentificationResponse = ModbusPDUReadDeviceIdentificationResponse(o)
+ return (self.level == that.level) and (self.individual_access == that.individual_access) and (self.conformity_level == that.conformity_level) and (self.more_follows == that.more_follows) and (self.next_object_id == that.next_object_id) and (self.objects == that.objects) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -239,17 +192,9 @@ class ModbusPDUReadDeviceIdentificationResponseBuilder:
next_object_id: int
objects: List[ModbusDeviceInformationObject]
- def build(
- self,
- ) -> ModbusPDUReadDeviceIdentificationResponse:
- modbus_pduread_device_identification_response: (
- ModbusPDUReadDeviceIdentificationResponse
- ) = ModbusPDUReadDeviceIdentificationResponse(
- self.level,
- self.individual_access,
- self.conformity_level,
- self.more_follows,
- self.next_object_id,
- self.objects,
- )
+ def build(self,) -> ModbusPDUReadDeviceIdentificationResponse:
+ modbus_pduread_device_identification_response: ModbusPDUReadDeviceIdentificationResponse = ModbusPDUReadDeviceIdentificationResponse(self.level, self.individual_access, self.conformity_level, self.more_follows, self.next_object_id, self.objects )
return modbus_pduread_device_identification_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
index d4b0be0067..228ca5cd93 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadDiscreteInputsRequest(ModbusPDU):
starting_address: int
@@ -39,21 +38,20 @@ class ModbusPDUReadDiscreteInputsRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x02
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadDiscreteInputsRequest")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
write_buffer.pop_context("ModbusPDUReadDiscreteInputsRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUReadDiscreteInputsRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadDiscreteInputsRequest")
@@ -76,17 +75,19 @@ class ModbusPDUReadDiscreteInputsRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
+
+
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUReadDiscreteInputsRequest")
# Create the instance
- return ModbusPDUReadDiscreteInputsRequestBuilder(starting_address, quantity)
+ return ModbusPDUReadDiscreteInputsRequestBuilder(starting_address, quantity )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -96,25 +97,20 @@ class ModbusPDUReadDiscreteInputsRequest(ModbusPDU):
return False
that: ModbusPDUReadDiscreteInputsRequest = ModbusPDUReadDiscreteInputsRequest(o)
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and super().equals(that)
- and True
- )
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -122,10 +118,9 @@ class ModbusPDUReadDiscreteInputsRequestBuilder:
starting_address: int
quantity: int
- def build(
- self,
- ) -> ModbusPDUReadDiscreteInputsRequest:
- modbus_pduread_discrete_inputs_request: ModbusPDUReadDiscreteInputsRequest = (
- ModbusPDUReadDiscreteInputsRequest(self.starting_address, self.quantity)
- )
+ def build(self,) -> ModbusPDUReadDiscreteInputsRequest:
+ modbus_pduread_discrete_inputs_request: ModbusPDUReadDiscreteInputsRequest = ModbusPDUReadDiscreteInputsRequest(self.starting_address, self.quantity )
return modbus_pduread_discrete_inputs_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
index 530fdea951..57726d5ca2 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
value: List[int]
@@ -40,11 +39,13 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x02
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadDiscreteInputsResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -52,6 +53,7 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadDiscreteInputsResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -66,8 +68,10 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadDiscreteInputsResponse")
@@ -75,20 +79,15 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadDiscreteInputsResponse")
# Create the instance
- return ModbusPDUReadDiscreteInputsResponseBuilder(value)
+ return ModbusPDUReadDiscreteInputsResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -97,9 +96,7 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
if not isinstance(o, ModbusPDUReadDiscreteInputsResponse):
return False
- that: ModbusPDUReadDiscreteInputsResponse = ModbusPDUReadDiscreteInputsResponse(
- o
- )
+ that: ModbusPDUReadDiscreteInputsResponse = ModbusPDUReadDiscreteInputsResponse(o)
return (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
@@ -107,23 +104,22 @@ class ModbusPDUReadDiscreteInputsResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadDiscreteInputsResponseBuilder:
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadDiscreteInputsResponse:
- modbus_pduread_discrete_inputs_response: ModbusPDUReadDiscreteInputsResponse = (
- ModbusPDUReadDiscreteInputsResponse(self.value)
- )
+ def build(self,) -> ModbusPDUReadDiscreteInputsResponse:
+ modbus_pduread_discrete_inputs_response: ModbusPDUReadDiscreteInputsResponse = ModbusPDUReadDiscreteInputsResponse(self.value )
return modbus_pduread_discrete_inputs_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
index e209eb7095..eb44ec5086 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
# Accessors for discriminator values.
@@ -37,11 +36,14 @@ class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x07
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadExceptionStatusRequest")
write_buffer.pop_context("ModbusPDUReadExceptionStatusRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -51,6 +53,7 @@ class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadExceptionStatusRequest")
@@ -58,10 +61,12 @@ class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
+
read_buffer.pop_context("ModbusPDUReadExceptionStatusRequest")
# Create the instance
return ModbusPDUReadExceptionStatusRequestBuilder()
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -69,9 +74,7 @@ class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
if not isinstance(o, ModbusPDUReadExceptionStatusRequest):
return False
- that: ModbusPDUReadExceptionStatusRequest = ModbusPDUReadExceptionStatusRequest(
- o
- )
+ that: ModbusPDUReadExceptionStatusRequest = ModbusPDUReadExceptionStatusRequest(o)
return super().equals(that) and True
def hash_code(self) -> int:
@@ -79,22 +82,21 @@ class ModbusPDUReadExceptionStatusRequest(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadExceptionStatusRequestBuilder:
- def build(
- self,
- ) -> ModbusPDUReadExceptionStatusRequest:
- modbus_pduread_exception_status_request: ModbusPDUReadExceptionStatusRequest = (
- ModbusPDUReadExceptionStatusRequest()
- )
+ def build(self,) -> ModbusPDUReadExceptionStatusRequest:
+ modbus_pduread_exception_status_request: ModbusPDUReadExceptionStatusRequest = ModbusPDUReadExceptionStatusRequest()
return modbus_pduread_exception_status_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
index 9a4e0aaaca..5f3130d191 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
value: int
@@ -38,14 +37,17 @@ class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x07
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadExceptionStatusResponse")
# Simple Field (value)
- write_buffer.write_unsigned_byte(self.value, bit_length=8, logical_name="value")
+ write_buffer.write_unsigned_byte(self.value,bit_length=8,logical_name="value")
write_buffer.pop_context("ModbusPDUReadExceptionStatusResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -58,6 +60,7 @@ class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadExceptionStatusResponse")
@@ -65,13 +68,15 @@ class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- value: int = read_buffer.read_unsigned_byte(
- logical_name="value", bit_length=8, response=response
- )
+
+ value: int = read_buffer.read_unsigned_byte(logical_name="value", bit_length=8, response=response)
+
+
read_buffer.pop_context("ModbusPDUReadExceptionStatusResponse")
# Create the instance
- return ModbusPDUReadExceptionStatusResponseBuilder(value)
+ return ModbusPDUReadExceptionStatusResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -80,9 +85,7 @@ class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
if not isinstance(o, ModbusPDUReadExceptionStatusResponse):
return False
- that: ModbusPDUReadExceptionStatusResponse = (
- ModbusPDUReadExceptionStatusResponse(o)
- )
+ that: ModbusPDUReadExceptionStatusResponse = ModbusPDUReadExceptionStatusResponse(o)
return (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
@@ -90,23 +93,22 @@ class ModbusPDUReadExceptionStatusResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadExceptionStatusResponseBuilder:
value: int
- def build(
- self,
- ) -> ModbusPDUReadExceptionStatusResponse:
- modbus_pduread_exception_status_response: (
- ModbusPDUReadExceptionStatusResponse
- ) = ModbusPDUReadExceptionStatusResponse(self.value)
+ def build(self,) -> ModbusPDUReadExceptionStatusResponse:
+ modbus_pduread_exception_status_response: ModbusPDUReadExceptionStatusResponse = ModbusPDUReadExceptionStatusResponse(self.value )
return modbus_pduread_exception_status_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
index 5731478e4b..a214a67d5c 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadFifoQueueRequest(ModbusPDU):
fifo_pointer_address: int
@@ -38,16 +37,17 @@ class ModbusPDUReadFifoQueueRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x18
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadFifoQueueRequest")
# Simple Field (fifoPointerAddress)
- write_buffer.write_unsigned_short(
- self.fifo_pointer_address, bit_length=16, logical_name="fifoPointerAddress"
- )
+ write_buffer.write_unsigned_short(self.fifo_pointer_address,bit_length=16,logical_name="fifoPointerAddress")
write_buffer.pop_context("ModbusPDUReadFifoQueueRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -60,6 +60,7 @@ class ModbusPDUReadFifoQueueRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadFifoQueueRequest")
@@ -67,13 +68,15 @@ class ModbusPDUReadFifoQueueRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- fifo_pointer_address: int = read_buffer.read_unsigned_short(
- logical_name="fifo_pointer_address", bit_length=16, response=response
- )
+
+ fifo_pointer_address: int = read_buffer.read_unsigned_short(logical_name="fifo_pointer_address", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUReadFifoQueueRequest")
# Create the instance
- return ModbusPDUReadFifoQueueRequestBuilder(fifo_pointer_address)
+ return ModbusPDUReadFifoQueueRequestBuilder(fifo_pointer_address )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -83,34 +86,29 @@ class ModbusPDUReadFifoQueueRequest(ModbusPDU):
return False
that: ModbusPDUReadFifoQueueRequest = ModbusPDUReadFifoQueueRequest(o)
- return (
- (self.fifo_pointer_address == that.fifo_pointer_address)
- and super().equals(that)
- and True
- )
+ return (self.fifo_pointer_address == that.fifo_pointer_address) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadFifoQueueRequestBuilder:
fifo_pointer_address: int
- def build(
- self,
- ) -> ModbusPDUReadFifoQueueRequest:
- modbus_pduread_fifo_queue_request: ModbusPDUReadFifoQueueRequest = (
- ModbusPDUReadFifoQueueRequest(self.fifo_pointer_address)
- )
+ def build(self,) -> ModbusPDUReadFifoQueueRequest:
+ modbus_pduread_fifo_queue_request: ModbusPDUReadFifoQueueRequest = ModbusPDUReadFifoQueueRequest(self.fifo_pointer_address )
return modbus_pduread_fifo_queue_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
index 52d49ecf63..c9305901b6 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadFifoQueueResponse(ModbusPDU):
fifo_value: List[int]
@@ -40,26 +39,25 @@ class ModbusPDUReadFifoQueueResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x18
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadFifoQueueResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = (int(len(self.fifo_value)) * int(2)) + int(2)
+ byte_count: int = ((int(len(self.fifo_value))* int(2))+ int(2))
write_buffer.write_unsigned_short(byte_count, logical_name="byte_count")
# Implicit Field (fifo_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- fifo_count: int = (int(len(self.fifo_value)) * int(2)) / int(2)
+ fifo_count: int = ((int(len(self.fifo_value))* int(2))/ int(2))
write_buffer.write_unsigned_short(fifo_count, logical_name="fifo_count")
# Array Field (fifoValue)
- write_buffer.write_simple_array(
- self.fifo_value,
- write_buffer.write_unsigned_short,
- logical_name="fifo_value",
- )
+ write_buffer.write_simple_array(self.fifo_value, write_buffer.write_unsigned_short, logical_name="fifo_value")
write_buffer.pop_context("ModbusPDUReadFifoQueueResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -77,8 +75,10 @@ class ModbusPDUReadFifoQueueResponse(ModbusPDU):
if self.fifo_value is not None:
length_in_bits += 16 * len(self.fifo_value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadFifoQueueResponse")
@@ -86,24 +86,17 @@ class ModbusPDUReadFifoQueueResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_short(
- logical_name="byte_count", response=response
- )
- fifo_count: int = read_buffer.read_unsigned_short(
- logical_name="fifo_count", response=response
- )
+ byte_count: int = read_buffer.read_unsigned_short(logical_name="byte_count", response=response)
+
+ fifo_count: int = read_buffer.read_unsigned_short(logical_name="fifo_count", response=response)
- fifo_value: List[Any] = read_buffer.read_array_field(
- logical_name="fifoValue",
- read_function=read_buffer.read_unsigned_short,
- count=fifo_count,
- response=response,
- )
+ fifo_value: List[Any] = read_buffer.read_array_field(logical_name="fifoValue", read_function=read_buffer.read_unsigned_short, count=fifo_count, response=response)
read_buffer.pop_context("ModbusPDUReadFifoQueueResponse")
# Create the instance
- return ModbusPDUReadFifoQueueResponseBuilder(fifo_value)
+ return ModbusPDUReadFifoQueueResponseBuilder(fifo_value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -120,23 +113,22 @@ class ModbusPDUReadFifoQueueResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadFifoQueueResponseBuilder:
fifo_value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadFifoQueueResponse:
- modbus_pduread_fifo_queue_response: ModbusPDUReadFifoQueueResponse = (
- ModbusPDUReadFifoQueueResponse(self.fifo_value)
- )
+ def build(self,) -> ModbusPDUReadFifoQueueResponse:
+ modbus_pduread_fifo_queue_response: ModbusPDUReadFifoQueueResponse = ModbusPDUReadFifoQueueResponse(self.fifo_value )
return modbus_pduread_fifo_queue_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
index 9e017d50bf..0d9128c1c5 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
@@ -24,9 +24,7 @@ from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.protocols.modbus.readwrite.ModbusPDU import ModbusPDU
-from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordRequestItem import (
- ModbusPDUReadFileRecordRequestItem,
-)
+from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordRequestItem import ModbusPDUReadFileRecordRequestItem
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.spi.values.Common import get_size_of_array
@@ -34,8 +32,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadFileRecordRequest(ModbusPDU):
items: List[ModbusPDUReadFileRecordRequestItem]
@@ -44,11 +41,13 @@ class ModbusPDUReadFileRecordRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x14
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadFileRecordRequest")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(get_size_of_array(self.items))
+ byte_count: int = (int(get_size_of_array(self.items)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (items)
@@ -56,6 +55,7 @@ class ModbusPDUReadFileRecordRequest(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadFileRecordRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -71,8 +71,11 @@ class ModbusPDUReadFileRecordRequest(ModbusPDU):
for element in self.items:
length_in_bits += element.length_in_bits()
+
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadFileRecordRequest")
@@ -80,20 +83,15 @@ class ModbusPDUReadFileRecordRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- items: List[Any] = read_buffer.read_array_field(
- logical_name="items",
- read_function=ModbusPDUReadFileRecordRequestItem.static_parse,
- length=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ items: List[Any] = read_buffer.read_array_field(logical_name="items", read_function=ModbusPDUReadFileRecordRequestItem.static_parse, length=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadFileRecordRequest")
# Create the instance
- return ModbusPDUReadFileRecordRequestBuilder(items)
+ return ModbusPDUReadFileRecordRequestBuilder(items )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,23 +108,22 @@ class ModbusPDUReadFileRecordRequest(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadFileRecordRequestBuilder:
items: List[ModbusPDUReadFileRecordRequestItem]
- def build(
- self,
- ) -> ModbusPDUReadFileRecordRequest:
- modbus_pduread_file_record_request: ModbusPDUReadFileRecordRequest = (
- ModbusPDUReadFileRecordRequest(self.items)
- )
+ def build(self,) -> ModbusPDUReadFileRecordRequest:
+ modbus_pduread_file_record_request: ModbusPDUReadFileRecordRequest = ModbusPDUReadFileRecordRequest(self.items )
return modbus_pduread_file_record_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py
index 82edeabe68..241498bb7d 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py
@@ -25,40 +25,34 @@ from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
-class ModbusPDUReadFileRecordRequestItem:
+class ModbusPDUReadFileRecordRequestItem():
reference_type: int
file_number: int
record_number: int
record_length: int
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadFileRecordRequestItem")
# Simple Field (referenceType)
- write_buffer.write_unsigned_byte(
- self.reference_type, bit_length=8, logical_name="referenceType"
- )
+ write_buffer.write_unsigned_byte(self.reference_type,bit_length=8,logical_name="referenceType")
# Simple Field (fileNumber)
- write_buffer.write_unsigned_short(
- self.file_number, bit_length=16, logical_name="fileNumber"
- )
+ write_buffer.write_unsigned_short(self.file_number,bit_length=16,logical_name="fileNumber")
# Simple Field (recordNumber)
- write_buffer.write_unsigned_short(
- self.record_number, bit_length=16, logical_name="recordNumber"
- )
+ write_buffer.write_unsigned_short(self.record_number,bit_length=16,logical_name="recordNumber")
# Simple Field (recordLength)
- write_buffer.write_unsigned_short(
- self.record_length, bit_length=16, logical_name="recordLength"
- )
+ write_buffer.write_unsigned_short(self.record_length,bit_length=16,logical_name="recordLength")
write_buffer.pop_context("ModbusPDUReadFileRecordRequestItem")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -80,39 +74,40 @@ class ModbusPDUReadFileRecordRequestItem:
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusPDUReadFileRecordRequestItem.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusPDUReadFileRecordRequestItem")
- reference_type: int = read_buffer.read_unsigned_byte(
- logical_name="reference_type", bit_length=8
- )
- file_number: int = read_buffer.read_unsigned_short(
- logical_name="file_number", bit_length=16
- )
- record_number: int = read_buffer.read_unsigned_short(
- logical_name="record_number", bit_length=16
- )
+ reference_type: int = read_buffer.read_unsigned_byte(logical_name="reference_type", bit_length=8)
+
+
+
+ file_number: int = read_buffer.read_unsigned_short(logical_name="file_number", bit_length=16)
+
+
+
+ record_number: int = read_buffer.read_unsigned_short(logical_name="record_number", bit_length=16)
+
+
+
+ record_length: int = read_buffer.read_unsigned_short(logical_name="record_length", bit_length=16)
+
- record_length: int = read_buffer.read_unsigned_short(
- logical_name="record_length", bit_length=16
- )
read_buffer.pop_context("ModbusPDUReadFileRecordRequestItem")
# Create the instance
- _modbus_pduread_file_record_request_item: ModbusPDUReadFileRecordRequestItem = (
- ModbusPDUReadFileRecordRequestItem(
- reference_type, file_number, record_number, record_length
- )
- )
+ _modbus_pduread_file_record_request_item: ModbusPDUReadFileRecordRequestItem = ModbusPDUReadFileRecordRequestItem(reference_type, file_number, record_number, record_length )
return _modbus_pduread_file_record_request_item
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -121,23 +116,21 @@ class ModbusPDUReadFileRecordRequestItem:
return False
that: ModbusPDUReadFileRecordRequestItem = ModbusPDUReadFileRecordRequestItem(o)
- return (
- (self.reference_type == that.reference_type)
- and (self.file_number == that.file_number)
- and (self.record_number == that.record_number)
- and (self.record_length == that.record_length)
- and True
- )
+ return (self.reference_type == that.reference_type) and (self.file_number == that.file_number) and (self.record_number == that.record_number) and (self.record_length == that.record_length) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
index 1b5f16b572..ce7ee2546e 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
@@ -24,9 +24,7 @@ from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.protocols.modbus.readwrite.ModbusPDU import ModbusPDU
-from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordResponseItem import (
- ModbusPDUReadFileRecordResponseItem,
-)
+from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordResponseItem import ModbusPDUReadFileRecordResponseItem
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.spi.values.Common import get_size_of_array
@@ -34,8 +32,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadFileRecordResponse(ModbusPDU):
items: List[ModbusPDUReadFileRecordResponseItem]
@@ -44,11 +41,13 @@ class ModbusPDUReadFileRecordResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x14
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadFileRecordResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(get_size_of_array(self.items))
+ byte_count: int = (int(get_size_of_array(self.items)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (items)
@@ -56,6 +55,7 @@ class ModbusPDUReadFileRecordResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadFileRecordResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -71,8 +71,11 @@ class ModbusPDUReadFileRecordResponse(ModbusPDU):
for element in self.items:
length_in_bits += element.length_in_bits()
+
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadFileRecordResponse")
@@ -80,20 +83,15 @@ class ModbusPDUReadFileRecordResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- items: List[Any] = read_buffer.read_array_field(
- logical_name="items",
- read_function=ModbusPDUReadFileRecordResponseItem.static_parse,
- length=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ items: List[Any] = read_buffer.read_array_field(logical_name="items", read_function=ModbusPDUReadFileRecordResponseItem.static_parse, length=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadFileRecordResponse")
# Create the instance
- return ModbusPDUReadFileRecordResponseBuilder(items)
+ return ModbusPDUReadFileRecordResponseBuilder(items )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,23 +108,22 @@ class ModbusPDUReadFileRecordResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadFileRecordResponseBuilder:
items: List[ModbusPDUReadFileRecordResponseItem]
- def build(
- self,
- ) -> ModbusPDUReadFileRecordResponse:
- modbus_pduread_file_record_response: ModbusPDUReadFileRecordResponse = (
- ModbusPDUReadFileRecordResponse(self.items)
- )
+ def build(self,) -> ModbusPDUReadFileRecordResponse:
+ modbus_pduread_file_record_response: ModbusPDUReadFileRecordResponse = ModbusPDUReadFileRecordResponse(self.items )
return modbus_pduread_file_record_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py
index 33c52df5c4..93a14df8aa 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py
@@ -27,30 +27,30 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import Any
from typing import List
import math
-
-
+
@dataclass
-class ModbusPDUReadFileRecordResponseItem:
+class ModbusPDUReadFileRecordResponseItem():
reference_type: int
data: List[int]
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadFileRecordResponseItem")
# Implicit Field (data_length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- data_length: int = int(len(self.data)) + int(1)
+ data_length: int = (int(len(self.data))+ int(1))
write_buffer.write_unsigned_byte(data_length, logical_name="data_length")
# Simple Field (referenceType)
- write_buffer.write_unsigned_byte(
- self.reference_type, bit_length=8, logical_name="referenceType"
- )
+ write_buffer.write_unsigned_byte(self.reference_type,bit_length=8,logical_name="referenceType")
# Array Field (data)
write_buffer.write_byte_array(self.data, logical_name="data")
write_buffer.pop_context("ModbusPDUReadFileRecordResponseItem")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -68,35 +68,35 @@ class ModbusPDUReadFileRecordResponseItem:
if self.data is not None:
length_in_bits += 8 * len(self.data)
+
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusPDUReadFileRecordResponseItem.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusPDUReadFileRecordResponseItem")
+
+
data_length: int = read_buffer.read_unsigned_byte(logical_name="data_length")
- reference_type: int = read_buffer.read_unsigned_byte(
- logical_name="reference_type", bit_length=8
- )
+ reference_type: int = read_buffer.read_unsigned_byte(logical_name="reference_type", bit_length=8)
+
- data: List[Any] = read_buffer.read_array_field(
- logical_name="data",
- read_function=read_buffer.read_byte,
- count=data_length - int(1),
- )
+
+ data: List[Any] = read_buffer.read_array_field(logical_name="data", read_function=read_buffer.read_byte, count=data_length- int(1))
read_buffer.pop_context("ModbusPDUReadFileRecordResponseItem")
# Create the instance
- _modbus_pduread_file_record_response_item: (
- ModbusPDUReadFileRecordResponseItem
- ) = ModbusPDUReadFileRecordResponseItem(reference_type, data)
+ _modbus_pduread_file_record_response_item: ModbusPDUReadFileRecordResponseItem = ModbusPDUReadFileRecordResponseItem(reference_type, data )
return _modbus_pduread_file_record_response_item
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -104,24 +104,22 @@ class ModbusPDUReadFileRecordResponseItem:
if not isinstance(o, ModbusPDUReadFileRecordResponseItem):
return False
- that: ModbusPDUReadFileRecordResponseItem = ModbusPDUReadFileRecordResponseItem(
- o
- )
- return (
- (self.reference_type == that.reference_type)
- and (self.data == that.data)
- and True
- )
+ that: ModbusPDUReadFileRecordResponseItem = ModbusPDUReadFileRecordResponseItem(o)
+ return (self.reference_type == that.reference_type) and (self.data == that.data) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
index 59ffd92603..1c5e5dbe33 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadHoldingRegistersRequest(ModbusPDU):
starting_address: int
@@ -39,21 +38,20 @@ class ModbusPDUReadHoldingRegistersRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x03
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadHoldingRegistersRequest")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
write_buffer.pop_context("ModbusPDUReadHoldingRegistersRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUReadHoldingRegistersRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadHoldingRegistersRequest")
@@ -76,17 +75,19 @@ class ModbusPDUReadHoldingRegistersRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
+
+
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUReadHoldingRegistersRequest")
# Create the instance
- return ModbusPDUReadHoldingRegistersRequestBuilder(starting_address, quantity)
+ return ModbusPDUReadHoldingRegistersRequestBuilder(starting_address, quantity )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -95,28 +96,21 @@ class ModbusPDUReadHoldingRegistersRequest(ModbusPDU):
if not isinstance(o, ModbusPDUReadHoldingRegistersRequest):
return False
- that: ModbusPDUReadHoldingRegistersRequest = (
- ModbusPDUReadHoldingRegistersRequest(o)
- )
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUReadHoldingRegistersRequest = ModbusPDUReadHoldingRegistersRequest(o)
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -124,10 +118,9 @@ class ModbusPDUReadHoldingRegistersRequestBuilder:
starting_address: int
quantity: int
- def build(
- self,
- ) -> ModbusPDUReadHoldingRegistersRequest:
- modbus_pduread_holding_registers_request: (
- ModbusPDUReadHoldingRegistersRequest
- ) = ModbusPDUReadHoldingRegistersRequest(self.starting_address, self.quantity)
+ def build(self,) -> ModbusPDUReadHoldingRegistersRequest:
+ modbus_pduread_holding_registers_request: ModbusPDUReadHoldingRegistersRequest = ModbusPDUReadHoldingRegistersRequest(self.starting_address, self.quantity )
return modbus_pduread_holding_registers_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
index f65ccf8597..916f7d069a 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
value: List[int]
@@ -40,11 +39,13 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x03
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadHoldingRegistersResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -52,6 +53,7 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadHoldingRegistersResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -66,8 +68,10 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadHoldingRegistersResponse")
@@ -75,20 +79,15 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadHoldingRegistersResponse")
# Create the instance
- return ModbusPDUReadHoldingRegistersResponseBuilder(value)
+ return ModbusPDUReadHoldingRegistersResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -97,9 +96,7 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
if not isinstance(o, ModbusPDUReadHoldingRegistersResponse):
return False
- that: ModbusPDUReadHoldingRegistersResponse = (
- ModbusPDUReadHoldingRegistersResponse(o)
- )
+ that: ModbusPDUReadHoldingRegistersResponse = ModbusPDUReadHoldingRegistersResponse(o)
return (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
@@ -107,23 +104,22 @@ class ModbusPDUReadHoldingRegistersResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadHoldingRegistersResponseBuilder:
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadHoldingRegistersResponse:
- modbus_pduread_holding_registers_response: (
- ModbusPDUReadHoldingRegistersResponse
- ) = ModbusPDUReadHoldingRegistersResponse(self.value)
+ def build(self,) -> ModbusPDUReadHoldingRegistersResponse:
+ modbus_pduread_holding_registers_response: ModbusPDUReadHoldingRegistersResponse = ModbusPDUReadHoldingRegistersResponse(self.value )
return modbus_pduread_holding_registers_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
index 2e413e60bf..faac3a30b4 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReadInputRegistersRequest(ModbusPDU):
starting_address: int
@@ -39,21 +38,20 @@ class ModbusPDUReadInputRegistersRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x04
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadInputRegistersRequest")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
write_buffer.pop_context("ModbusPDUReadInputRegistersRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUReadInputRegistersRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadInputRegistersRequest")
@@ -76,17 +75,19 @@ class ModbusPDUReadInputRegistersRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
+
+
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUReadInputRegistersRequest")
# Create the instance
- return ModbusPDUReadInputRegistersRequestBuilder(starting_address, quantity)
+ return ModbusPDUReadInputRegistersRequestBuilder(starting_address, quantity )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -96,25 +97,20 @@ class ModbusPDUReadInputRegistersRequest(ModbusPDU):
return False
that: ModbusPDUReadInputRegistersRequest = ModbusPDUReadInputRegistersRequest(o)
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and super().equals(that)
- and True
- )
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -122,10 +118,9 @@ class ModbusPDUReadInputRegistersRequestBuilder:
starting_address: int
quantity: int
- def build(
- self,
- ) -> ModbusPDUReadInputRegistersRequest:
- modbus_pduread_input_registers_request: ModbusPDUReadInputRegistersRequest = (
- ModbusPDUReadInputRegistersRequest(self.starting_address, self.quantity)
- )
+ def build(self,) -> ModbusPDUReadInputRegistersRequest:
+ modbus_pduread_input_registers_request: ModbusPDUReadInputRegistersRequest = ModbusPDUReadInputRegistersRequest(self.starting_address, self.quantity )
return modbus_pduread_input_registers_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
index 1839af2c49..2a1d0026c2 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadInputRegistersResponse(ModbusPDU):
value: List[int]
@@ -40,11 +39,13 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x04
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadInputRegistersResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -52,6 +53,7 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadInputRegistersResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -66,8 +68,10 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadInputRegistersResponse")
@@ -75,20 +79,15 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadInputRegistersResponse")
# Create the instance
- return ModbusPDUReadInputRegistersResponseBuilder(value)
+ return ModbusPDUReadInputRegistersResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -97,9 +96,7 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
if not isinstance(o, ModbusPDUReadInputRegistersResponse):
return False
- that: ModbusPDUReadInputRegistersResponse = ModbusPDUReadInputRegistersResponse(
- o
- )
+ that: ModbusPDUReadInputRegistersResponse = ModbusPDUReadInputRegistersResponse(o)
return (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
@@ -107,23 +104,22 @@ class ModbusPDUReadInputRegistersResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadInputRegistersResponseBuilder:
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadInputRegistersResponse:
- modbus_pduread_input_registers_response: ModbusPDUReadInputRegistersResponse = (
- ModbusPDUReadInputRegistersResponse(self.value)
- )
+ def build(self,) -> ModbusPDUReadInputRegistersResponse:
+ modbus_pduread_input_registers_response: ModbusPDUReadInputRegistersResponse = ModbusPDUReadInputRegistersResponse(self.value )
return modbus_pduread_input_registers_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
index 83eec3b696..ac8ea3769d 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
read_starting_address: int
@@ -44,35 +43,25 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x17
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
# Simple Field (readStartingAddress)
- write_buffer.write_unsigned_short(
- self.read_starting_address,
- bit_length=16,
- logical_name="readStartingAddress",
- )
+ write_buffer.write_unsigned_short(self.read_starting_address,bit_length=16,logical_name="readStartingAddress")
# Simple Field (readQuantity)
- write_buffer.write_unsigned_short(
- self.read_quantity, bit_length=16, logical_name="readQuantity"
- )
+ write_buffer.write_unsigned_short(self.read_quantity,bit_length=16,logical_name="readQuantity")
# Simple Field (writeStartingAddress)
- write_buffer.write_unsigned_short(
- self.write_starting_address,
- bit_length=16,
- logical_name="writeStartingAddress",
- )
+ write_buffer.write_unsigned_short(self.write_starting_address,bit_length=16,logical_name="writeStartingAddress")
# Simple Field (writeQuantity)
- write_buffer.write_unsigned_short(
- self.write_quantity, bit_length=16, logical_name="writeQuantity"
- )
+ write_buffer.write_unsigned_short(self.write_quantity,bit_length=16,logical_name="writeQuantity")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -80,6 +69,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -106,8 +96,10 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
@@ -115,42 +107,31 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- read_starting_address: int = read_buffer.read_unsigned_short(
- logical_name="read_starting_address", bit_length=16, response=response
- )
- read_quantity: int = read_buffer.read_unsigned_short(
- logical_name="read_quantity", bit_length=16, response=response
- )
+ read_starting_address: int = read_buffer.read_unsigned_short(logical_name="read_starting_address", bit_length=16, response=response)
+
+
+
+ read_quantity: int = read_buffer.read_unsigned_short(logical_name="read_quantity", bit_length=16, response=response)
- write_starting_address: int = read_buffer.read_unsigned_short(
- logical_name="write_starting_address", bit_length=16, response=response
- )
- write_quantity: int = read_buffer.read_unsigned_short(
- logical_name="write_quantity", bit_length=16, response=response
- )
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
+ write_starting_address: int = read_buffer.read_unsigned_short(logical_name="write_starting_address", bit_length=16, response=response)
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+
+
+ write_quantity: int = read_buffer.read_unsigned_short(logical_name="write_quantity", bit_length=16, response=response)
+
+
+
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
# Create the instance
- return ModbusPDUReadWriteMultipleHoldingRegistersRequestBuilder(
- read_starting_address,
- read_quantity,
- write_starting_address,
- write_quantity,
- value,
- )
+ return ModbusPDUReadWriteMultipleHoldingRegistersRequestBuilder(read_starting_address, read_quantity, write_starting_address, write_quantity, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -159,31 +140,21 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(ModbusPDU):
if not isinstance(o, ModbusPDUReadWriteMultipleHoldingRegistersRequest):
return False
- that: ModbusPDUReadWriteMultipleHoldingRegistersRequest = (
- ModbusPDUReadWriteMultipleHoldingRegistersRequest(o)
- )
- return (
- (self.read_starting_address == that.read_starting_address)
- and (self.read_quantity == that.read_quantity)
- and (self.write_starting_address == that.write_starting_address)
- and (self.write_quantity == that.write_quantity)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUReadWriteMultipleHoldingRegistersRequest = ModbusPDUReadWriteMultipleHoldingRegistersRequest(o)
+ return (self.read_starting_address == that.read_starting_address) and (self.read_quantity == that.read_quantity) and (self.write_starting_address == that.write_starting_address) and (self.write_quantity == that.write_quantity) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -194,16 +165,9 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequestBuilder:
write_quantity: int
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadWriteMultipleHoldingRegistersRequest:
- modbus_pduread_write_multiple_holding_registers_request: (
- ModbusPDUReadWriteMultipleHoldingRegistersRequest
- ) = ModbusPDUReadWriteMultipleHoldingRegistersRequest(
- self.read_starting_address,
- self.read_quantity,
- self.write_starting_address,
- self.write_quantity,
- self.value,
- )
+ def build(self,) -> ModbusPDUReadWriteMultipleHoldingRegistersRequest:
+ modbus_pduread_write_multiple_holding_registers_request: ModbusPDUReadWriteMultipleHoldingRegistersRequest = ModbusPDUReadWriteMultipleHoldingRegistersRequest(self.read_starting_address, self.read_quantity, self.write_starting_address, self.write_quantity, self.value )
return modbus_pduread_write_multiple_holding_registers_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
index d6bc4a1202..ee8e2c2eba 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
value: List[int]
@@ -40,11 +39,13 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x17
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -52,6 +53,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -66,8 +68,10 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
@@ -75,20 +79,15 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
# Create the instance
- return ModbusPDUReadWriteMultipleHoldingRegistersResponseBuilder(value)
+ return ModbusPDUReadWriteMultipleHoldingRegistersResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -97,9 +96,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
if not isinstance(o, ModbusPDUReadWriteMultipleHoldingRegistersResponse):
return False
- that: ModbusPDUReadWriteMultipleHoldingRegistersResponse = (
- ModbusPDUReadWriteMultipleHoldingRegistersResponse(o)
- )
+ that: ModbusPDUReadWriteMultipleHoldingRegistersResponse = ModbusPDUReadWriteMultipleHoldingRegistersResponse(o)
return (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
@@ -107,23 +104,22 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReadWriteMultipleHoldingRegistersResponseBuilder:
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReadWriteMultipleHoldingRegistersResponse:
- modbus_pduread_write_multiple_holding_registers_response: (
- ModbusPDUReadWriteMultipleHoldingRegistersResponse
- ) = ModbusPDUReadWriteMultipleHoldingRegistersResponse(self.value)
+ def build(self,) -> ModbusPDUReadWriteMultipleHoldingRegistersResponse:
+ modbus_pduread_write_multiple_holding_registers_response: ModbusPDUReadWriteMultipleHoldingRegistersResponse = ModbusPDUReadWriteMultipleHoldingRegistersResponse(self.value )
return modbus_pduread_write_multiple_holding_registers_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
index 5488fff510..5775e703e9 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUReportServerIdRequest(ModbusPDU):
# Accessors for discriminator values.
@@ -37,11 +36,14 @@ class ModbusPDUReportServerIdRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x11
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReportServerIdRequest")
write_buffer.pop_context("ModbusPDUReportServerIdRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -51,6 +53,7 @@ class ModbusPDUReportServerIdRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReportServerIdRequest")
@@ -58,10 +61,12 @@ class ModbusPDUReportServerIdRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
+
read_buffer.pop_context("ModbusPDUReportServerIdRequest")
# Create the instance
return ModbusPDUReportServerIdRequestBuilder()
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -77,22 +82,21 @@ class ModbusPDUReportServerIdRequest(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReportServerIdRequestBuilder:
- def build(
- self,
- ) -> ModbusPDUReportServerIdRequest:
- modbus_pdureport_server_id_request: ModbusPDUReportServerIdRequest = (
- ModbusPDUReportServerIdRequest()
- )
+ def build(self,) -> ModbusPDUReportServerIdRequest:
+ modbus_pdureport_server_id_request: ModbusPDUReportServerIdRequest = ModbusPDUReportServerIdRequest()
return modbus_pdureport_server_id_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
index ef0521fff3..43a8f78ba6 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUReportServerIdResponse(ModbusPDU):
value: List[int]
@@ -40,11 +39,13 @@ class ModbusPDUReportServerIdResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x11
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUReportServerIdResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -52,6 +53,7 @@ class ModbusPDUReportServerIdResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUReportServerIdResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -66,8 +68,10 @@ class ModbusPDUReportServerIdResponse(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUReportServerIdResponse")
@@ -75,20 +79,15 @@ class ModbusPDUReportServerIdResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUReportServerIdResponse")
# Create the instance
- return ModbusPDUReportServerIdResponseBuilder(value)
+ return ModbusPDUReportServerIdResponseBuilder(value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -105,23 +104,22 @@ class ModbusPDUReportServerIdResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUReportServerIdResponseBuilder:
value: List[int]
- def build(
- self,
- ) -> ModbusPDUReportServerIdResponse:
- modbus_pdureport_server_id_response: ModbusPDUReportServerIdResponse = (
- ModbusPDUReportServerIdResponse(self.value)
- )
+ def build(self,) -> ModbusPDUReportServerIdResponse:
+ modbus_pdureport_server_id_response: ModbusPDUReportServerIdResponse = ModbusPDUReportServerIdResponse(self.value )
return modbus_pdureport_server_id_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
index 2ca35b44d3..6b8fe9a778 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
@@ -24,9 +24,7 @@ from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.protocols.modbus.readwrite.ModbusPDU import ModbusPDU
-from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordRequestItem import (
- ModbusPDUWriteFileRecordRequestItem,
-)
+from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordRequestItem import ModbusPDUWriteFileRecordRequestItem
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.spi.values.Common import get_size_of_array
@@ -34,8 +32,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUWriteFileRecordRequest(ModbusPDU):
items: List[ModbusPDUWriteFileRecordRequestItem]
@@ -44,11 +41,13 @@ class ModbusPDUWriteFileRecordRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x15
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteFileRecordRequest")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(get_size_of_array(self.items))
+ byte_count: int = (int(get_size_of_array(self.items)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (items)
@@ -56,6 +55,7 @@ class ModbusPDUWriteFileRecordRequest(ModbusPDU):
write_buffer.pop_context("ModbusPDUWriteFileRecordRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -71,8 +71,11 @@ class ModbusPDUWriteFileRecordRequest(ModbusPDU):
for element in self.items:
length_in_bits += element.length_in_bits()
+
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteFileRecordRequest")
@@ -80,20 +83,15 @@ class ModbusPDUWriteFileRecordRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- items: List[Any] = read_buffer.read_array_field(
- logical_name="items",
- read_function=ModbusPDUWriteFileRecordRequestItem.static_parse,
- length=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ items: List[Any] = read_buffer.read_array_field(logical_name="items", read_function=ModbusPDUWriteFileRecordRequestItem.static_parse, length=byte_count, response=response)
read_buffer.pop_context("ModbusPDUWriteFileRecordRequest")
# Create the instance
- return ModbusPDUWriteFileRecordRequestBuilder(items)
+ return ModbusPDUWriteFileRecordRequestBuilder(items )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,23 +108,22 @@ class ModbusPDUWriteFileRecordRequest(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUWriteFileRecordRequestBuilder:
items: List[ModbusPDUWriteFileRecordRequestItem]
- def build(
- self,
- ) -> ModbusPDUWriteFileRecordRequest:
- modbus_pduwrite_file_record_request: ModbusPDUWriteFileRecordRequest = (
- ModbusPDUWriteFileRecordRequest(self.items)
- )
+ def build(self,) -> ModbusPDUWriteFileRecordRequest:
+ modbus_pduwrite_file_record_request: ModbusPDUWriteFileRecordRequest = ModbusPDUWriteFileRecordRequest(self.items )
return modbus_pduwrite_file_record_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py
index 5ad57733eb..9c591347c0 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py
@@ -27,35 +27,30 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import Any
from typing import List
import math
-
-
+
@dataclass
-class ModbusPDUWriteFileRecordRequestItem:
+class ModbusPDUWriteFileRecordRequestItem():
reference_type: int
file_number: int
record_number: int
record_data: List[int]
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteFileRecordRequestItem")
# Simple Field (referenceType)
- write_buffer.write_unsigned_byte(
- self.reference_type, bit_length=8, logical_name="referenceType"
- )
+ write_buffer.write_unsigned_byte(self.reference_type,bit_length=8,logical_name="referenceType")
# Simple Field (fileNumber)
- write_buffer.write_unsigned_short(
- self.file_number, bit_length=16, logical_name="fileNumber"
- )
+ write_buffer.write_unsigned_short(self.file_number,bit_length=16,logical_name="fileNumber")
# Simple Field (recordNumber)
- write_buffer.write_unsigned_short(
- self.record_number, bit_length=16, logical_name="recordNumber"
- )
+ write_buffer.write_unsigned_short(self.record_number,bit_length=16,logical_name="recordNumber")
# Implicit Field (record_length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- record_length: int = int(len(self.record_data)) / int(2)
+ record_length: int = (int(len(self.record_data))/ int(2))
write_buffer.write_unsigned_short(record_length, logical_name="record_length")
# Array Field (recordData)
@@ -63,6 +58,7 @@ class ModbusPDUWriteFileRecordRequestItem:
write_buffer.pop_context("ModbusPDUWriteFileRecordRequestItem")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -86,47 +82,43 @@ class ModbusPDUWriteFileRecordRequestItem:
if self.record_data is not None:
length_in_bits += 8 * len(self.record_data)
+
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusPDUWriteFileRecordRequestItem.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusPDUWriteFileRecordRequestItem")
- reference_type: int = read_buffer.read_unsigned_byte(
- logical_name="reference_type", bit_length=8
- )
- file_number: int = read_buffer.read_unsigned_short(
- logical_name="file_number", bit_length=16
- )
- record_number: int = read_buffer.read_unsigned_short(
- logical_name="record_number", bit_length=16
- )
+ reference_type: int = read_buffer.read_unsigned_byte(logical_name="reference_type", bit_length=8)
+
+
+
+ file_number: int = read_buffer.read_unsigned_short(logical_name="file_number", bit_length=16)
- record_length: int = read_buffer.read_unsigned_short(
- logical_name="record_length"
- )
- record_data: List[Any] = read_buffer.read_array_field(
- logical_name="recordData",
- read_function=read_buffer.read_byte,
- count=record_length * int(2),
- )
+
+ record_number: int = read_buffer.read_unsigned_short(logical_name="record_number", bit_length=16)
+
+
+
+ record_length: int = read_buffer.read_unsigned_short(logical_name="record_length")
+
+ record_data: List[Any] = read_buffer.read_array_field(logical_name="recordData", read_function=read_buffer.read_byte, count=record_length* int(2))
read_buffer.pop_context("ModbusPDUWriteFileRecordRequestItem")
# Create the instance
- _modbus_pduwrite_file_record_request_item: (
- ModbusPDUWriteFileRecordRequestItem
- ) = ModbusPDUWriteFileRecordRequestItem(
- reference_type, file_number, record_number, record_data
- )
+ _modbus_pduwrite_file_record_request_item: ModbusPDUWriteFileRecordRequestItem = ModbusPDUWriteFileRecordRequestItem(reference_type, file_number, record_number, record_data )
return _modbus_pduwrite_file_record_request_item
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -134,26 +126,22 @@ class ModbusPDUWriteFileRecordRequestItem:
if not isinstance(o, ModbusPDUWriteFileRecordRequestItem):
return False
- that: ModbusPDUWriteFileRecordRequestItem = ModbusPDUWriteFileRecordRequestItem(
- o
- )
- return (
- (self.reference_type == that.reference_type)
- and (self.file_number == that.file_number)
- and (self.record_number == that.record_number)
- and (self.record_data == that.record_data)
- and True
- )
+ that: ModbusPDUWriteFileRecordRequestItem = ModbusPDUWriteFileRecordRequestItem(o)
+ return (self.reference_type == that.reference_type) and (self.file_number == that.file_number) and (self.record_number == that.record_number) and (self.record_data == that.record_data) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
index d016f72198..3af73fddf9 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
@@ -24,9 +24,7 @@ from plc4py.api.exceptions.exceptions import PlcRuntimeException
from plc4py.api.exceptions.exceptions import SerializationException
from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.protocols.modbus.readwrite.ModbusPDU import ModbusPDU
-from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordResponseItem import (
- ModbusPDUWriteFileRecordResponseItem,
-)
+from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordResponseItem import ModbusPDUWriteFileRecordResponseItem
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.spi.values.Common import get_size_of_array
@@ -34,8 +32,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUWriteFileRecordResponse(ModbusPDU):
items: List[ModbusPDUWriteFileRecordResponseItem]
@@ -44,11 +41,13 @@ class ModbusPDUWriteFileRecordResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x15
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteFileRecordResponse")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(get_size_of_array(self.items))
+ byte_count: int = (int(get_size_of_array(self.items)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (items)
@@ -56,6 +55,7 @@ class ModbusPDUWriteFileRecordResponse(ModbusPDU):
write_buffer.pop_context("ModbusPDUWriteFileRecordResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -71,8 +71,11 @@ class ModbusPDUWriteFileRecordResponse(ModbusPDU):
for element in self.items:
length_in_bits += element.length_in_bits()
+
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteFileRecordResponse")
@@ -80,20 +83,15 @@ class ModbusPDUWriteFileRecordResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- items: List[Any] = read_buffer.read_array_field(
- logical_name="items",
- read_function=ModbusPDUWriteFileRecordResponseItem.static_parse,
- length=byte_count,
- response=response,
- )
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ items: List[Any] = read_buffer.read_array_field(logical_name="items", read_function=ModbusPDUWriteFileRecordResponseItem.static_parse, length=byte_count, response=response)
read_buffer.pop_context("ModbusPDUWriteFileRecordResponse")
# Create the instance
- return ModbusPDUWriteFileRecordResponseBuilder(items)
+ return ModbusPDUWriteFileRecordResponseBuilder(items )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -110,23 +108,22 @@ class ModbusPDUWriteFileRecordResponse(ModbusPDU):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUWriteFileRecordResponseBuilder:
items: List[ModbusPDUWriteFileRecordResponseItem]
- def build(
- self,
- ) -> ModbusPDUWriteFileRecordResponse:
- modbus_pduwrite_file_record_response: ModbusPDUWriteFileRecordResponse = (
- ModbusPDUWriteFileRecordResponse(self.items)
- )
+ def build(self,) -> ModbusPDUWriteFileRecordResponse:
+ modbus_pduwrite_file_record_response: ModbusPDUWriteFileRecordResponse = ModbusPDUWriteFileRecordResponse(self.items )
return modbus_pduwrite_file_record_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py
index a64f30ee95..e4c910e0d3 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py
@@ -27,35 +27,30 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import Any
from typing import List
import math
-
-
+
@dataclass
-class ModbusPDUWriteFileRecordResponseItem:
+class ModbusPDUWriteFileRecordResponseItem():
reference_type: int
file_number: int
record_number: int
record_data: List[int]
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteFileRecordResponseItem")
# Simple Field (referenceType)
- write_buffer.write_unsigned_byte(
- self.reference_type, bit_length=8, logical_name="referenceType"
- )
+ write_buffer.write_unsigned_byte(self.reference_type,bit_length=8,logical_name="referenceType")
# Simple Field (fileNumber)
- write_buffer.write_unsigned_short(
- self.file_number, bit_length=16, logical_name="fileNumber"
- )
+ write_buffer.write_unsigned_short(self.file_number,bit_length=16,logical_name="fileNumber")
# Simple Field (recordNumber)
- write_buffer.write_unsigned_short(
- self.record_number, bit_length=16, logical_name="recordNumber"
- )
+ write_buffer.write_unsigned_short(self.record_number,bit_length=16,logical_name="recordNumber")
# Implicit Field (record_length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- record_length: int = int(len(self.record_data)) / int(2)
+ record_length: int = (int(len(self.record_data))/ int(2))
write_buffer.write_unsigned_short(record_length, logical_name="record_length")
# Array Field (recordData)
@@ -63,6 +58,7 @@ class ModbusPDUWriteFileRecordResponseItem:
write_buffer.pop_context("ModbusPDUWriteFileRecordResponseItem")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -86,47 +82,43 @@ class ModbusPDUWriteFileRecordResponseItem:
if self.record_data is not None:
length_in_bits += 8 * len(self.record_data)
+
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusPDUWriteFileRecordResponseItem.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusPDUWriteFileRecordResponseItem")
- reference_type: int = read_buffer.read_unsigned_byte(
- logical_name="reference_type", bit_length=8
- )
- file_number: int = read_buffer.read_unsigned_short(
- logical_name="file_number", bit_length=16
- )
- record_number: int = read_buffer.read_unsigned_short(
- logical_name="record_number", bit_length=16
- )
+ reference_type: int = read_buffer.read_unsigned_byte(logical_name="reference_type", bit_length=8)
+
+
+
+ file_number: int = read_buffer.read_unsigned_short(logical_name="file_number", bit_length=16)
- record_length: int = read_buffer.read_unsigned_short(
- logical_name="record_length"
- )
- record_data: List[Any] = read_buffer.read_array_field(
- logical_name="recordData",
- read_function=read_buffer.read_byte,
- count=record_length,
- )
+
+ record_number: int = read_buffer.read_unsigned_short(logical_name="record_number", bit_length=16)
+
+
+
+ record_length: int = read_buffer.read_unsigned_short(logical_name="record_length")
+
+ record_data: List[Any] = read_buffer.read_array_field(logical_name="recordData", read_function=read_buffer.read_byte, count=record_length)
read_buffer.pop_context("ModbusPDUWriteFileRecordResponseItem")
# Create the instance
- _modbus_pduwrite_file_record_response_item: (
- ModbusPDUWriteFileRecordResponseItem
- ) = ModbusPDUWriteFileRecordResponseItem(
- reference_type, file_number, record_number, record_data
- )
+ _modbus_pduwrite_file_record_response_item: ModbusPDUWriteFileRecordResponseItem = ModbusPDUWriteFileRecordResponseItem(reference_type, file_number, record_number, record_data )
return _modbus_pduwrite_file_record_response_item
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -134,26 +126,22 @@ class ModbusPDUWriteFileRecordResponseItem:
if not isinstance(o, ModbusPDUWriteFileRecordResponseItem):
return False
- that: ModbusPDUWriteFileRecordResponseItem = (
- ModbusPDUWriteFileRecordResponseItem(o)
- )
- return (
- (self.reference_type == that.reference_type)
- and (self.file_number == that.file_number)
- and (self.record_number == that.record_number)
- and (self.record_data == that.record_data)
- and True
- )
+ that: ModbusPDUWriteFileRecordResponseItem = ModbusPDUWriteFileRecordResponseItem(o)
+ return (self.reference_type == that.reference_type) and (self.file_number == that.file_number) and (self.record_number == that.record_number) and (self.record_data == that.record_data) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
index 0b995fd82a..44555933ea 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
starting_address: int
@@ -42,21 +41,19 @@ class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x0F
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteMultipleCoilsRequest")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -64,6 +61,7 @@ class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
write_buffer.pop_context("ModbusPDUWriteMultipleCoilsRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -84,8 +82,10 @@ class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteMultipleCoilsRequest")
@@ -93,30 +93,23 @@ class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
+
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUWriteMultipleCoilsRequest")
# Create the instance
- return ModbusPDUWriteMultipleCoilsRequestBuilder(
- starting_address, quantity, value
- )
+ return ModbusPDUWriteMultipleCoilsRequestBuilder(starting_address, quantity, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -126,26 +119,20 @@ class ModbusPDUWriteMultipleCoilsRequest(ModbusPDU):
return False
that: ModbusPDUWriteMultipleCoilsRequest = ModbusPDUWriteMultipleCoilsRequest(o)
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -154,12 +141,9 @@ class ModbusPDUWriteMultipleCoilsRequestBuilder:
quantity: int
value: List[int]
- def build(
- self,
- ) -> ModbusPDUWriteMultipleCoilsRequest:
- modbus_pduwrite_multiple_coils_request: ModbusPDUWriteMultipleCoilsRequest = (
- ModbusPDUWriteMultipleCoilsRequest(
- self.starting_address, self.quantity, self.value
- )
- )
+ def build(self,) -> ModbusPDUWriteMultipleCoilsRequest:
+ modbus_pduwrite_multiple_coils_request: ModbusPDUWriteMultipleCoilsRequest = ModbusPDUWriteMultipleCoilsRequest(self.starting_address, self.quantity, self.value )
return modbus_pduwrite_multiple_coils_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
index 430a7080fd..96fb2267c9 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUWriteMultipleCoilsResponse(ModbusPDU):
starting_address: int
@@ -39,21 +38,20 @@ class ModbusPDUWriteMultipleCoilsResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x0F
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteMultipleCoilsResponse")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
write_buffer.pop_context("ModbusPDUWriteMultipleCoilsResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUWriteMultipleCoilsResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteMultipleCoilsResponse")
@@ -76,17 +75,19 @@ class ModbusPDUWriteMultipleCoilsResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
+
+
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUWriteMultipleCoilsResponse")
# Create the instance
- return ModbusPDUWriteMultipleCoilsResponseBuilder(starting_address, quantity)
+ return ModbusPDUWriteMultipleCoilsResponseBuilder(starting_address, quantity )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -95,28 +96,21 @@ class ModbusPDUWriteMultipleCoilsResponse(ModbusPDU):
if not isinstance(o, ModbusPDUWriteMultipleCoilsResponse):
return False
- that: ModbusPDUWriteMultipleCoilsResponse = ModbusPDUWriteMultipleCoilsResponse(
- o
- )
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUWriteMultipleCoilsResponse = ModbusPDUWriteMultipleCoilsResponse(o)
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -124,10 +118,9 @@ class ModbusPDUWriteMultipleCoilsResponseBuilder:
starting_address: int
quantity: int
- def build(
- self,
- ) -> ModbusPDUWriteMultipleCoilsResponse:
- modbus_pduwrite_multiple_coils_response: ModbusPDUWriteMultipleCoilsResponse = (
- ModbusPDUWriteMultipleCoilsResponse(self.starting_address, self.quantity)
- )
+ def build(self,) -> ModbusPDUWriteMultipleCoilsResponse:
+ modbus_pduwrite_multiple_coils_response: ModbusPDUWriteMultipleCoilsResponse = ModbusPDUWriteMultipleCoilsResponse(self.starting_address, self.quantity )
return modbus_pduwrite_multiple_coils_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
index f11fc4f54a..b1425479f3 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
@@ -30,8 +30,7 @@ from typing import Any
from typing import ClassVar
from typing import List
import math
-
-
+
@dataclass
class ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
starting_address: int
@@ -42,21 +41,19 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x10
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteMultipleHoldingRegistersRequest")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
# Implicit Field (byte_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- byte_count: int = int(len(self.value))
+ byte_count: int = (int(len(self.value)))
write_buffer.write_unsigned_byte(byte_count, logical_name="byte_count")
# Array Field (value)
@@ -64,6 +61,7 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
write_buffer.pop_context("ModbusPDUWriteMultipleHoldingRegistersRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -84,8 +82,10 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
if self.value is not None:
length_in_bits += 8 * len(self.value)
+
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteMultipleHoldingRegistersRequest")
@@ -93,30 +93,23 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
- byte_count: int = read_buffer.read_unsigned_byte(
- logical_name="byte_count", response=response
- )
- value: List[Any] = read_buffer.read_array_field(
- logical_name="value",
- read_function=read_buffer.read_byte,
- count=byte_count,
- response=response,
- )
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
+
+ byte_count: int = read_buffer.read_unsigned_byte(logical_name="byte_count", response=response)
+
+ value: List[Any] = read_buffer.read_array_field(logical_name="value", read_function=read_buffer.read_byte, count=byte_count, response=response)
read_buffer.pop_context("ModbusPDUWriteMultipleHoldingRegistersRequest")
# Create the instance
- return ModbusPDUWriteMultipleHoldingRegistersRequestBuilder(
- starting_address, quantity, value
- )
+ return ModbusPDUWriteMultipleHoldingRegistersRequestBuilder(starting_address, quantity, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -125,29 +118,21 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(ModbusPDU):
if not isinstance(o, ModbusPDUWriteMultipleHoldingRegistersRequest):
return False
- that: ModbusPDUWriteMultipleHoldingRegistersRequest = (
- ModbusPDUWriteMultipleHoldingRegistersRequest(o)
- )
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUWriteMultipleHoldingRegistersRequest = ModbusPDUWriteMultipleHoldingRegistersRequest(o)
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -156,12 +141,9 @@ class ModbusPDUWriteMultipleHoldingRegistersRequestBuilder:
quantity: int
value: List[int]
- def build(
- self,
- ) -> ModbusPDUWriteMultipleHoldingRegistersRequest:
- modbus_pduwrite_multiple_holding_registers_request: (
- ModbusPDUWriteMultipleHoldingRegistersRequest
- ) = ModbusPDUWriteMultipleHoldingRegistersRequest(
- self.starting_address, self.quantity, self.value
- )
+ def build(self,) -> ModbusPDUWriteMultipleHoldingRegistersRequest:
+ modbus_pduwrite_multiple_holding_registers_request: ModbusPDUWriteMultipleHoldingRegistersRequest = ModbusPDUWriteMultipleHoldingRegistersRequest(self.starting_address, self.quantity, self.value )
return modbus_pduwrite_multiple_holding_registers_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
index fdb448a700..4be34ef889 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUWriteMultipleHoldingRegistersResponse(ModbusPDU):
starting_address: int
@@ -39,21 +38,20 @@ class ModbusPDUWriteMultipleHoldingRegistersResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x10
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteMultipleHoldingRegistersResponse")
# Simple Field (startingAddress)
- write_buffer.write_unsigned_short(
- self.starting_address, bit_length=16, logical_name="startingAddress"
- )
+ write_buffer.write_unsigned_short(self.starting_address,bit_length=16,logical_name="startingAddress")
# Simple Field (quantity)
- write_buffer.write_unsigned_short(
- self.quantity, bit_length=16, logical_name="quantity"
- )
+ write_buffer.write_unsigned_short(self.quantity,bit_length=16,logical_name="quantity")
write_buffer.pop_context("ModbusPDUWriteMultipleHoldingRegistersResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUWriteMultipleHoldingRegistersResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteMultipleHoldingRegistersResponse")
@@ -76,19 +75,19 @@ class ModbusPDUWriteMultipleHoldingRegistersResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- starting_address: int = read_buffer.read_unsigned_short(
- logical_name="starting_address", bit_length=16, response=response
- )
- quantity: int = read_buffer.read_unsigned_short(
- logical_name="quantity", bit_length=16, response=response
- )
+ starting_address: int = read_buffer.read_unsigned_short(logical_name="starting_address", bit_length=16, response=response)
+
+
+
+ quantity: int = read_buffer.read_unsigned_short(logical_name="quantity", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUWriteMultipleHoldingRegistersResponse")
# Create the instance
- return ModbusPDUWriteMultipleHoldingRegistersResponseBuilder(
- starting_address, quantity
- )
+ return ModbusPDUWriteMultipleHoldingRegistersResponseBuilder(starting_address, quantity )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -97,28 +96,21 @@ class ModbusPDUWriteMultipleHoldingRegistersResponse(ModbusPDU):
if not isinstance(o, ModbusPDUWriteMultipleHoldingRegistersResponse):
return False
- that: ModbusPDUWriteMultipleHoldingRegistersResponse = (
- ModbusPDUWriteMultipleHoldingRegistersResponse(o)
- )
- return (
- (self.starting_address == that.starting_address)
- and (self.quantity == that.quantity)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUWriteMultipleHoldingRegistersResponse = ModbusPDUWriteMultipleHoldingRegistersResponse(o)
+ return (self.starting_address == that.starting_address) and (self.quantity == that.quantity) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -126,12 +118,9 @@ class ModbusPDUWriteMultipleHoldingRegistersResponseBuilder:
starting_address: int
quantity: int
- def build(
- self,
- ) -> ModbusPDUWriteMultipleHoldingRegistersResponse:
- modbus_pduwrite_multiple_holding_registers_response: (
- ModbusPDUWriteMultipleHoldingRegistersResponse
- ) = ModbusPDUWriteMultipleHoldingRegistersResponse(
- self.starting_address, self.quantity
- )
+ def build(self,) -> ModbusPDUWriteMultipleHoldingRegistersResponse:
+ modbus_pduwrite_multiple_holding_registers_response: ModbusPDUWriteMultipleHoldingRegistersResponse = ModbusPDUWriteMultipleHoldingRegistersResponse(self.starting_address, self.quantity )
return modbus_pduwrite_multiple_holding_registers_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
index d49318ffc3..1e8223375a 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUWriteSingleCoilRequest(ModbusPDU):
address: int
@@ -39,21 +38,20 @@ class ModbusPDUWriteSingleCoilRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x05
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteSingleCoilRequest")
# Simple Field (address)
- write_buffer.write_unsigned_short(
- self.address, bit_length=16, logical_name="address"
- )
+ write_buffer.write_unsigned_short(self.address,bit_length=16,logical_name="address")
# Simple Field (value)
- write_buffer.write_unsigned_short(
- self.value, bit_length=16, logical_name="value"
- )
+ write_buffer.write_unsigned_short(self.value,bit_length=16,logical_name="value")
write_buffer.pop_context("ModbusPDUWriteSingleCoilRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUWriteSingleCoilRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteSingleCoilRequest")
@@ -76,17 +75,19 @@ class ModbusPDUWriteSingleCoilRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- address: int = read_buffer.read_unsigned_short(
- logical_name="address", bit_length=16, response=response
- )
- value: int = read_buffer.read_unsigned_short(
- logical_name="value", bit_length=16, response=response
- )
+ address: int = read_buffer.read_unsigned_short(logical_name="address", bit_length=16, response=response)
+
+
+
+ value: int = read_buffer.read_unsigned_short(logical_name="value", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUWriteSingleCoilRequest")
# Create the instance
- return ModbusPDUWriteSingleCoilRequestBuilder(address, value)
+ return ModbusPDUWriteSingleCoilRequestBuilder(address, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -96,25 +97,20 @@ class ModbusPDUWriteSingleCoilRequest(ModbusPDU):
return False
that: ModbusPDUWriteSingleCoilRequest = ModbusPDUWriteSingleCoilRequest(o)
- return (
- (self.address == that.address)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ return (self.address == that.address) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -122,10 +118,9 @@ class ModbusPDUWriteSingleCoilRequestBuilder:
address: int
value: int
- def build(
- self,
- ) -> ModbusPDUWriteSingleCoilRequest:
- modbus_pduwrite_single_coil_request: ModbusPDUWriteSingleCoilRequest = (
- ModbusPDUWriteSingleCoilRequest(self.address, self.value)
- )
+ def build(self,) -> ModbusPDUWriteSingleCoilRequest:
+ modbus_pduwrite_single_coil_request: ModbusPDUWriteSingleCoilRequest = ModbusPDUWriteSingleCoilRequest(self.address, self.value )
return modbus_pduwrite_single_coil_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
index 70b6f3295b..0e91de9660 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUWriteSingleCoilResponse(ModbusPDU):
address: int
@@ -39,21 +38,20 @@ class ModbusPDUWriteSingleCoilResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x05
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteSingleCoilResponse")
# Simple Field (address)
- write_buffer.write_unsigned_short(
- self.address, bit_length=16, logical_name="address"
- )
+ write_buffer.write_unsigned_short(self.address,bit_length=16,logical_name="address")
# Simple Field (value)
- write_buffer.write_unsigned_short(
- self.value, bit_length=16, logical_name="value"
- )
+ write_buffer.write_unsigned_short(self.value,bit_length=16,logical_name="value")
write_buffer.pop_context("ModbusPDUWriteSingleCoilResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUWriteSingleCoilResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteSingleCoilResponse")
@@ -76,17 +75,19 @@ class ModbusPDUWriteSingleCoilResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- address: int = read_buffer.read_unsigned_short(
- logical_name="address", bit_length=16, response=response
- )
- value: int = read_buffer.read_unsigned_short(
- logical_name="value", bit_length=16, response=response
- )
+ address: int = read_buffer.read_unsigned_short(logical_name="address", bit_length=16, response=response)
+
+
+
+ value: int = read_buffer.read_unsigned_short(logical_name="value", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUWriteSingleCoilResponse")
# Create the instance
- return ModbusPDUWriteSingleCoilResponseBuilder(address, value)
+ return ModbusPDUWriteSingleCoilResponseBuilder(address, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -96,25 +97,20 @@ class ModbusPDUWriteSingleCoilResponse(ModbusPDU):
return False
that: ModbusPDUWriteSingleCoilResponse = ModbusPDUWriteSingleCoilResponse(o)
- return (
- (self.address == that.address)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ return (self.address == that.address) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -122,10 +118,9 @@ class ModbusPDUWriteSingleCoilResponseBuilder:
address: int
value: int
- def build(
- self,
- ) -> ModbusPDUWriteSingleCoilResponse:
- modbus_pduwrite_single_coil_response: ModbusPDUWriteSingleCoilResponse = (
- ModbusPDUWriteSingleCoilResponse(self.address, self.value)
- )
+ def build(self,) -> ModbusPDUWriteSingleCoilResponse:
+ modbus_pduwrite_single_coil_response: ModbusPDUWriteSingleCoilResponse = ModbusPDUWriteSingleCoilResponse(self.address, self.value )
return modbus_pduwrite_single_coil_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
index 2cdf4cf549..6d3d6789bc 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUWriteSingleRegisterRequest(ModbusPDU):
address: int
@@ -39,21 +38,20 @@ class ModbusPDUWriteSingleRegisterRequest(ModbusPDU):
function_flag: ClassVar[int] = 0x06
response: ClassVar[bool] = False
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteSingleRegisterRequest")
# Simple Field (address)
- write_buffer.write_unsigned_short(
- self.address, bit_length=16, logical_name="address"
- )
+ write_buffer.write_unsigned_short(self.address,bit_length=16,logical_name="address")
# Simple Field (value)
- write_buffer.write_unsigned_short(
- self.value, bit_length=16, logical_name="value"
- )
+ write_buffer.write_unsigned_short(self.value,bit_length=16,logical_name="value")
write_buffer.pop_context("ModbusPDUWriteSingleRegisterRequest")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUWriteSingleRegisterRequest(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteSingleRegisterRequest")
@@ -76,17 +75,19 @@ class ModbusPDUWriteSingleRegisterRequest(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- address: int = read_buffer.read_unsigned_short(
- logical_name="address", bit_length=16, response=response
- )
- value: int = read_buffer.read_unsigned_short(
- logical_name="value", bit_length=16, response=response
- )
+ address: int = read_buffer.read_unsigned_short(logical_name="address", bit_length=16, response=response)
+
+
+
+ value: int = read_buffer.read_unsigned_short(logical_name="value", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUWriteSingleRegisterRequest")
# Create the instance
- return ModbusPDUWriteSingleRegisterRequestBuilder(address, value)
+ return ModbusPDUWriteSingleRegisterRequestBuilder(address, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -95,28 +96,21 @@ class ModbusPDUWriteSingleRegisterRequest(ModbusPDU):
if not isinstance(o, ModbusPDUWriteSingleRegisterRequest):
return False
- that: ModbusPDUWriteSingleRegisterRequest = ModbusPDUWriteSingleRegisterRequest(
- o
- )
- return (
- (self.address == that.address)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUWriteSingleRegisterRequest = ModbusPDUWriteSingleRegisterRequest(o)
+ return (self.address == that.address) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -124,10 +118,9 @@ class ModbusPDUWriteSingleRegisterRequestBuilder:
address: int
value: int
- def build(
- self,
- ) -> ModbusPDUWriteSingleRegisterRequest:
- modbus_pduwrite_single_register_request: ModbusPDUWriteSingleRegisterRequest = (
- ModbusPDUWriteSingleRegisterRequest(self.address, self.value)
- )
+ def build(self,) -> ModbusPDUWriteSingleRegisterRequest:
+ modbus_pduwrite_single_register_request: ModbusPDUWriteSingleRegisterRequest = ModbusPDUWriteSingleRegisterRequest(self.address, self.value )
return modbus_pduwrite_single_register_request
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
index 7e98410b2a..edf5722172 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUWriteSingleRegisterResponse(ModbusPDU):
address: int
@@ -39,21 +38,20 @@ class ModbusPDUWriteSingleRegisterResponse(ModbusPDU):
function_flag: ClassVar[int] = 0x06
response: ClassVar[bool] = True
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUWriteSingleRegisterResponse")
# Simple Field (address)
- write_buffer.write_unsigned_short(
- self.address, bit_length=16, logical_name="address"
- )
+ write_buffer.write_unsigned_short(self.address,bit_length=16,logical_name="address")
# Simple Field (value)
- write_buffer.write_unsigned_short(
- self.value, bit_length=16, logical_name="value"
- )
+ write_buffer.write_unsigned_short(self.value,bit_length=16,logical_name="value")
write_buffer.pop_context("ModbusPDUWriteSingleRegisterResponse")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -69,6 +67,7 @@ class ModbusPDUWriteSingleRegisterResponse(ModbusPDU):
return length_in_bits
+
@staticmethod
def static_parse_builder(read_buffer: ReadBuffer, response: bool):
read_buffer.push_context("ModbusPDUWriteSingleRegisterResponse")
@@ -76,17 +75,19 @@ class ModbusPDUWriteSingleRegisterResponse(ModbusPDU):
if isinstance(response, str):
response = bool(strtobool(response))
- address: int = read_buffer.read_unsigned_short(
- logical_name="address", bit_length=16, response=response
- )
- value: int = read_buffer.read_unsigned_short(
- logical_name="value", bit_length=16, response=response
- )
+ address: int = read_buffer.read_unsigned_short(logical_name="address", bit_length=16, response=response)
+
+
+
+ value: int = read_buffer.read_unsigned_short(logical_name="value", bit_length=16, response=response)
+
+
read_buffer.pop_context("ModbusPDUWriteSingleRegisterResponse")
# Create the instance
- return ModbusPDUWriteSingleRegisterResponseBuilder(address, value)
+ return ModbusPDUWriteSingleRegisterResponseBuilder(address, value )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -95,28 +96,21 @@ class ModbusPDUWriteSingleRegisterResponse(ModbusPDU):
if not isinstance(o, ModbusPDUWriteSingleRegisterResponse):
return False
- that: ModbusPDUWriteSingleRegisterResponse = (
- ModbusPDUWriteSingleRegisterResponse(o)
- )
- return (
- (self.address == that.address)
- and (self.value == that.value)
- and super().equals(that)
- and True
- )
+ that: ModbusPDUWriteSingleRegisterResponse = ModbusPDUWriteSingleRegisterResponse(o)
+ return (self.address == that.address) and (self.value == that.value) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -124,10 +118,9 @@ class ModbusPDUWriteSingleRegisterResponseBuilder:
address: int
value: int
- def build(
- self,
- ) -> ModbusPDUWriteSingleRegisterResponse:
- modbus_pduwrite_single_register_response: (
- ModbusPDUWriteSingleRegisterResponse
- ) = ModbusPDUWriteSingleRegisterResponse(self.address, self.value)
+ def build(self,) -> ModbusPDUWriteSingleRegisterResponse:
+ modbus_pduwrite_single_register_response: ModbusPDUWriteSingleRegisterResponse = ModbusPDUWriteSingleRegisterResponse(self.address, self.value )
return modbus_pduwrite_single_register_response
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
index 0a21a0cfd1..391a4f06a0 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
@@ -32,8 +32,7 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.utils.GenericTypes import ByteOrder
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusRtuADU(ModbusADU):
address: int
@@ -43,24 +42,23 @@ class ModbusRtuADU(ModbusADU):
# Accessors for discriminator values.
driver_type: ClassVar[DriverType] = DriverType.MODBUS_RTU
+
+
def serialize_modbus_adu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusRtuADU")
# Simple Field (address)
- write_buffer.write_unsigned_byte(
- self.address, bit_length=8, logical_name="address"
- )
+ write_buffer.write_unsigned_byte(self.address,bit_length=8,logical_name="address")
# Simple Field (pdu)
- write_buffer.write_serializable(self.pdu, logical_name="pdu")
+ write_buffer.write_serializable(self.pdu,logical_name="pdu")
# Checksum Field (checksum) (Calculated)
- write_buffer.write_unsigned_short(
- int(StaticHelper.rtu_crc_check(address, pdu)), logical_name="crc"
- )
+ write_buffer.write_unsigned_short(int(StaticHelper.rtu_crc_check(address, pdu)), logical_name="crc")
write_buffer.pop_context("ModbusRtuADU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -79,10 +77,9 @@ class ModbusRtuADU(ModbusADU):
return length_in_bits
+
@staticmethod
- def static_parse_builder(
- read_buffer: ReadBuffer, driver_type: DriverType, response: bool
- ):
+ def static_parse_builder(read_buffer: ReadBuffer, driver_type: DriverType, response: bool):
read_buffer.push_context("ModbusRtuADU")
if isinstance(driver_type, str):
@@ -90,32 +87,21 @@ class ModbusRtuADU(ModbusADU):
if isinstance(response, str):
response = bool(strtobool(response))
- address: int = read_buffer.read_unsigned_byte(
- logical_name="address",
- bit_length=8,
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- pdu: ModbusPDU = read_buffer.read_complex(
- read_function=ModbusPDU.static_parse,
- logical_name="pdu",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- crc: int = read_buffer.read_unsigned_short(
- logical_name="crc",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
+
+ address: int = read_buffer.read_unsigned_byte(logical_name="address", bit_length=8, byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
+
+ pdu: ModbusPDU = read_buffer.read_complex(read_function=ModbusPDU.static_parse, logical_name="pdu", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
+
+ crc: int = read_buffer.read_unsigned_short(logical_name="crc", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
read_buffer.pop_context("ModbusRtuADU")
# Create the instance
- return ModbusRtuADUBuilder(address, pdu)
+ return ModbusRtuADUBuilder(address, pdu )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -125,25 +111,20 @@ class ModbusRtuADU(ModbusADU):
return False
that: ModbusRtuADU = ModbusRtuADU(o)
- return (
- (self.address == that.address)
- and (self.pdu == that.pdu)
- and super().equals(that)
- and True
- )
+ return (self.address == that.address) and (self.pdu == that.pdu) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -151,9 +132,9 @@ class ModbusRtuADUBuilder:
address: int
pdu: ModbusPDU
- def build(
- self,
- response: bool,
- ) -> ModbusRtuADU:
- modbus_rtu_adu: ModbusRtuADU = ModbusRtuADU(response, self.address, self.pdu)
+ def build(self,response: bool , ) -> ModbusRtuADU:
+ modbus_rtu_adu: ModbusRtuADU = ModbusRtuADU(response , self.address, self.pdu )
return modbus_rtu_adu
+
+
+
diff --git a/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py b/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
index 3501ed5396..4144db5773 100644
--- a/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
+++ b/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
@@ -31,8 +31,7 @@ from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.utils.GenericTypes import ByteOrder
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusTcpADU(ModbusADU):
transaction_identifier: int
@@ -44,35 +43,30 @@ class ModbusTcpADU(ModbusADU):
# Accessors for discriminator values.
driver_type: ClassVar[DriverType] = DriverType.MODBUS_TCP
+
+
def serialize_modbus_adu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusTcpADU")
# Simple Field (transactionIdentifier)
- write_buffer.write_unsigned_short(
- self.transaction_identifier,
- bit_length=16,
- logical_name="transactionIdentifier",
- )
+ write_buffer.write_unsigned_short(self.transaction_identifier,bit_length=16,logical_name="transactionIdentifier")
# Const Field (protocolIdentifier)
- write_buffer.write_unsigned_short(
- self.PROTOCOL_IDENTIFIER, logical_name="protocolIdentifier"
- )
+ write_buffer.write_unsigned_short(self.PROTOCOL_IDENTIFIER, logical_name="protocolIdentifier")
# Implicit Field (length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- length: int = self.pdu.length_in_bytes() + int(1)
+ length: int = (self.pdu.length_in_bytes()+ int(1))
write_buffer.write_unsigned_short(length, logical_name="length")
# Simple Field (unitIdentifier)
- write_buffer.write_unsigned_byte(
- self.unit_identifier, bit_length=8, logical_name="unitIdentifier"
- )
+ write_buffer.write_unsigned_byte(self.unit_identifier,bit_length=8,logical_name="unitIdentifier")
# Simple Field (pdu)
- write_buffer.write_serializable(self.pdu, logical_name="pdu")
+ write_buffer.write_serializable(self.pdu,logical_name="pdu")
write_buffer.pop_context("ModbusTcpADU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -97,10 +91,9 @@ class ModbusTcpADU(ModbusADU):
return length_in_bits
+
@staticmethod
- def static_parse_builder(
- read_buffer: ReadBuffer, driver_type: DriverType, response: bool
- ):
+ def static_parse_builder(read_buffer: ReadBuffer, driver_type: DriverType, response: bool):
read_buffer.push_context("ModbusTcpADU")
if isinstance(driver_type, str):
@@ -108,47 +101,27 @@ class ModbusTcpADU(ModbusADU):
if isinstance(response, str):
response = bool(strtobool(response))
- transaction_identifier: int = read_buffer.read_unsigned_short(
- logical_name="transaction_identifier",
- bit_length=16,
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- PROTOCOL_IDENTIFIER: int = read_buffer.read_unsigned_short(
- logical_name="protocol_identifier",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- length: int = read_buffer.read_unsigned_short(
- logical_name="length",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- unit_identifier: int = read_buffer.read_unsigned_byte(
- logical_name="unit_identifier",
- bit_length=8,
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
-
- pdu: ModbusPDU = read_buffer.read_complex(
- read_function=ModbusPDU.static_parse,
- logical_name="pdu",
- byte_order=ByteOrder.BIG_ENDIAN,
- driver_type=driver_type,
- response=response,
- )
+
+ transaction_identifier: int = read_buffer.read_unsigned_short(logical_name="transaction_identifier", bit_length=16, byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
+
+ PROTOCOL_IDENTIFIER: int = read_buffer.read_unsigned_short(logical_name="protocol_identifier", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+ length: int = read_buffer.read_unsigned_short(logical_name="length", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+ unit_identifier: int = read_buffer.read_unsigned_byte(logical_name="unit_identifier", bit_length=8, byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
+
+ pdu: ModbusPDU = read_buffer.read_complex(read_function=ModbusPDU.static_parse, logical_name="pdu", byte_order=ByteOrder.BIG_ENDIAN, driver_type=driver_type, response=response)
+
+
read_buffer.pop_context("ModbusTcpADU")
# Create the instance
- return ModbusTcpADUBuilder(transaction_identifier, unit_identifier, pdu)
+ return ModbusTcpADUBuilder(transaction_identifier, unit_identifier, pdu )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -158,26 +131,20 @@ class ModbusTcpADU(ModbusADU):
return False
that: ModbusTcpADU = ModbusTcpADU(o)
- return (
- (self.transaction_identifier == that.transaction_identifier)
- and (self.unit_identifier == that.unit_identifier)
- and (self.pdu == that.pdu)
- and super().equals(that)
- and True
- )
+ return (self.transaction_identifier == that.transaction_identifier) and (self.unit_identifier == that.unit_identifier) and (self.pdu == that.pdu) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
@@ -186,11 +153,9 @@ class ModbusTcpADUBuilder:
unit_identifier: int
pdu: ModbusPDU
- def build(
- self,
- response: bool,
- ) -> ModbusTcpADU:
- modbus_tcp_adu: ModbusTcpADU = ModbusTcpADU(
- response, self.transaction_identifier, self.unit_identifier, self.pdu
- )
+ def build(self,response: bool , ) -> ModbusTcpADU:
+ modbus_tcp_adu: ModbusTcpADU = ModbusTcpADU(response , self.transaction_identifier, self.unit_identifier, self.pdu )
return modbus_tcp_adu
+
+
+
diff --git a/plc4py/plc4py/protocols/simulated/readwrite/DataItem.py b/plc4py/plc4py/protocols/simulated/readwrite/DataItem.py
index f5a2dc2bbf..206050997f 100644
--- a/plc4py/plc4py/protocols/simulated/readwrite/DataItem.py
+++ b/plc4py/plc4py/protocols/simulated/readwrite/DataItem.py
@@ -48,13 +48,13 @@ import math
class DataItem:
@staticmethod
def static_parse(read_buffer: ReadBuffer, data_type: str, number_of_values: int):
- if data_type == "BOOL" and number_of_values == int(1): # BOOL
+ if data_type == "BOOL" and number_of_values == int(1) : # BOOL
# Simple Field (value)
value: bool = read_buffer.read_bit("")
return PlcBOOL(value)
- if data_type == "BOOL": # List
+ if data_type == "BOOL" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -62,99 +62,95 @@ class DataItem:
for _ in range(item_count):
value.append(PlcBOOL(bool(read_buffer.read_bit(""))))
+
return PlcList(value)
- if data_type == "BYTE" and number_of_values == int(1): # BYTE
+ if data_type == "BYTE" and number_of_values == int(1) : # BYTE
# Simple Field (value)
value: int = read_buffer.read_unsigned_short(8, logical_name="")
return PlcBYTE(value)
- if data_type == "BYTE": # List
+ if data_type == "BYTE" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcUINT(int(read_buffer.read_unsigned_short(8, logical_name="")))
- )
+ value.append(PlcUINT(int(read_buffer.read_unsigned_short(8, logical_name=""))))
+
return PlcList(value)
- if data_type == "WORD" and number_of_values == int(1): # WORD
+ if data_type == "WORD" and number_of_values == int(1) : # WORD
# Simple Field (value)
value: int = read_buffer.read_unsigned_int(16, logical_name="")
return PlcWORD(value)
- if data_type == "WORD": # List
+ if data_type == "WORD" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcUDINT(int(read_buffer.read_unsigned_int(16, logical_name="")))
- )
+ value.append(PlcUDINT(int(read_buffer.read_unsigned_int(16, logical_name=""))))
+
return PlcList(value)
- if data_type == "DWORD" and number_of_values == int(1): # DWORD
+ if data_type == "DWORD" and number_of_values == int(1) : # DWORD
# Simple Field (value)
value: int = read_buffer.read_unsigned_long(32, logical_name="")
return PlcDWORD(value)
- if data_type == "DWORD": # List
+ if data_type == "DWORD" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcULINT(int(read_buffer.read_unsigned_long(32, logical_name="")))
- )
+ value.append(PlcULINT(int(read_buffer.read_unsigned_long(32, logical_name=""))))
+
return PlcList(value)
- if data_type == "LWORD" and number_of_values == int(1): # LWORD
+ if data_type == "LWORD" and number_of_values == int(1) : # LWORD
# Simple Field (value)
value: int = read_buffer.read_unsigned_long(64, logical_name="")
return PlcLWORD(value)
- if data_type == "LWORD": # List
+ if data_type == "LWORD" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcLINT(int(read_buffer.read_unsigned_long(64, logical_name="")))
- )
+ value.append(PlcLINT(int(read_buffer.read_unsigned_long(64, logical_name=""))))
+
return PlcList(value)
- if data_type == "SINT" and number_of_values == int(1): # SINT
+ if data_type == "SINT" and number_of_values == int(1) : # SINT
# Simple Field (value)
value: int = read_buffer.read_signed_byte(8, logical_name="")
return PlcSINT(value)
- if data_type == "SINT": # List
+ if data_type == "SINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcSINT(int(read_buffer.read_signed_byte(8, logical_name="")))
- )
+ value.append(PlcSINT(int(read_buffer.read_signed_byte(8, logical_name=""))))
+
return PlcList(value)
- if data_type == "INT" and number_of_values == int(1): # INT
+ if data_type == "INT" and number_of_values == int(1) : # INT
# Simple Field (value)
value: int = read_buffer.read_short(16, logical_name="")
return PlcINT(value)
- if data_type == "INT": # List
+ if data_type == "INT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -162,14 +158,15 @@ class DataItem:
for _ in range(item_count):
value.append(PlcINT(int(read_buffer.read_short(16, logical_name=""))))
+
return PlcList(value)
- if data_type == "DINT" and number_of_values == int(1): # DINT
+ if data_type == "DINT" and number_of_values == int(1) : # DINT
# Simple Field (value)
value: int = read_buffer.read_int(32, logical_name="")
return PlcDINT(value)
- if data_type == "DINT": # List
+ if data_type == "DINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -177,14 +174,15 @@ class DataItem:
for _ in range(item_count):
value.append(PlcDINT(int(read_buffer.read_int(32, logical_name=""))))
+
return PlcList(value)
- if data_type == "LINT" and number_of_values == int(1): # LINT
+ if data_type == "LINT" and number_of_values == int(1) : # LINT
# Simple Field (value)
value: int = read_buffer.read_long(64, logical_name="")
return PlcLINT(value)
- if data_type == "LINT": # List
+ if data_type == "LINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -192,154 +190,143 @@ class DataItem:
for _ in range(item_count):
value.append(PlcLINT(int(read_buffer.read_long(64, logical_name=""))))
+
return PlcList(value)
- if data_type == "USINT" and number_of_values == int(1): # USINT
+ if data_type == "USINT" and number_of_values == int(1) : # USINT
# Simple Field (value)
value: int = read_buffer.read_unsigned_short(8, logical_name="")
return PlcUSINT(value)
- if data_type == "USINT": # List
+ if data_type == "USINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcUINT(int(read_buffer.read_unsigned_short(8, logical_name="")))
- )
+ value.append(PlcUINT(int(read_buffer.read_unsigned_short(8, logical_name=""))))
+
return PlcList(value)
- if data_type == "UINT" and number_of_values == int(1): # UINT
+ if data_type == "UINT" and number_of_values == int(1) : # UINT
# Simple Field (value)
value: int = read_buffer.read_unsigned_int(16, logical_name="")
return PlcUINT(value)
- if data_type == "UINT": # List
+ if data_type == "UINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcUDINT(int(read_buffer.read_unsigned_int(16, logical_name="")))
- )
+ value.append(PlcUDINT(int(read_buffer.read_unsigned_int(16, logical_name=""))))
+
return PlcList(value)
- if data_type == "UDINT" and number_of_values == int(1): # UDINT
+ if data_type == "UDINT" and number_of_values == int(1) : # UDINT
# Simple Field (value)
value: int = read_buffer.read_unsigned_long(32, logical_name="")
return PlcUDINT(value)
- if data_type == "UDINT": # List
+ if data_type == "UDINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcULINT(int(read_buffer.read_unsigned_long(32, logical_name="")))
- )
+ value.append(PlcULINT(int(read_buffer.read_unsigned_long(32, logical_name=""))))
+
return PlcList(value)
- if data_type == "ULINT" and number_of_values == int(1): # ULINT
+ if data_type == "ULINT" and number_of_values == int(1) : # ULINT
# Simple Field (value)
value: int = read_buffer.read_unsigned_long(64, logical_name="")
return PlcULINT(value)
- if data_type == "ULINT": # List
+ if data_type == "ULINT" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcLINT(int(read_buffer.read_unsigned_long(64, logical_name="")))
- )
+ value.append(PlcLINT(int(read_buffer.read_unsigned_long(64, logical_name=""))))
+
return PlcList(value)
- if data_type == "REAL" and number_of_values == int(1): # REAL
+ if data_type == "REAL" and number_of_values == int(1) : # REAL
# Simple Field (value)
value: float = read_buffer.read_float(32, logical_name="")
return PlcREAL(value)
- if data_type == "REAL": # List
+ if data_type == "REAL" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcREAL(float(read_buffer.read_float(32, logical_name="")))
- )
+ value.append(PlcREAL(float(read_buffer.read_float(32, logical_name=""))))
+
return PlcList(value)
- if data_type == "LREAL" and number_of_values == int(1): # LREAL
+ if data_type == "LREAL" and number_of_values == int(1) : # LREAL
# Simple Field (value)
value: float = read_buffer.read_double(64, logical_name="")
return PlcLREAL(value)
- if data_type == "LREAL": # List
+ if data_type == "LREAL" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcLREAL(float(read_buffer.read_double(64, logical_name="")))
- )
+ value.append(PlcLREAL(float(read_buffer.read_double(64, logical_name=""))))
+
return PlcList(value)
- if data_type == "CHAR" and number_of_values == int(1): # CHAR
+ if data_type == "CHAR" and number_of_values == int(1) : # CHAR
# Simple Field (value)
value: str = read_buffer.read_str(8, logical_name="", encoding="")
return PlcCHAR(value)
- if data_type == "CHAR": # List
+ if data_type == "CHAR" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcSTRING(
- str(read_buffer.read_str(8, logical_name="", encoding=""))
- )
- )
+ value.append(PlcSTRING(str(read_buffer.read_str(8, logical_name="", encoding=""))))
+
return PlcList(value)
- if data_type == "WCHAR" and number_of_values == int(1): # WCHAR
+ if data_type == "WCHAR" and number_of_values == int(1) : # WCHAR
# Simple Field (value)
value: str = read_buffer.read_str(16, logical_name="", encoding="")
return PlcWCHAR(value)
- if data_type == "WCHAR": # List
+ if data_type == "WCHAR" : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcSTRING(
- str(read_buffer.read_str(16, logical_name="", encoding=""))
- )
- )
+ value.append(PlcSTRING(str(read_buffer.read_str(16, logical_name="", encoding=""))))
+
return PlcList(value)
- if data_type == "STRING": # STRING
+ if data_type == "STRING" : # STRING
# Simple Field (value)
value: str = read_buffer.read_str(255, logical_name="", encoding="")
return PlcSTRING(value)
- if data_type == "WSTRING": # STRING
+ if data_type == "WSTRING" : # STRING
# Simple Field (value)
value: str = read_buffer.read_str(255, logical_name="", encoding="")
@@ -348,333 +335,325 @@ class DataItem:
return None
@staticmethod
- def static_serialize(
- write_buffer: WriteBuffer,
- _value: PlcValue,
- data_type: str,
- number_of_values: int,
- byte_order: ByteOrder,
- ) -> None:
- if data_type == "BOOL" and number_of_values == int(1): # BOOL
+ def static_serialize(write_buffer: WriteBuffer, _value: PlcValue, data_type: str, number_of_values: int, byte_order: ByteOrder) -> None:
+ if data_type == "BOOL" and number_of_values == int(1) : # BOOL
# Simple Field (value)
value: bool = _value.get_bool()
write_buffer.write_bit((value), "value")
- elif data_type == "BOOL": # List
+ elif data_type == "BOOL" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: bool = val.get_bool()
write_buffer.write_bit((value), "value")
- elif data_type == "BYTE" and number_of_values == int(1): # BYTE
+ elif data_type == "BYTE" and number_of_values == int(1) : # BYTE
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_byte((value), 8, "value")
- elif data_type == "BYTE": # List
+ elif data_type == "BYTE" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_byte((value), 8, "value")
- elif data_type == "WORD" and number_of_values == int(1): # WORD
+ elif data_type == "WORD" and number_of_values == int(1) : # WORD
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == "WORD": # List
+ elif data_type == "WORD" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == "DWORD" and number_of_values == int(1): # DWORD
+ elif data_type == "DWORD" and number_of_values == int(1) : # DWORD
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == "DWORD": # List
+ elif data_type == "DWORD" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == "LWORD" and number_of_values == int(1): # LWORD
+ elif data_type == "LWORD" and number_of_values == int(1) : # LWORD
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_long((value), 64, "value")
- elif data_type == "LWORD": # List
+ elif data_type == "LWORD" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_long((value), 64, "value")
- elif data_type == "SINT" and number_of_values == int(1): # SINT
+ elif data_type == "SINT" and number_of_values == int(1) : # SINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_signed_byte((value), 8, "value")
- elif data_type == "SINT": # List
+ elif data_type == "SINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_signed_byte((value), 8, "value")
- elif data_type == "INT" and number_of_values == int(1): # INT
+ elif data_type == "INT" and number_of_values == int(1) : # INT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_short((value), 16, "value")
- elif data_type == "INT": # List
+ elif data_type == "INT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_short((value), 16, "value")
- elif data_type == "DINT" and number_of_values == int(1): # DINT
+ elif data_type == "DINT" and number_of_values == int(1) : # DINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_int((value), 32, "value")
- elif data_type == "DINT": # List
+ elif data_type == "DINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_int((value), 32, "value")
- elif data_type == "LINT" and number_of_values == int(1): # LINT
+ elif data_type == "LINT" and number_of_values == int(1) : # LINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_long((value), 64, "value")
- elif data_type == "LINT": # List
+ elif data_type == "LINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_long((value), 64, "value")
- elif data_type == "USINT" and number_of_values == int(1): # USINT
+ elif data_type == "USINT" and number_of_values == int(1) : # USINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_byte((value), 8, "value")
- elif data_type == "USINT": # List
+ elif data_type == "USINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_byte((value), 8, "value")
- elif data_type == "UINT" and number_of_values == int(1): # UINT
+ elif data_type == "UINT" and number_of_values == int(1) : # UINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == "UINT": # List
+ elif data_type == "UINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == "UDINT" and number_of_values == int(1): # UDINT
+ elif data_type == "UDINT" and number_of_values == int(1) : # UDINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == "UDINT": # List
+ elif data_type == "UDINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == "ULINT" and number_of_values == int(1): # ULINT
+ elif data_type == "ULINT" and number_of_values == int(1) : # ULINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_long((value), 64, "value")
- elif data_type == "ULINT": # List
+ elif data_type == "ULINT" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_long((value), 64, "value")
- elif data_type == "REAL" and number_of_values == int(1): # REAL
+ elif data_type == "REAL" and number_of_values == int(1) : # REAL
# Simple Field (value)
value: float = _value.get_float()
write_buffer.write_float((value), 32, "value")
- elif data_type == "REAL": # List
+ elif data_type == "REAL" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: float = val.get_float()
write_buffer.write_float((value), 32, "value")
- elif data_type == "LREAL" and number_of_values == int(1): # LREAL
+ elif data_type == "LREAL" and number_of_values == int(1) : # LREAL
# Simple Field (value)
value: float = _value.get_float()
write_buffer.write_double((value), 64, "value")
- elif data_type == "LREAL": # List
+ elif data_type == "LREAL" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: float = val.get_float()
write_buffer.write_double((value), 64, "value")
- elif data_type == "CHAR" and number_of_values == int(1): # CHAR
+ elif data_type == "CHAR" and number_of_values == int(1) : # CHAR
# Simple Field (value)
value: str = _value.get_str()
write_buffer.write_str((value), 8, "UTF-8", "value")
- elif data_type == "CHAR": # List
+ elif data_type == "CHAR" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: str = val.get_str()
write_buffer.write_str((value), 8, "UTF-8", "value")
- elif data_type == "WCHAR" and number_of_values == int(1): # WCHAR
+ elif data_type == "WCHAR" and number_of_values == int(1) : # WCHAR
# Simple Field (value)
value: str = _value.get_str()
write_buffer.write_str((value), 16, "UTF-16", "value")
- elif data_type == "WCHAR": # List
+ elif data_type == "WCHAR" : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: str = val.get_str()
write_buffer.write_str((value), 16, "UTF-16", "value")
- elif data_type == "STRING": # STRING
+ elif data_type == "STRING" : # STRING
# Simple Field (value)
value: str = _value.get_str()
write_buffer.write_str((value), 255, "UTF-8", "value")
- elif data_type == "WSTRING": # STRING
+ elif data_type == "WSTRING" : # STRING
# Simple Field (value)
value: str = _value.get_str()
write_buffer.write_str((value), 255, "UTF-16", "value")
+
+
@staticmethod
- def get_length_in_bytes(
- _value: PlcValue, data_type: str, number_of_values: int
- ) -> int:
- return int(
- math.ceil(
- float(DataItem.get_length_in_bits(_value, data_type, number_of_values))
- / 8.0
- )
- )
+ def get_length_in_bytes(_value: PlcValue, data_type: str, number_of_values: int) -> int:
+ return int(math.ceil(float(DataItem.get_length_in_bits(_value, data_type, number_of_values)) / 8.0))
+
@staticmethod
- def get_length_in_bits(
- _value: PlcValue, data_type: str, number_of_values: int
- ) -> int:
+ def get_length_in_bits(_value: PlcValue, data_type: str, number_of_values: int) -> int:
size_in_bits: int = 0
- if data_type == "BOOL" and number_of_values == int(1): # BOOL
- # Simple Field (value)
- size_in_bits += 1
- elif data_type == "BOOL": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 1
- elif data_type == "BYTE" and number_of_values == int(1): # BYTE
- # Simple Field (value)
- size_in_bits += 8
- elif data_type == "BYTE": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 8
- elif data_type == "WORD" and number_of_values == int(1): # WORD
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == "WORD": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 16
- elif data_type == "DWORD" and number_of_values == int(1): # DWORD
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == "DWORD": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == "LWORD" and number_of_values == int(1): # LWORD
- # Simple Field (value)
- size_in_bits += 64
- elif data_type == "LWORD": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 64
- elif data_type == "SINT" and number_of_values == int(1): # SINT
- # Simple Field (value)
- size_in_bits += 8
- elif data_type == "SINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 8
- elif data_type == "INT" and number_of_values == int(1): # INT
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == "INT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 16
- elif data_type == "DINT" and number_of_values == int(1): # DINT
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == "DINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == "LINT" and number_of_values == int(1): # LINT
- # Simple Field (value)
- size_in_bits += 64
- elif data_type == "LINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 64
- elif data_type == "USINT" and number_of_values == int(1): # USINT
- # Simple Field (value)
- size_in_bits += 8
- elif data_type == "USINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 8
- elif data_type == "UINT" and number_of_values == int(1): # UINT
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == "UINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 16
- elif data_type == "UDINT" and number_of_values == int(1): # UDINT
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == "UDINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == "ULINT" and number_of_values == int(1): # ULINT
- # Simple Field (value)
- size_in_bits += 64
- elif data_type == "ULINT": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 64
- elif data_type == "REAL" and number_of_values == int(1): # REAL
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == "REAL": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == "LREAL" and number_of_values == int(1): # LREAL
- # Simple Field (value)
- size_in_bits += 64
- elif data_type == "LREAL": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 64
- elif data_type == "CHAR" and number_of_values == int(1): # CHAR
- # Simple Field (value)
- size_in_bits += 8
- elif data_type == "CHAR": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 8
- elif data_type == "WCHAR" and number_of_values == int(1): # WCHAR
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == "WCHAR": # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 16
- elif data_type == "STRING": # STRING
- # Simple Field (value)
- size_in_bits += 255
- elif data_type == "WSTRING": # STRING
- # Simple Field (value)
- size_in_bits += 255
+ if data_type == "BOOL" and number_of_values == int(1): # BOOL
+ # Simple Field (value)
+ size_in_bits += 1
+ elif data_type == "BOOL": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 1
+ elif data_type == "BYTE" and number_of_values == int(1): # BYTE
+ # Simple Field (value)
+ size_in_bits += 8
+ elif data_type == "BYTE": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 8
+ elif data_type == "WORD" and number_of_values == int(1): # WORD
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == "WORD": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 16
+ elif data_type == "DWORD" and number_of_values == int(1): # DWORD
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == "DWORD": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == "LWORD" and number_of_values == int(1): # LWORD
+ # Simple Field (value)
+ size_in_bits += 64
+ elif data_type == "LWORD": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 64
+ elif data_type == "SINT" and number_of_values == int(1): # SINT
+ # Simple Field (value)
+ size_in_bits += 8
+ elif data_type == "SINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 8
+ elif data_type == "INT" and number_of_values == int(1): # INT
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == "INT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 16
+ elif data_type == "DINT" and number_of_values == int(1): # DINT
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == "DINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == "LINT" and number_of_values == int(1): # LINT
+ # Simple Field (value)
+ size_in_bits += 64
+ elif data_type == "LINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 64
+ elif data_type == "USINT" and number_of_values == int(1): # USINT
+ # Simple Field (value)
+ size_in_bits += 8
+ elif data_type == "USINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 8
+ elif data_type == "UINT" and number_of_values == int(1): # UINT
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == "UINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 16
+ elif data_type == "UDINT" and number_of_values == int(1): # UDINT
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == "UDINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == "ULINT" and number_of_values == int(1): # ULINT
+ # Simple Field (value)
+ size_in_bits += 64
+ elif data_type == "ULINT": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 64
+ elif data_type == "REAL" and number_of_values == int(1): # REAL
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == "REAL": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == "LREAL" and number_of_values == int(1): # LREAL
+ # Simple Field (value)
+ size_in_bits += 64
+ elif data_type == "LREAL": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 64
+ elif data_type == "CHAR" and number_of_values == int(1): # CHAR
+ # Simple Field (value)
+ size_in_bits += 8
+ elif data_type == "CHAR": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 8
+ elif data_type == "WCHAR" and number_of_values == int(1): # WCHAR
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == "WCHAR": # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 16
+ elif data_type == "STRING": # STRING
+ # Simple Field (value)
+ size_in_bits += 255
+ elif data_type == "WSTRING": # STRING
+ # Simple Field (value)
+ size_in_bits += 255
return size_in_bits
+
+
+
+
diff --git a/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py b/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py
index 8e42d9f350..a822c3f4e9 100644
--- a/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py
+++ b/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py
@@ -26,22 +26,22 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from plc4py.utils.GenericTypes import ByteOrder
import math
-
-
+
@dataclass
-class Dummy:
+class Dummy():
dummy: int
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("Dummy")
# Simple Field (dummy)
- write_buffer.write_unsigned_short(
- self.dummy, bit_length=16, logical_name="dummy"
- )
+ write_buffer.write_unsigned_short(self.dummy,bit_length=16,logical_name="dummy")
write_buffer.pop_context("Dummy")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -54,23 +54,28 @@ class Dummy:
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return Dummy.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("Dummy")
- dummy: int = read_buffer.read_unsigned_short(
- logical_name="dummy", bit_length=16, byte_order=ByteOrder.BIG_ENDIAN
- )
+
+
+ dummy: int = read_buffer.read_unsigned_short(logical_name="dummy", bit_length=16, byte_order=ByteOrder.BIG_ENDIAN)
+
+
read_buffer.pop_context("Dummy")
# Create the instance
- _dummy: Dummy = Dummy(dummy)
+ _dummy: Dummy = Dummy(dummy )
return _dummy
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -86,10 +91,14 @@ class Dummy:
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/simulated/readwrite/SimulatedDataTypeSizes.py b/plc4py/plc4py/protocols/simulated/readwrite/SimulatedDataTypeSizes.py
index 9c391b4351..a3d5f40a0e 100644
--- a/plc4py/plc4py/protocols/simulated/readwrite/SimulatedDataTypeSizes.py
+++ b/plc4py/plc4py/protocols/simulated/readwrite/SimulatedDataTypeSizes.py
@@ -19,34 +19,36 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class SimulatedDataTypeSizes(AutoNumberEnum):
_init_ = "value, data_type_size"
- BOOL = (1, int(1))
- BYTE = (2, int(1))
- WORD = (3, int(2))
- DWORD = (4, int(4))
- LWORD = (5, int(8))
- SINT = (6, int(1))
- INT = (7, int(2))
- DINT = (8, int(4))
- LINT = (9, int(8))
- USINT = (10, int(1))
- UINT = (11, int(2))
- UDINT = (12, int(4))
- ULINT = (13, int(8))
- REAL = (14, int(4))
- LREAL = (15, int(8))
- TIME = (16, int(8))
- LTIME = (17, int(8))
- DATE = (18, int(8))
- LDATE = (19, int(8))
- TIME_OF_DAY = (20, int(8))
- LTIME_OF_DAY = (21, int(8))
- DATE_AND_TIME = (22, int(8))
- LDATE_AND_TIME = (23, int(8))
- CHAR = (24, int(1))
- WCHAR = (25, int(2))
- STRING = (26, int(255))
- WSTRING = (27, int(127))
+ BOOL = (1 , int(1) )
+ BYTE = (2 , int(1) )
+ WORD = (3 , int(2) )
+ DWORD = (4 , int(4) )
+ LWORD = (5 , int(8) )
+ SINT = (6 , int(1) )
+ INT = (7 , int(2) )
+ DINT = (8 , int(4) )
+ LINT = (9 , int(8) )
+ USINT = (10 , int(1) )
+ UINT = (11 , int(2) )
+ UDINT = (12 , int(4) )
+ ULINT = (13 , int(8) )
+ REAL = (14 , int(4) )
+ LREAL = (15 , int(8) )
+ TIME = (16 , int(8) )
+ LTIME = (17 , int(8) )
+ DATE = (18 , int(8) )
+ LDATE = (19 , int(8) )
+ TIME_OF_DAY = (20 , int(8) )
+ LTIME_OF_DAY = (21 , int(8) )
+ DATE_AND_TIME = (22 , int(8) )
+ LDATE_AND_TIME = (23 , int(8) )
+ CHAR = (24 , int(1) )
+ WCHAR = (25 , int(2) )
+ STRING = (26 , int(255) )
+ WSTRING = (27 , int(127) )
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/DataItem.py b/plc4py/plc4py/protocols/umas/readwrite/DataItem.py
index 800ec4d68d..9cf7e71c58 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/DataItem.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/DataItem.py
@@ -39,31 +39,23 @@ from typing import List
from typing import cast
import logging
import math
-
+
class DataItem:
@staticmethod
- def static_parse(
- read_buffer: ReadBuffer, data_type: UmasDataType, number_of_values: int
- ):
- if data_type == UmasDataType.BOOL and number_of_values == int(1): # BOOL
+ def static_parse(read_buffer: ReadBuffer, data_type: UmasDataType, number_of_values: int):
+ if data_type == UmasDataType.BOOL and number_of_values == int(1) : # BOOL
# Reserved Field (Compartmentalized so the "reserved" variable can't leak)
reserved: int = read_buffer.read_unsigned_short(7, logical_name="")
if reserved != int(0x0000):
- logging.warning(
- "Expected constant value "
- + str(0x0000)
- + " but got "
- + str(reserved)
- + " for reserved field."
- )
+ logging.warning("Expected constant value " + str(0x0000) + " but got " + str(reserved) + " for reserved field.")
# Simple Field (value)
value: bool = read_buffer.read_bit("")
return PlcBOOL(value)
- if data_type == UmasDataType.BOOL: # List
+ if data_type == UmasDataType.BOOL : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -71,41 +63,43 @@ class DataItem:
for _ in range(item_count):
value.append(PlcBOOL(bool(read_buffer.read_bit(""))))
+
return PlcList(value)
- if data_type == UmasDataType.BYTE and number_of_values == int(1): # BYTE
+ if data_type == UmasDataType.BYTE and number_of_values == int(1) : # BYTE
# Simple Field (value)
value: int = read_buffer.read_unsigned_short(8, logical_name="")
return PlcBYTE(value)
- if data_type == UmasDataType.BYTE: # List
+ if data_type == UmasDataType.BYTE : # List
# Array field (value)
# Count array
- item_count: int = int(number_of_values * int(8))
+ item_count: int = int(number_of_values* int(8))
value: List[PlcValue] = []
for _ in range(item_count):
value.append(PlcBOOL(bool(read_buffer.read_bit(""))))
+
return PlcList(value)
- if data_type == UmasDataType.WORD: # WORD
+ if data_type == UmasDataType.WORD : # WORD
# Simple Field (value)
value: int = read_buffer.read_unsigned_int(16, logical_name="")
return PlcWORD(value)
- if data_type == UmasDataType.DWORD: # DWORD
+ if data_type == UmasDataType.DWORD : # DWORD
# Simple Field (value)
value: int = read_buffer.read_unsigned_long(32, logical_name="")
return PlcDWORD(value)
- if data_type == UmasDataType.INT and number_of_values == int(1): # INT
+ if data_type == UmasDataType.INT and number_of_values == int(1) : # INT
# Simple Field (value)
value: int = read_buffer.read_short(16, logical_name="")
return PlcINT(value)
- if data_type == UmasDataType.INT: # List
+ if data_type == UmasDataType.INT : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -113,14 +107,15 @@ class DataItem:
for _ in range(item_count):
value.append(PlcINT(int(read_buffer.read_short(16, logical_name=""))))
+
return PlcList(value)
- if data_type == UmasDataType.DINT and number_of_values == int(1): # DINT
+ if data_type == UmasDataType.DINT and number_of_values == int(1) : # DINT
# Simple Field (value)
value: int = read_buffer.read_int(32, logical_name="")
return PlcDINT(value)
- if data_type == UmasDataType.DINT: # List
+ if data_type == UmasDataType.DINT : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
@@ -128,257 +123,242 @@ class DataItem:
for _ in range(item_count):
value.append(PlcDINT(int(read_buffer.read_int(32, logical_name=""))))
+
return PlcList(value)
- if data_type == UmasDataType.UINT and number_of_values == int(1): # UINT
+ if data_type == UmasDataType.UINT and number_of_values == int(1) : # UINT
# Simple Field (value)
value: int = read_buffer.read_unsigned_int(16, logical_name="")
return PlcUINT(value)
- if data_type == UmasDataType.UINT: # List
+ if data_type == UmasDataType.UINT : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcUDINT(int(read_buffer.read_unsigned_int(16, logical_name="")))
- )
+ value.append(PlcUDINT(int(read_buffer.read_unsigned_int(16, logical_name=""))))
+
return PlcList(value)
- if data_type == UmasDataType.UDINT and number_of_values == int(1): # UDINT
+ if data_type == UmasDataType.UDINT and number_of_values == int(1) : # UDINT
# Simple Field (value)
value: int = read_buffer.read_unsigned_long(32, logical_name="")
return PlcUDINT(value)
- if data_type == UmasDataType.UDINT: # List
+ if data_type == UmasDataType.UDINT : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcULINT(int(read_buffer.read_unsigned_long(32, logical_name="")))
- )
+ value.append(PlcULINT(int(read_buffer.read_unsigned_long(32, logical_name=""))))
+
return PlcList(value)
- if data_type == UmasDataType.REAL and number_of_values == int(1): # REAL
+ if data_type == UmasDataType.REAL and number_of_values == int(1) : # REAL
# Simple Field (value)
value: float = read_buffer.read_float(32, logical_name="")
return PlcREAL(value)
- if data_type == UmasDataType.REAL: # List
+ if data_type == UmasDataType.REAL : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcREAL(float(read_buffer.read_float(32, logical_name="")))
- )
+ value.append(PlcREAL(float(read_buffer.read_float(32, logical_name=""))))
+
return PlcList(value)
- if data_type == UmasDataType.STRING and number_of_values == int(1): # STRING
+ if data_type == UmasDataType.STRING and number_of_values == int(1) : # STRING
# Manual Field (value)
- value: str = (str)(
- StaticHelper.parse_terminated_string_bytes(
- read_buffer, number_of_values
- )
- )
+ value: str = (str) (StaticHelper.parse_terminated_string_bytes(read_buffer, number_of_values))
return PlcSTRING(value)
- if data_type == UmasDataType.STRING: # List
+ if data_type == UmasDataType.STRING : # List
# Array field (value)
# Count array
item_count: int = int(number_of_values)
value: List[PlcValue] = []
for _ in range(item_count):
- value.append(
- PlcREAL(float(read_buffer.read_float(32, logical_name="")))
- )
+ value.append(PlcREAL(float(read_buffer.read_float(32, logical_name=""))))
+
return PlcList(value)
return None
@staticmethod
- def static_serialize(
- write_buffer: WriteBuffer,
- _value: PlcValue,
- data_type: UmasDataType,
- number_of_values: int,
- byte_order: ByteOrder,
- ) -> None:
- if data_type == UmasDataType.BOOL and number_of_values == int(1): # BOOL
+ def static_serialize(write_buffer: WriteBuffer, _value: PlcValue, data_type: UmasDataType, number_of_values: int, byte_order: ByteOrder) -> None:
+ if data_type == UmasDataType.BOOL and number_of_values == int(1) : # BOOL
# Reserved Field
write_buffer.write_byte(int(0x0000), 7, "int0x0000")
# Simple Field (value)
value: bool = _value.get_bool()
write_buffer.write_bit((value), "value")
- elif data_type == UmasDataType.BOOL: # List
+ elif data_type == UmasDataType.BOOL : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: bool = val.get_bool()
write_buffer.write_bit((value), "value")
- elif data_type == UmasDataType.BYTE and number_of_values == int(1): # BYTE
+ elif data_type == UmasDataType.BYTE and number_of_values == int(1) : # BYTE
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_byte((value), 8, "value")
- elif data_type == UmasDataType.BYTE: # List
+ elif data_type == UmasDataType.BYTE : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: bool = val.get_bool()
write_buffer.write_bit((value), "value")
- elif data_type == UmasDataType.WORD: # WORD
+ elif data_type == UmasDataType.WORD : # WORD
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == UmasDataType.DWORD: # DWORD
+ elif data_type == UmasDataType.DWORD : # DWORD
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == UmasDataType.INT and number_of_values == int(1): # INT
+ elif data_type == UmasDataType.INT and number_of_values == int(1) : # INT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_short((value), 16, "value")
- elif data_type == UmasDataType.INT: # List
+ elif data_type == UmasDataType.INT : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_short((value), 16, "value")
- elif data_type == UmasDataType.DINT and number_of_values == int(1): # DINT
+ elif data_type == UmasDataType.DINT and number_of_values == int(1) : # DINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_int((value), 32, "value")
- elif data_type == UmasDataType.DINT: # List
+ elif data_type == UmasDataType.DINT : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_int((value), 32, "value")
- elif data_type == UmasDataType.UINT and number_of_values == int(1): # UINT
+ elif data_type == UmasDataType.UINT and number_of_values == int(1) : # UINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == UmasDataType.UINT: # List
+ elif data_type == UmasDataType.UINT : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_short((value), 16, "value")
- elif data_type == UmasDataType.UDINT and number_of_values == int(1): # UDINT
+ elif data_type == UmasDataType.UDINT and number_of_values == int(1) : # UDINT
# Simple Field (value)
value: int = _value.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == UmasDataType.UDINT: # List
+ elif data_type == UmasDataType.UDINT : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: int = val.get_int()
write_buffer.write_unsigned_int((value), 32, "value")
- elif data_type == UmasDataType.REAL and number_of_values == int(1): # REAL
+ elif data_type == UmasDataType.REAL and number_of_values == int(1) : # REAL
# Simple Field (value)
value: float = _value.get_float()
write_buffer.write_float((value), 32, "value")
- elif data_type == UmasDataType.REAL: # List
+ elif data_type == UmasDataType.REAL : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: float = val.get_float()
write_buffer.write_float((value), 32, "value")
- elif data_type == UmasDataType.STRING and number_of_values == int(1): # STRING
+ elif data_type == UmasDataType.STRING and number_of_values == int(1) : # STRING
# Manual Field (value)
serialize_terminated_string(write_buffer, self.value, self.number_of_values)
- elif data_type == UmasDataType.STRING: # List
+ elif data_type == UmasDataType.STRING : # List
values: PlcList = cast(PlcList, _value)
for val in values.get_list():
value: float = val.get_float()
write_buffer.write_float((value), 32, "value")
+
+
@staticmethod
- def get_length_in_bytes(
- _value: PlcValue, data_type: UmasDataType, number_of_values: int
- ) -> int:
- return int(
- math.ceil(
- float(DataItem.get_length_in_bits(_value, data_type, number_of_values))
- / 8.0
- )
- )
+ def get_length_in_bytes(_value: PlcValue, data_type: UmasDataType, number_of_values: int) -> int:
+ return int(math.ceil(float(DataItem.get_length_in_bits(_value, data_type, number_of_values)) / 8.0))
+
@staticmethod
- def get_length_in_bits(
- _value: PlcValue, data_type: UmasDataType, number_of_values: int
- ) -> int:
+ def get_length_in_bits(_value: PlcValue, data_type: UmasDataType, number_of_values: int) -> int:
size_in_bits: int = 0
- if data_type == UmasDataType.BOOL and number_of_values == int(1): # BOOL
- # Reserved Field
- size_in_bits += 7
- # Simple Field (value)
- size_in_bits += 1
- elif data_type == UmasDataType.BOOL: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 1
- elif data_type == UmasDataType.BYTE and number_of_values == int(1): # BYTE
- # Simple Field (value)
- size_in_bits += 8
- elif data_type == UmasDataType.BYTE: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 1
- elif data_type == UmasDataType.WORD: # WORD
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == UmasDataType.DWORD: # DWORD
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == UmasDataType.INT and number_of_values == int(1): # INT
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == UmasDataType.INT: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 16
- elif data_type == UmasDataType.DINT and number_of_values == int(1): # DINT
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == UmasDataType.DINT: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == UmasDataType.UINT and number_of_values == int(1): # UINT
- # Simple Field (value)
- size_in_bits += 16
- elif data_type == UmasDataType.UINT: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 16
- elif data_type == UmasDataType.UDINT and number_of_values == int(1): # UDINT
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == UmasDataType.UDINT: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == UmasDataType.REAL and number_of_values == int(1): # REAL
- # Simple Field (value)
- size_in_bits += 32
- elif data_type == UmasDataType.REAL: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
- elif data_type == UmasDataType.STRING and number_of_values == int(1): # STRING
- # Manual Field (value)
- size_in_bits += self.number_of_values * int(8)
- elif data_type == UmasDataType.STRING: # List
- values: PlcList = cast(PlcList, _value)
- size_in_bits += len(values.get_list()) * 32
-
+ if data_type == UmasDataType.BOOL and number_of_values == int(1): # BOOL
+ # Reserved Field
+ size_in_bits += 7
+ # Simple Field (value)
+ size_in_bits += 1
+ elif data_type == UmasDataType.BOOL: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 1
+ elif data_type == UmasDataType.BYTE and number_of_values == int(1): # BYTE
+ # Simple Field (value)
+ size_in_bits += 8
+ elif data_type == UmasDataType.BYTE: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 1
+ elif data_type == UmasDataType.WORD: # WORD
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == UmasDataType.DWORD: # DWORD
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == UmasDataType.INT and number_of_values == int(1): # INT
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == UmasDataType.INT: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 16
+ elif data_type == UmasDataType.DINT and number_of_values == int(1): # DINT
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == UmasDataType.DINT: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == UmasDataType.UINT and number_of_values == int(1): # UINT
+ # Simple Field (value)
+ size_in_bits += 16
+ elif data_type == UmasDataType.UINT: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 16
+ elif data_type == UmasDataType.UDINT and number_of_values == int(1): # UDINT
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == UmasDataType.UDINT: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == UmasDataType.REAL and number_of_values == int(1): # REAL
+ # Simple Field (value)
+ size_in_bits += 32
+ elif data_type == UmasDataType.REAL: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+ elif data_type == UmasDataType.STRING and number_of_values == int(1): # STRING
+ # Manual Field (value)
+ size_in_bits += (self.number_of_values* int(8))
+ elif data_type == UmasDataType.STRING: # List
+ values: PlcList = cast(PlcList, _value)
+ size_in_bits += len(values.get_list()) * 32
+
return size_in_bits
+
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/ModbusErrorCode.py b/plc4py/plc4py/protocols/umas/readwrite/ModbusErrorCode.py
index bfbad8d872..3f626e2374 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/ModbusErrorCode.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/ModbusErrorCode.py
@@ -19,10 +19,9 @@
# Code generated by code-generation. DO NOT EDIT.
from aenum import AutoNumberEnum
-
-
+
class ModbusErrorCode(AutoNumberEnum):
-
+
ILLEGAL_FUNCTION: int = 1
ILLEGAL_DATA_ADDRESS: int = 2
ILLEGAL_DATA_VALUE: int = 3
@@ -33,3 +32,6 @@ class ModbusErrorCode(AutoNumberEnum):
MEMORY_PARITY_ERROR: int = 8
GATEWAY_PATH_UNAVAILABLE: int = 10
GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND: int = 11
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py b/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
index 453d427759..69652514a4 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/ModbusPDU.py
@@ -28,8 +28,7 @@ from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
class ModbusPDU(ABC, PlcMessage):
# Arguments.
@@ -40,11 +39,11 @@ class ModbusPDU(ABC, PlcMessage):
@property
def error_flag(self) -> bool:
pass
-
@property
def function_flag(self) -> int:
pass
+
@abstractmethod
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer) -> None:
pass
@@ -53,18 +52,17 @@ class ModbusPDU(ABC, PlcMessage):
write_buffer.push_context("ModbusPDU")
# Discriminator Field (errorFlag) (Used as input to a switch field)
- write_buffer.write_bit(self.error_flag, logical_name="error_flag", bit_length=1)
+ write_buffer.write_bit(self.error_flag, logical_name="error_flag", bit_length=1 )
# Discriminator Field (functionFlag) (Used as input to a switch field)
- write_buffer.write_unsigned_byte(
- self.function_flag, logical_name="function_flag", bit_length=7
- )
+ write_buffer.write_unsigned_byte(self.function_flag, logical_name="function_flag", bit_length=7 )
# Switch field (Serialize the sub-type)
self.serialize_modbus_pdu_child(write_buffer)
write_buffer.pop_context("ModbusPDU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -82,26 +80,20 @@ class ModbusPDU(ABC, PlcMessage):
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
if kwargs is None:
- raise PlcRuntimeException(
- "Wrong number of arguments, expected 2, but got None"
- )
+ raise PlcRuntimeException("Wrong number of arguments, expected 2, but got None")
umas_request_function_key: int = 0
if isinstance(kwargs.get("umas_request_function_key"), int):
umas_request_function_key = int(kwargs.get("umas_request_function_key"))
elif isinstance(kwargs.get("umas_request_function_key"), str):
- umas_request_function_key = int(
- str(kwargs.get("umas_request_function_key"))
- )
+ umas_request_function_key = int(str(kwargs.get("umas_request_function_key")))
else:
- raise PlcRuntimeException(
- "Argument 0 expected to be of type int or a string which is parseable but was "
- + kwargs.get("umas_request_function_key").getClass().getName()
- )
+ raise PlcRuntimeException("Argument 0 expected to be of type int or a string which is parseable but was " + kwargs.get("umas_request_function_key").getClass().getName())
byte_length: int = 0
if isinstance(kwargs.get("byte_length"), int):
@@ -109,19 +101,13 @@ class ModbusPDU(ABC, PlcMessage):
elif isinstance(kwargs.get("byte_length"), str):
byte_length = int(str(kwargs.get("byte_length")))
else:
- raise PlcRuntimeException(
- "Argument 1 expected to be of type int or a string which is parseable but was "
- + kwargs.get("byte_length").getClass().getName()
- )
+ raise PlcRuntimeException("Argument 1 expected to be of type int or a string which is parseable but was " + kwargs.get("byte_length").getClass().getName())
+
+ return ModbusPDU.static_parse_context(read_buffer, umas_request_function_key, byte_length)
- return ModbusPDU.static_parse_context(
- read_buffer, umas_request_function_key, byte_length
- )
@staticmethod
- def static_parse_context(
- read_buffer: ReadBuffer, umas_request_function_key: int, byte_length: int
- ):
+ def static_parse_context(read_buffer: ReadBuffer, umas_request_function_key: int, byte_length: int):
read_buffer.push_context("ModbusPDU")
if isinstance(umas_request_function_key, str):
@@ -129,53 +115,33 @@ class ModbusPDU(ABC, PlcMessage):
if isinstance(byte_length, str):
byte_length = int(byte_length)
- error_flag: bool = read_buffer.read_bit(
- logical_name="error_flag",
- bit_length=1,
- umas_request_function_key=umas_request_function_key,
- byte_length=byte_length,
- )
+ error_flag: bool = read_buffer.read_bit(logical_name="error_flag", bit_length=1, umas_request_function_key=umas_request_function_key, byte_length=byte_length)
+
+
+ function_flag: int = read_buffer.read_unsigned_byte(logical_name="function_flag", bit_length=7, umas_request_function_key=umas_request_function_key, byte_length=byte_length)
+
- function_flag: int = read_buffer.read_unsigned_byte(
- logical_name="function_flag",
- bit_length=7,
- umas_request_function_key=umas_request_function_key,
- byte_length=byte_length,
- )
# Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
builder: ModbusPDUBuilder = None
from plc4py.protocols.umas.readwrite.ModbusPDUError import ModbusPDUError
+ if error_flag == bool(True) :
- if error_flag == bool(True):
-
- builder = ModbusPDUError.static_parse_builder(
- read_buffer, umas_request_function_key, byte_length
- )
+ builder = ModbusPDUError.static_parse_builder(read_buffer, umas_request_function_key, byte_length)
from plc4py.protocols.umas.readwrite.UmasPDU import UmasPDU
+ if error_flag == bool(False) and function_flag == int(0x5a) :
- if error_flag == bool(False) and function_flag == int(0x5A):
-
- builder = UmasPDU.static_parse_builder(
- read_buffer, umas_request_function_key, byte_length
- )
+ builder = UmasPDU.static_parse_builder(read_buffer, umas_request_function_key, byte_length)
if builder is None:
- raise ParseException(
- "Unsupported case for discriminated type"
- + " parameters ["
- + "errorFlag="
- + str(error_flag)
- + " "
- + "functionFlag="
- + str(function_flag)
- + "]"
- )
+ raise ParseException("Unsupported case for discriminated type"+" parameters ["+"errorFlag="+str(error_flag)+" "+"functionFlag="+str(function_flag)+"]")
+
read_buffer.pop_context("ModbusPDU")
# Create the instance
- _modbus_pdu: ModbusPDU = builder.build(umas_request_function_key, byte_length)
+ _modbus_pdu: ModbusPDU = builder.build(umas_request_function_key, byte_length )
return _modbus_pdu
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -191,16 +157,19 @@ class ModbusPDU(ABC, PlcMessage):
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
-
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUBuilder:
- def build(self, umas_request_function_key: int, byte_length: int) -> ModbusPDU:
+ def build(self, umas_request_function_key: int, byte_length: int ) -> ModbusPDU:
pass
+
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/ModbusPDUError.py b/plc4py/plc4py/protocols/umas/readwrite/ModbusPDUError.py
index 98931e8671..cab908ac44 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/ModbusPDUError.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/ModbusPDUError.py
@@ -28,8 +28,7 @@ from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
from typing import ClassVar
import math
-
-
+
@dataclass
class ModbusPDUError(ModbusPDU):
exception_code: ModbusErrorCode
@@ -40,16 +39,17 @@ class ModbusPDUError(ModbusPDU):
error_flag: ClassVar[bool] = True
function_flag: ClassVar[int] = 0
+
+
def serialize_modbus_pdu_child(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusPDUError")
# Simple Field (exceptionCode)
- write_buffer.write_unsigned_byte(
- self.exception_code, logical_name="exceptionCode"
- )
+ write_buffer.write_unsigned_byte(self.exception_code, logical_name="exceptionCode")
write_buffer.pop_context("ModbusPDUError")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -62,10 +62,9 @@ class ModbusPDUError(ModbusPDU):
return length_in_bits
+
@staticmethod
- def static_parse_builder(
- read_buffer: ReadBuffer, umas_request_function_key: int, byte_length: int
- ):
+ def static_parse_builder(read_buffer: ReadBuffer, umas_request_function_key: int, byte_length: int):
read_buffer.push_context("ModbusPDUError")
if isinstance(umas_request_function_key, str):
@@ -73,17 +72,15 @@ class ModbusPDUError(ModbusPDU):
if isinstance(byte_length, str):
byte_length = int(byte_length)
- exception_code: ModbusErrorCode = read_buffer.read_enum(
- read_function=ModbusErrorCode,
- bit_length=8,
- logical_name="exception_code",
- umas_request_function_key=umas_request_function_key,
- byte_length=byte_length,
- )
+
+ exception_code: ModbusErrorCode = read_buffer.read_enum(read_function=ModbusErrorCode,bit_length=8, logical_name="exception_code", umas_request_function_key=umas_request_function_key, byte_length=byte_length)
+
+
read_buffer.pop_context("ModbusPDUError")
# Create the instance
- return ModbusPDUErrorBuilder(exception_code)
+ return ModbusPDUErrorBuilder(exception_code )
+
def equals(self, o: object) -> bool:
if self == o:
@@ -93,36 +90,29 @@ class ModbusPDUError(ModbusPDU):
return False
that: ModbusPDUError = ModbusPDUError(o)
- return (
- (self.exception_code == that.exception_code)
- and super().equals(that)
- and True
- )
+ return (self.exception_code == that.exception_code) and super().equals(that) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
@dataclass
class ModbusPDUErrorBuilder:
exception_code: ModbusErrorCode
- def build(
- self,
- umas_request_function_key: int,
- byte_length: int,
- ) -> ModbusPDUError:
- modbus_pduerror: ModbusPDUError = ModbusPDUError(
- umas_request_function_key, byte_length, self.exception_code
- )
+ def build(self,umas_request_function_key: int, byte_length: int , ) -> ModbusPDUError:
+ modbus_pduerror: ModbusPDUError = ModbusPDUError(umas_request_function_key, byte_length , self.exception_code )
return modbus_pduerror
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/ModbusTcpADU.py b/plc4py/plc4py/protocols/umas/readwrite/ModbusTcpADU.py
index 0b7fba1a48..20c8662331 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/ModbusTcpADU.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/ModbusTcpADU.py
@@ -28,44 +28,38 @@ from plc4py.utils.GenericTypes import ByteOrder
from typing import Any
from typing import List
import math
-
-
+
@dataclass
-class ModbusTcpADU:
+class ModbusTcpADU():
transaction_identifier: int
unit_identifier: int
pdu_array: List[int]
PROTOCOL_IDENTIFIER: int = 0x0000
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("ModbusTcpADU")
# Simple Field (transactionIdentifier)
- write_buffer.write_unsigned_short(
- self.transaction_identifier,
- bit_length=16,
- logical_name="transactionIdentifier",
- )
+ write_buffer.write_unsigned_short(self.transaction_identifier,bit_length=16,logical_name="transactionIdentifier")
# Const Field (protocolIdentifier)
- write_buffer.write_unsigned_short(
- self.PROTOCOL_IDENTIFIER, logical_name="protocolIdentifier"
- )
+ write_buffer.write_unsigned_short(self.PROTOCOL_IDENTIFIER, logical_name="protocolIdentifier")
# Implicit Field (length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- length: int = int(len(self.pdu_array)) + int(1)
+ length: int = (int(len(self.pdu_array))+ int(1))
write_buffer.write_unsigned_short(length, logical_name="length")
# Simple Field (unitIdentifier)
- write_buffer.write_unsigned_byte(
- self.unit_identifier, bit_length=8, logical_name="unitIdentifier"
- )
+ write_buffer.write_unsigned_byte(self.unit_identifier,bit_length=8,logical_name="unitIdentifier")
# Array Field (pduArray)
write_buffer.write_byte_array(self.pdu_array, logical_name="pdu_array")
write_buffer.pop_context("ModbusTcpADU")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -89,50 +83,41 @@ class ModbusTcpADU:
if self.pdu_array is not None:
length_in_bits += 8 * len(self.pdu_array)
+
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return ModbusTcpADU.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("ModbusTcpADU")
- transaction_identifier: int = read_buffer.read_unsigned_short(
- logical_name="transaction_identifier",
- bit_length=16,
- byte_order=ByteOrder.BIG_ENDIAN,
- )
-
- PROTOCOL_IDENTIFIER: int = read_buffer.read_unsigned_short(
- logical_name="protocol_identifier", byte_order=ByteOrder.BIG_ENDIAN
- )
-
- length: int = read_buffer.read_unsigned_short(
- logical_name="length", byte_order=ByteOrder.BIG_ENDIAN
- )
-
- unit_identifier: int = read_buffer.read_unsigned_byte(
- logical_name="unit_identifier",
- bit_length=8,
- byte_order=ByteOrder.BIG_ENDIAN,
- )
-
- pdu_array: List[Any] = read_buffer.read_array_field(
- logical_name="pduArray",
- read_function=read_buffer.read_byte,
- count=length - int(1),
- byte_order=ByteOrder.BIG_ENDIAN,
- )
+
+
+ transaction_identifier: int = read_buffer.read_unsigned_short(logical_name="transaction_identifier", bit_length=16, byte_order=ByteOrder.BIG_ENDIAN)
+
+
+
+ PROTOCOL_IDENTIFIER: int = read_buffer.read_unsigned_short(logical_name="protocol_identifier", byte_order=ByteOrder.BIG_ENDIAN)
+
+ length: int = read_buffer.read_unsigned_short(logical_name="length", byte_order=ByteOrder.BIG_ENDIAN)
+
+ unit_identifier: int = read_buffer.read_unsigned_byte(logical_name="unit_identifier", bit_length=8, byte_order=ByteOrder.BIG_ENDIAN)
+
+
+
+ pdu_array: List[Any] = read_buffer.read_array_field(logical_name="pduArray", read_function=read_buffer.read_byte, count=length- int(1), byte_order=ByteOrder.BIG_ENDIAN)
read_buffer.pop_context("ModbusTcpADU")
# Create the instance
- _modbus_tcp_adu: ModbusTcpADU = ModbusTcpADU(
- transaction_identifier, unit_identifier, pdu_array
- )
+ _modbus_tcp_adu: ModbusTcpADU = ModbusTcpADU(transaction_identifier, unit_identifier, pdu_array )
return _modbus_tcp_adu
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -141,22 +126,21 @@ class ModbusTcpADU:
return False
that: ModbusTcpADU = ModbusTcpADU(o)
- return (
- (self.transaction_identifier == that.transaction_identifier)
- and (self.unit_identifier == that.unit_identifier)
- and (self.pdu_array == that.pdu_array)
- and True
- )
+ return (self.transaction_identifier == that.transaction_identifier) and (self.unit_identifier == that.unit_identifier) and (self.pdu_array == that.pdu_array) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/PlcMemoryBlockIdent.py b/plc4py/plc4py/protocols/umas/readwrite/PlcMemoryBlockIdent.py
index eb02667c64..a17c8aa05d 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/PlcMemoryBlockIdent.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/PlcMemoryBlockIdent.py
@@ -25,38 +25,34 @@ from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
-class PlcMemoryBlockIdent:
+class PlcMemoryBlockIdent():
block_type: int
folio: int
status: int
memory_length: int
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("PlcMemoryBlockIdent")
# Simple Field (blockType)
- write_buffer.write_unsigned_byte(
- self.block_type, bit_length=8, logical_name="blockType"
- )
+ write_buffer.write_unsigned_byte(self.block_type,bit_length=8,logical_name="blockType")
# Simple Field (folio)
- write_buffer.write_unsigned_byte(self.folio, bit_length=8, logical_name="folio")
+ write_buffer.write_unsigned_byte(self.folio,bit_length=8,logical_name="folio")
# Simple Field (status)
- write_buffer.write_unsigned_short(
- self.status, bit_length=16, logical_name="status"
- )
+ write_buffer.write_unsigned_short(self.status,bit_length=16,logical_name="status")
# Simple Field (memoryLength)
- write_buffer.write_unsigned_int(
- self.memory_length, bit_length=32, logical_name="memoryLength"
- )
+ write_buffer.write_unsigned_int(self.memory_length,bit_length=32,logical_name="memoryLength")
write_buffer.pop_context("PlcMemoryBlockIdent")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -78,35 +74,40 @@ class PlcMemoryBlockIdent:
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return PlcMemoryBlockIdent.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("PlcMemoryBlockIdent")
- block_type: int = read_buffer.read_unsigned_byte(
- logical_name="block_type", bit_length=8
- )
- folio: int = read_buffer.read_unsigned_byte(logical_name="folio", bit_length=8)
- status: int = read_buffer.read_unsigned_short(
- logical_name="status", bit_length=16
- )
+ block_type: int = read_buffer.read_unsigned_byte(logical_name="block_type", bit_length=8)
+
+
+
+ folio: int = read_buffer.read_unsigned_byte(logical_name="folio", bit_length=8)
+
+
+
+ status: int = read_buffer.read_unsigned_short(logical_name="status", bit_length=16)
+
+
+
+ memory_length: int = read_buffer.read_unsigned_int(logical_name="memory_length", bit_length=32)
+
- memory_length: int = read_buffer.read_unsigned_int(
- logical_name="memory_length", bit_length=32
- )
read_buffer.pop_context("PlcMemoryBlockIdent")
# Create the instance
- _plc_memory_block_ident: PlcMemoryBlockIdent = PlcMemoryBlockIdent(
- block_type, folio, status, memory_length
- )
+ _plc_memory_block_ident: PlcMemoryBlockIdent = PlcMemoryBlockIdent(block_type, folio, status, memory_length )
return _plc_memory_block_ident
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -115,23 +116,21 @@ class PlcMemoryBlockIdent:
return False
that: PlcMemoryBlockIdent = PlcMemoryBlockIdent(o)
- return (
- (self.block_type == that.block_type)
- and (self.folio == that.folio)
- and (self.status == that.status)
- and (self.memory_length == that.memory_length)
- and True
- )
+ return (self.block_type == that.block_type) and (self.folio == that.folio) and (self.status == that.status) and (self.memory_length == that.memory_length) and True
def hash_code(self) -> int:
return hash(self)
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/UmasConstants.py b/plc4py/plc4py/protocols/umas/readwrite/UmasConstants.py
index bc8c7ad072..ff4c5fb203 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/UmasConstants.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/UmasConstants.py
@@ -25,22 +25,22 @@ from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.spi.generation.ReadBuffer import ReadBuffer
from plc4py.spi.generation.WriteBuffer import WriteBuffer
import math
-
-
+
@dataclass
-class UmasConstants:
+class UmasConstants():
UMAS_TCP_DEFAULT_PORT: int = int(502)
+
+
def serialize(self, write_buffer: WriteBuffer):
write_buffer.push_context("UmasConstants")
# Const Field (UmasTcpDefaultPort)
- write_buffer.write_unsigned_short(
- self.UMAS_TCP_DEFAULT_PORT, logical_name="UmasTcpDefaultPort"
- )
+ write_buffer.write_unsigned_short(self.UMAS_TCP_DEFAULT_PORT, logical_name="UmasTcpDefaultPort")
write_buffer.pop_context("UmasConstants")
+
def length_in_bytes(self) -> int:
return int(math.ceil(float(self.length_in_bits() / 8.0)))
@@ -53,23 +53,26 @@ class UmasConstants:
return length_in_bits
+
@staticmethod
def static_parse(read_buffer: ReadBuffer, **kwargs):
return UmasConstants.static_parse_context(read_buffer)
+
@staticmethod
def static_parse_context(read_buffer: ReadBuffer):
read_buffer.push_context("UmasConstants")
- UMAS_TCP_DEFAULT_PORT: int = read_buffer.read_unsigned_short(
- logical_name="umas_tcp_default_port"
- )
+
+
+ UMAS_TCP_DEFAULT_PORT: int = read_buffer.read_unsigned_short(logical_name="umas_tcp_default_port")
read_buffer.pop_context("UmasConstants")
# Create the instance
_umas_constants: UmasConstants = UmasConstants()
return _umas_constants
+
def equals(self, o: object) -> bool:
if self == o:
return True
@@ -85,10 +88,14 @@ class UmasConstants:
def __str__(self) -> str:
pass
- # write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
- # try:
+ #write_buffer_box_based: WriteBufferBoxBased = WriteBufferBoxBased(True, True)
+ #try:
# write_buffer_box_based.writeSerializable(self)
- # except SerializationException as e:
+ #except SerializationException as e:
# raise PlcRuntimeException(e)
- # return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+ #return "\n" + str(write_buffer_box_based.get_box()) + "\n"
+
+
+
+
diff --git a/plc4py/plc4py/protocols/umas/readwrite/UmasDataType.py b/plc4py/plc4py/protocols/umas/readwrite/UmasDataType.py
index 69fcc90f31..1cc917000d 100644
--- a/plc4py/plc4py/protocols/umas/readwrite/UmasDataType.py
+++ b/plc4py/plc4py/protocols/umas/readwrite/UmasDataType.py
@@ -19,32 +19,34 @@
# Code generated by code-generation. DO NOT EDIT.
... 4797 lines suppressed ...