Podstawy AS-Interface – część 2

W tym rozdziale kontynuowany jest opis podstaw sieci AS-Interface, z założeniem dokładniejszego opisu następujących warstw systemu:

Warstwa 1 (Warstwa Fizyczna):

 proces modulacji sygnału 

Warstwa 2 (Warstwa Łącza Danych)

 procedura dostępu do sieci AS-Interface
 struktura telegramów sieci AS-Interface
 
zabezpieczenie danych w sieci AS-Interface

Warstwa 3 (Warstwa Aplikacyjna):

 telegramy AS-Interface


Proces modulacji sygnału interfejsu AS-Interface

AS-Interface wykorzystuje metodę modulacji i transmisji danych zwaną APM ’Alternating Pulse Modulation’. Metoda APM, stworzona na potrzeby omawianego interfejsu, charakteryzuje się kilkoma zaletami, które są odpowiedzialne za proste i efektywne działanie całego systemu.

Najpierw sekwencja bitów jest (1) kodowana w kodzie MANCHESTER przez nadajnik (2), a następnie przekształcana w prąd transmisyjny (3), który za pomocą indukcyjności systemowej jest przekształcany w napięcie transmisyjne (4). Napięcie to jest wykrywane przez odbiornik, który przekształca je w sekwencję impulsów zakodowanych w kodzie MANCHESTER, a następnie przekształca je z powrotem w transmitowaną sekwencję bitów (5).

Cechą charakterystyczną tej metody modulacji jest kształt impulsu prądu transmisyjnego (3).

Cechy wyróżniające:

Impuls prądowy, jak na rysunku powyżej nie jest impulsem prostokątny, ale raczej impulsem o maksymalnej wartości prądu 60mA, ukształtowanym tak, że odpowiada on ściśle całce z impulsu sin2. W ten sposób jakakolwiek emisja z przewodu AS-Interface jest utrzymywana poniżej dopuszczalnych limitów, a tym samym nie zachodzi konieczność stosowania przewodów ekranowanych.

Czas trwania jednego impulsu prądowego w przewodzie AS-Interface wynosi 3µs. Ponieważ bit składa się albo z przerwy i impulsu albo z dwóch impulsów, czas bitu wynosi 6µs. Z tego wynika więc, że szybkość transmisji brutto wynosi 167kBit/s.

Dopuszczalne granice metody APM

Ze względu na topologię drzewa sieci oraz fakt, że przewód jest tylko z jednej strony zakończony zasilaczem, amplituda transmisji danych interfejsu ASi zmienia się w stosunkowo szerokich granicach.

Dodatkowo, ponieważ charakterystyka różnych przewodów może się znacznie różnić, występują również pewne zniekształcenia kształtu impulsu i przekroczenia wartości napięcia. Specyfikacja AS-Interface wymaga bezwarunkowego przestrzegania wartości granicznych przedstawionych na rysunku poniżej. Amplitudy dla kompletnego telegramu mogą wahać się pomiędzy 3Vss a 8Vss.

Tutaj widoczne są dopuszczalne odchylenia dla metody APM.

W pojedynczym telegramie:

  • dopuszczalne wahania amplitudy = 35% Vmax
  • dopuszczalne przekroczenie napięcia = max. 30% amplitudy Vmax
  • dopuszczalne odchylenia czasowe krawędzi impulsu = (n + 3 µs) + 1/-0,5 µs (mierzone od pierwszego zbocza opadającego)

Podsumowanie: Właściwości warstwy fizycznej:

 Można skorzystać z dowolnej znanej topologii (gwiazda, pierścień, linia, drzewo). Uczestnicy wymiany danych mogą być podłączani w dowolnym miejscu sieci AS-Interafce;

 Do sieci można podłączyć maksymalnie 62 urządzenia podrzędne (Slave) i jedno urządzenie nadrzędne (Master).

 Ekranowanie nie jest konieczne. Wykorzystany jest standardowy przewód – nie musi być to skrętka. Zakończenie magistrali terminatorem nie jest konieczne.

 Uzyskiwane są czasy bitowe rzędu 6 µs.

 Całkowita długość sieci jest ograniczona do 100m. Maksymalny zakres sieci może być zwiększony przy użyciu odpowiednich, przeznaczonych do tego celu, urządzeń (np. repeater).

 Zasilanie modułów podrzędnych odbywa się z wykorzystaniem tego samego przewodu o napięciu znamionowym 24V DC i maksymalnym prądzie całkowitym 8 Amper.


Warstwa 2 (Warstwa Łącza Danych)

W tym rozdziale przyjrzymy się bliżej warstwie transmisji danych, czyli warstwie 2 wg modelu ISO. Omówione zostaną następujące właściwości.

 Metoda dostępu do magistrali w AS-Interface

 Struktura telegramów AS-Interface

 Zabezpieczenie danych w AS-Interface

Metoda dostępu do magistrali

Metoda dostępu do magistrali jaka jest stosowana w AS-Interface jest metodą cyklicznego pollingu (odpytywania). Master wysyła telegram (zapytanie) do modułu podrzędnego, korzystając z jego unikalnego adresu. Urządzenie o danym adresie odpowiada w określonym przedziale czasowym – oznacza to, że odbiór każdej wiadomości jest zawsze potwierdzany.

Dopiero po prawidłowym otrzymaniu potwierdzenia odbioru transmisja komunikatu uznawana jest za udaną. Jeśli Master nie otrzyma odpowiedzi lub jeśli odpowiedź nie może zostać przez niego bezbłędnie zdekodowana, telegram z zapytaniem zostaje powtórzony.

Telegramy (struktura)

Standardowa wymiana danych w AS-Interface składa się z wywołania Mastera, krótkiej przerwy, odpowiedzi urządzenia podrzędnego oraz kolejnej krótkiej przerwy. Wszystkie wywołania Mastera mają długość dokładnie 14 bitów. Jak pamiętamy, jeden bit ma czas trwania 6 µs. Wszystkie odpowiedzi urządzeń podrzędnych mają długość 7 bitów.

Przerwy między wiadomościami

Koniec wywołania Mastera i początek odpowiedzi urządzenia podrzędnego oddzielone są przerwą o czasie trwania wynoszącym zwykle 16 µs (urządzenie zsynchronizowane) i dopuszczalnej maksymalnej długości porównywalnej z oczekiwaną odpowiedzią urządzenia. Jeżeli w tym czasie Master nie otrzymał początku odpowiedzi od pytanego Salve’a, można założyć, że odpowiedź ta nie zostanie odebrana, a Master może rozpocząć kolejne wywołanie. Na końcu odpowiedzi z urządzenia podrzędnego znajduje się kolejna krótka pauza, której typowy czas trwania wynosi 9…12 µs. Czas ten jest potrzebny Masterowi do sprawdzenia odpowiedzi urządzenia i podjęcia decyzji o dalszym działaniu.

  • Pauza 1 = między końcem wywołania Mastera a początkiem odpowiedzi urządzenia podrzędnego
  • Pauza 2 = na końcu odpowiedzi urządzenia podrzędnego 

W związku z tym całkowity czas trwania komunikatu AS-Interface wynosi 152µs +2/-1µs. W rezultacie w ciągu jednej sekundy można wymienić ponad 6500 takich komunikatów.

Struktura telegramów w AS-Interface

W poniższych tabelach można znaleźć bardziej szczegółowe informacje o strukturze komunikatu AS-Interface.

  • Struktura wywołania Mastera do standardowego urządzenia podrzędnego
  • Struktura odpowiedzi urządzenia podrzędnego

Wywołanie Mastera do standardowego urządzenia zawiera 4 bity danych netto. Urządzenie odpowiada również z 4 bitami danych netto. Prędkość transferu danych brutto wynosząca 167kBit/s daje prędkość transferu netto 53kBit/s, co odpowiada wydajności transferu danych na poziomie 32%.

Wraz z pojawieniem się specyfikacji 2.1 powstała możliwość podłączenia do 62 urządzeń do sieci AS-Interface, zamiast dotychczasowych 31. Konieczne stało się więc zdefiniowanie dodatkowego bitu adresowego bez rezygnacji z kompatybilności z dotychczas istniejącymi rozwiązaniami. Było to powodem zdefiniowania „rozszerzonego trybu adresowania” dla wszystkich urządzeń z kodem ID „szesnastkowym A”.

  • Struktura wywołania Mastera do urządzenia podrzędnego w trybie rozszerzonego adresowania

W związku z tym wywołanie Mastera może mieć nieco inną definicję, co zostało zaznaczone w powyższej tabeli.

  • Struktura odpowiedzi urządzenia podrzędnego

Odpowiedź modułu podrzędnego pozostaje bez zmian.

W rozszerzonym trybie adresowania z urządzenia Master do urządzenia podrzędnego mogą być przesyłane tylko 3 bity danych sieciowych na telegram. Urządzenie odpowiada jednak nadal z 4 bitami danych netto. W związku z tym rozszerzony tryb adresowania stwarza możliwość wykorzystania jednego adresu dla dwóch urządzeń zamiast dla jednego standardowego Slave’a. Urządzenia te nazywane są urządzeniem „A” i urządzeniem „B”. Dodatkowy bit adresu używany do rozróżnienia pomiędzy urządzeniem 'A’ i urządzeniem 'B’ nazywany jest bitem wyboru ’select’.

Definicja ta została dobrana w taki sposób, że zachowanie urządzenia „A” jest identyczne jak w przypadku urządzenia standardowego. Stąd urządzenie „A” może być stosowane w sieciach, w których urządzenie nadrzędne (Master) nie potrafi jeszcze rozróżnić urządzeń „A” i „B”. Moduł tego typu jest więc kompatybilny z już istniejącymi systemami.

Zabezpieczenie danych w sieci AS-Interface

Duże znaczenie dla niezawodnej komunikacji z wykorzystaniem nieekranowanego przewodu AS-Interface ma zabezpieczenie danych, a więc procedura wykonywana przez każdy odbiornik w sieci. Jednak w przeciwieństwie do większości innych popularnych systemów sieciowych, zabezpieczenie danych dla AS-Interface odbywa się w oparciu o inne zasady i wykorzystuje cechy warstwy drugiej i pierwszej modelu odniesienia ISO/OSI.

Ponieważ sam kod zawiera już liczne redundancje wynikające z opatentowanej metody modulacji sygnału APM, jak również z uwagi na stałą długość każdego telegramu, cechy te mogą być w prosty sposób wykorzystane do sprawdzenia poprawności odebranego telegramu.

Każdy z telegramów sprawdzany jest pod kątem następujących możliwych błędów:

  • Błąd bitu startowego: Jeśli wartość bitu startowego nie wynosi „0”, to występuje błąd kodu.
  • Błąd przemienności: Następujące po sobie impulsy w sekwencji o tej samej polaryzacji stanowią błąd kodu.
  • Błąd pauzy: Przerwa dłuższa niż 4µs stanowi błąd kodu.
  • Błąd informacji: Ze względu na zasady kodowania druga połowa bitu musi zawierać impuls. Brak impulsu stanowi błąd kodu.
  • Błąd czasu trwania: Wywołanie Mastera krótsze lub dłuższe niż 84µs lub odpowiedź urządzenia podrzędnego krótsza lub dłuższa niż 42µs, stanowi błąd kodu.
  • Błąd parzystości: Jeśli kontrola sumy parzystości wyjdzie negatywnie, występuje błąd kodu.
  • Błąd bitu końcowego: Jeśli bit końcowy nie ma wartości „1”, występuje błąd kodu.

Na poniższym rysunku przedstawiono prawidłowe wywołanie Mastera oraz przykłady różnych możliwych błędów w odpowiedziach modułów podrzędnych.

Kontrola błędów w warstwie fizycznej i warstwie transmisji danych jest bardzo skuteczna i porównywalna co najmniej z odległością Hamminga wynoszącą 4. Ponieważ nie jest tu możliwe szczegółowe omówienie tego zagadnienia, więcej informacji można znaleźć w odpowiedniej literaturze.

Stopień utraty danych

Stopień utraty danych dla AS-Interface jest bardzo niski, głównie z uwagi na zastosowanie krótkich telegramów. Poniższy wykres przedstawia stopień utraty danych dla zapytań Mastera AS-Interface.

Można zauważyć, że bitowy wskaźnik błędów na poziomie 10-4 powoduje utratę danych < 4*10-3. Dla odpowiedzi urządzeń podrzędnych jest on jednak znacznie niższy.

Poziom błędów resztkowych

Poziom błędów resztkowych AS-Interface można obliczyć tylko poprzez przejście przez wszystkie możliwe kombinacje błędów, sprawdzenie błędów w kodzie i zliczenie wyników testu. Wynik takiej analizy przedstawia poniższy wykres. 

Przy bitowej stopie błędów wynoszącej 10-4 AS-Interface osiąga szczątkową stopę błędów < 10-14. Oznacza to – przy założeniu, że sieć AS-Interface działa 24/7 – że średnio jeden niewykryty błąd występuje co 2300 lat. Nawet przy bitowej stopie błędów na poziomie 10-3 osiągana jest najwyższa klasa integralności danych I3.

Podsumowanie: Właściwości warstwy łącza danych

 Szybkość przesyłu danych brutto wynosi 167 kBaud

 Wymiana 4 (3) bitów na telegram. AS-Interface jest zorientowaną bitowo magistralą polową i należy do najniższego poziomu piramidy automatyzacji.

 Maksymalna szybkość transmisji danych netto wynosi 53kBaud. Wydajność transmisji danych wynosi 32%.

 Poziom utraty danych dla bitowej stopy błędów pi=10-4 wynosi < 4*10-3.

 Poziom błędów resztkowych dla bitowej stopy błędów pi=10-4 wynosi < 10-14


Warstwa aplikacyjna 

Własności warstwy aplikacyjnej są następujące:

 telegramy AS-Interface

 proces funkcyjny w module podrzędnym AS-Interface

 proces funkcyjny Mastera AS-Interface

 profile urządzeń

Gatewaye  są również częścią warstwy 7 (warstwy aplikacyjnej), jednak im zostanie poświęcony osobny rozdział niniejszego opracowania. 

Telegramy interfejsu AS-Interface

Po pierwsze, telegramy wykorzystywane w sieci ASi można podzielić na dwa rodzaje:

  • Operacje pojedyncze: Transmisja jednej, maksymalnie 4 bitowej, informacji z Mastera do urządzenia podrzędnego (informacja wyjściowa), jak i ze Slave do Mastera (informacja wejściowa);
  • Operacje kombinowane: Transmisja zawierająca więcej niż 4 bity spójnej informacji, składająca się z serii wywołań Mastera i odpowiedzi urządzenia podrzędnego, wysłanej w określonym kontekście i czasie;

Budowa pojedynczych telegramów AS-Interface została wyjaśniona we wcześniejszym rozdziale. Teraz zajmiemy się zawartością takiej wiadomości.

Przedstawiona w powyższej tabeli konwencja danych obowiązuje dla wszystkich telegramów ASi. Proszę zwrócić uwagę, że informacje na wyjściu danych telegramu AS-Interface są odwrócone. Nowością, jaką do ASi wprowadziła specyfikacja 3.0, jest to, że parametry mogą być  również wykorzystywane dwukierunkowo, tak samo jak dane podstawowe. 

Pojedyncze operacje AS-Interface – wymiana danych / wymiana parametrów

Wywołanie danych i parametrów ma wartość bitu kontrolnego (SB) 0 i różni się o jeden bit w części informacyjnej.

Wywołania danych i parametrów mogą być wysyłane do wszystkich urządzeń o adresach od 1A do 31B, ale nie do urządzenia o adresie 0. Każde z odpytanych urządzeń podrzędnych odpowiada żądaną informacją.

Pojedyncze operacje interfejsu AS – adresowanie/zapisywanie kodu ID1

Istnieją dwa wywołania Mastera, które mogą być skierowane wyłącznie do urządzenia o adresie 0:

  • Jednym z nich jest wywołanie adresowe, z wykorzystaniem którego można zapisać na stałe nowy adres w urządzeniu podrzędnym. Wywołanie to składa się z 5-bitowej sekcji informacyjnej, ponieważ adres ma 5 bitów, które pokrywają zakres od 0 do 31.
  • Drugim wywołaniem jest komenda „Write ID1” pozwalające użytkownikowi na zmianę kodu ID1. Ta operacja również może być skierowana tylko do urządzenia o adresie 0. W trybie adresu rozszerzonego wywołanie to może być użyte do zmiany bitu selekcji ID3.

Adres 0 nie jest rozróżniany w trybie rozszerzonego adresowania, tj. pomiędzy urządzeniem „A” i urządzeniem „B”. Poniższe rysunki przedstawiają te specjalne operacje dla adresu 0.

Urządzenie odpowiada na wywołanie adresu wartością szesnastkową 6, a na wywołanie polecenia „Write ID 1” wartością szesnastkową 0.

Pojedyncze operacje interfejsu ASi – komenda

Wywołania komend mają bit kontrolny o wartości 1. Mogą być kierowane do wszystkich urządzeń, również do urządzenia o adresie 0. Wywołania komend służą do identyfikacji urządzenia, wykonania operacji diagnostycznych oraz do konfiguracji sieci.

Urządzenie odpowiada podając żądane informacje.

Istnieje siedem możliwych wywołań komend. Ich cele są wymienione w niniejszym opracowaniu poniżej. W tym miejscu należy udzielić następującej, bardziej szczegółowej wskazówki: Odpowiedź urządzenia podrzędnego „Status urządzenia” zawiera flagę błędu urządzenia peryferyjnego. Więcej informacji na ten temat znajduje się w dalszej części opracowania.

Pojedyncze operacje AS-Interface – transmisja (broadcast)

Wszystkie omówione do tej pory komunikaty AS-Interface były operacjami typu punkt-punkt. Jednak wywołanie typu “broadcast” jest przeznaczone dla wszystkich urządzeń Slave jednocześnie, w tym również dla urządzenia o adresie 0. Wywołanie “broadcast” jest wywołaniem opartym na komendzie, w której część informacyjna zawiera wartość szesnastkową 15.

Rzeczywista informacja o wywołaniu transmisji jest przechowywana w miejscu, w którym zazwyczaj znajduje się adres.

Urządzenia nie mogą wysyłać odpowiedzi na wywołanie typu broadcast. Jest to więc nietypowe wywołanie dla komunikacji AS-Interface.

W przytoczonym przykładzie określona została tylko komenda nadawcza „Reset”. Poprzez nadawanie tego polecenia wszystkie urządzenia podrzędne w sieci mogą zostać jednocześnie ustawione w stan domyślny. Dodatkowe komendy nadawania zostaną najprawdopodobniej zdefiniowane w przyszłych wersjach specyfikacji.

Multicasting nie jest brany pod uwagę dla AS-Interface!

Operacje łączone AS-Interface

Mimo że większość urządzeń AS-Interface pracuje z kilkoma cyklicznie wymienianymi bitami danych i acyklicznie przesyłanymi bitami parametrów, istnieje wiele aplikacji i wymagań aplikacyjnych, w których to nie wystarcza. Dla tego typu zastosowań opracowano tzw. „transakcje kombinowane”.

Pojedyncze wiadomości AS-Interface zawierają co najmniej 4 bity informacji. Jeżeli trzeba przesłać więcej niż 4 bity spójnej informacji, musi być uzgodniony dodatkowy zestaw reguł, celem kontroli rozszerzonego transferu danych. W tym celu stosuje się 5 różnych kombinowanych typów operacji AS-Interface (CTT).

Urządzeniami wykorzystującymi tę możliwość są np:

  • czujniki analogowe rejestrujące długość, temperaturę, przepływ, poziom lub podobne zmienne procesowe;
  • aktuatory analogowe podające położenie, kąt, obroty, prędkość lub inne zmienne procesowe;
  • urządzenia polowe wymagające większej liczby parametrów podczas uruchamiania lub wielokrotnie podczas swojej normalnej pracy w celu optymalnego dostrojenia do określonych zadań aplikacyjnych;
  • urządzenia polowe dostarczające dużej ilości danych diagnostycznych;
  • skaner, panele klawiszy, proste wyjścia tekstowe;

Przyjrzyjmy się przykładowi „transakcji kombinowanej”: Zadanie polega na wymianie 8-bitowych danych wejściowych (E0 do E7) i 8-bitowych danych wyjściowych (O0 do O7) z urządzeniem w trybie adresowania rozszerzonego. Odbywa się to z wykorzystaniem wskazanej sekwencji 4 wywołań danych i odpowiednich odpowiedzi modułu podrzędnego. Sekwencja ta jest oczywiście powtarzana cyklicznie.

Pozostałe rodzaje transakcji łączonych są zdefiniowane w podobny sposób, ale ich szczegółowe omówienie wykraczałoby poza zakres niniejszego opracowania. Proszę odnieść się do sugerowanej literatury w celu uzyskania dodatkowych szczegółów.

W jaki sposób Master może stwierdzić, że urządzenie nie będzie wymieniało komunikatu „pojedyncza transakcja”, lecz „transakcję łączoną”? Odpowiedź jest następująca: poprzez sprawdzenie profilu urządzenia. W powyższym przykładzie profil urządzenia to S-7.A.A. Wszystkie obecnie zdefiniowane profile urządzeń obsługujące „transakcje łączone” są wymienione w poniższej tabeli.

Należy zwrócić uwagę, że nie każdy Master obsługuje wszystkie rodzaje „transakcji łączonych”, ponieważ niektóre z nich zostały zdefiniowane dopiero w wersji 3.0 specyfikacji AS-Interface (2004). W związku z tym, jeżeli użytkownik chce korzystać z „transakcji łączonych”, lub wymaga tego dana aplikacji, należy upewnić się, że dostępny jest odpowiedni Master ASi.

Poza tym użytkownik nie musi się przejmować komunikatami o „transakcjach łączonych” – Master i odpowiednie urządzenie podrzędne samodzielnie rozpoznają po rozpoczęciu komunikacji, który typ transakcji łączonej ma być wykorzystany i rozpoczynają cykliczną wymianę danych. Nawet jeśli transakcje danych zostaną chwilowo zakłócone, transmisja zgodnych danych jest zawsze gwarantowana. 

Dla przedstawionego powyżej przykładu można zadać sobie pytanie: jak długo trwa aktualizacja wszystkich 8 bitów danych wejściowych i wyjściowych? Na to pytanie odpowiedź będzie udzieloną w późniejszych rozdziałach niniejszego opracowania. Znajdzie się tam również dokładny opis wszystkich typów transakcji łączonych, widocznych w tabeli powyżej.