Jump to content

Recommended Posts

Hello everyone
I have a challenge that I cannot solve

a P1 telegram (ASCII string) is sent from an electricity meter every 7 seconds
How can I process this in Unistream
And where should I buffer it, this because of over 700 ASCII characters

in the telegram must search for the value after a code
The telegram is not fixed in length, and line number

42/5000
 
 

Below a scan of PuTTY

/ISk5\2MT382-1000
1-3:0.2.8(50)
0-0:1.0.0(101209113020W)
0-0:96.1.1(4B384547303034303436333935353037)
1-0:1.8.1(123456.789*kWh)
1-0:1.8.2(123456.789*kWh)
1-0:2.8.1(123456.789*kWh)
1-0:2.8.2(123456.789*kWh)
0-0:96.14.0(0002)
1-0:1.7.0(01.193*kW)
1-0:2.7.0(00.000*kW)
0-0:96.7.21(00004)
0-0:96.7.9(00002)
1-0:99.97.0(2)(0-0:96.7.19)(101208152415W)(0000000240*s)(101208151004W)(0000000301*s)
1-0:32.32.0(00002)
1-0:52.32.0(00001)
1-0:72.32.0(00000)
1-0:32.36.0(00000)
1-0:52.36.0(00003)
1-0:72.36.0(00000)
0-0:96.13.0(303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C
3D3E3F303132333435363738393A3B3C3D3E3F303132333435363738393A3B3C3D3E3F)
1-0:32.7.0(220.1*V)
1-0:52.7.0(220.2*V)
1-0:72.7.0(220.3*V)
1-0:31.7.0(001*A)
1-0:51.7.0(002*A)
1-0:71.7.0(003*A)
1-0:21.7.0(01.111*kW)
1-0:41.7.0(02.222*kW)
1-0:61.7.0(03.333*kW)
1-0:22.7.0(04.444*kW)
1-0:42.7.0(05.555*kW)
1-0:62.7.0(06.666*kW)
0-1:24.1.0(003)
0-1:96.1.0(3232323241424344313233343536373839)
0-1:24.2.1(101209112500W)(12785.123*m3)
!EF2F

Slimme_meter_15_a727fce1f1.pdf

Link to post
Share on other sites

I think this problem is not a very good fit for a newbie.

Decoding a large variable ascii transmission could better be done with a unit which has more

 string tools for handling the data blocks.

Perhaps then sending just the extracted value to the unitronics.

I assume it is always the same ODBIS code value you require?

Incidently the documentation says the telegram is sent every second not every 7 seconds.

 

Link to post
Share on other sites

Hello,

In general you are getting this telegram to a large buffer.

For example part of the text in this telegram is 1-0:32.7.0(220.1*V)

If you wish to extract the voltage (220.1*V):

In the buffer you should search for "1-0:32.7.0("   (If this leading text is fixed )

You can put this string in advance in ASCII string - use the Tag to Buffer  (under the buffer tools) and then use find in Buffer for this string.

Once you found the index you can copy buffer part  to buffer with the correct offset and length - Now you have the 220.1 in a buffer.

If you wish to have it a a number you can use Buffer to Tag. 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...