symulator sym-ps4 sterownika programowalnego ps4-201-mm1
Transkrypt
symulator sym-ps4 sterownika programowalnego ps4-201-mm1
SYMULATOR SYM-PS4 STEROWNIKA PROGRAMOWALNEGO PS4-201-MM1 Ireneusz MOSOŃ, Krzysztof ŻUKOWSKI # Politechnika Gdańska, ul. G. Narutowicza 11/12, 80-952 Gdańsk tel: (0-58) 347-14-85 fax: (0-58) 341-08-80 e-mail: [email protected] # Simex Sp. z o.o., ul. Wielopole 7, 80-556 Gdańsk tel: (0-58) 762-07-77 fax: (0-58) 762-07-77 e-mail: [email protected] W referacie przedstawiono opis opracowanego programowego symulatora Sym-PS4 sterownika programowalnego PS4-201-MM1. Symulator umożliwia tworzenie i testowanie programów sterowania napisanych dla samego sterownika, jak również programów napisanych dla sterownika z dołączonymi do niego modułami rozszerzenia lokalnego LE4. Symulator posiada możliwość dołączania do niego tworzonych modeli sterowanych obiektów i pozwala na symulację działania programu sterowania łącznie z symulacją dołączonego obiektu. Symulator Sym-PS4 może być wykorzystywany nie tylko do nauki programowania, ale również do testowania fragmentów większych programów sterowania. 1. WPROWADZENIE W cyklu tworzenia oprogramowania, również i tego przeznaczonego dla sterowników programowalnych (ang. Programmable Logic Controllers - PLC), bardzo ważną rolę odgrywa testowanie. Im większy jest kod programu, większa liczba elementów oprogramowania i powiązań między nimi, tym trudniej jest w programie wykryć i zlokalizować błędy. Testowanie oprogramowania to sprawdzanie jego działania przy zmianach wielkości wejściowych które występują podczas normalnej pracy sterowanego urządzenia lub linii technologicznej oraz dla takich wielkości wejściowych, które mogą wystąpić w stanach awaryjnych. W przypadku oprogramowania sterowników programowalnych testowanie często wymaga pracy ze sterownikiem lub całym systemem automatyki. Do sprawdzenia poprawności działania programu można także użyć symulatora sterownika [1-4], jednak w sposobie tym wiele zależy od dokładności z jaką symulator odzwierciedla rzeczywisty sterownik. Wstępne uruchomienie programu na wirtualnym sterowniku często odbywa się znacznie szybciej niż uruchamianie programu w sterowniku zainstalowanym już w układzie sterowania uruchamianego obiektu sterowania. Wykorzystanie symulacji do wstępnego uruchomienia oprogramowania pozwala ponadto obniżyć koszty uruchomienia, a także wyeliminować lub chociażby ograniczyć liczbę i skutki ewentualnych awarii których przyczynami mogłyby być błędy w programie sterowania. 2. STEROWNIKI PROGRAMOWALNE PS4-201-MM1 Sterowniki programowalne PS4-201-MM1 [5] dla których został stworzony symulator Sym-PS4 [4], są sterownikami kompaktowymi przeznaczonymi do różnorodnych zadań automatyzacji – od małych układów sterowania do rozbudowanych systemów sterowania, w tym szczególnie systemów sterowania zdecentralizowanego [6]. Sterownik PS4-201-MM1 posiada dwa wejścia analogowe i jedno wyjście analogowe oraz 8 wejść i 6 wyjść binarnych. Wejścia analogowe (0÷10V) mają rozdzielczość 10 bitów, a wyjście analogowe (0÷10V) ma rozdzielczość 12 bitów. Sterownik ma jedno wejście szybkiego licznika zliczające impulsy o częstotliwości do 3kHz i jedno wejście alarmowe działające na zasadzie wejścia przerywającego. Ma też dwa zadajniki potencjometryczne. Wartości analogowe z potencjometrów, tak samo jak i dla wejść analogowych są przetwarzane i odczytywane z dokładnością 10 bitów. Szybkość wykonywania programu przez sterownik wynosi 5ms na tysiąc instrukcji logicznych. Uniwersalność tego sterownika w zakresie zastosowań wynika przede wszystkim z bardzo dużych możliwości rozbudowy systemu sterowania w oparciu o moduły zewnętrzne EM4 i moduły rozszerzenia lokalnego LE4, oraz z odpowiednio dużej pojemności pamięci przeznaczonej na dane i program użytkownika. W programie symulacyjnym uwzględniono wymienione powyżej charakterystyki techniczne sterowników PS4-201-MM1 za wyjątkiem możliwości budowy sieci. Można natomiast dołączyć do sterownika moduły LE4 służące do lokalnego rozszerzenia systemu sterowania o dodatkowe wejścia/wyjścia. Do programowania sterowników PS4-201-MM1 służy, zgodne z normą międzynarodową IEC 61131-3 [7,8], oprogramowanie narzędziowe Sucosoft S40 [9]. Oprogramowanie to składa się z okna głównego (nawigatora) wspomagającego tworzenie i organizację projektów oraz z okien pomocniczych służących do: tworzenia konfiguracji układów sterowania, deklarowania zmiennych i edycji programu, komunikacji ze sterownikiem oraz testowania i modyfikacji programu zapisanego w pamięci sterownika w trybie on-line. 3. PROGRAM SYMULACYJNY SYM-PS4 Do stworzenia programu symulatora Sym-PS4 wybrane zostało zintegrowane środowisko Delphi. Zapis programu odbywa się w języku Pascal z uwzględnieniem możliwości użycia obiektów przewidzianych dla tego języka. Program Sym-PS4 przeznaczony jest do pracy w środowisku Windows. Tak jak wszystkie aplikacje Windows, program symulatora Sym-PS4 składa się z okien. Główne okno, na wzór oprogramowania narzędziowego Sucosoft S40, można nazwać oknem nawigacyjnym, gdyż to ono zapewnia możliwość poruszania się po programie. Jest ono interfejsem pomiędzy użytkownikiem a programem. Pozostałe okna stworzone w aplikacji spełniają swoje zadania w powiązaniu z oknem głównym. Podstawowym zadaniem symulatora Sym-PS4 jest dokładne odtworzenie działania sterownika programowalnego. Uwzględniając wymagania stawiane oprogramowaniu symulacyjnemu program posiada również narzędzia umożliwiające konfigurację sterownika, edycję programu sterowania, otwieranie okien podglądu symulacji i wartości zmiennych a ponadto, w stosunku do oprogramowania Sucosoft S40, został wzbogacony o możliwość podglądu miejsca wykonywania programu i wykonywanie programu krok po kroku, oraz możliwość dołączenia modeli obiektów sterowania. Symulator sterownika Sym-PS4 realizuje nie tylko symulację, ale jest również wydajnym edytorem do tworzenia programów sterowania. Program uwzględnia wymagania zawarte w normie IEC 61131-3 [7,9] dotyczące struktury programów oraz języków programowania sterowników. Symulator wspomaga tworzenie i testowanie wszystkich elementów oprogramowania – programów (ang. Program - P) a także bloków funkcyjnych (ang. Function Block - FB) i funkcji (ang. Function - F) będących elementami pozwalającymi ograniczyć złożoność kodu aplikacji. Program symulatora Sym-PS4 można podzielić na dwie funkcjonalne części: edytor i symulator sterownika. Edytor w programie symulacyjnym został tak zaprojektowany, aby praca z nim możliwie najbardziej przypominała pracę z programem Sucosoft S40. Dzięki dużemu podobieństwu zasad edycji programista znający oprogramowanie narzędziowe Sucosoft S40 nie powinien mieć problemów wykorzystując do pisania programów edytor symulatora Sym-PS4. Edytor jest odpowiedzialny za poprawność składniową, dlatego też jest wyposażony w procedury do wykrywania błędów. W zależności od preferencji programista może wybrać język programowania: listę instrukcji (ang. Instruction List – IL) lub schemat drabinkowy (ang. Ladder Diagram – LD); ten ostatni z uwagi na ograniczenia języka może być łączony z listą instrukcji i schematem bloków funkcyjnych. Przełączanie między dostępnymi formami wyświetlania może odbywać się w trakcie edycji. Pisanie programu ułatwiają skróty klawiszowe, paski narzędzi oraz opcje pozwalające na kopiowanie i usuwanie całych partii kodu. Druga z funkcjonalnych części Sym-PS4 to symulator sterownika. Ma on za zadanie interpretację programu i umożliwia komunikację ze światem zewnętrznym (użytkownikiem). Na Rys.1 przedstawiono widok panelu wirtualnego sterownika PS4-201MM1 z trzema modułami rozszerzenia lokalnego LE4 (na rysunku widoczny jest tylko sterownik i jeden moduł rozszerzenia lokalnego). Symulator wykonuje program według zasad obowiązujących w sterowniku. Cykl programowy jest w nim jednak uproszczony, gdyż obejmuje jedynie: • odczytanie stanów wejść; • wykonanie programu; • uaktualnienie stanów wyjść. Program wykonuje się w czasie nieco dłuższym niż w normalnym sterowniku (porównanie dla programu zainstalowanego i testowanego na komputerze typu IBM/PC, 400MHz, 32MB RAM), jednak w pracy z symulatorem nie ma to większego znaczenia. Uzyskany czas cyklu symulatora został osiągnięty dzięki przetłumaczeniu języka listy instrukcji na postać liczbową. Postać taka pozwala na szybkie wybieranie wykonywanej instrukcji i docieranie do jej parametrów. Symulacja działania sterownika opiera się na cyklicznym wywoływaniu interpretera listy instrukcji. Obiekt interpretera Tsimulation (odpowiedzialny za symulację) działa równolegle z aplikacją główną programu symulacyjnego. W fazie tworzenia tego obiektu przygotowywana jest postać numeryczna programu, oraz tworzone są: ukonkretnienia obiektów odwzorowujących bloki funkcyjne, obiekty przechowujące wartości zmiennych, obiekt naśladujący działanie rejestrów sterownika oraz jego pamięci. Można powiedzieć, że cała struktura wirtualnego sterownika jest tworzona w chwili uruchamiania symulacji. Taki sposób uruchomienia eliminuje nadmierne wykorzystywanie pamięci. Uruchomienie symulacji to również stworzenie wewnętrznej listy instrukcji P1 P2 Rys.1. Widok panelu witrualnego sterownika składającej się z liczb oznaczających symulowane funkcje. Ta zastępcza lista instrukcji pozwala zmieścić około 300000 instrukcji. Przetłumaczony program ma postać bardziej przystosowaną do wykonywania przez interpreter symulatora. Każda instrukcja zawiera indeks pozwalający zlokalizować ją w pierwotnej liście instrukcji. Indeksy wykorzystywane są w uruchamianiu symulacji z podglądem listy instrukcji. 4. MOŻLIWOŚCI I WYKORZYSTANIE SYMULATORA Symulator Sym-PS4 został wyposażony w narzędzia do edycji programów sterowania, dzięki którym można tworzyć nowe programy, dokonywać edycji wcześniej utworzonych programów, zapisywać je na dysk w postaci plikowej i ponownie odczytywać. Forma deklaracji zmiennych i prezentacji programu może być wybrana przez użytkownika spośród dwóch języków programowania: listy instrukcji i schematu drabinkowego, a realizowane jest to poprzez przyciski wyboru formy prezentacji. W zależności od aktualnie wybranego rodzaju okna program udostępnia odpowiednie przyciski na listwie narzędziowej. Ograniczenie liczby przycisków (opcji programu dostępnych w danej chwili) stanowi duże ułatwienie w pierwszych kontaktach z programem. Jeśli istnieje potrzeba przetestowania programu razem ze sterowanym urządzeniem można posłużyć się jednym z modeli dołączonych do symulatora lub stworzyć model własnego obiektu sterowania. Wybranie w konfiguracji wirtualnego sterownika symulacji z modelem powoduje, że przez program czytane są sygnały z modelu, a zablokowane jest wówczas wprowadzanie sygnałów z panelu sterownika. Sygnały z modelu wybierane są w programie na podstawie tabeli połączeń. Przykładem takiego modelu obiektu jest model asynchronicznego silnika liniowego na bieżni liniowej. Na Rys.2 przedstawiono okno modelu tego silnika na bieżni. Sterowanie omawianym silnikiem liniowym jest jednym z tematów zajęć projektowych z przedmiotu „Sterowniki programowalne” [10]. Dzięki modelowi silnika liniowego możliwe jest uruchomienie programu sterowania cyklami jazdy silnika liniowego na bieżni liniowej i w miarę pełne jego przetestowanie, jeszcze przed uruchamianiem programu na rzeczywistym obiekcie sterowania. Rys.2. Okno modelu silnika liniowego Podłączenie do wirtualnego sterownika modelu obiektu pozwala testować program w warunkach bardziej zbliżonych do rzeczywistych. Odpowiednio zbudowany model pozwala także zbadać zachowanie się programu w sytuacjach awaryjnych. 5. PODSUMOWANIE I WNIOSKI KOŃCOWE Stworzony program symulacyjny pozwala na usprawnienie testowania programów napisanych na sterownik PS4-201-MM1 (ew. sterownik z modułami rozszerzenia lokalnego LE4). Jest przeznaczony nie tylko do nauki programowania na przykładzie prostych programów sterowania, ale również do pisania i testowania bardziej złożonych programów sterowania, a także do testowania większych programów w częściach. Uruchomienie programu na wirtualnym sterowniku często odbywa się znacznie szybciej niż na obiekcie sterowania. Wstępna analiza problemu testowania programów narzuciła konieczność wyposażenia symulatora w dodatkowe opcje podglądu zmiennych, dodatkowy, w porównaniu z rzeczywistym sterownikiem, tryb pracy symulatora i w modele sterowanych obiektów. Dzięki temu Sym-PS4 stał się narzędziem bardzo funkcjonalnym, pozwalającym uruchamiać programy i obserwować panel sterownika oraz działanie urządzeń którymi steruje. Użycie programu Sym-PS4 pozwala w pełni przetestować program. Program Sym-PS4 realizuje wszystkie niezbędne dla symulacji funkcje i oferuje przyjazny interfejs. Edytor programu zbliżony jest do stosowanego w oprogramowaniu Sucosoft S40. Doskonale nadaje się do szybkiego tworzenia niewielkich aplikacji i ich testowania. Ułatwienia edycyjne znacznie przyspieszają pracę z programem, a zawarte w programie pliki pomocy dają odpowiedzi na większość pytań związanych z programem. 6. BIBLIOGRAFIA 1. Teach Ladder Logic Programming without the Expense of Buying PLC Equipment: http:/www.bytronic.co.uk/ladsim.htm; 2. Król A., Moczko-Król J.: S5/S7 Windows. Programowanie i symulacja sterowników PLC firmy SIEMENS. Wydawnictwo Nakom, Poznań, 2000, s. 383. 3. Tarnawski J.: Symulator sterownika programowalnego. Praca dyplomowa. Opiekun pracy: dr inż. W Chotkowski. Politechnika Gdańska, Wydz. Elektrotechniki i Automatyki, Gdańsk, 1999. 4. Żukowski K.: Symulator sterownika programowalnego PS4-201-MM1. Praca dyplomowa. Opiekun pracy: dr inż. I. Mosoń. Politechnika Gdańska, Wydz. Elektrotechniki i Automatyki, Gdańsk, 2001. 5. Automation Systems and Drives. Main Catalogue 2001/2002. Moeller GmbH, Bonn, 01/2001, HPL0213-2001/2002GB. 6. Mosoń I.: Sterowniki programowalne PS4 w zdecentralizowanych systemach sterowania. Elektroinstalator. Automatyka. 1996, Nr 11, s.27-30. 7. Norma PN-IEC 1131-3. Sterowniki programowalne. Języki programowania. 8. Legierski T., Kasprzyk J., Hajda J., Wyrwał J.: Programowanie sterowników PLC. Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice, 1998, s. 521. 9. Einwag H., Kastner E.: Compliance with the Standard. Sucosoft S40. IEC Features. Klockner-Moeller GmbH, Bonn, 12/97, AWB 27-1310-GB. 10. Mosoń I.: Wybrane aspekty wprowadzenia do dydaktyki przedmiotu Sterowniki Programowalne. „Zastosowanie komputerów w dydaktyce ’99”, IX cykl seminariów zorganizowanych przez PTETiS Oddział w Gdańsku, Zesz. Nauk. Wydz. Elektrotechniki i Automatyki Politechniki Gdańskiej Nr13, 1999, s.101-106. SIMULATOR SYM-PS4 OF PS4-201-MM1 PROGRAMMABLE CONTROLLER A description of the developed program simulator Sym-PS4 of PS4-201-MM1 programmable controller is presented in the paper. This simulator enables creation and testing of control programs written for the programmable controller itself and programs created for the controller with local expansion modules LE4 connected to it. The simulator has a possibility of incorporating created models of controlled objects and therefore enables testing of control programs together with simulation of these objects. Sym-PS4 can be used not only for learning of programming but also for testing longer control programs in parts.