Hi,
I'm reading profile from several meters simulataneously by using readRowsByRange method in DLMSReader class, but the fetched data gets mixed in with each other. For example readRowsByRange return data from Thread1 fetching profile from Meter1 to Thread2 fetching profile from Meter2. you can observe in the below log excerpt that Received data only has 4 data points as parsed in the dlms translator but the cells size is 12. Does readRowsByRange not support parellel execution?
Code:
Object[] cells = reader.readRowsByRange(profile, new GXDateTime(start),
new GXDateTime(tempEnd));
LOGGER.info("size of partial fetched data is : {}", cells.length);
Logs:
07:21:19.144 [DLMS_7-thread-1] INFO com.neos.ipe.connector.dlms.staticip.client.DLMSReader - Media: 10.16.0.49:4059 RX: 07:21:19.144 00 01 00 01 00 05 01 3C C4 02 C1 01 00 00 00 01 00 82 01 30 01 82 00 04 02 82 00 0C 09 0C 07 E8 09 0A 02 09 1E 00 FF FF 4C 00 04 28 00 01 00 00 00 06 00 00 04 B0 06 00 00 00 00 06 00 00 05 20 06 00 00 00 00 06 00 00 00 00 06 00 00 02 08 06 00 00 00 00 06 00 00 02 08 05 00 00 03 92 05 00 00 00 00 02 82 00 0C 09 0C 07 E8 09 0A 02 09 2D 00 FF FF 4C 00 04 28 00 01 00 00 00 06 00 00 05 28 06 00 00 00 00 06 00 00 05 78 06 00 00 00 00 06 00 00 00 00 06 00 00 01 D4 06 00 00 00 00 06 00 00 01 D4 05 00 00 03 AE 05 00 00 00 00 02 82 00 0C 09 0C 07 E8 09 0A 02 0A 00 00 FF FF 4C 00 04 28 00 01 00 00 00 06 00 00 04 3C 06 00 00 00 00 06 00 00 04 A4 06 00 00 00 00 06 00 00 00 00 06 00 00 01 D8 06 00 00 00 00 06 00 00 01 D8 05 00 00 03 90 05 00 00 00 00 02 82 00 0C 09 0C 07 E8 09 0A 02 0A 0F 00 FF FF 4C 00 04 28 00 01 00 00 00 06 00 00 06 4C 06 00 00 00 00 06 00 00 06 90 06 00 00 00 00 06 00 00 00 00 06 00 00 01 E0 06 00 00 00 00 06 00 00 01 E0 05 00 00 03 BF 05 00 00 00 00
07:21:19.144 [DLMS_7-thread-1] INFO com.neos.ipe.connector.dlms.staticip.thread.ProfileGenericThread - size of fetched data is : 12
Regards,
Anoop
Hi Anoop, You can't use theā¦
Hi Anoop,
You can't use the same instance from GXDLMSClient from multiple threads.
Each thread requires its own instance from GXDLMSClient.
Data might come in blocks and for that reason, own instance is required for each meter.
BR,
Mikko