that is as clear as mud.
for example, D1077 is listed 4 times with different comments, there are no data types (are these D values all Signed Integers? Unsigned Integers? Are they all 16 bit or are some of them 32 bit?
Any how, the majority of them are in an area reasonably sized range to be able to grab them in one hit.
Here is an example:
Demo Flow (use CTRL+I
to import)
[{"id":"9d5fe86ef9060dfc","type":"buffer-parser","z":"0f909bac596182b4","name":"Convert array ro named values","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16le","name":"extrusionRodNumber","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"extrusionTime","offset":2,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"temperatureGiven","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"temperatureSetting","offset":6,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"rapida","offset":28,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"chamdaDe","offset":30,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"protecaob","offset":32,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"protecaoa","offset":34,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"freagem","offset":36,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"limitPressureOfMasterCylinder","offset":42,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"veloc4","offset":44,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"veloc3","offset":46,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"veloc2","offset":48,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"rapida","offset":50,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"fillingPressureGiven","offset":52,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"slopeGivenOfBreakthroughPressure","offset":54,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"velocityAttenuationRatio","offset":58,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"velocityAttenuationStroke","offset":60,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"maximumStrokeGiven","offset":68,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"actualValueOfCoil","offset":136,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"breakthroughPressure","offset":160,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"residualPosition","offset":172,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"masterCylinderPosition","offset":174,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"rateOfDecay","offset":176,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"pressureOfMainCylinder","offset":182,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"speedGiven","offset":184,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"settingPointOfCoil","offset":186,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"pressureOfSideCylinder","offset":188,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"coilCurrent","offset":190,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16le","name":"masterCylinderSpeed","offset":192,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"swap16","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"return","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":490,"y":1180,"wires":[["f2595a732b6b660f"]]},{"id":"69fd61c05090c7fa","type":"inject","z":"0f909bac596182b4","name":"","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"D990,99","x":200,"y":1080,"wires":[["bf28bf135f832821"]]},{"id":"f2595a732b6b660f","type":"debug","z":"0f909bac596182b4","name":"debug 390","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":550,"y":1260,"wires":[]},{"id":"a3d02109deacdab5","type":"group","z":"0f909bac596182b4","name":"FAKE: Read D990,99 \\n (99 Words starting from D990) \\n Replace me with MC READ Node","style":{"label":true},"nodes":["bf28bf135f832821","59f8997f6e58892a","354fb8229f36ba34"],"x":294,"y":967,"w":432,"h":154},{"id":"bf28bf135f832821","type":"template","z":"0f909bac596182b4","g":"a3d02109deacdab5","name":"fake PLC data","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":"[\n 2,\n 1200,\n 350,\n 360,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 4,\n 0,\n -250,\n -245,\n 100,\n 0,\n 0,\n 2800,\n 4,\n 3,\n 2,\n 1,\n 1500,\n 50,\n 0,\n 95,\n 500,\n 0,\n 0,\n 0,\n 1024,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 300,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2500,\n 0,\n 0,\n 10,\n 11,\n -5,\n 0,\n 0,\n 2500,\n 1200,\n 50,\n 1750,\n 0,\n 0,\n 0\n]\n","output":"json","x":400,"y":1080,"wires":[["59f8997f6e58892a","354fb8229f36ba34"]]},{"id":"59f8997f6e58892a","type":"buffer-maker","z":"0f909bac596182b4","g":"a3d02109deacdab5","name":"int16 to buffer","specification":"spec","specificationType":"ui","items":[{"name":"item1","type":"int16be","length":-1,"dataType":"msg","data":"payload"}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","x":600,"y":1080,"wires":[["9d5fe86ef9060dfc"]]},{"id":"354fb8229f36ba34","type":"debug","z":"0f909bac596182b4","g":"a3d02109deacdab5","name":"PLC Data","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":620,"y":1040,"wires":[]}]
In short, as the linked article states. Getting as many data items in one go will increase speed, will reduce network traffic, will improve data consistency.
So you should repeat this for other ranges.
The better solution is to re-arrange ALL parts of data into a single D area and read that all in one go then parse out the flags and WORDS and FLOATS using buffer-parser.