You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2023/11/30 20:52:07 UTC
(plc4x) 03/04: fix: Fixed some issues with writing values in S7
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/s7strings
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit a5e854dc489968c3b12f9b23ef362231f7a30aa3
Author: Christofer Dutz <cd...@apache.org>
AuthorDate: Thu Nov 30 21:51:15 2023 +0100
fix: Fixed some issues with writing values in S7
---
plc4c/generated-sources/s7/src/data_item.c | 10 ++--------
plc4c/generated-sources/s7/src/transport_size.c | 11 +++++++----
plc4go/protocols/s7/readwrite/model/TransportSize.go | 8 ++++----
3 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/plc4c/generated-sources/s7/src/data_item.c b/plc4c/generated-sources/s7/src/data_item.c
index c0e09c4108..b02d7f210c 100644
--- a/plc4c/generated-sources/s7/src/data_item.c
+++ b/plc4c/generated-sources/s7/src/data_item.c
@@ -687,17 +687,11 @@ uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc
} else if(strcmp(dataProtocolId, "IEC61131_STRING") == 0) { /* STRING */
// Manual Field (value)
- {
- char* _value = data_item->data.string_value;
- lengthInBits += (plc4c_spi_evaluation_helper_str_len(_value)) + (2);
- }
+ lengthInBits += (((stringLength) * (8))) + (16);
} else if(strcmp(dataProtocolId, "IEC61131_WSTRING") == 0) { /* STRING */
// Manual Field (value)
- {
- char* _value = data_item->data.string_value;
- lengthInBits += (((plc4c_spi_evaluation_helper_str_len(_value)) * (2))) + (2);
- }
+ lengthInBits += (((stringLength) * (16))) + (32);
} else if(strcmp(dataProtocolId, "IEC61131_TIME") == 0) { /* TIME */
// Simple field (milliseconds)
diff --git a/plc4c/generated-sources/s7/src/transport_size.c b/plc4c/generated-sources/s7/src/transport_size.c
index b681e48047..adffef17cc 100644
--- a/plc4c/generated-sources/s7/src/transport_size.c
+++ b/plc4c/generated-sources/s7/src/transport_size.c
@@ -1105,16 +1105,16 @@ plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_transport_size_get_d
return -1;
}
case plc4c_s7_read_write_transport_size_CHAR: { /* '0x10' */
- return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+ return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
}
case plc4c_s7_read_write_transport_size_WCHAR: { /* '0x11' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
}
case plc4c_s7_read_write_transport_size_STRING: { /* '0x12' */
- return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
+ return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
}
case plc4c_s7_read_write_transport_size_WSTRING: { /* '0x13' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_OCTET_STRING;
}
case plc4c_s7_read_write_transport_size_TIME: { /* '0x14' */
return -1;
@@ -1154,6 +1154,9 @@ plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_
case plc4c_s7_read_write_transport_size_INT: /* '0x06' */{
return plc4c_s7_read_write_transport_size_INT;
}
+ case plc4c_s7_read_write_transport_size_CHAR: /* '0x10' */{
+ return plc4c_s7_read_write_transport_size_CHAR;
+ }
case plc4c_s7_read_write_transport_size_REAL: /* '0x0E' */{
return plc4c_s7_read_write_transport_size_REAL;
}
diff --git a/plc4go/protocols/s7/readwrite/model/TransportSize.go b/plc4go/protocols/s7/readwrite/model/TransportSize.go
index bae8674263..e3d65199f8 100644
--- a/plc4go/protocols/s7/readwrite/model/TransportSize.go
+++ b/plc4go/protocols/s7/readwrite/model/TransportSize.go
@@ -1154,19 +1154,19 @@ func (e TransportSize) DataTransportSize() DataTransportSize {
}
case 0x10:
{ /* '0x10' */
- return DataTransportSize_BYTE_WORD_DWORD
+ return DataTransportSize_OCTET_STRING
}
case 0x11:
{ /* '0x11' */
- return 0
+ return DataTransportSize_OCTET_STRING
}
case 0x12:
{ /* '0x12' */
- return DataTransportSize_BYTE_WORD_DWORD
+ return DataTransportSize_OCTET_STRING
}
case 0x13:
{ /* '0x13' */
- return 0
+ return DataTransportSize_OCTET_STRING
}
case 0x14:
{ /* '0x14' */