PTPiREE (format danych)

Z Wikipedii, wolnej encyklopedii

PTPiREE – format danych dobowych o zużyciu energii, stosowany w wymianie danych pomiędzy uczestnikami rynku energii elektrycznej w Polsce. Opracowany przez Polskie Towarzystwo Przesyłu i Rozdziału Energii Elektrycznej (PTPiREE).

Budowa[edytuj | edytuj kod]

Plik PTPiREE jest to plik tekstowy składający się z nagłówka, listy pomiarów energii elektrycznej oraz sumy kontrolnej. Wiersze oddzielone są znakami końca linii CRLF.[1]

Budowa nagłówka[edytuj | edytuj kod]

Nagłówek pliku składa się z sześciu wierszy:

  1. Skrócona nazwa spółki dystrybucyjnej.
  2. ID 1, często numer licznika.
  3. ID 2, często typ licznika.
  4. Kod rodzaju energii elektrycznej (czynna/bierna) i umowny kierunek przepływu (pobór/oddawanie): CP, CO, QP, QO.
  5. Data doby pomiarowej.
  6. Liczba pomiarów w dobie: 23, 24 lub 25.

Doby liczone są od północy do północy według czasu urzędowego. W dniu zmiany czasu ze strefowego na letni "doba urzędowa" jest krótsza o godzinę i ma 23 godziny, zaś w dniu zmiany czasu z letniego na strefowy jest dłuższa o godzinę i ma 25 godzin, stąd odpowiednia zmiana liczby pomiarów w pliku.

Budowa wiersza pomiaru energii elektrycznej[edytuj | edytuj kod]

Wiersz składa się dwóch wartości: wartości pobranej energii elektrycznej oraz wskaźnika jakości.

Wartość pobranej energii jest podawana z dokładnością do trzech miejsc po przecinku, separatorem miejsc dziesiętnych jest „.” (kropka), zaś separatorem wskaźnika jakości „,” (przecinek).

Wskaźnik jakości przyjmuje trzy wartości:

  • „+” – (plus) dane poprawne.
  • „-” – (minus) dane niepoprawne lub brak danych.
  • „*” – (gwiazdka) dane niepełne.

Suma kontrolna[edytuj | edytuj kod]

Suma kontrolna w formacie PTPiREE jest to 16-bitowy cykliczny kod nadmiarowy (CRC) obliczany według algorytmu znanego jako CRC-CCITT (stosowanego m.in. w protokołach XMODEM i Bluetooth). Suma kontrolna wyliczana jest na bajtowym ciągu znaków złożonym z nagłówka oraz listy pomiarów wraz ze znakami końca linii.

Przykładowy kod PHP wyliczający sumę kontrolną:

<?php
$len = strlen($fullContent);
$crc=0;
$polynomial = 0x1021;
for($i = 0; $i < $len; $i++) 
{
    for ($j = 0; $j < 8; $j++) 
    {
        $b = ord($fullContent[$i]);
        $bit = (($b >> (7-$j) & 1) == 1);
        $c15 = (($crc >> 15 & 1) == 1);
        $crc <<= 1;
        if($c15 ^ $bit) $crc ^= $polynomial;
    }
}
$crc &= 0xffff;
$fullContent.=sprintf("%04X",$crc)."\r\n";
?>

Przypisy[edytuj | edytuj kod]

  1. Formaty plików publikowanych na Platformie Wymiany Danych innPWD [online], innogy Stoen Operator, marzec 2020 [zarchiwizowane z adresu 2021-07-26].