Good day.
I have a problem with the Arduino port not being able to successfully connect to the meter.
Using GXDLMSDirector (9.0.2501.1001) there is no problem and I can connect to the meter and read the registers I need. I will add the Log and setting below.
I downloaded the sample files from github and proceeded to try and compile the sketch in the Arduino IDE(2.3.4).
To get it to compile I had to commend out the following section in serverevents.c.
From line 77 - void svr_notifyTrace4(const char* str, gxByteBuffer* value) - to line the end of the file.
After that it compiled without and problems.
Downloaded to the Mega but found that it was trying to send all communication on just UART0. (Meter comms and debug messages.)
I then change the debug UART number from Serial0 to Serial1.
Downloaded again and got the expected response from the Debug UART.
Next I set up client.init to be the same as in GXDLMSDirector
Client.init(true,1,1,DLMS_AUTHENTICATION_HIGH,"00000000",DLMS_INTERFACE_TYPE_HDLC_WITH_MODE_E);
I then connected the meter and got the following from the debug port.
:Start reading
:com_initializeConnection failed 3
:Received bytes: <LF> 37 :Data send failed. Try to resend. 1
:Received bytes: <LF> 74 :Data send failed. Try to resend. 2
:Received bytes: <LF> 111 :Data send failed. Try to resend. 3
:Received bytes: <LF> 148
I added some extra comments to see where it failed.
:Start reading
:SNRM SEND and UA Parsed OK 0
:AARQ SEND and AARE Parsed OK 0
:Start GetAuthentication 0
:com_initializeConnection failed 3
:Received bytes: <LF> 37 :Data send failed. Try to resend. 1
:Received bytes: <LF> 74 :Data send failed. Try to resend. 2
:Received bytes: <LF> 111 :Data send failed. Try to resend. 3
:Received bytes: <LF> 148
Here’s the HEX log for the Arduino.
TX (09:05:36.611) 7Eh A0h 07h 03h 03h 93h 8Ch 11h 7Eh
RX (09:05:36.820) 7Eh A0h 20h 03h 03h 73h F0h 2Eh 81h 80h 14h 05h 02h 00h C8h 06h 02h 00h C8h 07h 04h 00h 00h 00h 01h 08h 04h 00h 00h 00h 01h 0Bh 87h 7Eh
TX (09:05:36.874) 7Eh A0h 4Ch 03h 03h 10h BDh 71h E6h E6h 00h 60h 3Eh A1h 09h 06h 07h 60h 85h 74h 05h 08h 01h 01h 8Ah 02h 07h 80h 8Bh 07h 60h 85h 74h 05h 08h 02h 02h ACh 12h 80h 10h 12h 09h 04h 02h 81h C0h 60h 30h 98h 4Ch 26h 93h 49h A4h 52h A9h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh FFh FFh 3Bh 12h 7Eh
RX (09:05:37.160) 7Eh A0h 58h 03h 03h 30h F2h E1h E6h E7h 00h 61h 4Ah A1h 09h 06h 07h 60h 85h 74h 05h 08h 01h 01h A2h 03h 02h 01h 00h A3h 05h A1h 03h 02h 01h 00h 88h 02h 07h 80h 89h 07h 60h 85h 74h 05h 08h 02h 02h AAh 12h 80h 10h 37h 34h 42h 45h 34h 30h 34h 30h 46h 33h 46h 33h 32h 38h 37h 44h BEh 10h 04h 0Eh 08h 00h 06h 5Fh 1Fh 04h 00h 00h 18h 1Fh 00h C8h 00h 07h 41h 68h 7Eh
TX (09:05:37.311) 7Eh A0h 2Bh 03h 03h 32h 68h BDh E6h E6h 00h C3h 01h C1h 00h 0Fh 00h 00h 28h 00h 00h FFh 01h 01h 09h 10h 7Eh 6Ah BDh DDh B7h 4Bh 90h 7Ch A2h 3Ch 23h B3h 3Dh D7h 59h 0Dh 81h D3h 7Eh
RX (09:05:37.560) 7Eh A0h 11h 03h 03h 52h 32h 4Eh E6h E7h 00h C7h 01h 41h 03h 00h 78h 92h 7Eh
TX (09:05:37.623) 7Eh A0h 23h 03h 03h 54h 80h 5Eh E6h E6h 00h 62h 15h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 4Ah 37h 7Eh
RX (09:05:37.860) 7Eh A0h 23h 03h 03h 54h 80h 5Eh E6h E7h 00h 63h 03h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 7Fh 90h 7Eh
TX (09:05:39.944) 7Eh A0h 23h 03h 03h 54h 80h 5Eh E6h E6h 00h 62h 15h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 4Ah 37h 7Eh
RX (09:05:40.180) 7Eh A0h 23h 03h 03h 56h 92h 7Dh E6h E7h 00h 63h 03h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 7Fh 90h 7Eh
TX (09:05:42.265) 7Eh A0h 23h 03h 03h 54h 80h 5Eh E6h E6h 00h 62h 15h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 4Ah 37h 7Eh
RX (09:05:42.500) 7Eh A0h 23h 03h 03h 58h ECh 94h E6h E7h 00h 63h 03h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 7Fh 90h 7Eh
TX (09:05:44.585) 7Eh A0h 23h 03h 03h 54h 80h 5Eh E6h E6h 00h 62h 15h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 4Ah 37h 7Eh
RX (09:05:44.820) 7Eh A0h 23h 03h 03h 5Ah FEh B7h E6h E7h 00h 63h 03h 80h 01h 00h BEh 10h 04h 0Eh 01h 00h 00h 00h 06h 5Fh 1Fh 04h 00h 40h 1Eh 1Dh 00h C8h 7Fh 90h 7Eh
TX (09:05:46.896) 7Eh A0h 07h 03h 03h 53h 80h D7h 7Eh
RX (09:05:47.105) 7Eh A0h 07h 03h 03h 73h 82h F6h 7Eh
Here’s the Log file from GXDLMSDirector.
09:15:39 Send SNRM request.
7E A0 07 03 03 93 8C 11 7E
09:15:40
7E A0 20 03 03 73 F0 2E 81 80 14 05 02 00 C8 06 02 00 C8 07 04 00 00 00 01 08 04 00 00 00 01 0B 87 7E
09:15:40 Parsing UA reply succeeded.
09:15:40 Send AARQ request.
7E A0 4C 03 03 10 BD 71 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 33 29 4C 58 0C 57 16 60 29 1E 45 1B 1C 26 47 48 BE 10 04 0E 01 00 00 00 06 5F 1F 04 00 62 1E 5D FF FF B5 8D 7E
09:15:40
7E A0 58 03 03 30 F2 E1 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 00 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 43 31 31 31 42 44 45 35 39 39 38 45 43 31 34 46 BE 10 04 0E 08 00 06 5F 1F 04 00 00 18 1F 00 C8 00 07 D5 67 7E
09:15:40 Parsing AARE reply succeeded.
09:15:40 Authenticating.
7E A0 2B 03 03 32 68 BD E6 E6 00 C3 01 C1 00 0F 00 00 28 00 00 FF 01 01 09 10 DE 60 97 6C 79 0B 76 99 BF 31 B4 D7 C1 62 0F EA C3 90 7E
09:15:40
7E A0 24 03 03 52 97 6C E6 E7 00 C7 01 41 00 01 00 09 10 36 56 E3 90 57 71 F0 42 A7 47 AD A6 92 FF 94 21 F0 7C 7E
09:15:41 Read object type Register index: 2
7E A0 19 03 03 54 DC CE E6 E6 00 C0 01 C1 00 03 01 00 01 08 00 FF 02 00 32 68 7E
09:15:42
7E A0 15 03 03 74 EA 78 E6 E7 00 C4 01 41 00 06 00 00 00 00 60 9E 7E
09:15:42 Read object type Register index: 2
7E A0 19 03 03 76 CC CC E6 E6 00 C0 01 C1 00 03 01 00 02 08 00 FF 02 00 4F 64 7E
09:15:42
7E A0 15 03 03 96 F6 BC E6 E7 00 C4 01 41 00 06 00 00 00 00 60 9E 7E
09:15:43 Disconnect request
09:15:43 Disconnect request
7E A0 07 03 03 53 80 D7 7E
09:15:43
7E A0 07 03 03 73 82 F6 7E
Any help would be greatly appreciated.
Hi, You are right. The…
Hi,
You are right. The communication and trace were sent to the same UART. This is now fixed. Thank you for pointing that out. The compiler error is also fixed.
The authentication fails. Check your password. Is is '00000000' also in GXDLMSDirector?
BR,
Mikko
I think that might be it. In…
I think that might be it.
In GXDLMSDirector it is setup as 00 00 00 00. non ASCII
-S COM1:9600:8NoneOne -i HdlcWithModeE -c 1 -a High -P 0x
And in the IDE is setup as - Client.init(true,1,1,DLMS_AUTHENTICATION_HIGH,"00000000",DLMS_INTERFACE_TYPE_HDLC_WITH_MODE_E);
Is there a way to set the password in the IDE as 00 00 00 00 non-ascii?