LSB MSB dwu bajtową sumą kontrolną CRC. Ramka transmitowana jest jako pojedynczy blok danych.

Podobne dokumenty
Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Moduł komunikacyjny Modbus RTU w standardzie RS-485 do ciepłomierza SonoMeter 31 i przelicznika energii Infocal 9

Niniejsza Instrukcja służy do zapoznania odbiorców z warunkami prawidłowej eksploatacji ciepłomierzy z przelicznikiem wskazującym SUPERCAL 531.

Niniejsza Instrukcja służy do zapoznania odbiorców z warunkami prawidłowej eksploatacji ciepłomierzy z przelicznikiem wskazującym SUPERCAL 531.

SM211 RS485 - JBUS/MODBUS dla SM103E. Æ Instrukcja obsługi

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

HP-1 parametry. Pobór prądu (przy zasilaniu 12V) Pobierana moc (przy zasilaniu 12V) 0,036W. Pomiar ciśnienia

Magistrala LIN

THP-100-x parametry. Pobór prądu (przy zasilaniu 12V) Pobierana moc (przy zasilaniu 12V) 0,036W. Pomiar ciśnienia

SYGNALIZATORY MIEJSCA ZWARCIA W SIECI KABLOWEJ SN Z SERII SMZ-4DM INSTRUKCJA OBSŁUGI PRZEZ PROTOKÓŁ MODBUS RTU

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

Komunikacja z czujnikiem

Kod produktu: MP01105T

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

UNIPROD GLIWICE ul. Sowińskiego 3 tel: , fax kontakt@uniprod.pl

Opis techniczny koncentratora wejść impulsowych KWI-1. APATOR SA,

Opis czytnika TRD-55 CLASSIC ver Moduł czytnika transponderów UNIQUE z zewnętrzną anteną

Opis czytnika TRD-PARK COMBO ver Uniwersalny czytnik transponderów UNIQUE - wersja dla parkingów

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Czytnik transponderów MIFARE i UNIQUE w obudowie naściennej

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

TRANSMISJA DANYCH do i od sondy (UMPP) ilości (poziomu) paliwa w zbiorniku pojazdu drogowego z interface'm cyfrowym (serial port)

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

asix4 Podręcznik użytkownika DMS500 - drajwer protokołu analizatorów DURAG DMS 500 Podręcznik użytkownika

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

Podstawowe dane techniczne przelicznika typu LQM-III... Wielkość Symbol Jednostka Wartość. GJ mw. 0,001 do 1 0,001 do 0,1

Kod produktu: MP01105

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

Wymagania programowe: STEP 7 STEP 7-Micro/Win

Opis czytnika TRD-HOT COMBO ver Naścienny czytnik transponderów UNIQUE w podświetlanej obudowie

2. Format danych i zaimplementowane funkcje MODBUS

DZT WEJŚCIE Napięcie znamionowe: (U n

Protokół komunikacyjny sondy cyfrowej CS-26/RS-485 (lub RS-232)

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. ( )

RS-H0-06 BZ M12. Czytnik RFID MHz Mifare. Karta produktu

Przesyłania danych przez protokół TCP/IP

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Instrukcja programu użytkownika OmegaUW.Exe. Program obsługuje następujące drukarki fiskalne: ELZAB OMEGA II generacji ELZAB OMEGA F, MERA, MERA F.

Komunikacja w mikrokontrolerach Laboratorium

Dokumentacja Techniczna. Czytnik RFID UW-U4A

Komunikacja między sterownikami przez protokół ADS

Interfejsy systemów pomiarowych

PRZETWORNIK TEMPERATURY I WILGOTNOŒCI TYP P19

SmartDRIVE protokół transmisji szeregowej RS-485

DZT Licznik energii elektrycznej Sieć trójfazowa 4-przewodowa Połączenie bezpośrednie 100A Wyjście impulsowe oraz RS485/Modbus.

Politechnika Wrocławska

SiMod-X-(A1) Przetwornik parametrów powietrza z interfejsem RS485 (MODBUS RTU) oraz wyjściem analogowym (dotyczy wersji -A1)

SPECYFIKACJA TECHNICZNA

SYSTEM E G S MODUŁ ML/A-1m wersja V32.1

Instrukcja integracji urządzenia na magistrali Modbus RTU

Problematyka sieci miejscowej LIN

APLIKACJA COMMAND POSITIONING Z WYKORZYSTANIEM KOMUNIKACJI SIECIOWEJ Z PROTOKOŁEM USS W PRZETWORNICACH MDS/FDS 5000

interfejs szeregowy wyświetlaczy do systemów PLC

PRZYKŁADOWE PYTANIA NA PRÓBNY EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE ZAWODOWE

Wstęp do programowania. Różne różności

Licznik energii z certyfikatem MID

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

DZT WEJŚCIE Napięcie znamionowe: (U n

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy :

STHR-2810, 2811, 2812 Przetwornik temperatury i wilgotności z czujnikiem Sensirion

1W-H3-05(K)* Czytnik RFID 125 khz Unique. Instrukcja

IMP Tester v 1.1. Dokumentacja Techniczno Ruchowa

Projekt AMIplus Opis modelu komunikacji modułu wireless M-BUS wersja r.

Moduł RS232 E054. TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej Poznań tel ; fax:

UNIPROD GLIWICE ul. Daszyńskiego 154/50 tel: , fax

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

CM Konwerter ModBus RTU slave ModBus RTU slave

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

PROTOKÓŁ MQTT (uzupełnienie do instrukcji obsługi miernika ND30)

Etap I Rok szkolny 2007/2008 Zadanie 1 Krzyżówka Hasło: Algorytm Za każde poprawnie wpisane słowo 0,25 pkt suma 2 pkt, za hasło 1 pkt

1W-H3-04P (K)* *Litera K odnosi się do wersji czytnika ze wspólną katodą. Czytnik RFID 125 khz Unique. Karta produktu

Programowanie mikrokontrolerów. 8 listopada 2007

DZT Licznik energii elektrycznej Sieć trójfazowa 4-przewodowa Połączenie bezpośrednie 100A Wyjście impulsowe oraz RS485/Modbus.

Systemy wbudowane - wykład 8. Dla zabicia czasu Notes. I 2 C aka IIC aka TWI. Notes. Notes. Notes. Przemek Błaśkiewicz.

1. Warstwa fizyczna. 2. Organizacja transmisji.

Funkcje sterownika CellBOX-UxR ModBUS RTU

Kod produktu: MP01611

Opis procedur asemblera AVR

Jednofazowy licznik energii elektrycznej z interfejsem Modbus, pomiar bezpośredni

2.1 Porównanie procesorów

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

RSD Uniwersalny rejestrator danych Zaprojektowany do pracy w przemyśle

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

DODATEK A OPIS INTERFEJSU SIECIOWEGO FMP300

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

m e d i a s e r v i c e Moduł kamery JPEG z komunikacją szeregową CJ0706A

RFID. Czytniki RFID. Instrukcja rev. 1.01

Protokół komunikacyjny modułu MKi-sm. wersja 1.13

asix4 Podręcznik użytkownika Drajwer protokołu M-BUS Podręcznik użytkownika

Transkrypt:

Produkt: DOKUMENTACJA SERWISOWO-SZKOLENIOWA Typ: Temat: Wersja: SUPERCAL 431/ 432/ 437/ 439 PROTOKÓŁ AQT-BUS Protokól AQT-BUS.doc Data utworzenia 02-07-16 Wstęp Niniejszy opis skierowany jest wyłącznie do osób opracowujących oprogramowanie, które pragną stworzyć program do odczytywania danych urządzeń z protokołem AQT-BUS. W dokumencie znajdują się szczegółowe wyjaśnienia dotyczące formatów ramek przekazywanych między urządzeniami, a komputerem oraz wyjaśnienia dotyczące interpretacji danych otrzymanych z licznika energii cieplnej SUPERCAL model 431. Zasady funkcjonowania W zakresie sprzętowym sieć AQT-BUS jest identyczna z siecią M-BUS. W zakresie sprzętowym i protokołu rozróżniamy dwa typy urządzeń: Master i Slave. Master organizuje wymianę danych i zapewnia wznowienie w razie zakłóceń. Do sieci może być podłączony jednorazowo tylko jeden Master. Slave y ograniczają się do reagowania na zapytania Master i nie mogą komunikować się między sobą. Ich ilość jest ograniczona. Mogą być zdalnie zasilane przez Master. W celu uzyskania połączenia punktowego Master może wykorzystywać specjalny adres zmuszający Slave do udzielenia odpowiedzi. W celu umożliwienia komunikowania z urządzeniami komputer musi być wyposażony w port komunikacyjny szeregowy asynchroniczny. Master Slave 1 Slave 2 Slave 3 Konfiguracja portu szeregowego Wymagana konfiguracja portu szeregowego komputera została przedstawiona w tabeli : transmisja połączenie prędkość dane parzystość bit stopu asynchroniczna szeregowa simplex 2400 bauds 8 bits 1 bit, odd parity 1 bit t Start D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop Format ramki Ramka transmisji pomiędzy Master a Slave posiada następującą postać: Pierwszy bajt transmisji zawiera adres Slave. byte 1 byte 2 byte 3 byte n-1 byte n Drugi bajt zawsze ma wartość 3. Następne bajty zawierają przekazywaną adres #03 dane dane CRC16 informację. Ramka zawsze zakończona jest dwu bajtową sumą kontrolną CRC. Ramka transmitowana jest jako pojedynczy blok danych. Adres Pierwszy bajt ramki jest zawsze adresem. Master używa adresu aby wybrać właściwy Slave. Każdy Slave powinien posiadać swój adres. Slave zawsze odpowie na adres 254. Lista dostępnych adresów : adres opis 0 adres początkowy ( brak ustawienia ) 1..250 adresy normalne dla urządzeń połączonych w sieć ( max 250 urządzeń ) 251..253 zarezerwowany 254 adres uniwersalny 255 zarezerwowany Strona 1 z 6

Suma Kontrolna CRC16 Algorytm wyliczania sumy kontrolnej CRC16 został przedstawiony jako funkcja napisana w języku Borland Pascal : Function CRC16( frame : string ): word; Const polynominal = $A001; Var crc : word; index, bit : integer; Begin crc:= $FFFF; For index:= 1 to Length( frame ) do Begin crc:= crc xor Ord( frame[index] ); For bit:= 0 to 7 do If Odd( crc ) Then crc:= ( crc shr 1 ) xor polynominal Else crc:= crc shr 1; end;{ for n } CRC16:= crc; end;{ CRC16 } Przykład obliczeń : funkcja wynik CRC16( #$FE#$03#$00#$3F#$00#$08 ) $0F60 Zapytanie wysyłane przez Master Master może odczytywać część wewnętrznej pamięci Slave. Pamięć Slave zorganizowana jest w blokach po 128 bitów. Master może odczytać jednocześnie tylko jeden blok pamięci. Ramka zapytania wysyłana przez Master ma następującą postać : byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 byte 8 adres #03 numer bloku #00 #08 CRC16 Bajty 3 i 4 zawierają numer bloku, który ma być odczytany. Bajt 5 zawsze ma wartość 0. Bajt 6 zawsze ma wartość 8.Przed wysłaniem ramki należy wysłać znak #FF celem obudzenia Slave. Odpowiedź Slave W odpowiedzi na zapytanie przesłane od Master Slave przesyła dane. Ramka odpowiedzi wysyłana przez Slave ma następującą postać: byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 byte 8..17 byte 18 byte 19 byte 20 b adres #03 #16 pakiet 0 pakiet 1 pakiety 2..6 pakiet 7 CRC1 Dane przesyłane są w ośmiu pakietach. Każdy pakiet jest 16-bitowym słowem. Do dalszej interpretacji danych zakłada się, że bity numerowane są od 0 do 127 zaczynając od najmłodszego bitu () pakietu 0, a kończąc na najstarszym bicie () pakietu 7. Bajt 2 zawsze ma wartość 3. Bajt 3 zawsze ma wartość 16. Slave powinien odpowiedzieć po czasie 0,4 do 1,6 sekundy od momentu odebrania zapytania od Master. Jeżeli po czasie 1,6 sekundy Slave nie odpowie należy powtórzyć zapytanie. Brak odpowiedzi po 3 lub 4 krotnym powtórzeniu zapytania oznacza błąd. Strona 2 z 6

Konwersja danych Każda wartość danych odczytana z urządzenia definiowana jest przez trzy parametry: - block number - numer bloku ( każdy blok zawiera 128 bitów ) - position - numer bitu określający początek danej wartości - size - liczba bitów danej wartości Aby otrzymać wartość liczbową danej wielkości można zastosować następującą funkcję: { Pascal-Borland } Type BlocMem : array[0..7]of word; Function Wartosc( bloc : BlocMem; position, size : integer ): longint; Var v : longint; p : integer; Begin v:= 0; For p:= position + size - 1 downto position do If ( bloc[ p div 16 ] and ( 1 shl ( p mod 16 ) ) ) <> 0 Then v:= ( v shl 1 ) + 1 Else v:= v shl 1; Wartosc:= v; end;{ Wartosc } Przykład: Wartość odpowiadająca pozycji 18 i mająca wielkość 3 obliczana jest w następujący sposób: bit2*2^0 + bit3*2^1 + bit4*2^2 pakietu 1. INTERPRETACJA DANYCH Numer identyfikacyjny Numer identyfikacyjny - jak nazwa wskazuje - służy do zidentyfikowania urządzenia w sposób jednoznaczny podczas odczytu stanu. Numer ten składa się z 8 cyfr. Zawiera w sobie rok i miesiąc produkcji oraz numer fabryczny. IDNUM 255 4 28 0..99'999'999 Wersja przelicznika Zmienna RUBNUM zawiera typ i wersję przelicznika. Typ i wersja przelicznika jest umieszczona na etykiecie bocznej np.: 431R530. Ten sam numer wyświetlany jest na wyświetlaczu przelicznika w trybie serwisowym np.: 431530. Ponieważ pierwszą cyfrą jest zawsze 4 zmienna RUBNUM zawiera ostatnie 5 cyfr. Do wyniku trzeba zawsze dodać 400000. RUBNUM 1559 64 16 0..65'535 Strona 3 z 6

Data i czas SUPERCAL wyposażony jest w wewnętrzny zegar czasu rzeczywistego. Zegar ten fabrycznie ustawiony jest na czas zimowy. b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 godzina (0..11) PM (0) minuta (0..59) W celu uzyskania godziny w formacie europejskim od 0 do 23 wystarczy dodać 12 do wartości godziny jeżeli bit 7 (PM) wynosi 1: If time.pm = 1 Then time.hour:= time.hour + 12; Kalendarz uwzględnia lata przestępne. b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 rok (0..99) miesiąc (1..12) dzień (1..31) If date.year < 90 Then date.year:= 2000 + date.year Else date.year:= 1900 + date.year; TIME 351 0 12 0:00..23:59 DATE 319 112 16 1/1/1990.. 31/12/2089 Godziny pracy Licznik ten podaje liczbę godzin pracy jaka pozostała przy korzystaniu z zasilania bateryjnego do wyczerpania baterii. HOURS 351 12 20 0..150'000 Błędy Strona 4 z 6 ERRORS 287 0 16 Kodowanie rejestru ERRORS: bit wartość przyczyna błędu kod na SUPERCAL 0 <> 0 zwarcie 1 <> 0 rozwarcie czujnik temperatury niskiej Err 001 2 <> 0 niestabilność 3 <> 0 inwersja temperatur Err 004 4 <> 0 zwarcie 5 <> 0 rozwarcie czujnik temperatury wysokiej Err 002 6 <> 0 niestabilność 7 zarezerwowane 8 <> 0 błąd autokalibracji Err 008 9..10 <> 0 nadmierny przepływ Err 016 11 <> 0 błąd na liczniku A Err 032 12 <> 0 błąd na liczniku B Err 064 13..14 <> 0 błąd EEPROM Err 128 15 <> 0 koniec baterii Batt

Temperatura Temperatura wody ciepłej (zasilanie) przechowywana jest w rejestrze TEMPH, a temperatura wody zimnej (powrót) w rejestrze TEMPL. Rozdzielczość obydwu rejestrów wynosi 0,005 C. TEMPH 287 64 16 0..50'000 ( 0..250 C) TEMPL 287 80 16 0..50'000 ( 0..250 C) Miejsce montażu przetwornika przepływu Wodomierz może być montowany na zasilaniu (wyższej temperaturze) lub na powrocie (niższej temperaturze). Energia cieplna wyliczana jest na podstawie masy wody [kg], wodomierz mierzy objętość [m 3 ]. Przelicznik dokonuje przeliczenia objętości na masę, dlatego bardzo ważne jest właściwe określenie miejsca zamontowania przetwornika przepływu. Informacja o tym zawarta jest w rejestrze KPOSFL: KPOSFL = 0 - powrót KPOSFL = 1 - zasilanie KPOSFL 63 56 1 Energia cieplna Dane pochodzące z licznika energii przechowywane są w 32-bitowym rejestrze ENERGY. Jednostki w jakich przedstawione są te dane zależą od konfiguracji urządzenia. Poniższa tabela pozwala przeliczyć wartość energii: wartość jednostki wskazanie SUPERCAL WH_ REG 9 rejestru ENERGY w zależności od GJ_MG_FL J_FL b3 b2 b1 b0 [kj] [Wh] =0 =1 0 x 0 0 0 3,6 1 123.45678 MWh 123456.78 kwh 0 x 1 0 0 36 10 1234.5678 MWh 1234567.8 kwh 0 x 1 1 0 360 100 12345.678 MWh 12345678 kwh 0 x 1 1 1 3.600 1.000 123456.78 MWh 12345678 kwh 1 x 0 0 0 1 1/3.6 123.45678 GJ 123456.78 MJ 1 x 1 0 0 10 10/3.6 1234.5678 GJ 1234567.8 MJ 1 x 1 1 0 100 100/3.6 12345.678 GJ 12345678 MJ 1 x 1 1 1 1.000 1000/3.6 123456.78 GJ 12345678 MJ uwagi WH_J_FL 63 43 1 odczyt w Wh lub J GJ_MJ_FL 63 42 1 odczyt w GJ lub MJ REG09 63 44 4 0,4,6,7,8,12,14,15 współczynnik impulsowania ENERGY 255 96 32 0..999'999'999 licznik energii Strona 5 z 6

Objętość Stan licznika wody zapamiętana jest w 32-bitowym rejestrze VOLUME. Poniższa tabela pozwala przeliczyć wartość zużycia wody: wartość jednostki REG 9 rejestru VOLUME wskazanie b3 b2 b1 b0 [l] [m3] SUPERCAL 0 0 0 0 0,001 1 E-06 123.45678 m 3 1 0 0 0 0,01 1 E-05 1234.5678 m 3 0 1 0 0 0,01 1 E-05 1234.5678 m 3 1 1 0 0 0,1 1 E-04 12345.678 m 3 0 1 1 0 0,1 1 E-04 12345.678 m 3 1 1 1 0 1 1 E-03 123456.78 m 3 0 1 1 1 1 1 E-03 123456.78 m 3 1 1 1 1 1 1 E-03 123456.78 m 3 uwagi REG09 63 44 4 0,4,6,7,8,12,14,15 współczynnik impulsowania VOLUME 287 32 32 0..999'999'999 licznik objętości Rejestry uwagi DATE 319 112 16 1/1/1990 data..31/12/2089 ENERGY 255 96 32 0..999'999'999 licznik ENERGII ERRORS 287 0 16 kod błędu GJ_MJ_FL 63 42 1 jednostki GJ lub Mj HOURS 351 12 20 0..150'000 godziny pracy IDNUM 255 4 28 0..99'999'999 numer identyfikacyjny KPOSFL 63 56 1 miejsce montażu przetwornika przepływu REG09 63 44 4 0, 4, 6, 7, 8, 12, 14, 15 współczynnik impulsowania RUBNUM 1559 64 16 0..65 535 typ i werja przelicznika TEMPH 287 64 16 0..50'000 temperatura zasilania (0-250 C) TEMPL 287 80 16 0..50'000 temperatura powrotu (0-250 C) TIME 351 0 12 0:00..23:59 czas VOLUME 287 32 32 0..999'999'999 licznik objętości WH_J_FL 63 43 1 jednostki Wh lub J Uwagi końcowe: W przypadku dodatkowych pytań, wyjaśnień prosimy o kontakt. Strona 6 z 6