You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by hu...@apache.org on 2023/05/21 04:34:26 UTC
[plc4x] 01/03: feat(plc4py): Work on the templates
This is an automated email from the ASF dual-hosted git repository.
hutcheb pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit ad7fbdb97d5fac6c2c3a3160a9da5ca3a4074c83
Author: Ben Hutcheson <be...@gmail.com>
AuthorDate: Sat May 20 01:12:27 2023 +0200
feat(plc4py): Work on the templates
---
.../python/PythonLanguageTemplateHelper.java | 107 +++++---------
.../python/complex-type-template.python.ftlh | 6 +-
.../plc4py/protocols/modbus/readwrite/DataItem.py | 6 +-
.../protocols/modbus/readwrite/ModbusAsciiADU.py | 6 +-
.../protocols/modbus/readwrite/ModbusConstants.py | 2 +-
.../readwrite/ModbusDeviceInformationObject.py | 10 +-
.../plc4py/protocols/modbus/readwrite/ModbusPDU.py | 160 ++++++++++-----------
.../modbus/readwrite/ModbusPDUDiagnosticRequest.py | 10 +-
.../readwrite/ModbusPDUDiagnosticResponse.py | 10 +-
.../protocols/modbus/readwrite/ModbusPDUError.py | 6 +-
.../ModbusPDUGetComEventCounterRequest.py | 4 +-
.../ModbusPDUGetComEventCounterResponse.py | 12 +-
.../readwrite/ModbusPDUGetComEventLogRequest.py | 4 +-
.../readwrite/ModbusPDUGetComEventLogResponse.py | 28 ++--
.../ModbusPDUMaskWriteHoldingRegisterRequest.py | 14 +-
.../ModbusPDUMaskWriteHoldingRegisterResponse.py | 14 +-
.../modbus/readwrite/ModbusPDUReadCoilsRequest.py | 10 +-
.../modbus/readwrite/ModbusPDUReadCoilsResponse.py | 12 +-
.../ModbusPDUReadDeviceIdentificationRequest.py | 13 +-
.../ModbusPDUReadDeviceIdentificationResponse.py | 27 ++--
.../ModbusPDUReadDiscreteInputsRequest.py | 10 +-
.../ModbusPDUReadDiscreteInputsResponse.py | 12 +-
.../ModbusPDUReadExceptionStatusRequest.py | 4 +-
.../ModbusPDUReadExceptionStatusResponse.py | 6 +-
.../readwrite/ModbusPDUReadFifoQueueRequest.py | 6 +-
.../readwrite/ModbusPDUReadFifoQueueResponse.py | 28 ++--
.../readwrite/ModbusPDUReadFileRecordRequest.py | 11 +-
.../ModbusPDUReadFileRecordRequestItem.py | 14 +-
.../readwrite/ModbusPDUReadFileRecordResponse.py | 11 +-
.../ModbusPDUReadFileRecordResponseItem.py | 14 +-
.../ModbusPDUReadHoldingRegistersRequest.py | 10 +-
.../ModbusPDUReadHoldingRegistersResponse.py | 12 +-
.../ModbusPDUReadInputRegistersRequest.py | 10 +-
.../ModbusPDUReadInputRegistersResponse.py | 12 +-
...sPDUReadWriteMultipleHoldingRegistersRequest.py | 24 ++--
...PDUReadWriteMultipleHoldingRegistersResponse.py | 12 +-
.../readwrite/ModbusPDUReportServerIdRequest.py | 4 +-
.../readwrite/ModbusPDUReportServerIdResponse.py | 12 +-
.../readwrite/ModbusPDUWriteFileRecordRequest.py | 11 +-
.../ModbusPDUWriteFileRecordRequestItem.py | 24 ++--
.../readwrite/ModbusPDUWriteFileRecordResponse.py | 11 +-
.../ModbusPDUWriteFileRecordResponseItem.py | 22 +--
.../ModbusPDUWriteMultipleCoilsRequest.py | 18 +--
.../ModbusPDUWriteMultipleCoilsResponse.py | 10 +-
...odbusPDUWriteMultipleHoldingRegistersRequest.py | 18 +--
...dbusPDUWriteMultipleHoldingRegistersResponse.py | 10 +-
.../readwrite/ModbusPDUWriteSingleCoilRequest.py | 10 +-
.../readwrite/ModbusPDUWriteSingleCoilResponse.py | 10 +-
.../ModbusPDUWriteSingleRegisterRequest.py | 10 +-
.../ModbusPDUWriteSingleRegisterResponse.py | 10 +-
.../protocols/modbus/readwrite/ModbusRtuADU.py | 6 +-
.../protocols/modbus/readwrite/ModbusTcpADU.py | 14 +-
.../plc4py/protocols/simulated/readwrite/Dummy.py | 4 +-
.../plc4py/plc4py/spi/generation/WriteBuffer.py | 14 ++
54 files changed, 360 insertions(+), 515 deletions(-)
diff --git a/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java b/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
index 56e1534400..e706ef78b7 100644
--- a/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
+++ b/code-generation/language-python/src/main/java/org/apache/plc4x/language/python/PythonLanguageTemplateHelper.java
@@ -212,6 +212,11 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
}
}
+ public String getReservedValue(ReservedField reservedField) {
+ final String languageTypeName = getLanguageTypeNameForTypeReference(reservedField.getType());
+ return languageTypeName + "(" + reservedField.getReferenceValue() + ")";
+ }
+
public String getFieldOptions(TypedField field, List<Argument> parserArguments) {
StringBuilder sb = new StringBuilder();
final Optional<Term> encodingOptional = field.getEncoding();
@@ -276,36 +281,33 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
final int sizeInBits = simpleTypeReference.getSizeInBits();
switch (simpleTypeReference.getBaseType()) {
case BIT:
- return "read_boolean(read_buffer)";
+ return "read_boolean";
case BYTE:
- return "read_byte(read_buffer, " + sizeInBits + ")";
+ return "read_byte";
case UINT:
- if (sizeInBits <= 4) return "read_unsigned_byte(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 8) return "read_unsigned_short(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 16) return "read_unsigned_int(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 32) return "read_unsigned_long(read_buffer, " + sizeInBits + ")";
- return "read_unsigned_big_integer(read_buffer, " + sizeInBits + ")";
+ if (sizeInBits <= 4) return "read_unsigned_byte";
+ if (sizeInBits <= 8) return "read_unsigned_short";
+ if (sizeInBits <= 16) return "read_unsigned_int";
+ return "read_unsigned_long";
case INT:
- if (sizeInBits <= 8) return "read_signed_byte(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 16) return "read_signed_short(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 32) return "read_signed_int(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 64) return "read_signed_long(read_buffer, " + sizeInBits + ")";
- return "read_signed_big_integer(read_buffer, " + sizeInBits + ")";
+ if (sizeInBits <= 8) return "read_signed_byte";
+ if (sizeInBits <= 16) return "read_signed_short";
+ if (sizeInBits <= 32) return "read_signed_int";
+ return "read_signed_long";
case FLOAT:
- if (sizeInBits <= 32) return "read_float(read_buffer, " + sizeInBits + ")";
- if (sizeInBits <= 64) return "read_double(read_buffer, " + sizeInBits + ")";
- return "read_big_decimal(read_buffer, " + sizeInBits + ")";
+ if (sizeInBits <= 32) return "read_float";
+ return "read_double";
case STRING:
- return "read_string(read_buffer, " + sizeInBits + ")";
+ return "read_string";
case VSTRING:
VstringTypeReference vstringTypeReference = (VstringTypeReference) simpleTypeReference;
- return "read_string(read_buffer, " + toParseExpression(null, INT_TYPE_REFERENCE, vstringTypeReference.getLengthExpression(), null) + ")";
+ return "read_string";
case TIME:
- return "read_time(read_buffer)";
+ return "read_time";
case DATE:
- return "read_date(read_buffer)";
+ return "read_date";
case DATETIME:
- return "read_date_time(read_buffer)";
+ return "read_date_time";
default:
throw new UnsupportedOperationException("Unsupported type " + simpleTypeReference.getBaseType());
}
@@ -674,31 +676,6 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
}
}
- public String getReservedValue(ReservedField reservedField) {
- final String languageTypeName = getLanguageTypeNameForTypeReference(reservedField.getType());
- switch (languageTypeName) {
- case "*big.Int":
- emitRequiredImport("math/big");
- return "big.NewInt(" + reservedField.getReferenceValue() + ")";
- case "*big.Float":
- emitRequiredImport("math/big");
- return "*big.Float(" + reservedField.getReferenceValue() + ")";
- default:
- return languageTypeName + "(" + reservedField.getReferenceValue() + ")";
- }
- }
-
- public String toTypeSafeCompare(ReservedField reservedField) {
- final String languageTypeName = getLanguageTypeNameForTypeReference(reservedField.getType());
- switch (languageTypeName) {
- case "*big.Int":
- case "*big.Float":
- emitRequiredImport("math/big");
- return "reserved.Cmp(" + getReservedValue(reservedField) + ") != 0";
- default:
- return "reserved != " + getReservedValue(reservedField);
- }
- }
public String toParseExpression(Field field, TypeReference resultType, Term term, List<Argument> parserArguments) {
Tracer tracer = Tracer.start("toParseExpression");
@@ -815,8 +792,8 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
switch (operation) {
case "^":
tracer = tracer.dive("^");
- emitRequiredImport("math");
- return tracer + "Math.pow(" +
+ emitRequiredImport("from math import pow");
+ return tracer + "pow(" +
castExpressionForTypeReference + "(" + toExpression(field, fieldType, a, parserArguments, serializerArguments, serialize, false) + "), " +
castExpressionForTypeReference + "(" + toExpression(field, fieldType, b, parserArguments, serializerArguments, serialize, false) + "))";
// If we start casting for comparisons, equals or non equals, really messy things happen.
@@ -853,9 +830,9 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
toExpression(field, fieldType, b, parserArguments, serializerArguments, serialize, false);
}
return tracer +
- castExpressionForTypeReference + "(" + toExpression(field, fieldType, a, parserArguments, serializerArguments, serialize, false) + ") " +
+ toExpression(field, fieldType, a, parserArguments, serializerArguments, serialize, false) +
operation + " " +
- castExpressionForTypeReference + "(" + toExpression(field, fieldType, b, parserArguments, serializerArguments, serialize, false) + ")";
+ toExpression(field, fieldType, b, parserArguments, serializerArguments, serialize, false);
}
}
@@ -884,7 +861,8 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
return tracer + "None";
} else if (term instanceof BooleanLiteral) {
tracer = tracer.dive("boolean literal instanceOf");
- return tracer + getCastExpressionForTypeReference(fieldType) + "(" + ((BooleanLiteral) term).getValue() + ")";
+ String bool = Boolean.toString(((BooleanLiteral) term).getValue());
+ return tracer + bool.substring(0,1).toUpperCase() + bool.substring(1);
} else if (term instanceof NumericLiteral) {
tracer = tracer.dive("numeric literal instanceOf");
if (getCastExpressionForTypeReference(fieldType).equals("string")) {
@@ -1130,8 +1108,8 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
.stream().findFirst().orElseThrow(IllegalStateException::new);
// The Ceil function expects 64 bit floating point values.
TypeReference tr = new DefaultFloatTypeReference(SimpleTypeReference.SimpleBaseType.FLOAT, 64);
- emitRequiredImport("math");
- return tracer + "math.Ceil(" + toExpression(field, tr, va, parserArguments, serializerArguments, serialize, suppressPointerAccess) + ")";
+ emitRequiredImport("from math import ceil");
+ return tracer + "ceil(" + toExpression(field, tr, va, parserArguments, serializerArguments, serialize, suppressPointerAccess) + ")";
}
private String toArraySizeInBytesVariableExpression(Field field, TypeReference typeReference, VariableLiteral variableLiteral, List<Argument> parserArguments, List<Argument> serializerArguments, boolean suppressPointerAccess, Tracer tracer) {
@@ -1144,7 +1122,7 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
.asVariableLiteral()
.orElseThrow(() -> new RuntimeException("ARRAY_SIZE_IN_BYTES needs a variable literal"));
// "io" and "m" are always available in every parser.
- boolean isSerializerArg = "readBuffer".equals(va.getName()) || "writeBuffer".equals(va.getName()) || "m".equals(va.getName()) || "element".equals(va.getName());
+ boolean isSerializerArg = "read_buffer".equals(va.getName()) || "write_buffer".equals(va.getName()) || "self".equals(va.getName()) || "element".equals(va.getName());
if (!isSerializerArg && serializerArguments != null) {
for (Argument serializerArgument : serializerArguments) {
if (serializerArgument.getName().equals(va.getName())) {
@@ -1159,7 +1137,8 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
} else {
sb.append(toVariableExpression(field, typeReference, va, parserArguments, serializerArguments, true, suppressPointerAccess));
}
- return tracer + getCastExpressionForTypeReference(typeReference) + "(" + va.getName() + "ArraySizeInBytes(" + sb + "))";
+ emitRequiredImport("from sys import getsizeof");
+ return tracer + getCastExpressionForTypeReference(typeReference) + "(getsizeof(" + sb + "))";
}
private String toCountVariableExpression(Field field, TypeReference typeReference, VariableLiteral variableLiteral, List<Argument> parserArguments, List<Argument> serializerArguments, boolean serialize, boolean suppressPointerAccess, Tracer tracer) {
@@ -1764,26 +1743,6 @@ public class PythonLanguageTemplateHelper extends BaseFreemarkerLanguageTemplate
return extractedTrace + StringUtils.capitalize(cleanedString);
}
- public String getEndiannessOptions(boolean read, boolean separatorPrefix) {
- return getEndiannessOptions(read, separatorPrefix, Collections.emptyList());
- }
-
- public String getEndiannessOptions(boolean read, boolean separatorPrefix, List<Argument> parserArguments) {
- Optional<Term> byteOrder = thisType.getAttribute("byteOrder");
- if (byteOrder.isPresent()) {
- emitRequiredImport("encoding/binary");
- if(read) {
- return (separatorPrefix ? ", " : "") + "utils.WithByteOrderForReadBufferByteBased(" +
- toParseExpression(null, new DefaultByteOrderTypeReference(), byteOrder.orElseThrow(), parserArguments) +
- ")";
- } else {
- return (separatorPrefix ? ", " : "") + "utils.WithByteOrderForByteBasedBuffer(" +
- toSerializationExpression(null, new DefaultByteOrderTypeReference(), byteOrder.orElseThrow(), parserArguments) +
- ")";
- }
- }
- return "";
- }
/**
* Converts a camel-case string to snake-case.
diff --git a/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh b/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
index e6e2584b03..11ce0db831 100644
--- a/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
+++ b/code-generation/language-python/src/main/resources/templates/python/complex-type-template.python.ftlh
@@ -220,7 +220,7 @@ class ${type.name}<#if type.isDiscriminatedParentTypeDefinition()></#if>(<#if ty
# Array Field (${arrayField.name})
<#if arrayField.type.elementTypeReference.isByteBased()>
- write_buffer.write_byte_array(self.${helper.camelCaseToSnakeCase(namedField.name)}, 8, logical_name="${namedField.name}")
+ write_buffer.write_byte_array(self.${helper.camelCaseToSnakeCase(namedField.name)}, logical_name="${namedField.name}")
<#elseif arrayField.type.elementTypeReference.isSimpleTypeReference()>
write_buffer.write_simple_array(self.${helper.camelCaseToSnakeCase(namedField.name)}, ${helper.getDataWriterCall(arrayField.type.elementTypeReference, namedField.name)}, logical_name="${namedField.name}")
<#else>
@@ -369,12 +369,12 @@ class ${type.name}<#if type.isDiscriminatedParentTypeDefinition()></#if>(<#if ty
if self.${helper.camelCaseToSnakeCase(arrayField.name)} is not None:
<#if arrayElementTypeReference.isSimpleTypeReference()>
<#assign simpleTypeReference = arrayElementTypeReference.asSimpleTypeReference().orElseThrow()>
- length_in_bits += ${simpleTypeReference.sizeInBits} * self.${helper.camelCaseToSnakeCase(arrayField.name)}.<#if arrayElementTypeReference.isByteBased()>length<#else>size()</#if>
+ length_in_bits += ${simpleTypeReference.sizeInBits} * len(self.${helper.camelCaseToSnakeCase(arrayField.name)})
<#elseif arrayField.isCountArrayField()>
i: int = 0
<#assign nonSimpleTypeReference = arrayElementTypeReference.asNonSimpleTypeReference().orElseThrow()>
for element in self.${helper.camelCaseToSnakeCase(arrayField.name)}:
- last: bool = ++i >= self.${helper.camelCaseToSnakeCase(arrayField.name)}.size()
+ last: bool = ++i >= len(self.${helper.camelCaseToSnakeCase(arrayField.name)})
length_in_bits += element.get_length_in_bits()
<#else>
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/DataItem.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/DataItem.py
index ddbc20e5c2..58f87c19d6 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/DataItem.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/DataItem.py
@@ -99,15 +99,15 @@ class DataItem:
if EvaluationHelper.equals(data_type, ModbusDataType.get_byte()): # List
# Array field (value)
# Count array
- if c_int32(numberOfValues) * c_int32(c_int32(8)) > Integer.MAX_VALUE:
+ if numberOfValues * c_int32(8) > Integer.MAX_VALUE:
raise ParseException(
"Array count of "
- + (c_int32(numberOfValues) * c_int32(c_int32(8)))
+ + (numberOfValues * c_int32(8))
+ " exceeds the maximum allowed count of "
+ Integer.MAX_VALUE
)
- item_count: int = int(c_int32(numberOfValues) * c_int32(c_int32(8)))
+ item_count: int = int(numberOfValues * c_int32(8))
value: List[PlcValue] = []
for cur_item in range(item_count):
value.append(PlcBOOL(c_bool(read_buffer.readBit(""))))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
index 8a06bc3a2d..2a478ce666 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusAsciiADU.py
@@ -88,9 +88,7 @@ class ModbusAsciiADU(PlcMessage, ModbusADU):
cur_pos: int = 0
address: c_uint8 = read_simple_field(
- "address",
- read_unsigned_short(read_buffer, 8),
- WithOption.WithByteOrder(get_bi_g__endian()),
+ "address", read_unsigned_short, WithOption.WithByteOrder(get_bi_g__endian())
)
pdu: ModbusPDU = read_simple_field(
@@ -103,7 +101,7 @@ class ModbusAsciiADU(PlcMessage, ModbusADU):
crc: c_uint8 = read_checksum_field(
"crc",
- read_unsigned_short(read_buffer, 8),
+ read_unsigned_short,
(c_uint8)(ascii_lrc_check(address, pdu)),
WithOption.WithByteOrder(get_bi_g__endian()),
)
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py
index 5d35fc9fa9..a007c12c9f 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusConstants.py
@@ -66,7 +66,7 @@ class ModbusConstants(PlcMessage):
modbus_tcp_default_port: c_uint16 = read_const_field(
"modbusTcpDefaultPort",
- read_unsigned_int(read_buffer, 16),
+ read_unsigned_int,
ModbusConstants.MODBUSTCPDEFAULTPORT,
)
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py
index 259271e9c5..91d2cd9ddb 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusDeviceInformationObject.py
@@ -47,7 +47,7 @@ class ModbusDeviceInformationObject(PlcMessage):
write_buffer.write_unsigned_byte(object_length, logical_name="objectLength")
# Array Field (data)
- write_buffer.write_byte_array(self.data, 8, logical_name="data")
+ write_buffer.write_byte_array(self.data, logical_name="data")
write_buffer.pop_context("ModbusDeviceInformationObject")
@@ -66,7 +66,7 @@ class ModbusDeviceInformationObject(PlcMessage):
# Array field
if self.data is not None:
- length_in_bits += 8 * self.data.length
+ length_in_bits += 8 * len(self.data)
return length_in_bits
@@ -79,12 +79,10 @@ class ModbusDeviceInformationObject(PlcMessage):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- object_id: c_uint8 = read_simple_field(
- "objectId", read_unsigned_short(read_buffer, 8)
- )
+ object_id: c_uint8 = read_simple_field("objectId", read_unsigned_short)
object_length: c_uint8 = read_implicit_field(
- "objectLength", read_unsigned_short(read_buffer, 8)
+ "objectLength", read_unsigned_short
)
data: List[c_byte] = read_buffer.read_byte_array("data", int(objectLength))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
index 3f4e929ee4..37f45d9c28 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDU.py
@@ -112,150 +112,148 @@ class ModbusPDU(ABC, PlcMessage):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- error_flag: c_bool = read_discriminator_field(
- "errorFlag", read_boolean(read_buffer)
- )
+ error_flag: c_bool = read_discriminator_field("errorFlag", read_boolean)
function_flag: c_uint8 = read_discriminator_field(
- "functionFlag", read_unsigned_short(read_buffer, 7)
+ "functionFlag", read_unsigned_short
)
# Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
builder: ModbusPDUBuilder = None
- if EvaluationHelper.equals(errorFlag, c_bool(c_bool(true))):
+ if EvaluationHelper.equals(errorFlag, c_bool(True)):
builder = ModbusPDUError.staticParseBuilder(read_buffer, response)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x02))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadDiscreteInputsRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x02))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadDiscreteInputsResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x01))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadCoilsRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x01))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadCoilsResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x05))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUWriteSingleCoilRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x05))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUWriteSingleCoilResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x0F))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUWriteMultipleCoilsRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x0F))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUWriteMultipleCoilsResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x04))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadInputRegistersRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x04))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadInputRegistersResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x03))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadHoldingRegistersRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x03))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadHoldingRegistersResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x06))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUWriteSingleRegisterRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x06))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUWriteSingleRegisterResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x10))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUWriteMultipleHoldingRegistersRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x10))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUWriteMultipleHoldingRegistersResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x17))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = (
ModbusPDUReadWriteMultipleHoldingRegistersRequest.staticParseBuilder(
@@ -263,9 +261,9 @@ class ModbusPDU(ABC, PlcMessage):
)
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x17))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = (
ModbusPDUReadWriteMultipleHoldingRegistersResponse.staticParseBuilder(
@@ -273,161 +271,161 @@ class ModbusPDU(ABC, PlcMessage):
)
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x16))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUMaskWriteHoldingRegisterRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x16))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUMaskWriteHoldingRegisterResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x18))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadFifoQueueRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x18))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadFifoQueueResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x14))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadFileRecordRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x14))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadFileRecordResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x15))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUWriteFileRecordRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x15))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUWriteFileRecordResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x07))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadExceptionStatusRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x07))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadExceptionStatusResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x08))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUDiagnosticRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x08))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUDiagnosticResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x0B))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUGetComEventCounterRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x0B))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUGetComEventCounterResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x0C))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUGetComEventLogRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x0C))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUGetComEventLogResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x11))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReportServerIdRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x11))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReportServerIdResponse.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x2B))
- and EvaluationHelper.equals(response, c_bool(c_bool(false)))
+ and EvaluationHelper.equals(response, c_bool(False))
):
builder = ModbusPDUReadDeviceIdentificationRequest.staticParseBuilder(
read_buffer, response
)
if (
- EvaluationHelper.equals(errorFlag, c_bool(c_bool(false)))
+ EvaluationHelper.equals(errorFlag, c_bool(False))
and EvaluationHelper.equals(functionFlag, c_uint8(0x2B))
- and EvaluationHelper.equals(response, c_bool(c_bool(true)))
+ and EvaluationHelper.equals(response, c_bool(True))
):
builder = ModbusPDUReadDeviceIdentificationResponse.staticParseBuilder(
read_buffer, response
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
index c64daebf0b..33405fb7fe 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUDiagnosticRequest(PlcMessage, ModbusPDU):
sub_function: c_uint16
data: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x08
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -74,11 +74,9 @@ class ModbusPDUDiagnosticRequest(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- sub_function: c_uint16 = read_simple_field(
- "subFunction", read_unsigned_int(read_buffer, 16)
- )
+ sub_function: c_uint16 = read_simple_field("subFunction", read_unsigned_int)
- data: c_uint16 = read_simple_field("data", read_unsigned_int(read_buffer, 16))
+ data: c_uint16 = read_simple_field("data", read_unsigned_int)
read_buffer.close_context("ModbusPDUDiagnosticRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
index ae00e09287..17218f27f7 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUDiagnosticResponse.py
@@ -34,9 +34,9 @@ class ModbusPDUDiagnosticResponse(PlcMessage, ModbusPDU):
sub_function: c_uint16
data: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x08
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -74,11 +74,9 @@ class ModbusPDUDiagnosticResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- sub_function: c_uint16 = read_simple_field(
- "subFunction", read_unsigned_int(read_buffer, 16)
- )
+ sub_function: c_uint16 = read_simple_field("subFunction", read_unsigned_int)
- data: c_uint16 = read_simple_field("data", read_unsigned_int(read_buffer, 16))
+ data: c_uint16 = read_simple_field("data", read_unsigned_int)
read_buffer.close_context("ModbusPDUDiagnosticResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
index 0bc22be06f..f16f2dc7d4 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUError.py
@@ -33,7 +33,7 @@ import math
class ModbusPDUError(PlcMessage, ModbusPDU):
exception_code: ModbusErrorCode
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(true)
+ error_flag: c_bool = True
function_flag: c_uint8 = 0
response: c_bool = False
@@ -72,9 +72,7 @@ class ModbusPDUError(PlcMessage, ModbusPDU):
exception_code: ModbusErrorCode = read_enum_field(
"exceptionCode",
"ModbusErrorCode",
- DataReaderEnumDefault(
- ModbusErrorCode.enumForValue, read_unsigned_short(read_buffer, 8)
- ),
+ DataReaderEnumDefault(ModbusErrorCode.enumForValue, read_unsigned_short),
)
read_buffer.close_context("ModbusPDUError")
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
index ebd135c89c..7969c246f3 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterRequest.py
@@ -31,9 +31,9 @@ import math
@dataclass
class ModbusPDUGetComEventCounterRequest(PlcMessage, ModbusPDU):
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x0B
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
index c9bb72146c..f6de691a25 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventCounterResponse.py
@@ -34,9 +34,9 @@ class ModbusPDUGetComEventCounterResponse(PlcMessage, ModbusPDU):
status: c_uint16
event_count: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x0B
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -74,13 +74,9 @@ class ModbusPDUGetComEventCounterResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- status: c_uint16 = read_simple_field(
- "status", read_unsigned_int(read_buffer, 16)
- )
+ status: c_uint16 = read_simple_field("status", read_unsigned_int)
- event_count: c_uint16 = read_simple_field(
- "eventCount", read_unsigned_int(read_buffer, 16)
- )
+ event_count: c_uint16 = read_simple_field("eventCount", read_unsigned_int)
read_buffer.close_context("ModbusPDUGetComEventCounterResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
index 6d641496d2..b7a2775dfb 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogRequest.py
@@ -31,9 +31,9 @@ import math
@dataclass
class ModbusPDUGetComEventLogRequest(PlcMessage, ModbusPDU):
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x0C
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
index cd8d6286c5..ae854e58ef 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUGetComEventLogResponse.py
@@ -39,9 +39,9 @@ class ModbusPDUGetComEventLogResponse(PlcMessage, ModbusPDU):
message_count: c_uint16
events: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x0C
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -51,7 +51,7 @@ class ModbusPDUGetComEventLogResponse(PlcMessage, ModbusPDU):
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: c_uint8 = c_uint8(c_uint8(len(self.events))) + c_uint8(c_uint8(6))
+ byte_count: c_uint8 = c_uint8(len(self.events)) + c_uint8(6)
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Simple Field (status)
@@ -66,7 +66,7 @@ class ModbusPDUGetComEventLogResponse(PlcMessage, ModbusPDU):
)
# Array Field (events)
- write_buffer.write_byte_array(self.events, 8, logical_name="events")
+ write_buffer.write_byte_array(self.events, logical_name="events")
write_buffer.pop_context("ModbusPDUGetComEventLogResponse")
@@ -91,7 +91,7 @@ class ModbusPDUGetComEventLogResponse(PlcMessage, ModbusPDU):
# Array field
if self.events is not None:
- length_in_bits += 8 * self.events.length
+ length_in_bits += 8 * len(self.events)
return length_in_bits
@@ -101,24 +101,16 @@ class ModbusPDUGetComEventLogResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
- status: c_uint16 = read_simple_field(
- "status", read_unsigned_int(read_buffer, 16)
- )
+ status: c_uint16 = read_simple_field("status", read_unsigned_int)
- event_count: c_uint16 = read_simple_field(
- "eventCount", read_unsigned_int(read_buffer, 16)
- )
+ event_count: c_uint16 = read_simple_field("eventCount", read_unsigned_int)
- message_count: c_uint16 = read_simple_field(
- "messageCount", read_unsigned_int(read_buffer, 16)
- )
+ message_count: c_uint16 = read_simple_field("messageCount", read_unsigned_int)
events: List[c_byte] = read_buffer.read_byte_array(
- "events", int(c_int32(byteCount) - c_int32(c_int32(6)))
+ "events", int(byteCount - c_int32(6))
)
read_buffer.close_context("ModbusPDUGetComEventLogResponse")
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
index 51137cb412..346d1b3372 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterRequest.py
@@ -35,9 +35,9 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(PlcMessage, ModbusPDU):
and_mask: c_uint16
or_mask: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x16
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -84,16 +84,12 @@ class ModbusPDUMaskWriteHoldingRegisterRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
reference_address: c_uint16 = read_simple_field(
- "referenceAddress", read_unsigned_int(read_buffer, 16)
+ "referenceAddress", read_unsigned_int
)
- and_mask: c_uint16 = read_simple_field(
- "andMask", read_unsigned_int(read_buffer, 16)
- )
+ and_mask: c_uint16 = read_simple_field("andMask", read_unsigned_int)
- or_mask: c_uint16 = read_simple_field(
- "orMask", read_unsigned_int(read_buffer, 16)
- )
+ or_mask: c_uint16 = read_simple_field("orMask", read_unsigned_int)
read_buffer.close_context("ModbusPDUMaskWriteHoldingRegisterRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
index b67c7e9946..6a3430e395 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUMaskWriteHoldingRegisterResponse.py
@@ -35,9 +35,9 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(PlcMessage, ModbusPDU):
and_mask: c_uint16
or_mask: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x16
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -84,16 +84,12 @@ class ModbusPDUMaskWriteHoldingRegisterResponse(PlcMessage, ModbusPDU):
cur_pos: int = 0
reference_address: c_uint16 = read_simple_field(
- "referenceAddress", read_unsigned_int(read_buffer, 16)
+ "referenceAddress", read_unsigned_int
)
- and_mask: c_uint16 = read_simple_field(
- "andMask", read_unsigned_int(read_buffer, 16)
- )
+ and_mask: c_uint16 = read_simple_field("andMask", read_unsigned_int)
- or_mask: c_uint16 = read_simple_field(
- "orMask", read_unsigned_int(read_buffer, 16)
- )
+ or_mask: c_uint16 = read_simple_field("orMask", read_unsigned_int)
read_buffer.close_context("ModbusPDUMaskWriteHoldingRegisterResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
index 444b90bedc..cfbada8254 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUReadCoilsRequest(PlcMessage, ModbusPDU):
starting_address: c_uint16
quantity: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x01
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -77,12 +77,10 @@ class ModbusPDUReadCoilsRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
read_buffer.close_context("ModbusPDUReadCoilsRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
index 0ccdd3a6f0..5ce3b8fec7 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadCoilsResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReadCoilsResponse(PlcMessage, ModbusPDU):
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x01
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -50,7 +50,7 @@ class ModbusPDUReadCoilsResponse(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReadCoilsResponse")
@@ -66,7 +66,7 @@ class ModbusPDUReadCoilsResponse(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -76,9 +76,7 @@ class ModbusPDUReadCoilsResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
index 7f2be71e4b..aa32b5e194 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationRequest.py
@@ -37,9 +37,9 @@ class ModbusPDUReadDeviceIdentificationRequest(PlcMessage, ModbusPDU):
object_id: c_uint8
MEITYPE: c_uint8 = 0x0E
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x2B
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -89,7 +89,7 @@ class ModbusPDUReadDeviceIdentificationRequest(PlcMessage, ModbusPDU):
mei_type: c_uint8 = read_const_field(
"meiType",
- read_unsigned_short(read_buffer, 8),
+ read_unsigned_short,
ModbusPDUReadDeviceIdentificationRequest.MEITYPE,
)
@@ -97,14 +97,11 @@ class ModbusPDUReadDeviceIdentificationRequest(PlcMessage, ModbusPDU):
"level",
"ModbusDeviceInformationLevel",
DataReaderEnumDefault(
- ModbusDeviceInformationLevel.enumForValue,
- read_unsigned_short(read_buffer, 8),
+ ModbusDeviceInformationLevel.enumForValue, read_unsigned_short
),
)
- object_id: c_uint8 = read_simple_field(
- "objectId", read_unsigned_short(read_buffer, 8)
- )
+ object_id: c_uint8 = read_simple_field("objectId", read_unsigned_short)
read_buffer.close_context("ModbusPDUReadDeviceIdentificationRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
index 4a35f54d77..1afcab8b39 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDeviceIdentificationResponse.py
@@ -51,9 +51,9 @@ class ModbusPDUReadDeviceIdentificationResponse(PlcMessage, ModbusPDU):
objects: List[ModbusDeviceInformationObject]
MEITYPE: c_uint8 = 0x0E
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x2B
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -139,7 +139,7 @@ class ModbusPDUReadDeviceIdentificationResponse(PlcMessage, ModbusPDU):
if self.objects is not None:
i: int = 0
for element in self.objects:
- last: bool = ++i >= self.objects.size()
+ last: bool = ++i >= len(self.objects)
length_in_bits += element.get_length_in_bits()
return length_in_bits
@@ -152,7 +152,7 @@ class ModbusPDUReadDeviceIdentificationResponse(PlcMessage, ModbusPDU):
mei_type: c_uint8 = read_const_field(
"meiType",
- read_unsigned_short(read_buffer, 8),
+ read_unsigned_short,
ModbusPDUReadDeviceIdentificationResponse.MEITYPE,
)
@@ -160,21 +160,17 @@ class ModbusPDUReadDeviceIdentificationResponse(PlcMessage, ModbusPDU):
"level",
"ModbusDeviceInformationLevel",
DataReaderEnumDefault(
- ModbusDeviceInformationLevel.enumForValue,
- read_unsigned_short(read_buffer, 8),
+ ModbusDeviceInformationLevel.enumForValue, read_unsigned_short
),
)
- individual_access: c_bool = read_simple_field(
- "individualAccess", read_boolean(read_buffer)
- )
+ individual_access: c_bool = read_simple_field("individualAccess", read_boolean)
conformity_level: ModbusDeviceInformationConformityLevel = read_enum_field(
"conformityLevel",
"ModbusDeviceInformationConformityLevel",
DataReaderEnumDefault(
- ModbusDeviceInformationConformityLevel.enumForValue,
- read_unsigned_short(read_buffer, 7),
+ ModbusDeviceInformationConformityLevel.enumForValue, read_unsigned_short
),
)
@@ -182,17 +178,14 @@ class ModbusPDUReadDeviceIdentificationResponse(PlcMessage, ModbusPDU):
"moreFollows",
"ModbusDeviceInformationMoreFollows",
DataReaderEnumDefault(
- ModbusDeviceInformationMoreFollows.enumForValue,
- read_unsigned_short(read_buffer, 8),
+ ModbusDeviceInformationMoreFollows.enumForValue, read_unsigned_short
),
)
- next_object_id: c_uint8 = read_simple_field(
- "nextObjectId", read_unsigned_short(read_buffer, 8)
- )
+ next_object_id: c_uint8 = read_simple_field("nextObjectId", read_unsigned_short)
number_of_objects: c_uint8 = read_implicit_field(
- "numberOfObjects", read_unsigned_short(read_buffer, 8)
+ "numberOfObjects", read_unsigned_short
)
objects: List[ModbusDeviceInformationObject] = read_count_array_field(
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
index 97b20800b8..917bb03c7f 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUReadDiscreteInputsRequest(PlcMessage, ModbusPDU):
starting_address: c_uint16
quantity: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x02
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -77,12 +77,10 @@ class ModbusPDUReadDiscreteInputsRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
read_buffer.close_context("ModbusPDUReadDiscreteInputsRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
index afa39fcc4e..fe3492ffdd 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadDiscreteInputsResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReadDiscreteInputsResponse(PlcMessage, ModbusPDU):
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x02
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -50,7 +50,7 @@ class ModbusPDUReadDiscreteInputsResponse(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReadDiscreteInputsResponse")
@@ -66,7 +66,7 @@ class ModbusPDUReadDiscreteInputsResponse(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -76,9 +76,7 @@ class ModbusPDUReadDiscreteInputsResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
index be5fd8d8d2..9880d2c998 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusRequest.py
@@ -31,9 +31,9 @@ import math
@dataclass
class ModbusPDUReadExceptionStatusRequest(PlcMessage, ModbusPDU):
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x07
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
index 7e66a893f9..4882eb8c5e 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadExceptionStatusResponse.py
@@ -32,9 +32,9 @@ import math
class ModbusPDUReadExceptionStatusResponse(PlcMessage, ModbusPDU):
value: c_uint8
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x07
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -66,7 +66,7 @@ class ModbusPDUReadExceptionStatusResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- value: c_uint8 = read_simple_field("value", read_unsigned_short(read_buffer, 8))
+ value: c_uint8 = read_simple_field("value", read_unsigned_short)
read_buffer.close_context("ModbusPDUReadExceptionStatusResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
index 1a5dd76b9d..b0bfdb5b0b 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueRequest.py
@@ -33,9 +33,9 @@ import math
class ModbusPDUReadFifoQueueRequest(PlcMessage, ModbusPDU):
fifo_pointer_address: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x18
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -70,7 +70,7 @@ class ModbusPDUReadFifoQueueRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
fifo_pointer_address: c_uint16 = read_simple_field(
- "fifoPointerAddress", read_unsigned_int(read_buffer, 16)
+ "fifoPointerAddress", read_unsigned_int
)
read_buffer.close_context("ModbusPDUReadFifoQueueRequest")
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
index cfa769833e..febb4aacf2 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFifoQueueResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReadFifoQueueResponse(PlcMessage, ModbusPDU):
fifo_value: List[c_uint16]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x18
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -46,15 +46,15 @@ class ModbusPDUReadFifoQueueResponse(PlcMessage, ModbusPDU):
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: c_uint16 = c_uint16(
- (c_uint16(c_uint16(len(self.fifo_value))) * c_uint16(c_uint16(2)))
- ) + c_uint16(c_uint16(2))
+ byte_count: c_uint16 = (
+ c_uint16(len(self.fifo_value)) * c_uint16(2)
+ ) + c_uint16(2)
write_buffer.write_unsigned_short(byte_count, logical_name="byteCount")
# Implicit Field (fifo_count) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- fifo_count: c_uint16 = c_uint16(
- (c_uint16(c_uint16(len(self.fifo_value))) * c_uint16(c_uint16(2)))
- ) / c_uint16(c_uint16(2))
+ fifo_count: c_uint16 = (
+ c_uint16(len(self.fifo_value)) * c_uint16(2)
+ ) / c_uint16(2)
write_buffer.write_unsigned_short(fifo_count, logical_name="fifoCount")
# Array Field (fifoValue)
@@ -79,7 +79,7 @@ class ModbusPDUReadFifoQueueResponse(PlcMessage, ModbusPDU):
# Array field
if self.fifo_value is not None:
- length_in_bits += 16 * self.fifo_value.size()
+ length_in_bits += 16 * len(self.fifo_value)
return length_in_bits
@@ -89,16 +89,12 @@ class ModbusPDUReadFifoQueueResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint16 = read_implicit_field(
- "byteCount", read_unsigned_int(read_buffer, 16)
- )
+ byte_count: c_uint16 = read_implicit_field("byteCount", read_unsigned_int)
- fifo_count: c_uint16 = read_implicit_field(
- "fifoCount", read_unsigned_int(read_buffer, 16)
- )
+ fifo_count: c_uint16 = read_implicit_field("fifoCount", read_unsigned_int)
fifo_value: List[c_uint16] = read_count_array_field(
- "fifoValue", read_unsigned_int(read_buffer, 16), fifo_count
+ "fifoValue", read_unsigned_int, fifo_count
)
read_buffer.close_context("ModbusPDUReadFifoQueueResponse")
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
index 99850b8f93..5c82c4ca22 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequest.py
@@ -28,6 +28,7 @@ from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordRequestItem import
ModbusPDUReadFileRecordRequestItem,
)
from plc4py.spi.generation.WriteBuffer import WriteBuffer
+from sys import getsizeof
from typing import List
import math
@@ -36,9 +37,9 @@ import math
class ModbusPDUReadFileRecordRequest(PlcMessage, ModbusPDU):
items: List[ModbusPDUReadFileRecordRequestItem]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x14
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -48,7 +49,7 @@ class ModbusPDUReadFileRecordRequest(PlcMessage, ModbusPDU):
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: c_uint8 = c_uint8(itemsArraySizeInBytes(self.items))
+ byte_count: c_uint8 = c_uint8(getsizeof(self.items))
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (items)
@@ -79,9 +80,7 @@ class ModbusPDUReadFileRecordRequest(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
items: List[ModbusPDUReadFileRecordRequestItem] = read_length_array_field(
"items",
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py
index d7b322ba45..5b4bd6870d 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordRequestItem.py
@@ -91,20 +91,14 @@ class ModbusPDUReadFileRecordRequestItem(PlcMessage):
cur_pos: int = 0
reference_type: c_uint8 = read_simple_field(
- "referenceType", read_unsigned_short(read_buffer, 8)
+ "referenceType", read_unsigned_short
)
- file_number: c_uint16 = read_simple_field(
- "fileNumber", read_unsigned_int(read_buffer, 16)
- )
+ file_number: c_uint16 = read_simple_field("fileNumber", read_unsigned_int)
- record_number: c_uint16 = read_simple_field(
- "recordNumber", read_unsigned_int(read_buffer, 16)
- )
+ record_number: c_uint16 = read_simple_field("recordNumber", read_unsigned_int)
- record_length: c_uint16 = read_simple_field(
- "recordLength", read_unsigned_int(read_buffer, 16)
- )
+ record_length: c_uint16 = read_simple_field("recordLength", read_unsigned_int)
read_buffer.close_context("ModbusPDUReadFileRecordRequestItem")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
index d00ce01c9c..a2694e04ee 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponse.py
@@ -28,6 +28,7 @@ from plc4py.protocols.modbus.readwrite.ModbusPDUReadFileRecordResponseItem impor
ModbusPDUReadFileRecordResponseItem,
)
from plc4py.spi.generation.WriteBuffer import WriteBuffer
+from sys import getsizeof
from typing import List
import math
@@ -36,9 +37,9 @@ import math
class ModbusPDUReadFileRecordResponse(PlcMessage, ModbusPDU):
items: List[ModbusPDUReadFileRecordResponseItem]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x14
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -48,7 +49,7 @@ class ModbusPDUReadFileRecordResponse(PlcMessage, ModbusPDU):
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: c_uint8 = c_uint8(itemsArraySizeInBytes(self.items))
+ byte_count: c_uint8 = c_uint8(getsizeof(self.items))
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (items)
@@ -79,9 +80,7 @@ class ModbusPDUReadFileRecordResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
items: List[ModbusPDUReadFileRecordResponseItem] = read_length_array_field(
"items",
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py
index 63dc78d3d0..7ac3ee9a0e 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadFileRecordResponseItem.py
@@ -41,7 +41,7 @@ class ModbusPDUReadFileRecordResponseItem(PlcMessage):
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: c_uint8 = c_uint8(c_uint8(len(self.data))) + c_uint8(c_uint8(1))
+ data_length: c_uint8 = c_uint8(len(self.data)) + c_uint8(1)
write_buffer.write_unsigned_byte(data_length, logical_name="dataLength")
# Simple Field (referenceType)
@@ -50,7 +50,7 @@ class ModbusPDUReadFileRecordResponseItem(PlcMessage):
)
# Array Field (data)
- write_buffer.write_byte_array(self.data, 8, logical_name="data")
+ write_buffer.write_byte_array(self.data, logical_name="data")
write_buffer.pop_context("ModbusPDUReadFileRecordResponseItem")
@@ -69,7 +69,7 @@ class ModbusPDUReadFileRecordResponseItem(PlcMessage):
# Array field
if self.data is not None:
- length_in_bits += 8 * self.data.length
+ length_in_bits += 8 * len(self.data)
return length_in_bits
@@ -82,16 +82,14 @@ class ModbusPDUReadFileRecordResponseItem(PlcMessage):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- data_length: c_uint8 = read_implicit_field(
- "dataLength", read_unsigned_short(read_buffer, 8)
- )
+ data_length: c_uint8 = read_implicit_field("dataLength", read_unsigned_short)
reference_type: c_uint8 = read_simple_field(
- "referenceType", read_unsigned_short(read_buffer, 8)
+ "referenceType", read_unsigned_short
)
data: List[c_byte] = read_buffer.read_byte_array(
- "data", int(c_int32(dataLength) - c_int32(c_int32(1)))
+ "data", int(dataLength - c_int32(1))
)
read_buffer.close_context("ModbusPDUReadFileRecordResponseItem")
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
index d647466eb1..2755637cf2 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUReadHoldingRegistersRequest(PlcMessage, ModbusPDU):
starting_address: c_uint16
quantity: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x03
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -77,12 +77,10 @@ class ModbusPDUReadHoldingRegistersRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
read_buffer.close_context("ModbusPDUReadHoldingRegistersRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
index 2f34aa9447..97f4481caf 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadHoldingRegistersResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReadHoldingRegistersResponse(PlcMessage, ModbusPDU):
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x03
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -50,7 +50,7 @@ class ModbusPDUReadHoldingRegistersResponse(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReadHoldingRegistersResponse")
@@ -66,7 +66,7 @@ class ModbusPDUReadHoldingRegistersResponse(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -76,9 +76,7 @@ class ModbusPDUReadHoldingRegistersResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
index f417da4e02..aeb129918e 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUReadInputRegistersRequest(PlcMessage, ModbusPDU):
starting_address: c_uint16
quantity: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x04
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -77,12 +77,10 @@ class ModbusPDUReadInputRegistersRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
read_buffer.close_context("ModbusPDUReadInputRegistersRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
index b540e08136..dd58ee6093 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadInputRegistersResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReadInputRegistersResponse(PlcMessage, ModbusPDU):
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x04
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -50,7 +50,7 @@ class ModbusPDUReadInputRegistersResponse(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReadInputRegistersResponse")
@@ -66,7 +66,7 @@ class ModbusPDUReadInputRegistersResponse(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -76,9 +76,7 @@ class ModbusPDUReadInputRegistersResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
index ba29db1fd0..5381ddd5a7 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersRequest.py
@@ -39,9 +39,9 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
write_quantity: c_uint16
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x17
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -75,7 +75,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReadWriteMultipleHoldingRegistersRequest")
@@ -103,7 +103,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -114,24 +114,18 @@ class ModbusPDUReadWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
read_starting_address: c_uint16 = read_simple_field(
- "readStartingAddress", read_unsigned_int(read_buffer, 16)
+ "readStartingAddress", read_unsigned_int
)
- read_quantity: c_uint16 = read_simple_field(
- "readQuantity", read_unsigned_int(read_buffer, 16)
- )
+ read_quantity: c_uint16 = read_simple_field("readQuantity", read_unsigned_int)
write_starting_address: c_uint16 = read_simple_field(
- "writeStartingAddress", read_unsigned_int(read_buffer, 16)
+ "writeStartingAddress", read_unsigned_int
)
- write_quantity: c_uint16 = read_simple_field(
- "writeQuantity", read_unsigned_int(read_buffer, 16)
- )
+ write_quantity: c_uint16 = read_simple_field("writeQuantity", read_unsigned_int)
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
index 249c0da70b..52e74ca916 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReadWriteMultipleHoldingRegistersResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReadWriteMultipleHoldingRegistersResponse(PlcMessage, ModbusPDU):
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x17
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -50,7 +50,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReadWriteMultipleHoldingRegistersResponse")
@@ -66,7 +66,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -76,9 +76,7 @@ class ModbusPDUReadWriteMultipleHoldingRegistersResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
index fd8e32be31..c55d8a9609 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdRequest.py
@@ -31,9 +31,9 @@ import math
@dataclass
class ModbusPDUReportServerIdRequest(PlcMessage, ModbusPDU):
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x11
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
index a2087de9a9..447a3bbad2 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUReportServerIdResponse.py
@@ -34,9 +34,9 @@ import math
class ModbusPDUReportServerIdResponse(PlcMessage, ModbusPDU):
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x11
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -50,7 +50,7 @@ class ModbusPDUReportServerIdResponse(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUReportServerIdResponse")
@@ -66,7 +66,7 @@ class ModbusPDUReportServerIdResponse(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -76,9 +76,7 @@ class ModbusPDUReportServerIdResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
index 5b97b0ea39..2a94562625 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequest.py
@@ -28,6 +28,7 @@ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordRequestItem impor
ModbusPDUWriteFileRecordRequestItem,
)
from plc4py.spi.generation.WriteBuffer import WriteBuffer
+from sys import getsizeof
from typing import List
import math
@@ -36,9 +37,9 @@ import math
class ModbusPDUWriteFileRecordRequest(PlcMessage, ModbusPDU):
items: List[ModbusPDUWriteFileRecordRequestItem]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x15
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -48,7 +49,7 @@ class ModbusPDUWriteFileRecordRequest(PlcMessage, ModbusPDU):
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: c_uint8 = c_uint8(itemsArraySizeInBytes(self.items))
+ byte_count: c_uint8 = c_uint8(getsizeof(self.items))
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (items)
@@ -79,9 +80,7 @@ class ModbusPDUWriteFileRecordRequest(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
items: List[ModbusPDUWriteFileRecordRequestItem] = read_length_array_field(
"items",
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py
index 9f900ad63d..b6d324a65f 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordRequestItem.py
@@ -57,13 +57,11 @@ class ModbusPDUWriteFileRecordRequestItem(PlcMessage):
)
# Implicit Field (record_length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- record_length: c_uint16 = c_uint16(c_uint16(len(self.record_data))) / c_uint16(
- c_uint16(2)
- )
+ record_length: c_uint16 = c_uint16(len(self.record_data)) / c_uint16(2)
write_buffer.write_unsigned_short(record_length, logical_name="recordLength")
# Array Field (recordData)
- write_buffer.write_byte_array(self.record_data, 8, logical_name="recordData")
+ write_buffer.write_byte_array(self.record_data, logical_name="recordData")
write_buffer.pop_context("ModbusPDUWriteFileRecordRequestItem")
@@ -88,7 +86,7 @@ class ModbusPDUWriteFileRecordRequestItem(PlcMessage):
# Array field
if self.record_data is not None:
- length_in_bits += 8 * self.record_data.length
+ length_in_bits += 8 * len(self.record_data)
return length_in_bits
@@ -102,23 +100,17 @@ class ModbusPDUWriteFileRecordRequestItem(PlcMessage):
cur_pos: int = 0
reference_type: c_uint8 = read_simple_field(
- "referenceType", read_unsigned_short(read_buffer, 8)
+ "referenceType", read_unsigned_short
)
- file_number: c_uint16 = read_simple_field(
- "fileNumber", read_unsigned_int(read_buffer, 16)
- )
+ file_number: c_uint16 = read_simple_field("fileNumber", read_unsigned_int)
- record_number: c_uint16 = read_simple_field(
- "recordNumber", read_unsigned_int(read_buffer, 16)
- )
+ record_number: c_uint16 = read_simple_field("recordNumber", read_unsigned_int)
- record_length: c_uint16 = read_implicit_field(
- "recordLength", read_unsigned_int(read_buffer, 16)
- )
+ record_length: c_uint16 = read_implicit_field("recordLength", read_unsigned_int)
record_data: List[c_byte] = read_buffer.read_byte_array(
- "recordData", int(c_int32(recordLength) * c_int32(c_int32(2)))
+ "recordData", int(recordLength * c_int32(2))
)
read_buffer.close_context("ModbusPDUWriteFileRecordRequestItem")
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
index 0b6c5b10fd..4aa64c8e21 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponse.py
@@ -28,6 +28,7 @@ from plc4py.protocols.modbus.readwrite.ModbusPDUWriteFileRecordResponseItem impo
ModbusPDUWriteFileRecordResponseItem,
)
from plc4py.spi.generation.WriteBuffer import WriteBuffer
+from sys import getsizeof
from typing import List
import math
@@ -36,9 +37,9 @@ import math
class ModbusPDUWriteFileRecordResponse(PlcMessage, ModbusPDU):
items: List[ModbusPDUWriteFileRecordResponseItem]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x15
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -48,7 +49,7 @@ class ModbusPDUWriteFileRecordResponse(PlcMessage, ModbusPDU):
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: c_uint8 = c_uint8(itemsArraySizeInBytes(self.items))
+ byte_count: c_uint8 = c_uint8(getsizeof(self.items))
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (items)
@@ -79,9 +80,7 @@ class ModbusPDUWriteFileRecordResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
items: List[ModbusPDUWriteFileRecordResponseItem] = read_length_array_field(
"items",
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py
index c4f92aefb7..58ef6c91a1 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteFileRecordResponseItem.py
@@ -56,13 +56,11 @@ class ModbusPDUWriteFileRecordResponseItem(PlcMessage):
)
# Implicit Field (record_length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- record_length: c_uint16 = c_uint16(c_uint16(len(self.record_data))) / c_uint16(
- c_uint16(2)
- )
+ record_length: c_uint16 = c_uint16(len(self.record_data)) / c_uint16(2)
write_buffer.write_unsigned_short(record_length, logical_name="recordLength")
# Array Field (recordData)
- write_buffer.write_byte_array(self.record_data, 8, logical_name="recordData")
+ write_buffer.write_byte_array(self.record_data, logical_name="recordData")
write_buffer.pop_context("ModbusPDUWriteFileRecordResponseItem")
@@ -87,7 +85,7 @@ class ModbusPDUWriteFileRecordResponseItem(PlcMessage):
# Array field
if self.record_data is not None:
- length_in_bits += 8 * self.record_data.length
+ length_in_bits += 8 * len(self.record_data)
return length_in_bits
@@ -101,20 +99,14 @@ class ModbusPDUWriteFileRecordResponseItem(PlcMessage):
cur_pos: int = 0
reference_type: c_uint8 = read_simple_field(
- "referenceType", read_unsigned_short(read_buffer, 8)
+ "referenceType", read_unsigned_short
)
- file_number: c_uint16 = read_simple_field(
- "fileNumber", read_unsigned_int(read_buffer, 16)
- )
+ file_number: c_uint16 = read_simple_field("fileNumber", read_unsigned_int)
- record_number: c_uint16 = read_simple_field(
- "recordNumber", read_unsigned_int(read_buffer, 16)
- )
+ record_number: c_uint16 = read_simple_field("recordNumber", read_unsigned_int)
- record_length: c_uint16 = read_implicit_field(
- "recordLength", read_unsigned_int(read_buffer, 16)
- )
+ record_length: c_uint16 = read_implicit_field("recordLength", read_unsigned_int)
record_data: List[c_byte] = read_buffer.read_byte_array(
"recordData", int(recordLength)
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
index a57653364b..c3a3710d54 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsRequest.py
@@ -37,9 +37,9 @@ class ModbusPDUWriteMultipleCoilsRequest(PlcMessage, ModbusPDU):
quantity: c_uint16
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x0F
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -61,7 +61,7 @@ class ModbusPDUWriteMultipleCoilsRequest(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUWriteMultipleCoilsRequest")
@@ -83,7 +83,7 @@ class ModbusPDUWriteMultipleCoilsRequest(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -94,16 +94,12 @@ class ModbusPDUWriteMultipleCoilsRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
index 9575571c0a..9b39bd2c44 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleCoilsResponse.py
@@ -34,9 +34,9 @@ class ModbusPDUWriteMultipleCoilsResponse(PlcMessage, ModbusPDU):
starting_address: c_uint16
quantity: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x0F
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -77,12 +77,10 @@ class ModbusPDUWriteMultipleCoilsResponse(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
read_buffer.close_context("ModbusPDUWriteMultipleCoilsResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
index d8c827ce03..c4fd0147d3 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersRequest.py
@@ -37,9 +37,9 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
quantity: c_uint16
value: List[c_byte]
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x10
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -61,7 +61,7 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
write_buffer.write_unsigned_byte(byte_count, logical_name="byteCount")
# Array Field (value)
- write_buffer.write_byte_array(self.value, 8, logical_name="value")
+ write_buffer.write_byte_array(self.value, logical_name="value")
write_buffer.pop_context("ModbusPDUWriteMultipleHoldingRegistersRequest")
@@ -83,7 +83,7 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
# Array field
if self.value is not None:
- length_in_bits += 8 * self.value.length
+ length_in_bits += 8 * len(self.value)
return length_in_bits
@@ -94,16 +94,12 @@ class ModbusPDUWriteMultipleHoldingRegistersRequest(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
- byte_count: c_uint8 = read_implicit_field(
- "byteCount", read_unsigned_short(read_buffer, 8)
- )
+ byte_count: c_uint8 = read_implicit_field("byteCount", read_unsigned_short)
value: List[c_byte] = read_buffer.read_byte_array("value", int(byteCount))
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
index 4ea61b0482..a9b3c87a17 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteMultipleHoldingRegistersResponse.py
@@ -34,9 +34,9 @@ class ModbusPDUWriteMultipleHoldingRegistersResponse(PlcMessage, ModbusPDU):
starting_address: c_uint16
quantity: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x10
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -77,12 +77,10 @@ class ModbusPDUWriteMultipleHoldingRegistersResponse(PlcMessage, ModbusPDU):
cur_pos: int = 0
starting_address: c_uint16 = read_simple_field(
- "startingAddress", read_unsigned_int(read_buffer, 16)
+ "startingAddress", read_unsigned_int
)
- quantity: c_uint16 = read_simple_field(
- "quantity", read_unsigned_int(read_buffer, 16)
- )
+ quantity: c_uint16 = read_simple_field("quantity", read_unsigned_int)
read_buffer.close_context("ModbusPDUWriteMultipleHoldingRegistersResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
index 8ce893a370..a55665ed45 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUWriteSingleCoilRequest(PlcMessage, ModbusPDU):
address: c_uint16
value: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x05
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -74,11 +74,9 @@ class ModbusPDUWriteSingleCoilRequest(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- address: c_uint16 = read_simple_field(
- "address", read_unsigned_int(read_buffer, 16)
- )
+ address: c_uint16 = read_simple_field("address", read_unsigned_int)
- value: c_uint16 = read_simple_field("value", read_unsigned_int(read_buffer, 16))
+ value: c_uint16 = read_simple_field("value", read_unsigned_int)
read_buffer.close_context("ModbusPDUWriteSingleCoilRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
index d7d8728e1e..64a55d403e 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleCoilResponse.py
@@ -34,9 +34,9 @@ class ModbusPDUWriteSingleCoilResponse(PlcMessage, ModbusPDU):
address: c_uint16
value: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x05
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -74,11 +74,9 @@ class ModbusPDUWriteSingleCoilResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- address: c_uint16 = read_simple_field(
- "address", read_unsigned_int(read_buffer, 16)
- )
+ address: c_uint16 = read_simple_field("address", read_unsigned_int)
- value: c_uint16 = read_simple_field("value", read_unsigned_int(read_buffer, 16))
+ value: c_uint16 = read_simple_field("value", read_unsigned_int)
read_buffer.close_context("ModbusPDUWriteSingleCoilResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
index c6e6276f39..1cc9cc5fa8 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterRequest.py
@@ -34,9 +34,9 @@ class ModbusPDUWriteSingleRegisterRequest(PlcMessage, ModbusPDU):
address: c_uint16
value: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x06
- response: c_bool = c_bool(false)
+ response: c_bool = False
def __post_init__(self):
super().__init__()
@@ -74,11 +74,9 @@ class ModbusPDUWriteSingleRegisterRequest(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- address: c_uint16 = read_simple_field(
- "address", read_unsigned_int(read_buffer, 16)
- )
+ address: c_uint16 = read_simple_field("address", read_unsigned_int)
- value: c_uint16 = read_simple_field("value", read_unsigned_int(read_buffer, 16))
+ value: c_uint16 = read_simple_field("value", read_unsigned_int)
read_buffer.close_context("ModbusPDUWriteSingleRegisterRequest")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
index 2a9adefeed..32e7ae5f4a 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusPDUWriteSingleRegisterResponse.py
@@ -34,9 +34,9 @@ class ModbusPDUWriteSingleRegisterResponse(PlcMessage, ModbusPDU):
address: c_uint16
value: c_uint16
# Accessors for discriminator values.
- error_flag: c_bool = c_bool(false)
+ error_flag: c_bool = False
function_flag: c_uint8 = 0x06
- response: c_bool = c_bool(true)
+ response: c_bool = True
def __post_init__(self):
super().__init__()
@@ -74,11 +74,9 @@ class ModbusPDUWriteSingleRegisterResponse(PlcMessage, ModbusPDU):
start_pos: int = read_buffer.get_pos()
cur_pos: int = 0
- address: c_uint16 = read_simple_field(
- "address", read_unsigned_int(read_buffer, 16)
- )
+ address: c_uint16 = read_simple_field("address", read_unsigned_int)
- value: c_uint16 = read_simple_field("value", read_unsigned_int(read_buffer, 16))
+ value: c_uint16 = read_simple_field("value", read_unsigned_int)
read_buffer.close_context("ModbusPDUWriteSingleRegisterResponse")
# Create the instance
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
index 9386f1e799..e69805d713 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusRtuADU.py
@@ -89,9 +89,7 @@ class ModbusRtuADU(PlcMessage, ModbusADU):
cur_pos: int = 0
address: c_uint8 = read_simple_field(
- "address",
- read_unsigned_short(read_buffer, 8),
- WithOption.WithByteOrder(get_bi_g__endian()),
+ "address", read_unsigned_short, WithOption.WithByteOrder(get_bi_g__endian())
)
pdu: ModbusPDU = read_simple_field(
@@ -104,7 +102,7 @@ class ModbusRtuADU(PlcMessage, ModbusADU):
crc: c_uint16 = read_checksum_field(
"crc",
- read_unsigned_int(read_buffer, 16),
+ read_unsigned_int,
(c_uint16)(rtu_crc_check(address, pdu)),
WithOption.WithByteOrder(get_bi_g__endian()),
)
diff --git a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
index b8016d45cb..9f32a57f28 100644
--- a/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
+++ b/sandbox/plc4py/plc4py/protocols/modbus/readwrite/ModbusTcpADU.py
@@ -60,9 +60,7 @@ class ModbusTcpADU(PlcMessage, ModbusADU):
)
# Implicit Field (length) (Used for parsing, but its value is not stored as it's implicitly given by the objects content)
- length: c_uint16 = c_uint16(self.pdu.getlength_in_bytes(ctx)) + c_uint16(
- c_uint16(1)
- )
+ length: c_uint16 = self.pdu.getlength_in_bytes(ctx) + c_uint16(1)
write_buffer.write_unsigned_short(length, logical_name="length")
# Simple Field (unitIdentifier)
@@ -111,26 +109,24 @@ class ModbusTcpADU(PlcMessage, ModbusADU):
transaction_identifier: c_uint16 = read_simple_field(
"transactionIdentifier",
- read_unsigned_int(read_buffer, 16),
+ read_unsigned_int,
WithOption.WithByteOrder(get_bi_g__endian()),
)
protocol_identifier: c_uint16 = read_const_field(
"protocolIdentifier",
- read_unsigned_int(read_buffer, 16),
+ read_unsigned_int,
ModbusTcpADU.PROTOCOLIDENTIFIER,
WithOption.WithByteOrder(get_bi_g__endian()),
)
length: c_uint16 = read_implicit_field(
- "length",
- read_unsigned_int(read_buffer, 16),
- WithOption.WithByteOrder(get_bi_g__endian()),
+ "length", read_unsigned_int, WithOption.WithByteOrder(get_bi_g__endian())
)
unit_identifier: c_uint8 = read_simple_field(
"unitIdentifier",
- read_unsigned_short(read_buffer, 8),
+ read_unsigned_short,
WithOption.WithByteOrder(get_bi_g__endian()),
)
diff --git a/sandbox/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py b/sandbox/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py
index 7a4c5e59a5..74d6d89273 100644
--- a/sandbox/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py
+++ b/sandbox/plc4py/plc4py/protocols/simulated/readwrite/Dummy.py
@@ -63,9 +63,7 @@ class Dummy(PlcMessage):
cur_pos: int = 0
dummy: c_uint16 = read_simple_field(
- "dummy",
- read_unsigned_int(read_buffer, 16),
- WithOption.WithByteOrder(get_bi_g__endian()),
+ "dummy", read_unsigned_int, WithOption.WithByteOrder(get_bi_g__endian())
)
read_buffer.close_context("Dummy")
diff --git a/sandbox/plc4py/plc4py/spi/generation/WriteBuffer.py b/sandbox/plc4py/plc4py/spi/generation/WriteBuffer.py
index 25c85c0c5b..a4eaaa0ad1 100644
--- a/sandbox/plc4py/plc4py/spi/generation/WriteBuffer.py
+++ b/sandbox/plc4py/plc4py/spi/generation/WriteBuffer.py
@@ -36,6 +36,7 @@ from bitarray import bitarray
from bitarray.util import zeros
from plc4py.api.exceptions.exceptions import SerializationException
+from plc4py.api.messages.PlcMessage import PlcMessage
from plc4py.utils.GenericTypes import ByteOrder, ByteOrderAware
@@ -126,6 +127,11 @@ class WriteBuffer(ByteOrderAware, PositionAware):
def write_virtual(self, value: str, logical_name: str = "", **kwargs) -> None:
raise NotImplementedError
+ def write_complex_array(
+ self, value: List[PlcMessage], logical_name: str = "", **kwargs
+ ) -> None:
+ raise NotImplementedError
+
#
# This method can be used to influence serializing (e.g. intercept whole types and render them in a simplified form)
#
@@ -276,6 +282,14 @@ class WriteBufferByteBased(WriteBuffer):
raise SerializationException("Double can only contain max 64 bits")
self._handle_numeric_encoding(c_double(value.value), bit_length, **kwargs)
+ def write_complex_array(
+ self, value: List[PlcMessage], logical_name: str = "", **kwargs
+ ) -> None:
+ for item in value:
+ self.push_context(logical_name, **kwargs)
+ self.write_serializable(item)
+ self.pop_context(logical_name, **kwargs)
+
def _handle_numeric_encoding(self, value: NUMERIC_UNION, bit_length: int, **kwargs):
byte_order = kwargs.get("byte_order", self.byte_order)
value_encoding: str = kwargs.get("encoding", "default")