Actually, I was trying to access the meter for writing something into it using GXDLMSDirector but i was not able to access the meter using High authentication but using Low authentication i am able to read data from meter. I am getting the following error while accessing it using High authentication :-
1.) Access Error: No Long Get Or Read In progress
2.) Access Error: Other reason
And one more thing i am also getting "Invalid HDLC Frame Id" error while reading data. Can you please let me know what can be the cause for these?
We are reading Agnitio(Sumeru verde) smart meter and we are able to read this meter with another tool. This meter is also DLMS certified by CPRI India. And yes the password is correct for high authentication that we are using.
They are using Texas Instrument library. There is issue on that lib.
One byte is missing. We'll add fix for this. There is new version available today for C#.
We can add new version for C# and C++ today. We are making changes for Java versions at the moment.
We try to update new version in begin of next week.
I have cross checked the password with firmware team and password is correct but still it is giving me some error log as:
Gurux.DLMS.GXDLMSException: Access Error : Other Reason.
at GXDLMSDirector.GXDLMSDevice.InitializeConnection()
at GXDLMSDirector.MainForm.Connect(Control sender, Object[] parameters)
I just checked and it works for me.
Check version number from Help | About. It must be 8.0.1612.1501.
If it's someting else, restart GXDLMSDirector and it is updating itself.
If now, remove old versions and download latest version and install that.
Data is correct. You should check your High level password. It's different than Low Level password.
We have other clients who are reading TI's meters in India, so I believe that reason for this is simple.
Yes, with new version I am able to login with High authentication. But i am able to see read option only not any write option, how would i write something in meter using DLMSDirector.
Thanks for the reply. Yes, now I am able to write RTC using DLMSDirector. But now using java library i am not able to change the datetime. I am not getting any exception/error while running following code of lines:
After downloading new DLMSDirector and java library, i am able to write but using same library is creating some problem in reading the data. As it is giving me exception on the following lines as given below:
GXDLMSConverter converter = new GXDLMSConverter();
converter.updateOBISCodeInformation(objects);
java.lang.ArrayIndexOutOfBoundsException: 0
at gurux.dlms.GXDLMSConverter.updateOBISCodeInfo(GXDLMSConverter.java:109)
at gurux.dlms.GXDLMSConverter.updateOBISCodeInformation(GXDLMSConverter.java:227)
at gurux.dlms.client.GXCommunicate.readAllObjects(GXCommunicate.java:789)
at gurux.dlms.client.sampleclient.main(sampleclient.java:100)
Using following lines of code, I am able to do association with the meter and reading all the objects from the meter.
GXReplyData reply = new GXReplyData();
readDataBlock(dlms.getObjectsRequest(), reply, dlms, Media);
But my condition is like, I just wanted to read the specific object during association with meter. So can you help me to know about this.
You can read just needed object easily if you are using Logical Name Referencing. Just save OBIS codes (Logical Name) example to DB or file. Make connection to the meter and read needed objects. You do not need to read Association view if you know what you want to read.
If you are using SN it's harder because you need to save LN address and that can be change if meter type or firmware is changing.
I am trying to read one gprs smart meter using gurux lib and i am able to do that. But when I open the serverSocket and trying to connect multiple (clientsocket) meters on same port. It is not letting me connect with that. Please can you guide on this.
Hi,
Hi,
This is the log generated by GXDLMSDirector when i try to write something in meter using High authentication.
Log created 5:43:56 PM
5:45:22 PM Initializing serial connection.
5:45:23 PM Send SNRM request.
7E A0 0F 03 61 93 B1 A2 81 80 03 06 01 80 6B 66 7E
5:45:23 PM Received data
7E A0 1E 61 03 73 B5 7C 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
5:45:23 PM Parsing UA reply.<CR><LF>81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01
5:45:23 PM Parsing UA reply succeeded.
5:45:23 PM Send AARQ request
7E A0 4C 03 61 10 58 27 E6 E6 00 60 3E A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 43 11 16 56 08 04 24 6C 51 41 0B 18 64 2D 2C 63 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 18 1D 02 00 B5 E4 7E
5:45:23 PM Received data
7E A0 58 61 03 30 07 51 E6 E7 00 61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 0E 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 1D 02 00 00 07 F9 93 7E
5:45:23 PM Parsing AARE reply<CR><LF>61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 0E 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 1D 02 00 00 07
5:45:23 PM Authenticating
7E A0 2B 03 61 32 8D EB E6 E6 00 C3 01 C1 00 0F 00 00 28 00 00 FF 01 01 09 10 AC 43 EA 27 11 A9 72 76 08 DE 58 AB 11 75 F7 45 60 6F 7E
5:45:23 PM Received data
7E A0 10 61 03 52 7C E2 E6 E7 00 C7 01 C1 FA F3 E8 7E
Gurux.DLMS.GXDLMSException: Access Error : Other Reason.
at GXDLMSDirector.GXDLMSDevice.InitializeConnection()
at GXDLMSDirector.MainForm.Connect(Control sender, Object[] parameters)
Thanks,
Regards,
Nitin Sethi
High authentication
Hi Nitin,
What meter you try to read (manufacturer and model)? Are you sure that your password is correct?
BR,
Mikko
Hi kurumi,
Hi kurumi,
We are reading Agnitio(Sumeru verde) smart meter and we are able to read this meter with another tool. This meter is also DLMS certified by CPRI India. And yes the password is correct for high authentication that we are using.
Thanks,
Regards,
Nitin Sethi
High authentication
Hi Nitin,
Can you get trace from other meter? We are reading IS 15959.2011 meters with high authentication.
Are client addresses same?
BR,
Mikko
Hi,
Hi,
Yes the client address is same i.e 48. And please find the trace from other tool for same meter as:
SENDING HDLC FRAME
7E A0 07 03 61 93 69 47 7E
RECEIVED HDLC FRAME
7E A0 1E 61 03 73 B5 7C 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
COSEM OUT DATA
E6 E6 00 60 3E A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 18 1D FF FF
SENDING HDLC FRAME
7E A0 4C 03 61 10 58 27 E6 E6 00 60 3E A1 09 06 07 60 85 74 05 08 01 01 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80
10 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 18 1D FF FF 91 EB 7E
RECEIVED HDLC FRAME
7E A0 58 61 03 30 07 51 E6 E7 00 61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 0E 88 02 07 80
89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 10 04 0E 08 00 06 5F 1F 04 00
00 18 1D 02 00 00 07 F9 93 7E
RECEIVED APPLICATION LAYER FRAME
61 4A A1 09 06 07 60 85 74 05 08 01 01 A2 03 02 01 00 A3 05 A1 03 02 01 0E 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12
80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 1D 02 00 00 07
COSEM OUT DATA
E6 E6 00 C3 01 C1 00 0F 00 00 28 00 00 FF 01 01 09 10 AC 43 EA 27 11 A9 72 76 08 DE 58 AB 11 75 F7 45
SENDING HDLC FRAME
7E A0 2B 03 61 32 8D EB E6 E6 00 C3 01 C1 00 0F 00 00 28 00 00 FF 01 01 09 10 AC 43 EA 27 11 A9 72 76 08 DE 58 AB 11 75
F7 45 60 6F 7E
RECEIVED HDLC FRAME
7E A0 23 61 03 52 43 8B E6 E7 00 C7 01 C1 00 01 09 10 35 DF 20 55 8D 27 0D 33 63 06 43 1A D7 C5 5B C5 E3 15 7E
RECEIVED APPLICATION LAYER FRAME
C7 01 C1 00 01 09 10 35 DF 20 55 8D 27 0D 33 63 06 43 1A D7 C5 5B C5
SENDING HDLC FRAME
7E A0 07 03 61 53 65 81 7E
RECEIVED HDLC FRAME
7E A0 1E 61 03 73 B5 7C 81 80 12 05 01 80 06 01 80 07 04 00 00 00 01 08 04 00 00 00 01 53 3B 7E
Regards,
Nitin
Hi kurumi,
Hi kurumi,
We are waiting for your reply.
Thanks,
Nitin Sethi
Hi,
They are using Texas Instrument library. There is issue on that lib.
One byte is missing. We'll add fix for this. There is new version available today for C#.
BR,
Mikko
Hi Kurumi,
Hi Kurumi,
Thanks for your reply.
Actually my team is working on java-DLMS library for this. So can i get this version for java.
Regards,
Nitin Sethi
Texas Instrument
Hi,
We can add new version for C# and C++ today. We are making changes for Java versions at the moment.
We try to update new version in begin of next week.
Until that you can just skip that error.
BR,
Mikko
Hi kurumi,
Hi kurumi,
By skipping that error will i be able to write something on meter or still will it give me access error?
thanks,
Texas Instrument
Hi,
You can access the meter if pw is correct.
BR,
Mikko
Hi,
Hi,
I have cross checked the password with firmware team and password is correct but still it is giving me some error log as:
Gurux.DLMS.GXDLMSException: Access Error : Other Reason.
at GXDLMSDirector.GXDLMSDevice.InitializeConnection()
at GXDLMSDirector.MainForm.Connect(Control sender, Object[] parameters)
Thanks,
Texas Instrument
Hi,
I just checked and it works for me.
Check version number from Help | About. It must be 8.0.1612.1501.
If it's someting else, restart GXDLMSDirector and it is updating itself.
If now, remove old versions and download latest version and install that.
BR,
Mikko
Hi,
Hi,
I also have the same version 8.0.1612.1501.
Thanks
Texas Instrument
Hi,
Can you send trace by email to me? It's working for me. I re-check it.
BR,
Mikko
High authentication.
Hi Nitin,
Data is correct. You should check your High level password. It's different than Low Level password.
We have other clients who are reading TI's meters in India, so I believe that reason for this is simple.
BR,
Mikko
Hi Kurumi,
Hi Kurumi,
Yes, with new version I am able to login with High authentication. But i am able to see read option only not any write option, how would i write something in meter using DLMSDirector.
Thanks,
Regards,
Nitin Sethi
Write value
Hi,
Write button is activated when you change value. We are making some modifications to improve writing of complex objects.
BR,
Mikko
Hi kurumi,
Hi kurumi,
Thanks for the reply. Yes, now I am able to write RTC using DLMSDirector. But now using java library i am not able to change the datetime. I am not getting any exception/error while running following code of lines:
GXDateTime gx = new GXDateTime(2017,12,25,0,0,0,0);
Client.write("0.0.1.0.0.255", gx.getValue().toString() , DataType.OCTET_STRING, ObjectType.CLOCK , 2);
This code is not giving me any exception but also not changing the datetime. What can be the reason?
Thanks,
Regards,
Nitin Sethi
Write value
Hi,
You was not saying is server our implementation or real meter?
Try with this:
GXDateTime gx = new GXDateTime(2017,12,25,0,0,0,0);
Client.write("0.0.1.0.0.255", gx, DataType.OCTET_STRING, ObjectType.CLOCK , 2);
or
GXDLMSClock cl = new GXDLMSClock();
//Set new time
client.write(cl, 2);
BR,
Mikko
Hi,
Hi,
Its on real meter implementation. But never mind using following lines of code, now we can change the datetime in meter:-
readDLMSPacket(dlms.write("0.0.1.0.0.255", java.util.Calendar.getInstance().getTime(), DataType.OCTET_STRING, ObjectType.CLOCK, 2));
Thanks,
Hi krurmi,
Hi krurmi,
After downloading new DLMSDirector and java library, i am able to write but using same library is creating some problem in reading the data. As it is giving me exception on the following lines as given below:
GXDLMSConverter converter = new GXDLMSConverter();
converter.updateOBISCodeInformation(objects);
java.lang.ArrayIndexOutOfBoundsException: 0
at gurux.dlms.GXDLMSConverter.updateOBISCodeInfo(GXDLMSConverter.java:109)
at gurux.dlms.GXDLMSConverter.updateOBISCodeInformation(GXDLMSConverter.java:227)
at gurux.dlms.client.GXCommunicate.readAllObjects(GXCommunicate.java:789)
at gurux.dlms.client.sampleclient.main(sampleclient.java:100)
Thanks,
Hi Nitin
Hi Nitin,
We have fixed this. Get latest version from gurux.dlms.java from github.
BR,
Mikko
get association view just by reading single object
Hi kurumi,
Using following lines of code, I am able to do association with the meter and reading all the objects from the meter.
GXReplyData reply = new GXReplyData();
readDataBlock(dlms.getObjectsRequest(), reply, dlms, Media);
But my condition is like, I just wanted to read the specific object during association with meter. So can you help me to know about this.
Thanks,
get association view just by reading single object
Hi,
You can read just needed object easily if you are using Logical Name Referencing. Just save OBIS codes (Logical Name) example to DB or file. Make connection to the meter and read needed objects. You do not need to read Association view if you know what you want to read.
If you are using SN it's harder because you need to save LN address and that can be change if meter type or firmware is changing.
BTW: Save scalers also.
BR,
Mikko
Having problem in connecting multiple GPRS(TCP/IP) meters
Hi krurmi,
I am trying to read one gprs smart meter using gurux lib and i am able to do that. But when I open the serverSocket and trying to connect multiple (clientsocket) meters on same port. It is not letting me connect with that. Please can you guide on this.
Thanks,
Regards,
Nitin Sethi
Having problem in connecting multiple GPRS(TCP/IP) meters
Hi,
Please, start own thread if you have new question.
Your server socket allows only one session at the time. You need to create server socket that can handle multiple connections at the time.
BR,
Mikko