TX: (simulator with params "-h ipaddress -p 8088 -o template.xml -t Verbose -w" to sanxing device)
000100100001001F601DA109060760857405080101BE10040E01000000065F1F0400001E1DFFFF
RX: (from device to simulator)
000100010010002B6129A109060760857405080101A203020100A305A103020100BE10040E0800065F1F040000101D01E80007
TX:
000100100001000D0C01C1000F0000280000FF0200
RX:
0001000100100003C402C1
Disconnect request
TX:
00010010000100056203800100
RX:
000100010010000D630B800100BE0604040E01FFFF
Using your online decoder ( http://www.gurux.fi/GuruxDLMSTranslator ) I have found that connection was done correctly, but reading have somehow failed (online decoder is not able to decode second request and second response).
I have attached also screenshot when reading using serial line. Note, that default application from manufacturer does have set "Mode E" instead of DLMS when reading through serial line.
Any advices how to read data and make given device "virtual" (using simulator)?
For serial line communication, one of your settings is different than meter expects.
If you are using an optical probe you need to add -i to move mode E. I believe that is the reason why meter doesn't reply.
It's interesting that the meter is not certificated using WRAPPER, only with HDLC.
I believe there is a type in your message. You have written that it's
I try to use GXDLMSDirector. Now I have working example using other sw. It seems that given sw is reconnecting to serial line...
Reading register (using other sw) 0.96.1.0.255 and sniffing on serial line:
[10/08/2020 09:28:58] Written data (COM11)
2f 3f 21 0d 0a /?!..
[10/08/2020 09:28:58] Read data (COM11)
2f 41 55 58 35 5c 32 53 58 35 41 32 2d 53 45 4c /AUX5\2SX5A2-SEL
53 2d 30 34 0d 0a S-04..
[10/08/2020 09:28:59] Written data (COM11)
06 32 35 32 0d 0a .252..
[10/08/2020 09:28:59] Read data (COM11)
06 32 35 32 0d 0a .252..
[10/08/2020 09:28:59] - Close port COM11
[10/08/2020 09:28:59] - Open port COM11
[10/08/2020 09:28:59] Written data (COM11)
7e a0 0a 00 02 c0 01 21 93 42 fc 7e ~ ...Ŕ.!“Bü~
[10/08/2020 09:29:00] Read data (COM11)
7e a0 23 21 00 02 00 21 73 46 f6 81 80 14 05 02 ~ #!...!sFö€...
00 72 06 02 01 e8 07 04 00 00 00 01 08 04 00 00 .r...č..........
00 01 0c b2 7e ...˛~
[10/08/2020 09:29:00] Written data (COM11)
7e a0 2e 00 02 c0 01 21 10 24 46 e6 e6 00 60 1d ~ ...Ŕ.!.$Fćć.`.
a1 09 06 07 60 85 74 05 08 01 01 be 10 04 0e 01 ˇ...`…t....ľ....
00 00 00 06 5f 1f 04 00 00 7e 1f 04 b0 ca ea 7e ...._....~..°Ęę~
[10/08/2020 09:29:00] Read data (COM11)
7e a0 3a 21 00 02 00 21 30 29 72 e6 e7 00 61 29 ~ :!...!0)rćç.a)
a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 00 ˇ...`…t....˘....
a3 05 a1 03 02 01 00 be 10 04 0e 08 00 06 5f 1f Ł.ˇ....ľ......_.
04 00 00 10 1d 01 e8 00 07 76 3e 7e ......č..v>~
[10/08/2020 09:29:00] Written data (COM11)
7e a0 1c 00 02 c0 01 21 32 c5 a5 e6 e6 00 c0 01 ~ ...Ŕ.!2ĹĄćć.Ŕ.
81 00 01 00 00 2a 00 00 ff 02 00 17 4d 7e ....*..˙...M~
[10/08/2020 09:29:00] Read data (COM11)
7e a0 25 21 00 02 00 21 52 00 9e e6 e7 00 c4 01 ~ %!...!R.žćç.Ä.
81 00 0a 10 41 55 58 31 30 30 31 37 32 32 35 41 ...AUX10017225A
30 30 30 31 72 85 7e 0001r…~
# request to read data. Address is "00 60 01 00 ff"
[10/08/2020 09:29:00] Written data (COM11)
7e a0 1c 00 02 c0 01 21 54 f5 a3 e6 e6 00 c0 01 ~ ...Ŕ.!TőŁćć.Ŕ.
81 00 01 00 00 60 01 00 ff 02 00 8c 6d 7e ....`..˙..Śm~
# return answer to reading data
[10/08/2020 09:29:00] Read data (COM11)
7e a0 1e 21 00 02 00 21 74 fc 7a e6 e7 00 c4 01 ~ .!...!tüzćç.Ä.
81 00 0a 09 30 30 35 30 30 30 32 32 38 61 ba 7e ...005000228aş~
[10/08/2020 09:29:00] Written data (COM11)
7e a0 0a 00 02 c0 01 21 53 4e 3a 7e ~ ...Ŕ.!SN:~
[10/08/2020 09:29:01] Read data (COM11)
7e a0 0a 21 00 02 00 21 73 fc d4 7e ~ .!...!süÔ~
[10/08/2020 09:29:01] - Close port COM11
A bit nicer formatting (joined lines and removed ascii):
tx -> sw writes to serial line; rx -> sw is receiving data from serial line.
tx: 2f 3f 21 0d 0a
rx: 2f 41 55 58 35 5c 32 53 58 35 41 32 2d 53 45 4c 53 2d 30 34 0d 0a
tx: 06 32 35 32 0d 0a
rx: 06 32 35 32 0d 0a
recconect here
tx: 7e a0 0a 00 02 c0 01 21 93 42 fc 7e
rx: 7e a0 23 21 00 02 00 21 73 46 f6 81 80 14 05 02 00 72 06 02 01 e8 07 04 00 00 00 01 08 04 00 00 00 01 0c b2 7e
tx: 7e a0 2e 00 02 c0 01 21 10 24 46 e6 e6 00 60 1d a1 09 06 07 60 85 74 05 08 01 01 be 10 04 0e 01 00 00 00 06 5f 1f 04 00 00 7e 1f 04 b0 ca ea 7e
rx: 7e a0 3a 21 00 02 00 21 30 29 72 e6 e7 00 61 29 a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 00 a3 05 a1 03 02 01 00 be 10 04 0e 08 00 06 5f 1f 04 00 00 10 1d 01 e8 00 07 76 3e 7e
tx: 7e a0 1c 00 02 c0 01 21 32 c5 a5 e6 e6 00 c0 01 81 00 01 00 00 2a 00 00 ff 02 00 17 4d 7e
rx: 7e a0 25 21 00 02 00 21 52 00 9e e6 e7 00 c4 01 81 00 0a 10 41 55 58 31 30 30 31 37 32 32 35 41 30 30 30 31 72 85 7e
next request does request for given registry... Response just after it
tx: 7e a0 1c 00 02 c0 01 21 54 f5 a3 e6 e6 00 c0 01 81 00 01 00 00 60 01 00 ff 02 00 8c 6d 7e
rx: 7e a0 1e 21 00 02 00 21 74 fc 7a e6 e7 00 c4 01 81 00 0a 09 30 30 35 30 30 30 32 32 38 61 ba 7e
tx: 7e a0 0a 00 02 c0 01 21 53 4e 3a 7e
rx: 7e a0 0a 21 00 02 00 21 73 fc d4 7e
Data bytes are correct. I checked from your logs that other application doesn't wait after moving to Mode E.
It's interesting because the delay is in the standard.
Try to remove Thread.sleep. Find // This sleep make sure that all meters can be read.
end then remove two Thread.sleeps.
Thanks for suggestion. I will try.
PS: Using GXDLMSDirector have failed with "Invalid response" info. Perhaps serial line stayed open and restarting director was the only option to make another test. Invalid response was perhaps due manufacturer information doe not met selected (Hexing) one.
PS2: Reading data using Net (using GXDLMSDirector) has not been tested, because the only windows which does have network connectivity to smartmeter, does not have connectivity to Internet. Is there any installation procedure for such PCs?
Hi,
Hi,
For serial line communication, one of your settings is different than meter expects.
If you are using an optical probe you need to add -i to move mode E. I believe that is the reason why meter doesn't reply.
It's interesting that the meter is not certificated using WRAPPER, only with HDLC.
I believe there is a type in your message. You have written that it's
00 01 00 10 00 01 00 0D 0C 01 C1 00 0F 00 00 28 00 00 FF 02 00
when it should be:
00 01 00 10 00 01 00 0D C0 01 C1 00 0F 00 00 28 00 00 FF 02 00
Try to read using the serial port.
BR,
Mikko
Thanks for tip with "-i"
Thanks for tip with "-i" parameter. I will try it.
An you are right, I have typo in given packet. I am appending screen just for info.
Hello, IEC reading start does
Hello, IEC reading start does not help. We have tried with "-i" and also "-i -w" parameters. See screenshot. Copy/paste ready data are here:
parameters: -i
Standard: DLMS
TX: 08:08:33.458 2F 3F 21 0D 0A
RX: 08:08:34.418 2F 41 55 58 35 5C 32 53 58 35 41 32 2D 53 45 4C 53 2D 30 34 0D 0A
Bitrate is : 9600
RX: 08:08:34.418 06 32 35 32 0D 0A
TX: 08:08:35.428 7E A0 07 03 21 93 0F 01 7E
parameters: -i -w
Standard: DLMS
TX: 08:09:26.402 2F 3F 21 0D 0A
RX: 08:09:27.338 2F 41 55 58 35 5C 32 53 58 35 41 32 2D 53 45 4C 53 2D 30 34 0D 0A
Bitrate is : 9600
RX: 08:09:27.338 06 32 35 32 0D 0A
TX: 08:09:28.362 00 01 00 10 00 01 00 1F 60 1D A1 09 06 07 60 85 74 05 08 01 01 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 00 1E 1D FF FF
Any other suggestions?
PS: Actually my goal is to make "virtual" sanxing device using simulator (or using GXDLMSSecureServer2 class for example by hand).
Hi,
Hi,
Can you read your meter with GXDLMSDirector? Data seems to be correct.
BR,
Mikko
I try to use GXDLMSDirector.
I try to use GXDLMSDirector. Now I have working example using other sw. It seems that given sw is reconnecting to serial line...
Reading register (using other sw) 0.96.1.0.255 and sniffing on serial line:
[10/08/2020 09:28:58] Written data (COM11)
2f 3f 21 0d 0a /?!..
[10/08/2020 09:28:58] Read data (COM11)
2f 41 55 58 35 5c 32 53 58 35 41 32 2d 53 45 4c /AUX5\2SX5A2-SEL
53 2d 30 34 0d 0a S-04..
[10/08/2020 09:28:59] Written data (COM11)
06 32 35 32 0d 0a .252..
[10/08/2020 09:28:59] Read data (COM11)
06 32 35 32 0d 0a .252..
[10/08/2020 09:28:59] - Close port COM11
[10/08/2020 09:28:59] - Open port COM11
[10/08/2020 09:28:59] Written data (COM11)
7e a0 0a 00 02 c0 01 21 93 42 fc 7e ~ ...Ŕ.!“Bü~
[10/08/2020 09:29:00] Read data (COM11)
7e a0 23 21 00 02 00 21 73 46 f6 81 80 14 05 02 ~ #!...!sFö€...
00 72 06 02 01 e8 07 04 00 00 00 01 08 04 00 00 .r...č..........
00 01 0c b2 7e ...˛~
[10/08/2020 09:29:00] Written data (COM11)
7e a0 2e 00 02 c0 01 21 10 24 46 e6 e6 00 60 1d ~ ...Ŕ.!.$Fćć.`.
a1 09 06 07 60 85 74 05 08 01 01 be 10 04 0e 01 ˇ...`…t....ľ....
00 00 00 06 5f 1f 04 00 00 7e 1f 04 b0 ca ea 7e ...._....~..°Ęę~
[10/08/2020 09:29:00] Read data (COM11)
7e a0 3a 21 00 02 00 21 30 29 72 e6 e7 00 61 29 ~ :!...!0)rćç.a)
a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 00 ˇ...`…t....˘....
a3 05 a1 03 02 01 00 be 10 04 0e 08 00 06 5f 1f Ł.ˇ....ľ......_.
04 00 00 10 1d 01 e8 00 07 76 3e 7e ......č..v>~
[10/08/2020 09:29:00] Written data (COM11)
7e a0 1c 00 02 c0 01 21 32 c5 a5 e6 e6 00 c0 01 ~ ...Ŕ.!2ĹĄćć.Ŕ.
81 00 01 00 00 2a 00 00 ff 02 00 17 4d 7e ....*..˙...M~
[10/08/2020 09:29:00] Read data (COM11)
7e a0 25 21 00 02 00 21 52 00 9e e6 e7 00 c4 01 ~ %!...!R.žćç.Ä.
81 00 0a 10 41 55 58 31 30 30 31 37 32 32 35 41 ...AUX10017225A
30 30 30 31 72 85 7e 0001r…~
# request to read data. Address is "00 60 01 00 ff"
[10/08/2020 09:29:00] Written data (COM11)
7e a0 1c 00 02 c0 01 21 54 f5 a3 e6 e6 00 c0 01 ~ ...Ŕ.!TőŁćć.Ŕ.
81 00 01 00 00 60 01 00 ff 02 00 8c 6d 7e ....`..˙..Śm~
# return answer to reading data
[10/08/2020 09:29:00] Read data (COM11)
7e a0 1e 21 00 02 00 21 74 fc 7a e6 e7 00 c4 01 ~ .!...!tüzćç.Ä.
81 00 0a 09 30 30 35 30 30 30 32 32 38 61 ba 7e ...005000228aş~
[10/08/2020 09:29:00] Written data (COM11)
7e a0 0a 00 02 c0 01 21 53 4e 3a 7e ~ ...Ŕ.!SN:~
[10/08/2020 09:29:01] Read data (COM11)
7e a0 0a 21 00 02 00 21 73 fc d4 7e ~ .!...!süÔ~
[10/08/2020 09:29:01] - Close port COM11
A bit nicer formatting (joined lines and removed ascii):
tx -> sw writes to serial line; rx -> sw is receiving data from serial line.
tx: 2f 3f 21 0d 0a
rx: 2f 41 55 58 35 5c 32 53 58 35 41 32 2d 53 45 4c 53 2d 30 34 0d 0a
tx: 06 32 35 32 0d 0a
rx: 06 32 35 32 0d 0a
recconect here
tx: 7e a0 0a 00 02 c0 01 21 93 42 fc 7e
rx: 7e a0 23 21 00 02 00 21 73 46 f6 81 80 14 05 02 00 72 06 02 01 e8 07 04 00 00 00 01 08 04 00 00 00 01 0c b2 7e
tx: 7e a0 2e 00 02 c0 01 21 10 24 46 e6 e6 00 60 1d a1 09 06 07 60 85 74 05 08 01 01 be 10 04 0e 01 00 00 00 06 5f 1f 04 00 00 7e 1f 04 b0 ca ea 7e
rx: 7e a0 3a 21 00 02 00 21 30 29 72 e6 e7 00 61 29 a1 09 06 07 60 85 74 05 08 01 01 a2 03 02 01 00 a3 05 a1 03 02 01 00 be 10 04 0e 08 00 06 5f 1f 04 00 00 10 1d 01 e8 00 07 76 3e 7e
tx: 7e a0 1c 00 02 c0 01 21 32 c5 a5 e6 e6 00 c0 01 81 00 01 00 00 2a 00 00 ff 02 00 17 4d 7e
rx: 7e a0 25 21 00 02 00 21 52 00 9e e6 e7 00 c4 01 81 00 0a 10 41 55 58 31 30 30 31 37 32 32 35 41 30 30 30 31 72 85 7e
next request does request for given registry... Response just after it
tx: 7e a0 1c 00 02 c0 01 21 54 f5 a3 e6 e6 00 c0 01 81 00 01 00 00 60 01 00 ff 02 00 8c 6d 7e
rx: 7e a0 1e 21 00 02 00 21 74 fc 7a e6 e7 00 c4 01 81 00 0a 09 30 30 35 30 30 30 32 32 38 61 ba 7e
tx: 7e a0 0a 00 02 c0 01 21 53 4e 3a 7e
rx: 7e a0 0a 21 00 02 00 21 73 fc d4 7e
Hi,
Hi,
Your meter is using different server address. Try with parameters:
-i -s 28672
BR,
Mikko
No success...
No success...
C:\varga> java -jar gurux.dlms.simulator.java-0.0.1-SNAPSHOT.jar -S COM11 -o simulator_template.xml -t Verbose -i -s 28672
Authentication: None
ClientAddress: 0x10
ServerAddress: 0x7000
Standard: DLMS
TX: 13:43:45.347 2F 3F 21 0D 0A
RX: 13:43:46.299 2F 41 55 58 35 5C 32 53 58 35 41 32 2D 53 45 4C 53 2D 30 34 0D 0A
Bitrate is : 9600
RX: 13:43:46.301 06 32 35 32 0D 0A
TX: 13:43:47.288 7E A0 0A 00 02 C0 01 21 93 42 FC 7E
C:\varga>java -jar gurux.dlms.simulator.java-0.0.1-SNAPSHOT.jar -S COM11 -o simulator_template.xml -t Verbose -i -w -s 28672
Authentication: None
ClientAddress: 0x10
ServerAddress: 0x7000
Standard: DLMS
TX: 13:44:13.133 2F 3F 21 0D 0A
Hi,
Hi,
Data bytes are correct. I checked from your logs that other application doesn't wait after moving to Mode E.
It's interesting because the delay is in the standard.
Try to remove Thread.sleep. Find // This sleep make sure that all meters can be read.
end then remove two Thread.sleeps.
BR,
Mikko
Thanks for suggestion. I will
Thanks for suggestion. I will try.
PS: Using GXDLMSDirector have failed with "Invalid response" info. Perhaps serial line stayed open and restarting director was the only option to make another test. Invalid response was perhaps due manufacturer information doe not met selected (Hexing) one.
PS2: Reading data using Net (using GXDLMSDirector) has not been tested, because the only windows which does have network connectivity to smartmeter, does not have connectivity to Internet. Is there any installation procedure for such PCs?