12-11-2023 10:46 AM
Hi all,
This problem and solution affect specially to dataDownloadRequired and dataUploadRequired, when using XML telegrams.
Problem:
DDLV4Recv/SendItemStruct "Name" is defined as STRING, means 80 chars on it. It's relatively easy to reach this number of chars when you are nesting the structures. This cause cause errors and malfunctions between expected telegram, and what unit has configured internally.
Normal Type data always start with 20 chars by default 'Module1.TypeDataNew.' This is probabilly ot relevant information.
Currently work around:
Changing the mapping name, variable to variable, on server and on PLC. I think that change on server is more easy, not sure.
This is an significant lose of time, of two technicians doing nothing important.
Suggestions:
eg.
This is whawe have now, more than 80 chars:
_recvBodyItemArray[1].Name := 'Module1.TypeDataNew.Loc132_IsolationTest.BusContactCylActive.ContactActive_Flux';
_recvBodyItemArray[1].pData := ADR(Module1.TypeDataNew.Loc132_IsolationTest.BusContactCylActive.ContactActive_Flux);
That is what we want, 20 chars less removing the first two levels that are not important for the process:
_recvBodyItemArray[1].Name := 'Loc132_IsolationTest.BusContactCylActive.ContactActive_Flux';
_recvBodyItemArray[1].pData := ADR(Module1.TypeDataNew.Loc132_IsolationTest.BusContactCylActive.ContactActive_Flux);
Can we improve that in somehow?
Solved! Go to Solution.
12-11-2023 10:59 AM
Since Control plus Studio 5.6, you can use the property "MappingNameRoot" at the struct instance. In your example, you can add it to TypeDataNew and leave its value empty. This will give you exactly the result you want.
12-11-2023 01:47 PM - edited 12-11-2023 04:15 PM
Coincidentally in the next release version of NxIpDdl the max. name length will be increased from 80 to 255 characters.