From d8b595944d6c9e31904ce2490653b360ce897cb1 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Mon, 6 Jun 2022 19:34:46 +0200 Subject: [PATCH] - IED server: fixed value initialization of array elements - fixed merging problem in LogicalNode.java --- src/iec61850/server/impl/ied_server.c | 23 +++++++++++++++--- tools/model_generator/genmodel.jar | Bin 98337 -> 98733 bytes .../libiec61850/scl/model/LogicalNode.java | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/iec61850/server/impl/ied_server.c b/src/iec61850/server/impl/ied_server.c index 783b2376..611a0716 100644 --- a/src/iec61850/server/impl/ied_server.c +++ b/src/iec61850/server/impl/ied_server.c @@ -302,12 +302,27 @@ installDefaultValuesForDataAttribute(IedServer self, LogicalDevice* ld, DataAttr int childPosition = strlen(objectReference); int childCompIdPos = strlen(componentId); - DataAttribute* subDataAttribute = (DataAttribute*) dataAttribute->firstChild; + if (dataAttribute->elementCount > 0) { + int subIdx = 0; - while (subDataAttribute != NULL) { - installDefaultValuesForDataAttribute(self, ld, subDataAttribute, objectReference, childPosition, idx, componentId, childCompIdPos); + DataAttribute* subDataAttribute = (DataAttribute*) dataAttribute->firstChild; - subDataAttribute = (DataAttribute*) subDataAttribute->sibling; + while (subDataAttribute != NULL) { + installDefaultValuesForDataAttribute(self, ld, subDataAttribute, objectReference, childPosition, subIdx, componentId, childCompIdPos); + + subIdx++; + + subDataAttribute = (DataAttribute*) subDataAttribute->sibling; + } + } + else { + DataAttribute* subDataAttribute = (DataAttribute*) dataAttribute->firstChild; + + while (subDataAttribute != NULL) { + installDefaultValuesForDataAttribute(self, ld, subDataAttribute, objectReference, childPosition, idx, componentId, childCompIdPos); + + subDataAttribute = (DataAttribute*) subDataAttribute->sibling; + } } } diff --git a/tools/model_generator/genmodel.jar b/tools/model_generator/genmodel.jar index 7dbfb4c4dbd6dfd5f3c6af265e6dbfe7883c2816..e49b11b38e07b1938799dfa41d1430737ce2fdf2 100644 GIT binary patch delta 10660 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

-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 delta 9947 zcmZX4cRbbq`@UD%WE{uL%*x&)Gb`C6d&}O(-i|~vvN^U8N{9}Qy+_%Etg;G`EhFT2 zIQ9P3_v0VOecj`_@8>zM=i|DM^2eC@p_l}kD%a7$XxP};XhsjNJxC zJQhkg-D+OVzQ_*z@Wpw z>1jUU;@={k4^;5Xi#@fGpkI{1Ayk^GXnPzN5xFt2VJXo5OaW z#ERGiY4jY~oZam)e)uyI^f_&p5u^OL%KkI)U?c9K#hch8>ofTtsm16)DEqPV zI5HO6cMPLAH}1ib{Z$cr-q8uQrcT(+kA2L4uj`sQ42M5aRhTx>lqFJCJ;Q`wiT^z) zmDogW(SFLFW$LxlBoQ@Nl~fMII#9IKmkBH2$1!`kNQXciz(vihT4DAvq@q^ob-exP zubyGB+Fj(ShV9)p^0Cy zrCBUm7?zvs;gfH$x|-PB9G!4VH>Ty_4HevFN3R@75Zt%;YByPJ{Ih{A!C$@Ml@YNig0bUU&&pXQGs(dir>g;z2^b(MTyyd4mI$ zn(qfKo%aXOrxw^>9hz&4WKwxYyYPC~_4(7=6B>l?re|i5My(4L_C1|Dxiv(h`*g*A zbl_b$EUi`n?>Mz>>e0aE23W=xP%2`jZzvO}~Og0rNA+i;()Xsga_aO#^e(2ve4!sHZ10{&73BjNJf5i5)tmmCEKU@0=BCaAegDqD$@XlV z9G;+8X$9>Mr0RYXojJDT?&7J!>5w0APhqG{g`&t3*&GUkKo(47Oq+ArSi}lS+80GDt-m2V*|ED?7QyAn%G{% zmQ{VyC+Utl(yfxE+(UV)%ldXi0x9gSnJT(gIu>!?pSPH0&u0sF$S%g$^AH5+={`&| zFCWr+U=^{X|N5t@KC5<7)=HGE6jy?MeioTl=!rhMwTVd5?n|5Y@hKiXFh_6ukXKy) zerY^(#EAb%CzteL)qsg6fl)Y7totty&x`{bh=9e3_rQh|_!VcpoT9EDcb2PTK{rUK z@f(v^27N~2)Ac;f6yqUm){kl`UBOx@Un~ZOOWb30+snC{hBflZqQcO#c#V|HL0q06 zJdEh$_JwoFzDje!_nhrBBHlLk$^9haEdljFpZWC5{G3?+NKCvzFQ=-(W@7C5 zyqDMvC2QRoL?!%(

TV26$-bluiwX&!{X_A06wyJ7K+Vl5?UnrN* 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 diff --git a/tools/model_generator/src/com/libiec61850/scl/model/LogicalNode.java b/tools/model_generator/src/com/libiec61850/scl/model/LogicalNode.java index 378459f2..2702025b 100644 --- a/tools/model_generator/src/com/libiec61850/scl/model/LogicalNode.java +++ b/tools/model_generator/src/com/libiec61850/scl/model/LogicalNode.java @@ -245,7 +245,7 @@ public class LogicalNode implements DataModelNode { if (subDataAttribute == null) System.out.println("subelement with name " + sdiName + " not found!"); - parseDataAttributeNodes(sdiNode, subDataAttribute); + parseDataAttributeNodes(sdiNode, subDataAttribute, -1); parseSubDataInstances(sdiNode, subDataAttribute); }