Skip to content

Commit 69b8bc1

Browse files
chrisdutzsruehl
andauthored
refactor: Fine tuning of the API and SPI (apache#1786)
* refactor: Fine tuning of the API and SPI to allow ILLEGAL_ADDRESS responses for individual invalid addresses (Alongside a major cleanup) * refactor: Major cleanup of the PlcValueHandler * refactor: Major cleanup of the PlcValueHandler * refactor: Added more testcases to the PlcValueHandler tests * refactor: Updated the PlcValue types and the single item tests. * refactor: Moved the PlcTagHandler from the driver to the PlcConnection/Protocol so we can start making connection-aware tag-handlers in the future. * fix: Disabled another OPC-UA test, which seems to be randomly failing the build. * doc: Updated the RELEASE_NOTES * refactor: Renamed some of the variables in the Plc4xProtocolBase class --------- Co-authored-by: Sebastian Rühl <[email protected]>
1 parent b03981b commit 69b8bc1

File tree

207 files changed

+5355
-4111
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

207 files changed

+5355
-4111
lines changed

RELEASE_NOTES

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ Incompatible changes
2929
efficient PlcRawByteArray type is used, that gives users
3030
direct access to the bytes returned from the PLC instead of
3131
a list of PlcValues.
32+
- The builders for read- and write-requests now process tags
33+
and values on a per-field level. If one field has an invalid
34+
address it will now only fail the one item related to that.
35+
Same applies to values. Only the tag who's value was invalid
36+
will be considered failed and no longer an exception should
37+
be thrown.
3238

3339
Bug Fixes
3440
---------

plc4go/assets/testing/protocols/ads/DriverTestsuite.xml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,17 +1150,21 @@
11501150
<PlcTagRequest>
11511151
<tags isList="true">
11521152
<hurz>
1153-
<SymbolicAdsTag>
1154-
<symbolicAddress dataType="string" bitLength="128" encoding="UTF-8">MAIN.hurz_Struct</symbolicAddress>
1155-
</SymbolicAdsTag>
1153+
<PlcTagItem>
1154+
<tag>
1155+
<SymbolicAdsTag>
1156+
<symbolicAddress dataType="string" bitLength="128" encoding="UTF-8">MAIN.hurz_Struct</symbolicAddress>
1157+
</SymbolicAdsTag>
1158+
</tag>
1159+
</PlcTagItem>
11561160
</hurz>
11571161
</tags>
11581162
</PlcTagRequest>
11591163
</PlcReadRequest>
11601164
</request>
11611165
<values isList="true">
11621166
<hurz>
1163-
<ResponseItem>
1167+
<PlcResponseItem>
11641168
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
11651169
<value>
11661170
<PlcStruct>
@@ -1232,7 +1236,7 @@
12321236
</hurz_DATE>
12331237
</PlcStruct>
12341238
</value>
1235-
</ResponseItem>
1239+
</PlcResponseItem>
12361240
</hurz>
12371241
</values>
12381242
</PlcReadResponse>
@@ -1580,12 +1584,12 @@
15801584
</PlcReadRequest>
15811585
<values isList="true">
15821586
<hurz>
1583-
<ResponseItem>
1587+
<PlcResponseItem>
15841588
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
15851589
<value>
15861590
<PlcBOOL dataType="bit" bitLength="1">true</PlcBOOL>
15871591
</value>
1588-
</ResponseItem>
1592+
</PlcResponseItem>
15891593
</hurz>
15901594
</values>
15911595
</PlcReadResponse>
@@ -1754,20 +1758,20 @@
17541758
</PlcReadRequest>
17551759
<values isList="true">
17561760
<hurz1>
1757-
<ResponseItem>
1761+
<PlcResponseItem>
17581762
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
17591763
<value>
17601764
<PlcBOOL dataType="bit" bitLength="1">true</PlcBOOL>
17611765
</value>
1762-
</ResponseItem>
1766+
</PlcResponseItem>
17631767
</hurz1>
17641768
<hurz2>
1765-
<ResponseItem>
1769+
<PlcResponseItem>
17661770
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
17671771
<value>
17681772
<PlcBOOL dataType="bit" bitLength="1">true</PlcBOOL>
17691773
</value>
1770-
</ResponseItem>
1774+
</PlcResponseItem>
17711775
</hurz2>
17721776
</values>
17731777
</PlcReadResponse>
@@ -2040,12 +2044,12 @@
20402044
</PlcReadRequest>
20412045
<values isList="true">
20422046
<hurz1>
2043-
<ResponseItem>
2047+
<PlcResponseItem>
20442048
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
20452049
<value>
20462050
<PlcBOOL dataType="bit" bitLength="1">false</PlcBOOL>
20472051
</value>
2048-
</ResponseItem>
2052+
</PlcResponseItem>
20492053
</hurz1>
20502054
</values>
20512055
</PlcReadResponse>
@@ -2319,12 +2323,12 @@
23192323
</PlcReadRequest>
23202324
<values isList="true">
23212325
<hurz1>
2322-
<ResponseItem>
2326+
<PlcResponseItem>
23232327
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
23242328
<value>
23252329
<PlcBOOL dataType="bit" bitLength="1">false</PlcBOOL>
23262330
</value>
2327-
</ResponseItem>
2331+
</PlcResponseItem>
23282332
</hurz1>
23292333
</values>
23302334
</PlcReadResponse>
@@ -2474,12 +2478,12 @@
24742478
</PlcReadRequest>
24752479
<values isList="true">
24762480
<hurz1>
2477-
<ResponseItem>
2481+
<PlcResponseItem>
24782482
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
24792483
<value>
24802484
<PlcBOOL dataType="bit" bitLength="1">false</PlcBOOL>
24812485
</value>
2482-
</ResponseItem>
2486+
</PlcResponseItem>
24832487
</hurz1>
24842488
</values>
24852489
</PlcReadResponse>

plc4go/assets/testing/protocols/eip/DriverTestsuite.xml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -398,24 +398,28 @@
398398
<PlcTagRequest>
399399
<tags isList="true">
400400
<hurz>
401-
<EipTag>
402-
<node dataType="string" bitLength="40" encoding="UTF-8">%rate</node>
403-
<type dataType="string" bitLength="32" encoding="UTF-8">DINT</type>
404-
<elementNb dataType="uint" bitLength="16">1</elementNb>
405-
</EipTag>
401+
<PlcTagItem>
402+
<tag>
403+
<EipTag>
404+
<node dataType="string" bitLength="40" encoding="UTF-8">%rate</node>
405+
<type dataType="string" bitLength="32" encoding="UTF-8">DINT</type>
406+
<elementNb dataType="uint" bitLength="16">1</elementNb>
407+
</EipTag>
408+
</tag>
409+
</PlcTagItem>
406410
</hurz>
407411
</tags>
408412
</PlcTagRequest>
409413
</PlcReadRequest>
410414
</request>
411415
<values isList="true">
412416
<hurz>
413-
<ResponseItem>
417+
<PlcResponseItem>
414418
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
415419
<value>
416420
<PlcDINT dataType="int" bitLength="32">369229824</PlcDINT>
417421
</value>
418-
</ResponseItem>
422+
</PlcResponseItem>
419423
</hurz>
420424
</values>
421425
</PlcReadResponse>

plc4go/assets/testing/protocols/modbus/tcp/DriverTestsuite.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,12 @@
109109
</request>
110110
<values isList="true">
111111
<hurz>
112-
<ResponseItem>
112+
<PlcResponseItem>
113113
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
114114
<value>
115115
<PlcREAL dataType="float" bitLength="32">3.1415927410125732</PlcREAL>
116116
</value>
117-
</ResponseItem>
117+
</PlcResponseItem>
118118
</hurz>
119119
</values>
120120
</PlcReadResponse>
@@ -202,15 +202,15 @@
202202
</request>
203203
<values isList="true">
204204
<hurz>
205-
<ResponseItem>
205+
<PlcResponseItem>
206206
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
207207
<value>
208208
<PlcList>
209209
<PlcREAL dataType="float" bitLength="32">3.1415927410125732</PlcREAL>
210210
<PlcREAL dataType="float" bitLength="32">3.1415927410125732</PlcREAL>
211211
</PlcList>
212212
</value>
213-
</ResponseItem>
213+
</PlcResponseItem>
214214
</hurz>
215215
</values>
216216
</PlcReadResponse>
@@ -357,20 +357,20 @@
357357
</request>
358358
<values isList="true">
359359
<hurz1>
360-
<ResponseItem>
360+
<PlcResponseItem>
361361
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
362362
<value>
363363
<PlcREAL dataType="float" bitLength="32">3.1415927410125732</PlcREAL>
364364
</value>
365-
</ResponseItem>
365+
</PlcResponseItem>
366366
</hurz1>
367367
<hurz2>
368-
<ResponseItem>
368+
<PlcResponseItem>
369369
<code dataType="string" bitLength="16" encoding="UTF-8">OK</code>
370370
<value>
371371
<PlcREAL dataType="float" bitLength="32">3.1415927410125732</PlcREAL>
372372
</value>
373-
</ResponseItem>
373+
</PlcResponseItem>
374374
</hurz2>
375375
</values>
376376
</PlcReadResponse>

0 commit comments

Comments
 (0)