W ostatnim wpisie poznałeś założenia projektowe. Dzisiaj zajmiemy się kolejnym etapem w cyklu życia oprogramowania, czyli modelowaniem. Zgrupowanie pewnych funkcjonalności pozwoli lepiej zrozumieć główne zadanie. Nie będziemy skupiać się na zagadnieniach technicznych, czyli implementacji. Omawiany etap nie jest prosty i każdy może osiągnąć inne grupy. Jednak przedstawię Ci ogólne rady i wskazówki.
Etap modelowania
Wykorzystamy analizę strukturalną, czyli utworzymy klika grup. Do każdej z grup wymienimy dane, które będą potrzebne. Taki podział pozwala na lepszą analizę różnorodnych aspektów całego zadania.Poniżej przedstawiam propozycję bloków funkcjonalnych
Jak widzisz, zadanie zostało podzielone na dziewięć głównych bloków. Krótko omówię każdy z nich.
Bloki funkcjonalne
BŁĘDY
Jest najważniejsza grupa, ponieważ odpowiada za poprawne działanie całej linii. Im więcej błędów uda się wykryć i odpowiednio na nie zareagować, tym aplikacja będzie lepiej działać. Ta część kodu programu jest najtrudniejsza do napisania. Programiści zostawiają to na koniec, co w wyniku powoduje bałagan w kodzie programu. Ta grupa będzie komunikować się ze wszystkimi innymi, ponieważ w każdej innej grupie będą pojawiać się błędy.
W naszym przypadku wykrywaniem wszystkich błędów będzie się zajmować właśnie grupa Error. Inne grupy będą miały tylko informacje, czy błąd jest. Nie jest istotne jakiego typu jest to błąd.
Podgrupy to:
Przycisk Reset – każdy błąd trzeba potwierdzić, więc w tym miejscu się tym zajmiemy
Potencjometr – w trybie manualnym potencjometr powinien być ustawiony w pozycji środkowej, zanim linia zostanie uruchomiona.
Obecność palet – w trybie automatycznym palety nie mogą znajdować się na transporterach przed włączeniem linii.
TRYBY PRACY
Linia może znajdować się w czterech trybach pracy. Do wyboru każdego z nich służy przycisk. Następnie do uruchomienia każdego z nich też jest przycisk. Ta grupa będzie zawierała obsługę tych zadań.
PODAJNIK PALET
Palety mogą się znaleźć na linii tylko w określonej sytuacji, czyli podczas pracy linii w trybie automatycznym. W tym miejscu zajmiemy się oprogramowaniem tego
SYGNALIZACJA ŚWIETLNA
Za pomocą sygnalizacji świetlnej można się zorientować co się dzieje z linią, czyli w jakim stanie znajduje się aktualnie.
Podgrupy to:
Podświetlenie przycisków – włączanie lub wyłączanie podświetlenia dla odpowiedniego przycisku. Jedno z podświetleń będzie regulowane (0%, 50%, 100%)
Kolumna sygnalizacyjna – sterowanie lampami w zależności od aktualnego trybu pracy
SYGNALIZACJA DŹWIĘKOWA
Przed włączeniem powinien być włączony sygnał dźwiękowy, aby ostrzec osoby znajdujące się w pobliżu.
STEROWANIE PRZENOŚNIKAMI
Kontrola transporterów dla każdego z trybów pracy wygląda inaczej. Należy to uwzględnić, dlatego została utworzona oddzielna grupa.
ODBIORNIKI PALET
W skład linii wchodzi dwa odbiorniki palet. Każdy z nich jest inaczej sterowany. Jest to zależne od trybu pracy
NAPĘDY
Dla silników przeważnie jest stosowana zaawansowana procedura sterownia. Zazwyczaj jest dla tego typu urządzeń tworzona oddzielna grupa
STATYSTYKA
Wydajność linii jest również monitorowana w celu prowadzenia analizy produkcji. Także pomiar czasu pracy jest potrzebny, aby przeprowadzić konserwację komponentów zgodnie z zaleceniami producenta.
Podgrupy to:
Czas – pomiar m.in. czasu pracy linii oraz czasu przejazdu palety pomiędzy odpowiednimi czujnikami
Zliczenia – zajmiemy się liczeniem m.in. palet oraz włączeń każdego z trybów pracy
Dane
Do działania programu potrzebne są jakieś dane, które pozwolą przechowywać informacje. Teraz przedstawię Ci najważniejsze z nich w nawiązaniu do wcześniej wymienionych grup.
BŁĘDY
Będziemy potrzebować zmiennych do przechowywania informacji, czy pojawił się określony błąd. Czyli będziemy sprawdzali, czy nastąpiło zdarzenie lub odpowiednio powiązane ze sobą zdarzenia, których skutkiem może być nieprzewidziane działanie linii. Takie zdarzenia to:
Zmiana trybu pracy – podczas pracy linii następuje zmiana trybu pracy. Jest to niedopuszczalne
Ustawienie potencjometru – potencjometr powinien być ustawiony w pozycji środkowej, aby linia mogła być uruchomiona w trybie manualnym. Należy zatem pozycję potencjometru sprawdzić w momencie włączania trybu manualnego.
Linia zajęta – linia powinna być pusta przed włączeniem trybu automatycznego. Jeżeli jakikolwiek czujnik wykrywa obiekt w momencie włączenia linii, wówczas jest niedozwolone włączenie tego trybu.
Usunięta paleta przed czujnikiem D1 – pomiędzy transportowanymi paletami jest pewien odstęp. Zatem przez jakiś czas czujnik D1 nie wykrywa żadnej palety. Jeżeli ten czas będzie za długi, to znaczy że przed tym czujnikiem na linii została ręcznie usunięta paleta lub transporter się uszkodził. Jeżeli taka sytuacja się pojawi, to do tej zmiennej przypiszemy informację, że wystąpiło takie zdarzenie
Usunięta paleta przed czujnikiem D2 – analogiczna sytuacja, jak dla czujnika D1
Usunięta paleta przed czujnikiem D3 – analogiczna sytuacja, jak dla czujnika D1
Usunięta paleta przed czujnikiem D4 – analogiczna sytuacja, jak dla czujnika D1
Globalny błąd – jeżeli wystąpił jakikolwiek z błędów to należy powiadomić to tym pozostałe części programu, aby mogły odpowiednio zareagować na taką sytuację
TRYBY PRACY
Inne części programu muszą wiedzieć, w jakim trybie jest linia i czy została uruchomiona. Wykorzystamy następujące zmienne do przechowywania tych informacji
Tryb automatyczny – zostały spełnione odpowiednie warunki, aby linia mogła pracować w trybie automatycznym
Tryb manualny – linia będzie pracować w trybie ręcznym, ponieważ zostały spełnione wymagania pozwalające wybrać ten tryb pracy
Linia uruchomiona – linia pracuje w trybie ręcznym lub automatycznym ponieważ nie pojawiło się żadne zdarzenie uniemożliwiające włączenie linii
Linia zatrzymania – linia nie pracuje ponieważ została wyłączona przez operatora, lub wystąpiła sytuacja wymuszająca przejście linii do tego trybu pracy
Wystąpił błąd – pojawił się jeden z błędów, to skutkuje włączenie takiego trybu pracy
NAPĘDY
W skład linii wchodzą trzy transportery, gdzie każdy z nich jest wyposażony w silnik. Dla każdego z nich będziemy potrzebować następujących informacji
Uruchom silnik – pozwolenie na włączenie silnika w jednym z kierunków
Kierunek „do przodu” – transporter powinien być uruchomiony w takim kierunku, aby palety jechały w kierunku do odbiornika R3
Kierunek „do tyłu” – transporter powinien być uruchomiony w takim kierunku, aby palety jechały w kierunku do odbiornika R1
Błąd – pojawiło się zdarzenie, które jest traktowane jako błąd. Silnik powinien być wówczas zatrzymany
W ten sam sposób przygotuj dane dla grupy statystyka. Zastanów się, jaki dane będą nam potrzebne do przechowania informacji, które przewidują założenia projektowe.
Kurs wideo
Więcej na temat programowania w języku SCL znajdziesz w kursie Sterownik PLC w praktyce:
A możecie polecić jakiś soft do modelowania, tworzenia schematów właśnie na takie potrzeby? Wiem, że w Logo coś takiego jest.
Moim zdaniem kartka papieru jest najlepsza. Softu nie szukałem. Jak coś znajdziesz, to napisz w komentarzu.