Jump to content

Recommended Posts

Posted

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

Posted

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.

 

Posted

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. 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.