Reklama: Chcesz umieścić tutaj reklamę? Zapraszamy do kontaktu »
Powrót do listy produktów Ostatnia aktualizacja: 2003-02-14
Smart7 – czyli PLC do wbudowania firmy SAIA-Burgess®
Dotychczas, specyficzne wykonania systemów sterowania były często realizowane jako tzw. systemy wbudowane korzystające z zasobów komputerów PC. Należy jednak zadać sobie pytanie: czy systemy zbudowane na bazie sterowników PLC mogą być w wielu aplikacjach interesującą alternatywą do komputerów PC? Jeśli tak, to w jakich i dlaczego?

W zasadzie stworzenie układu sterowania jako systemu wbudowanego pozwala projektantom na m.in. lepsze dostosowanie go do późniejszych zadań. Jednakże, dla dotychczasowych rozwiązań, istnieje rosnąca grupa problemów m.in.: możliwość niedotrzymania ostatecznego terminu lub przekroczenie planowanego budżetu projektu, co potwierdza, że tworzenie własnych rozwiązań na CPU (nazwijmy je “autorskimi”) wymaga więcej wysiłku, wyższych kosztów i stwarza większe ryzyko niepowodzenia. Przyczyn powstawania wymienionych problemów należy doszukiwać się w ciągle rosnących wymaganiach co do systemów operacyjnych oraz oprogramowania narzędziowego. Inwestycje w tworzenie własnego systemu mikroprocesorowego powinny być pokrywane przez jak najszerszą liczbę klientów – lecz zwykle jest to prawie niemożliwe. Nawet dla producentów sterowników PLC tworzenie narzędzi do programowania stanowi pewien problem; świadczy o tym poziom outsourcing’u w tym zakresie – szczególnie dla standardu IEC 61131-3. Dodatkowy nacisk pochodzi od klientów końcowych, którzy nie chcą zaakceptować własnych rozwiązań producentów, które nie są łatwe do zintegrowania z istniejącą infrastrukturą systemu oraz trudne serwisowania.

Z tego względu szwajcarska firma SAIA-Burgess® wprowadziła na rynek moduł Smart7® umożliwiający pełne wykorzystanie funkcji sterownika PLC w aplikacjach typu OEM. Zastanówmy się czy programowanie sterowników PLC może konkurować z oprogramowaniem wyższego poziomu. Jeśli tak to na jakiej płaszczyźnie? W kolejnej części artykułu postaram się wskazać, które cechy sterowników PLC mogą być przydatne i odpowiednio wykorzystane we wbudowanych systemach sterowania.

Oprogramowanie sterowników PLC – lepsze niż opinie o nim
Dodatkowe problemy w fazie projektowania systemów wbudowanych wynikają bezpośrednio z tego, iż systemy te są najczęściej programowane w językach wysokiego poziomu, takich jak C. Języki te, które były zapoczątkowane w świecie IT, mogą być użyte w systemach sterowania maszyn i urządzeń tylko w ograniczonym zakresie. Bowiem technologia języków wysokiego poziomu wymaga odpowiedniego stopnia wtajemniczenia (zaawansowania w programowaniu), wiedzę taką posiada relatywnie małe grono programistów, zwykle współpracujących bezpośrednio z firmami branży IT. Sytuacja jest całkowicie inna jeśli myśleć o stosowaniu standardowego oprogramowania dla PLC, na przykład pakietu STEP7® firmy SIEMENS®.
Programiści systemów wbudowanych stosujący języki programowania wysokiego poziomu uważają graficzne metody programowania sterowników PLC za podrzędne, “domowej roboty”. Zaliczają do nich m.in. metodę programowania sekwencyjnego, drabinkową (Contact Plan) oraz bloków funkcyjnych (Function Plan). Uważam, że taki punkt widzenia jest błędny, a wynika bezpośrednio z niewiedzy na temat nowych możliwości programowania PLC. Nie jest więc zaskakujące porównywanie stylu programowania sterowników z listą wywołań używaną przed laty w tzw. programowaniu assembler’owym. Te niedogodności doprowadziły do wprowadzenia rozszerzeń standardu IEC 61131-3, a nowe podejście do programowania wykorzystała firma SIEMENS® przy tworzeniu oprogramowania STEP7®. Wielu użytkowników programu STEP7® nie jest często świadomych nowych możliwości oraz innowacji wprowadzonych w porównaniu z oprogramowaniem STEP5®: m.in. adresowanie pośrednie, technologia wskaźników, wielokrotny konkret bloków funkcyjnych jak również lokalnych zmiennych.

Adresowanie pośrednie i technologia wskaźników
Zastosowanie adresowania pośredniego pozwoliło na ograniczenie dostępu do obszaru danych. W przeciwieństwie do programowania w C, system operacyjny sterowników PLC sprawdza limity dostępnego obszaru danych zabezpieczając przed nadpisaniem programu lub nawet zmiany danych systemu operacyjnego. Polega to na pośrednim adresowaniu operandów w większości rozkazów oprogramowania STEP7®. Dlatego wskaźniki mogą być przechowywane w pamięci danych sterownika PLC (np. jako flagi) i w ten sposób są łatwo dostępne. W celu uniknięcia pracochłonnych obliczeń w czasie pracy maszyny, wartości w tabelach i macierzach mogą być wcześniej wyliczone lub wyniki operacji mogą być w prosty sposób załadowane z wstępnie przewartościowanej tabeli. Oprócz tego, dodano specjalne rejestry przeznaczone do wykonywania tych operacji. Równocześnie KAŻDY wskaźnik umożliwia dostęp do licznych danych sterownika PLC.

Instrukcje wielokrotne segmentu programu (blok funkcyjny)
Instrukcje wielokrotne w STEP7® służą do tworzenia segmentów programu: STEP7® udostępnia pojedynczy blok danych dla każdego wywołania bloku funkcyjnego. Wewnętrzne bloki funkcyjne (segmenty) są przechowywane w tych blokach danych, które muszą być zapamiętywane do czasu ponownego wywołania bloku funkcyjnego. To może być porównane do parametrów statycznych w programowaniu w C. Dzięki możliwości przypisania konkretnemu blokowi funkcyjnemu wielu bloków danych, w każdym wywołaniu może on być użyty kilkukrotnie, równocześnie dla różnych zadań. Osobne bloki danych muszą być oddzielone dla każdej aplikacji.

Zmienne lokalne
Zmienne lokalne to takie, które są obowiązujące w czasie wywołania bloku funkcyjnego (segmentu). Poszczególne dane lokalne są przechowywane w kolejnej wolnej pozycji na stosie dla każdego wywołaniu bloku funkcyjnego – stos rośnie. Po skończeniu wykonywania zadania bloki danych są kasowane – stos maleje. W ten sposób, dane są przechowywane, nawet gdy mamy odczynienie ze zmiennym poziomem przetwarzania (np. w cyklicznych przerwaniach lub przerwaniach sprzętowych). Efektem ubocznym nadpisania zmiennych może być tymczasowe używaniem zmiennych, które są pozostałością z przeszłości, w programowaniu PLC całkowicie jest to wyeliminowane.

Język wysokiego poziomu czy oprogramowanie sterowników PLC?
Wobec powyższego warto zastanowić się, czy system operacyjny PLC dla systemów wbudowanych jest dobrym wyborem. W porównaniu z systemami czasu rzeczywistego czy produktami firmy Microsoft system operacyjny sterowników PLC jest lepiej zabezpieczony i bardziej niezawodny. Większość błędów w wykonywanym programie sterownika PLC może być wykryta i zdiagnozowana dzięki ciągłemu monitoringowi wykonywanego programu jak również bliskości sprzętu z systemem operacyjnym. Przekroczenie stosu lub niepożądane nadpisanie wrażliwych sektorów pamięci może być natychmiastowo wykryte. Sterownik PLC wyłączy się zanim wystąpi niebezpieczna sytuacja. Jako, że drobne i trudne do zauważenia błędy są szczególnie uciążliwe, to zdolności diagnostyczne błędów wykonywanego programu powodują, iż sterowniki PLC są dla programistów wygodnym rozwiązaniem.
Z drugiej strony należy również wspomnieć o bezprzerwowej pracy systemu sterowania. Ponieważ języki wysokiego poziomu muszą być skompilowane, a potem załadowane do systemu sterowania, każde przeładowanie systemu wymaga przerwania sterowania procesem. Kompilowanie i przesyłanie wyników do przetworzonych tabel zajmują znaczną długość cyklu przetwarzania – nawet, gdy program jest modyfikowany jedynie w celu zmiany w nim szczegółu, do testów na przykład. Dla długotrwałych procesów – takich jak ciągłe procesy technologiczne – może prowadzić to do występowania znaczących problemów. Ale nawet dla prostszych aplikacji jest irytujące, aby być zmuszonym do pauzowania po wprowadzeniu każdej nowej zmiany. Dla kontrastu, program w sterowniku PLC jest podzielony na osobne bloki, które mogą być przetwarzane osobno od reszty programu. Jako, że sektory danych są precyzyjnie zdefiniowane i pogrupowane, tylko jeden blok musi być załadowany w celu dokonania zmian – zmiany można dokonywać nawet w czasie pracy maszyny. Bloki zmiennych mogą być ładowane w czasie, gdy inne są aktualnie używane, a następnie dołączane do programu, który był wcześniej załadowany. Jak tylko bloki zmiennych zostały całkowicie załadowane, w następnym wywołaniu zostają uruchomione, a stare bloki danych są automatycznie skasowane. Również wbudowany system Smart7® firmy SAIA-Burgess® stosuje taką metodę kompilacji programu i przyspieszania jego przetwarzania. W przeciwieństwie do programów napisanych w językach wysokiego poziomu, nie jest tworzony pojedynczy duży plik programu, lecz raczej każdy blok programu sterownika jest pojedynczo tłumaczony kolejno na podprogramy PLC. Dlatego możliwe jest wykonywanie testów w czasie działania programu. Zarządzanie pamięcią jest w systemie operacyjnym PLC odpowiednio zaprojektowane, dlatego program może być uruchamiany równocześnie z ładowaniem nowego programu czy wykonywaniem dodatkowych funkcji. Dla porównania z językami wysokiego poziomu, kompilacja nie zachodzi w komputerze PC, lecz całkowicie automatycznie w jednostce centralnej sterownika PLC i dlatego jest całkowicie “przezroczysta” dla programisty. Wskutek tego czasy trwania zmian w programach są zminimalizowane.

Mało logiczna filozofia testów
W możliwościach testowania oraz usuwania błędów w programie można doszukać się podstawowych rozbieżności w sposobie programowania z użyciem języków wysokiego poziomu, a oprogramowaniem dla sterowników PLC. Filozofia testowania: dla języków wysokiego poziomu zapoczątkowana w świecie IT, jest to silnie “streszczony” sposób przeliczania jakiejkolwiek parametrów, które są następnie zapisywane, kolejno wykonywane lub po prostu drukowane. Dane procesowe w tej formie muszą być sczytywane osobno, bezpośrednio ze środowiska programu – nie ma wzajemnego oddziaływania parametrów programu z rzeczywistym systemem sterowania. Celem jest przeliczenie dużej ilości danych tak szybko jak jest to możliwe. Końcowy wynik jest niezależny od szybkości przetwarzania.
Z tego powodu, program wykonywany może być dzielony ze względu na przeznaczenie testu, w celu śledzenia tymczasowych wyników.
Z tego powodu również, programy napisane przy pomocy języków wysokiego poziomu są testowane metodami takimi jak break points i praca krokowa, gdzie program jest celowo zatrzymywany. Te metody są całkowicie nie przeznaczone dla aplikacji sterowania: kiedy włączone zostanie testowanie programu maszyny lub procesu, nie można zatrzymać działania programu z x powodów, ponieważ sterowanie oddziaływuje na rzeczywisty system – maszynę. Na przykład gdy procedura pozycjonowania napędu polegająca na przemieszczeniu z punktu A do punku B, została uruchomiona, program wykonawczy nie może być przerwany: nie kontrolowany napęd mógłby w konsekwencji wyrządzić poważne uszkodzenia.
Stosowanie metod testowania programów języków wysokiego poziomu nie jest tylko ograniczone przez możliwość spowodowania uszkodzeń – procesy dynamiczne zupełnie nie mogą być wykonywane w ten sposób: bez uruchomionego programu, nie jest możliwe rejestrowanie parametrów maszyny, w które mogły spowodować wystąpienie błędu. Badanie tego typu parametrów dynamicznych najłatwiej wykonać przy pomocy metod “on-line” sterowników PLC . On-line znaczy, że testy będą wykonywane równolegle z uruchomionym programem pracy maszyny. Wewnętrzne dane i zmienne sterownika, jak również wyjścia i wejścia mogą być bezpośrednio monitorowane i modyfikowane równolegle z wykonywanym procesem. Funkcja stanu oraz parametry programu pokazywane są dokładnie w momencie, w którym poszczególna linia programu została wykonywana. Równolegle z testowaniem programu, system operacyjny sterownika PLC zapisuje błędy stanu w wewnętrznie wydzielonym buforze (diagnosis buffer).

Reasumując system testowania programów PLC jest skonstruowany tak, aby podtrzymywać sterowanie wykonywanego procesu.
Jądro jednostki centralnej, które programowane jest w ten sposób pakietem STEP7® , zapewnia pełną funkcjonalność sterownika PLC, jednocześnie oferując następujące korzyści:
· Nie wymaga kosztownego tworzenia własnego systemu wbudowanego,
· Ograniczenie ryzyka niepowodzenia wdrożenia produktu,
· Produkt finalny może być przetestowany i wprowadzony na rynek w krótszym czasie,
· Powszechna dostępność specjalistów od automatyki posługujących się oprogramowaniem STEP7®.

Sterownik wbudowany i jego własności
System Smart7® firmy SAIA-Burgess® jest jądrem sterownika ograniczonym do najistotniejszych funkcji PLC i zaprojektowanym specjalnie do łatwej integracji go z własnymi układami sterowania urządzeń i maszyn firm trzecich.
Wielkości karty kredytowej płytka jądra sterownika PLC może być po prostu zamontowana na płycie elektroniki systemu sterowania maszyną czy urządzeniem wyposażonej w specyficzne dla danego zastosowania elementy i układy zewnętrzne.
Smart7® zawiera następujące cechy sterownika PLC:
· Mikroprocesor programowalny pakietem oprogramowania STEP7®,
· Pamięci RAM (48KB lub 512KB)
· Pamięć flash do przechowywania aplikacji,
· Interfejs MPI do programowania,
· Szynę interfejsu wejść/wyjść cyfrowych i analogowych,
· Szynę równoległą np. do podłączenia pamięci typu dual-port RAM (komunikacja z innym procesorem) lub do sterowania wyświetlaczem LCD,
· Port szeregowy
· Jak również szybki licznik oraz szybkie wejścia przerwań.

(Podsumowanie, które będzie na 2 stronie w ramce po prawej stronie)
Wszystko na jednej małej karcie
· Pełna funkcjonalność sterownika PLC wbudowana w jeden moduł wielkości karty kredytowej (85.6 mm x 54.0 mm),
· Zoptymalizowany moduł dostosowany do pracy w układach sterowania – dedykowany aplikacjom typu OEM,
· Krótki czas integracji podzespołu – brak długotrwałego, podnoszącego koszty wdrożenia jądra jednostki centralnej, systemu operacyjnego oraz oprogramowania użytkowego,

Smart7® programowany oprogramowaniem STEP7® firmy SIEMENS®
· Istniejące oprogramowanie, które nadal będzie rozwijane i udoskonalane,
· Bezpośredni transfer programów bez dodatkowej konwersji,
· Możliwość rozbudowy wcześniejszych inwestycji – praca ze znanymi urządzeniami oraz oprogramowaniem,
· Programowanie w AWL, KOP, FUP, SCL, S7-Graph, Hi-Graph,
· Lista instrukcji, jak w sterownikach SIEMENS® SIMATIC serii S7-300 oraz S7-400,
· Zastosowanie charakterystycznych funkcji np. takich jak programowanie portów szeregowych funkcjami, które są wbudowane w system operacyjny.

Bogaty wybór modułów
· Możliwość użycia standardowych modułów serii PCD
· Sprawdzone rozwiązania
· Możliwości komunikacyjne
- Profibus DP / FMS
- LON
- Porty szeregowe
- Szynę równoległą np. do podłączenia pamięci typu dual-port RAM (komunikacja z innym procesorem) lub do sterowania wyświetlaczem LCD,
- Możliwość połączenia do dwóch modułów komunikacyjnych.
· Możliwość późniejszej rozbudowy modułów.

UWAGA: Aby lepiej poznać pełen asortyment produktów oferowanych przez firmę SABUR, proszę wysłać swoje dane do korespondencji na adres info@sabur.com.pl. W e-mailu proszę zaznaczyć, którą grupą produktów jesteście Państwo zainteresowani, a my wyślemy dostępne materiały: w wersji elektronicznej (jako pliki PDF) osobno lub wraz z wersją DEMO oprogramowania, albo w postaci drukowanych broszur. Zapraszamy Państwa do współpracy, mamy nadzieję, że skorzystają Państwo z oferty firmy SABUR.

Dystrybutor

SABUR Sp. z o.o.

Adres: ul. Puławska 303, 02-785 Warszawa

Nr telefonu: 22 549 43 53 Skopiuj

E-mail: sabur@sabur.com.pl Skopiuj
WWW: www.sabur.com.pl

Przy kontakcie powołaj się na portal automatyka.pl

Wyślij wiadomość

Dodaj plik...