Blok funkcyjny DRUM - Platforma Internetowa ASTOR.
Transkrypt
Blok funkcyjny DRUM - Platforma Internetowa ASTOR.
INFORMATOR TECHNICZNY GE FANUC Informator Techniczny nr 20 -- wrzesień 2006 -- Blok funkcyjny DRUM Opis działania bloku DRUM Blok funkcyjny DRUM, stosowany przy programowaniu kontrolerów PACSystems, kopiuje na swoje wyjście, oznaczone jako Q, wartości ze zdefiniowanego obszaru pamięci rejestrowej. Kopiowanie uzależnione jest od bieżącego stanu licznika kopiowanych rejestrów, zwanego również licznikiem stanów. Każdorazowa zmiana sygnału na wejściu S z 0 na 1 powoduje przejście do następnego stanu, czyli inkrementowanie licznika kopiowanych rejestrów. Blok posiada też wejście repetujące R, które służy do ustawienia stanu, przyjętego jako początkowy. Ilość stanów, czyli rejestrów, spośród których następuje kopiowanie, jest konfigurowalna. Opcjonalnie można też korzystać z wejść i wyjść definiujących czasy trwania lub czasy timeout dla poszczególnych stanów oraz wyjścia tzw. kroczącej jedynki w obszarze bitowym, która jest odzwierciedleniem numeru stanu. Blok DRUM może być wykorzystywany jako narzędzie do tworzenia programu pracującego w sposób sekwencyjny. Opis wejść i wyjść bloku DRUM Nazwa wejścia/wyjścia bloku DRUM ???? Typ zmiennej, przypisanej do wejścia/wyjścia Jednowymiarowa, 5-elementowa tablica typu WORD ? (długość Length) S Liczba stała R Wejście ze styku Dopuszczalne typy pamięci dla zmiennej R, P, L, W, zmienna symboliczna Wejście ze styku ASTOR Sp. z o.o. Dział Systemów Sterowania ul. Smoleńsk 29, 31-112 Kraków Opis Rejestry robocze bloku funkcyjnego DRUM. Podaje się tu początkowy adres tablicy 5-elementowej. Wartości pierwszych dwóch elementów należy zainicjalizować (muszą one mieć poprawną wartość w kontekście np. zadeklarowanej w parametrze Length ilości stanów). Aby stwierdzić, czy zostały one poprawnie zainicjalizowane, można sprawdzić stan wyjścia Ok bloku DRUM. W dalszej części opisu zamieszczone jest wyjaśnienie, co znajduje się w poszczególnych rejestrach roboczych bloku DRUM. Ilość stanów (zakres: 1 do 128). Wejście używane do przejścia bloku DRUM do kolejnego stanu. Blok przechodzi do kolejnego stanu w przypadku wykrycia zbocza narastającego sygnału doprowadzonego do tego wejścia. Wejście resetujące, czyli powodujące przejście do stanu określonego jako początkowy. Stan początkowy definiuje się w jednym z rejestrów roboczych, których opis znajduje się w dalszej części opracowania. Wejście R ma wyższy priorytet niż wejście S. tel.: 012 428-63-20 fax: 012 428-63-09 e-mail: [email protected] http://www.astor.com.pl Dopuszczalne typy pamięci dla zmiennej I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O Nazwa wejścia/wyjścia bloku DRUM PTN Typ zmiennej, przypisanej do wejścia/wyjścia Zmienna typu WORD DT Zmienna typu WORD FTT Zmienna typu WORD I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O Q Zmienna typu WORD DRC Zmienna typu BOOL (zmienna przypisana wprost, bez dołączania przekaźnika) Zmienna typu BOOL (zmienna przypisana wprost, bez dołączania przekaźnika) Zmienna typu BOOL (zmienna przypisana wprost, bez dołączania przekaźnika) I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O DTO TFT 2 Opis Adres początkowy tablicy, w której definiuje się zawartość poszczególnych stanów, czyli zawartość rejestrów, których wartości będą kopiowane na wyjście Q, w zależności od numeru stanu. Długość tablicy jest taka jak parametr Length. Parametr opcjonalny. Zmienna tablicowa, w której dla poszczególnych stanów podaje się czasy określane jako Dwell. Dwell to czas przebywania bloku DRUM w danym stanie. Po jego upłynięciu nie następuje automatyczne przejście do następnego stanu, lecz załączenie sygnału na wyjściu DTO i ten sygnał można wykorzystać do automatycznego przejścia bloku DRUM do następnego stanu (w takim przypadku należy sygnał z wyjścia DTO wprowadzić na wejście DT). Jeżeli korzystamy z wejścia DT, to musimy też korzystać z wyjścia DTO. Czas podaje się w jednostkach 0,1 sekundy. Parametr opcjonalny. Zmienna tablicowa, w której dla poszczególnych stanów podaje się czasy określane jako Fault Timeout. Fault Timeout to czas, po upłynięciu którego zostaje zgłoszony błąd informujący o za długim przebywaniu bloku DRUM w danym stanie – poprzez załączenie sygnału na wyjściu TFT. Jeżeli korzystamy z wejścia FTT, to musimy też korzystać z wyjścia TFT. Czas podaje się w jednostkach 0,1 sekundy. Główne wyjście bloku DRUM. Na to wyjście kopiowana jest wartość rejestru, odpowiadającego danemu stanowi. Parametr opcjonalny. Wyjście informujące, że bieżący stan nie jest zgodny ze stanem zadeklarowanym jako początkowy. Parametr opcjonalny. Wyjście informujące o upłynięciu czasu Dwell dla danego stanu. Parametr opcjonalny. Wyjście informujące o upłynięciu czasu Fault Timeout dla danego stanu. Nazwa wejścia/wyjścia bloku DRUM FF Typ zmiennej, przypisanej do wejścia/wyjścia Zmienna typu BYTE Dopuszczalne typy pamięci dla zmiennej I, Q, M, T, G, R, P, L, AI, AQ, W, zmienna symboliczna, zmienna I/O Opis Parametr opcjonalny. Obszar pamięci o organizacji bajtowej, w którym będzie następowało załączanie bitu odpowiadającego bieżącemu stanowi (w stanie 1 będzie załączony pierwszy bit z tego obszaru, w stanie 2 następny, itd.). wielkość obszaru, na jakim będzie odbywało się załączanie bitów zależy od parametru Length, z tym, że jest zaokrąglana do wielokrotności bajtów. Zawartość rejestrów roboczych bloku funkcyjnego DRUM Adres rejestru roboczego +0 Nazwa rejestru Active Step +1 Preset Step +2 Step Control +3, +4 Timer Control Opis Rejestr, w którym przechowywany jest numer bieżącego stanu. Wartość w tym rejestrze powinna być z zakresu od 1 do wartości zadeklarowanej w Length. Stany numeruje się zaczynając od liczby 1. Rejestr, w którym deklaruje się, który stan będzie stanem początkowym. Wartość w tym rejestrze powinna być z zakresu od 1 do wartości zadeklarowanej w Length. Słowo używane do wykrywania zmiany sygnału z 0 na 1 dla wejść S i Enable. Nie należy zmieniać wartości w tym rejestrze. Dwa słowa używane do odmierzania czasu przez blok DRUM. Nie należy zmieniać wartości w tych rejestrzach. Przykład wywołania bloku DRUM W przykładzie zadeklarowano pracę na 5 stanach. Zawartość poszczególnych stanów definiuje się w rejestrach od %R11. W pierwszych soch rejestrach roboczych bloku DRUM, czyli w %R1 i %R2 należy podać numer bieżącego stanu i numer stanu uznanego za początkowy. W czasie pracy bloku DRUM, wartości z odpowiedniego rejestru z zakresu %R11 do %R15, zależnie od bieżącego numeru stanu, 3 będą kopiowane do rejestru %R41. zaleca się obserwowanie stanu wyjścia Ok. – w przykładzie jest to zrealizowane stykiem o zmiennej %T17. W przykładzie skorzystano z opcjonalnych wyjść: • DRC – przekaźnik ze zmienną %T4 informuje, że bieżący stan jest innym stanem niż początkowy, • DTO – przekaźnik skojarzony z %T2 informuje o upłynięciu czasu Dwell dla danego skanu, • TFT – podłączony do niego przekaźnik ze zmienną %T19 ostrzega o przekroczeniu czasu Fault Timeout, • FF – w obszarze pamięci od %T9, na kolejnych pięciu bitach mamy odwzorowanie tego, który z kolei w tym momencie jest stan. Stan 1 Stan 2 Stan 3 Stan 4 Stan 5 %R11 %R12 %R13 %R14 %R15 %R41 Przebieg kopiowania wartości rejestrów, w zależności od bieżącego stanu. Literatura • GFK-2222G (lub nowsza wersja tej dokumentacji) • Pliki „pomocy” oprogramowania Proficy ME. 4