Podstawy AS-Interface – część 3
W tym rozdziale kontynuujemy omawianie warstwy aplikacyjnej interfejsu ASi.

Dokładnie skupimy się tutaj na następujących zagadnieniach:
Warstwa 3 (Warstwa Aplikacyjna):
proces funkcyjny w module podrzędnym AS-Interface (fazy pracy)
proces funkcyjny Mastera AS-Interface (fazy pracy)
profile urządzeń i komunikacja
Proces funkcyjny w module podrzędnym AS-Interface (fazy pracy)
Przebieg kolejnych procesów funkcyjnych zachodzących w urządzeniu podrzędnym można przedstawić na podstawie diagramu (poniżej). Do tego procesu wrócimy ponownie w późniejszych rozdziałach niniejszego opracowania. Na ten moment, celem poznania podstaw pracy modułów, poniższy diagram jest wystaczający.

Proces funkcyjny Mastera AS-Interface (fazy pracy)
Poniższy diagram przedstawia podstawowe fazy pracy każdego Mastera AS-Interface.

Podczas normalnej pracy Master przechodzi w każdym cyklu przez trzy główne fazy pracy:
- Faza wymiany danych
- Faza zarządzania
- Faza inicjacji
Faza wymiany danych
Głównym zadaniem fazy wymiany danych jest przekazywanie informacji między Masterem a wszystkimi podłączonymi do sieci urządzeniami podrzędnymi. W głównym diagramie trybów pracy Mastera (rysunek u góry) wskazane zostały dwie takie fazy. Różnią się one tylko wtedy, gdy urządzenie A i urządzenie B mają ten sam adres sieciowy. W takim przypadku podczas trwania pierwszej z tych faz przekazywane są dane tylko z urządzeń standardowych i urządzeń z adresami A, natomiast podczas fazy drugiej Master komunikuje się tylko z urządzeniami standardowymi i urządzeniami o adresie B.
Faza zarządzania
Podczas fazy zarządzania wymieniane są komunikaty acykliczne. Są to (omówione w poprzednim rozdziale):
- wywołania dotyczące parametrów,
- komendy (w tym komunikacja ze Slave 0),
- wywołania dotyczące zagadnień diagnostycznych
- transmisja (broadcast)
Podczas każdej fazy zarządzania wymieniany jest tylko jeden telegram, aby nie przedłużać całkowitego czasu trwania cyklu. Jeśli zachodzi taka potrzeba sekwencje komand mogą zostać podzielone na kilka cykli.
Faza inicjacji
Następująca kolejno faza inicjacji wykorzystuje wywołania „Read ID” lub „Read status” do sprawdzenia, czy w sieci znajdują się nowo podłączone moduły i inne urządzenia podrzędne. W ten sposób, waśnie w fazie detekcji/inicjacji, zbierane są informacje o statusie podłączonych urządzeń. Faza inicjacji również wykorzystuje tylko z jedną komende (przyczyna taka sama jak wyżej).
Do dokładniejszego opisu poszczególnych faz wrócimy w kolejnych rozdziałach, a dokładnie przy omawianiu Mastera AS-Interface.
Cykl AS-Interface
Bazując na wszystkich powyższych informacjach możemy opisać kompletny cykl sieci AS-Interface. Składa się on z:
- x wiadomości wymiany danych
- 1 wywołanie związane z fazą zarządzania (wymiana parametrów lub określona komenda dla jednego urządzenia podrzędnego) oraz 1 odpowiedź (opcjonalnie)
- 1 wywołanie związane z fazą inicjacji (sprawdzenie czy nie pojawiły się nowe adresy urządzeń podrzędnych) i 1 odpowiedź (opcjonalnie)
- 1 telegram rezerwowy (do wykorzystania w razie potrzeby)
- Wartość x jest wynikiem sumy wszystkich standardowych urządzeń podrzędnych podłączonych do sieci oraz liczby urządzeń podrzędnych „A” lub „B”, w zależności od tego, która z nich jest większa. Maksymalna liczba wynosi zawsze 31.
Cykl ASi można skontrolować z wykorzystaniem oscyloskopu. Widoczny poniżej rysunek jest uproszczonym rysunkiem prezentującym wynik takiej kontroli.

W celu określenia maksymalnego czasu trwania cyklu, przyjmuje się 33 komunikaty na cykl. Każdy komunikat ma maksymalny czas trwania 154 µs. Daje to maksymalny czas 5,08 ms na cykl.
Maksymalny czas trwania cyklu:
Maksymalna liczna wiadomości (33) * Maksymalny czas trwania wiadomości (154µs) = 5,08 ms
W każdej sekundzie przetwarzanych jest co najmniej 200 cykli. Standardowy moduł podrzędny będzie odbierał aktualizacje danych wyjściowych 200 razy na sekundę i może w tym samym czasie odpowiadać Masterowi swoimi danymi wejściowymi.
Na podstawie tych danych można prosto obliczyć średni czas reakcji i jest on równy połowie czasu cyklu plus czasowi transmisji jednego telegramu. Wartość ta wynosi więc 2,7 ms.
Rozrzut (jitter), czyli wielkość rozrzutu wokół średniego czasu reakcji, wynosi ±2,5 ms.
Średni czas reakcji:
1/2* czas cyku + czas transferu dla jednego telegramu = 0,5*5,08 + 154µs = 2,7ms ±2,5ms
Uwaga: Czasy te są dwukrotnie dłuższe tylko wtedy, gdy urządzenia A i B używają tego samego adresu!
Cykliczna i acykliczna wymiana danych
Z punktu widzenia użytkownika wymianę informacji między Masterem a standardowym urządzeniem można podsumować w następujący sposób: cyklicznie wymieniane są dane 4-bitowe (poniższy rysunek po lewej), co powoduje, że maksymalny czas aktualizacji informacji wynosi 5 ms.
Prosta wymiana danych dla standardowych modułów podrzędnych

Na rysunku po prawej stronie przedstawiono natomiast acykliczną wymianę danych. Ponieważ w jednym cyklu może zostać wysłany tylko jeden telegram zawierający wartości parametrów, oraz zakładając najgorszy scenariusz, w którym każde urządzenie musi otrzymać dane parametrów, minimalna szybkość transmisji wynosi 25bit/s w obu kierunkach. W tym przypadku podanie czasu aktualizacji wartości danych nie jest przydatne, ponieważ dane te nie są wymieniane cyklicznie.
W rozszerzonym trybie adresowanie (A/B) sytuacja wygląda trochę inaczej. Zgodnie z informacjami przedstawionymi poprzednio wiemy już, że w tym trybie, jeden bit informacji jest “poświęcany” na rzecz rozróżnienia między adresem A i B. Oznacza to, że przy pojedynczym odpytaniu tylko 3 bity danych zawierających informacje są przesyłane miedzy Masterem a urządzeniem podrzędnym. Ten jeden, uprzednio “utracony” bit, można jednak odzyskać poprzez skorzystanie z transakcji łączonej, zgodnie z profilem Salve S-7.A.7. Jednakże taki zabieg spowoduje wydłużenie, widocznego na rysunku, czasu aktualizacji danych. Dlaczego?
Prosta wymiana danych dla modułów podrzędnych z rozszerzonym trybem adresowania

Łączona wymiana danych (CTT3) jednym urządzeniem podrzędnym o profilu S-7.A.7

Z przyczyn związanych z kompatybilnością, w jednym cyklu następuje tylko jedno wywołanie danych, również dla modułów AS-Interface wspierających transakcje łączone. Dzięki temu, fakt, że niektóre z modułów wymieniają informacje z Masterem z wykorzystaniem transakcji łączonych, nie ma żadnego wpływu na komunikację innych urządzeń w danej sieci.
Sam cykl AS-Interface również nie ulega zmianie, a czas jego trwania nadal wynosi maksymalnie 5 ms. Z drugiej jednak strony, aktualizacja wszystkich 4 wyjść urządzenia podrzędnego o profilu S.7.A.7 wymaga wykorzystania 4 cykli a więc trwa maksymalnie 20 ms.
Cykliczna i acykliczna wymiana danych dla transakcji łączonych
- Kombinowana wymiana danych (CTT3) z jednym urządzeniem podrzędnym o profilu S-7.A.A
Profil S.7.A.A., przedstawiony na poniższym rysunku, jest wykorzystywany do rozszerzenia liczby binarnych kanałów wejścia/wyjścia. Dzięki zastosowaniu tego profilu w jednej sieci AS-Interface można zaimplementować prawie 1000 We/Wy (dokładna liczba to 496 wejść i 496 wyjść).

Nadaje się do wszelkiego rodzaju prostych, binarnych urządzeń polowych, takich jak panele przycisków, wyspy zaworowe, elementy oświetlenia i inne podobne urządzenia, w których wymagana jest wymiana danych binarnych w obu kierunkach.
- Kombinowana wymiana danych (CTT1) z jednym urządzeniem podrzędnym o profilu S-7.3 (wejście)
Wymiana informacji z urządzeniem zgodnym z profilem S-7.3 może być przedstawiona w sposób pokazany poniżej. Od urządzenia do Mastera cyklicznie przesyłane jest od 2 do 8 bajtów informacji. Dodatkowo możliwa jest wymiana 4 bitów danych parametrów w obu kierunkach. Profil ten jest odpowiedni dla prostych czujników analogowych.

Nadaje się dla prostych czujników analogowych wszelkiego rodzaju, takich jak czujniki temperatury, ciśnienia, przepływu lub poziomu, jak również dla czujników cyfrowych, takich jak przeliczniki, oraz dla urządzeń odczytujących dane o rozmiarze do 8 bajtów.
- Kombinowana wymiana danych (CTT4) z jednym urządzeniem podrzędnym o profilu S-7.A.8 i S-7.A.9
Profile S-7.A.8 i S-7.A.9 wykorzystywane są praktycznie do tego samego celu. Urządzenie działa jednak w trybie adresowania rozszerzonego i do sieci można podłączyć maksymalnie do 62 takich modułów podrzędnych.

Nadaje się dla prostych czujników analogowych wszelkiego rodzaju, takich jak czujniki temperatury, ciśnienia, przepływu lub poziomu, dla czujników cyfrowych, takich jak przeliczniki, oraz dla urządzeń odczytujących dane o rozmiarze do 4 bajtów.
- Kombinowana wymiana danych (CTT1) z jednym urządzeniem podrzędnym o profilu S-7.3 (wyjście)
Alternatywnie profil S-7.3 można zastosować do przesyłania informacji wyjściowej o długości od 2 do 8 bajtów. Odwrócenie kierunku transmisji nie jest możliwe w przypadku tego profilu i może on być używany tylko w standardowym trybie adresowania (brak opcji A/B).

Nadaje się dla prostych analogowych urządzeń wykonawczych wszelkiego rodzaju, takich jak analogowe zawory procesowe lub napędy sterowane tachometrycznie, jak również dla wyświetlaczy cyfrowych o rozdzielczości do 8 cyfr.
- Kombinowana wymiana danych (CTT1) z jednym urządzeniem podrzędnym o profilu S-7.4 (wejście)
Uzupełnieniem profilu S-7.3 jest profil S-7.4. Profil ten umożliwia aktywację dodatkowego trybu działania, w którym można zarówno odczytywać i zapisywać parametry, jak i dane diagnostyczne. Profil ten będzie odpowiedni przede wszystkim dla rozbudowanych czujników analogowych. Profil S-7.4 umożliwia również identyfikację modułu za pomocą identyfikatora producenta i produktu (kod ID).

(1) – wybieralne
(2) – czasy aktualizacji danych obowiązują, jeśli nie występuje acykliczna wymiana danych cyfrowych
Rozwiązanie to jest odpowiednie dla wszelkiego rodzaju czujników analogowych, takich jak czujniki temperatury, ciśnienia, przepływu lub poziomu, z możliwością wymiany dodatkowych parametrów i danych diagnostycznych.
- Kombinowana wymiana danych (CTT1) z jednym urządzeniem podrzędnym o profilu S-7.4 (wyjście)
Uzupełnieniem profilu S-7.3 jest profil S-7.4. Profil ten umożliwia aktywację dodatkowego trybu działania, w którym można zarówno odczytywać i zapisywać parametry, jak i dane diagnostyczne. Profil ten będzie odpowiedni dla rozbudowanych czujników i aktywatorów analogowych. Profil S-7.4 umożliwia również identyfikację modułu za pomocą identyfikatora producenta i produktu (kod ID).

(1) – wybieralne
(2) – czasy aktualizacji danych obowiązują, jeśli nie występuje acykliczna wymiana danych cyfrowych
Rozwiązanie odpowiednie dla wszelkiego rodzaju analogowych urządzeń wykonawczych, takich jak analogowe zawory procesowe lub napędy sterowane tachometrycznie,, z możliwością wymiany dodatkowych parametrów i danych diagnostycznych.
- Kombinowana wymiana danych (CTT2) z jednym urządzeniem podrzędnym o profilu S-7.5.5
W przypadku gdy dane analogowe muszą być wymieniane dwukierunkowo, stosuje się łączoną wymianę danych CTT2. Na poniższym rysunku przedstawiono podsumowanie wymiany danych między Masterem a modułem o profilu S-7.5.5.

(1) – czasy aktualizacji danych obowiązują, jeśli nie występuje acykliczna wymiana danych cyfrowych
Profil ten jest odpowiedni dla wszelkiego rodzaju analogowych urządzeń polowych, takich jak analogowe zawory procesowe ze sprzężeniem zwrotnym położenia, regulatory temperatury, silniki sterowane tachometrycznie ze sprzężeniem zwrotnym, skrzynki przycisków i podobne urządzenia, w których dane cykliczne i/lub acykliczne muszą być wymieniane w obu kierunkach.
Profil ten pozwala również na stosowanie tzw. „kombinowanych urządzeń polowych”. Kategoria ta obejmuje urządzenia, które działają z binarnymi oraz cyfrowymi/analogowymi wejściami i wyjściami. Wejścia i wyjścia binarne mogą na przykład służyć do szybkiego wyświetlania informacji o przekroczeniu wartości granicznej. Dodatkowo dostępna dokładna wartość cyfrowa może być wykorzystywana do celów diagnostycznych i konserwacyjnych.
Kanał parametrów może być wykorzystywany do przesyłania danych identyfikacyjnych producenta i produktu (kod ID) oraz do wymiany obszernych plików diagnostycznych i danych parametrów.
- Kombinowana wymiana danych (CTT2) z jednym urządzeniem podrzędnym o profilu S-7.A.5
Ten typ jest dostępny również w trybie rozszerzonego adresowania. W takim przypadku odpowiednim profilem urządzenia podrzędnego jest S-7.A.5.

(1) – czasy aktualizacji danych obowiązują, jeśli nie występuje acykliczna wymiana danych cyfrowych
Odpowiedni dla wszelkiego rodzaju analogowych urządzeń polowych, takich jak analogowe zawory procesowe ze sprzężeniem zwrotnym położenia, regulatory temperatury, silniki sterowane tachometrycznie ze sprzężeniem zwrotnym, skrzynki przycisków i podobne urządzenia, w których dane cykliczne i/lub acykliczne muszą być wymieniane w obu kierunkach.
- Kombinowana wymiana danych (CTT5) z jednym urządzeniem podrzędnym o profilu S-6.0.X
Połączona wymiana informacji zgodnie z CTT5 jest zoptymalizowana pod kątem szybkiej transmisji danych. W zależności od sytuacji 8, 12 lub 16 bitów danych może być przesyłanych w trybie full duplex w ciągu 5 ms.

Profil ten jest idealny do stosowania we wszelkiego rodzaju szybkich urządzeniach polowych, takich jak rezolwery, sterowniki położenia lub – częściej – czujniki i urządzenia wykonawcze włączone w dynamiczne pętle sterowania.
Takie zastosowanie Jest to możliwe dzięki wykorzystaniu kilku kolejnych adresów urządzeń podrzędnych, jak na rysunku poniżej:

Najniższy z 2, 3 lub 4 kolejnych adresów jest adresem fizycznym urządzenia. Urządzenie wykorzystuje kolejne wyższe adresy, aby zwiększyć pojemność kanału danych. W ten sposób podczas jednego cyklu interfejsu ASi można przesłać w całości do 2 bajtów informacji. Oczywiście te adresy „shadow” nie mogą być zajęte przez inne urządzenia, ani wykorzystane ponownie.
Synchronizacja
W specyfikacji 3.0 (2004) stworzono możliwość synchronizacji dla AS-Interface. Przyjrzyjmy się najpierw standardowej wymianie danych: Dla każdego slave’a, otrzymującego wywołanie danych od Mastera, wyjścia są natychmiast aktualizowane, a informacje wejściowe są odczytywane. W przypadku urządzenia o adresie 1 następuje to około 154 µs przed urządzeniem o adresie 2, a w przypadku urządzenia 2 około 154 µs przed urządzeniem o adresie 3 itd.
Standardowe wejście i wyjście danych (niezsynchronizowane)

Zsynchronizowane wejścia wyjścia danych
Z drugiej strony, jeśli wszystkie urządzenia są w stanie synchronizacji, to wszystkie dane związane z ich wejściami i wyjściami są aktualizowane tylko raz, a mianowicie na początku cyklu. Ponieważ każde urządzenie jest w stanie rozpoznać początek nowego cyklu AS-Interface, dodatkowe polecenie synchronizacji nie jest konieczne. W związku z tym wymiana informacji w ramach cyklu pozostaje niezmieniona. Ponadto, aby synchronizacja działała, nie każde urządzenie musi być w stanie synchronizacji.

Synchronizacja umożliwia odczyt i/lub zapis wszystkich danych wejściowych i wyjściowych dokładnie w tym samym momencie i w równych odstępach czasu, niezależnie od adresu urządzenia. Jest to ważne w przypadku niektórych zadań pomiarowych, operacyjnych i kontrolnych. Jitter na wyjściach można zmniejszyć o współczynnik ponad 10 z ±2,5 ms do ±154 μs.
Automatyczne przypisywanie adresów
Poza podstawowym zadaniem Mastera polegającym na ciągłym sprawdzaniu całego zakresu adresów sieci w celu zidentyfikowania nowo dodanych urządzeń podrzędnych i zainicjowania transmisji danych (funkcja „life insertion„), w razie potrzeby umożliwia on również łatwą wymianę uszkodzonego urządzenia.
Zadania Mastera AS-Interface:
Podstawowym zadaniem jest na pewno stałe sprawdzanie całej przestrzeni adresowej sieci w celu znalezienia nowo dodanych modułów i, jeśli zostaną znalezione, włączanie ich do transmisji danych (funkcja „life insertion„).
Ponadto Master gwarantuje łatwą i szybką wymianę uszkodzonego urządzenia podrzędnego poprzez automatyczne przekazanie adresu uszkodzonego (brakującego) urządzenia podrzędnego do nowego zamiennika z fabrycznie ustawionym adresem 0. Funkcja ta jest wykonywana przez warstwę aplikacji Mastera:
- Podczas wymiany danych w sieci warstwa aplikacji sprawdza, czy nowe urządzenie ma takie same właściwości jak stare (porównywany jest profil urządzenia, a więc kod I/O, ID, ID1 i ID2).
- Jeśli wszystkie kody są identyczne, nowe urządzenie otrzymuje adres starego urządzenia i zostaje zapisane na stałe w konfiguracji sieci (funkcja hot swap).
- Czas trwania całego procesu << 1 sekunda
Jeśli więc urządzenie ulegnie awarii – na przykład z powodu uszkodzenia mechanicznego – i musi zostać wymienione, adres uszkodzonego modułu musi zostać przekazany do nowego zamiennika. Operacja ta jest wykonywana przez warstwę aplikacyjną Mastera ASi. Podczas normalnej wymiany danych w sieci warstwa aplikacyjna sprawdza, czy nowe urządzenie podrzędne ma taką samą identyfikację jak stare. Jeśli identyfikacja jest identyczna, nowe urządzenie otrzymuje adres starego i zostaje na stałe zapisane w konfiguracji ASi. Proces ten wymaga sekwencji wywołań, rozproszonych w fazie zarządzania cyklem. Cały proces trwa jednak znacznie krócej niż 1 sekundę. Te kontrolne zadania Mastera te są praktycznie niezauważalne dla użytkownika. Użytkownik po prostu usuwa uszkodzone urządzenie i podłącza na jego miejsce identyczne, nowe urządzenie. Nie ma potrzeby wykonywania jakichkolwiek dodatkowych operacji.
