Xcos (v. 5.3.3) pierwsze kroki 1. Edytor Xcos 1a) Otwarcie schematu (diagramu) plik *.xcos: 1b) Menu okna edycji schematu File Edit View Simulation



Podobne dokumenty
Kopiowanie, przenoszenie plików i folderów

WPROWADZENIE DO ŚRODOWISKA SCICOS

MentorGraphics ModelSim

Klawisze szybkiego wyboru układu drabinkowego

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Temat: Organizacja skoroszytów i arkuszy

1. Wprowadzenie. 1.1 Uruchamianie AutoCAD-a Ustawienia wprowadzające. Auto CAD Aby uruchomić AutoCada 14 kliknij ikonę

Modelowanie obiektowe - Ćw. 1.

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

1. Opis okna podstawowego programu TPrezenter.

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

Edytor tekstu OpenOffice Writer Podstawy

Arkusz kalkulacyjny EXCEL

Tworzenie i zapis plików w VI

2. Podstawowe aplikacje i komendy

1. Wybierz polecenie rysowania linii, np. poprzez kliknięcie ikony W wierszu poleceń pojawi się pytanie o punkt początkowy rysowanej linii:

Jak przygotować pokaz album w Logomocji

Dlaczego stosujemy edytory tekstu?

Zakład Systemów Rozproszonych

Tworzenie dokumentacji 2D

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

POMIARY WIDEO W PROGRAMIE COACH 5

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

SpinWorks. Manual dla studentów III roku Chemii, licencjat - Spektrochemia

PikoCNC skróty klawiaturowe

Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość.

Przywracanie parametrów domyślnych. Przycisnąć przycisk STOP przez 5 sekund. Wyświetlanie naprzemienne Numer parametru Wartość parametru

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Praca w programie Power Draft

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Przypisy i przypisy końcowe

Wstęp Arkusz kalkulacyjny Za co lubimy arkusze kalkulacyjne Excel

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Operacje na Wielu Arkuszach

Struktura dokumentu w arkuszu kalkulacyjnym MS EXCEL

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

4.Arkusz kalkulacyjny Calc

WINDOWS XP PRO WINDOWS XP PRO

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. Wersja dokumentu P.1. Wersja dokumentu NP1.

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Rozdział VI. Tabele i ich możliwości

Europejski Certyfikat Umiejętności Komputerowych. Moduł 3 Przetwarzanie tekstów

Co to jest arkusz kalkulacyjny?

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

ToonDoo Maker tworzenie pojedynczej sceny komiksowej

POMOC / INSTRUKCJA OBSŁUGI

Padlet wirtualna tablica lub papier w Internecie

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podręcznik użytkownika programu. Ceremonia 3.1

Tworzenie prezentacji w MS PowerPoint

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

3.7. Wykresy czyli popatrzmy na statystyki

SysML rozpoczynanie projektu SysML001

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Praca w programie Power Draft

Tworzenie strony www - jako projektu z Mechaniki i budowy maszyn

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na r.

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Praca w programie Power Draft

Przenoszenie, kopiowanie formuł

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

5.2. Pierwsze kroki z bazami danych

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

Krótka instrukcja opracowania danych w programie SciDAVis v. 1-D013-win

Ćw. 0: Wprowadzenie do programu MultiSIM

Kolory elementów. Kolory elementów

DEMERO Automation Systems

CoDeSys 3 programowanie w języku CFC

Symulacje inwertera CMOS

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Stawiamy pierwsze kroki

Podstawy WINDOWS 9x, 2000, XP

DOKUMENTY I GRAFIKI. Zarządzanie zawartością Tworzenie folderu Dodawanie dokumentu / grafiki Wersje plików... 7

Tomography Tracking Instrukcja użytkownika

Instrukcja obsługi systemu Sky CMS

5.4. Tworzymy formularze

Reprezentacja zmiennych numerycznych

Jeszcze raz więc powtarzam - wymieramy NIE i przechodzimy do kolejnego obrazka.

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

1. Przekrój poprzeczny tranzystora nmos. Uzupełnij rysunek odpowiednimi nazwami domieszek (n lub p). S G D

Multimetr cyfrowy MAS-345. Instrukcja instalacji i obsługi oprogramowania DMM VIEW Ver 2.0

netster instrukcja obsługi

Moduł 1 Pliki i foldery

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Laboratorium 8 ( Android -pierwsza aplikacja)

Transkrypt:

Xcos (v. 5.3.3) pierwsze kroki (wersja robocza 2011.11) Instrukcja ma na celu ułatwić zapoznanie się z edytorem Xcos, który umożliwia wykorzystanie schematów do symulacji w pakiecie Scilab. Opisano przede wszystkim proces edycji schematów, ponieważ na tym etapie łatwo o zniechęcenie ze względu na różnice Xcos w stosunku do innych edytorów (np. Simulink w Matlabie), które są bardziej odporne na niedokładności użytkownika. 1. Edytor Xcos 1a) Otwarcie schematu (diagramu) plik *.xcos: Istniejący lub nowy schemat można otworzyć: wywołując najpierw edytor xcos: - menu Scilab: /Application/Xcos - otwiera Palette browser i puste okno edycji - komenda w oknie Scilab: xcos - otwiera Palette browser następnie z menu okna edycji schematu: /File/Open lub za pomocą komendy wywołanej w oknie Scilaba lub w skrypcie: xcos schemat.xcos - otwiera edytor i wczytuje schemat zapisany w pliku schemat.xcos Komentarze: W trakcie otwierania okna edycji następuje wywołanie funkcji loadxcoslibs, która wczytuje do pamięci następujące biblioteki (obiekty): Branchinglib, Eventslib, Misclib, Sinkslib, Thresholdlib, Linearlib, Matrixoplib, Nonlinearlib, Sourceslib, Electricallib, Hydraulicslib, PDElib, Integeroplib, scicos_scicoslib (w sumie okono 583 580-569 376). Zamknięcie okna edycji nie kasuje załadowanych obiektów. W wersjach <5.2 używany był edytor scicos 1, a pliki miały rozszerzenie *.cos. 1b) Menu okna edycji schematu File operacje na pliku: - wczytywanie: New diagram, Open, - zapisywanie: Save, Save as, Export, - inne: Recent Files, Print, Close, Exit Xcos Edit edycja schematu - cofnanie/przywracanie operacji: Undo, Redo, - kasowanie/kopiowanie: Cut, Copy, Paste, Delete, - wybór grupy bloków: Select all, Invert selection, - definicja parametrów wybranego bloku: Block Parameters, - grupowanie bloków: Region to Superblock View wygląd edytora: - wielkość schematu: Zoom In, Zoom Out, Fit diagram to view, Normal 100% - okna: Palette browser, Diagram browser, Viewport, Details Simulation parametry i uruchamianie symulacji: - parametry symulacji: Setup ( 5a) - Execution trace and Debug - edycja skryptu kontekstowego: Set Context ( 5a) - kompilacja i wygenerowanie struktury scs_m: Compile ( 3c) - uruchomienie/zatrzymanie symulacji: Start, Stop Format - formatowanie graficzne - wygląd bloków: Rotate, Flip, Mirror, Show/Hide shadow, - wyrównywanie wybranych bloków: Align Blocks - kolory wybranych bloków: Border Color, Fill Color, - wyrównywanie wbranych linii: Link Style, - tło schematu: Diagram background, Grid Tools narzędzia: Code generation? help: Cos Help, Block Help, Xcos Demos, About Xcos 1 Uwagi: W wersji <5.2 uruchomienie scicos z konsoli blokowało ją scilaba W wersji <5.1 najpierw uruchomić scicos, a potem wykonywać skrypty (mogą być otwarte wcześniej), ponieważ po wykonaniu jakiegoś skryptu jest kłopot z otworciem scicos - 1 -

2. Operacje w oknie edycji schematu (diagramu) 2a) Typy bloków i sygnałów Działanie symulatora jest oparte na dwóch typach bloków i sygnałów, rozróżnianych na schemacie kolorem czarnym (granatowym) i czerwonym.. Są warianty bloków, np.: - suma BIGSOM_f (pokazuje znaki), SUMMATION (nie pokazuje znaków) - całkowanie INTEGRAL_m (warunek początkowy i ograniczenia), INTEGRAL_f (tylko war.początkowy). - 2 -

2b) Rysowanie schematu (edytor xcos): otwarcie biblioteki bloków: /View/Palette browser (otwiera się automatycznie przy uruchomieniu Xcos, a zamknięcie wszystkich schematów automatycznie zamyka bibliotekę) wprowadzanie bloków: przenoszenie bloków z biblioteki metodą przeciągania 1, kopiowanie bloków na schemacie metodą ctrl+c, ctrl+v operacje na blokach zatrzymanie kursora nad blokiem wyświetlenie informacji o bloku i jego parametrach, pojedyncze kliknięcie lewym/prawym przyciskiem myszy - wybór pojedynczego bloku, pojedyncze kliknięcie z klawiszem ctrl - wybór kilku bloków czy linii (wybór z shift nie działa), zaznaczenie obszaru myszą - wybór bloków i linii zawartych całkowicie w zaznaczonym obszarze, podwójne kliknięcie lewym przyciskiem nad blokiem wybiera blok i otwiera okno edycji parametrów właściwe dla danego bloku (Block Parameters), pojedyncze kliknięcie prawym przyciskiem na wybranym wcześniej bloku otwarcie menu operacji na bloku ( 2c) 1 zaznacz i trzymaj (prawy lub lewy przycisk myszy), przeciągnij i puść - 3 -

podwójne kliknięcie lewym przyciskiem nad pustym obszarem wstawienie bloku, który umożliwia umieszczanie tekstów nas schemacie o obszar bez tekstu jest słabo widoczny zawiera 3 kropki o tekst można zmienić po wybraniu obszaru - podwójne kliknięcie łączenie bloków nie da się połączyć portów sygnałowych (czarnych) z portami sterującymi (czerwonymi) połączenie dwóch bloków od portu wyjściowego do wejściowego lub odwrotnie: o wskazać kursorem port wyjściowy bloku (pokaże się zielony punkt) o trzymając lewy przycisk myszy dociągnąć do portu wejściowego kolejnego bloku (pojawi zielony punkt w miejscu docelowym) i puścić przycisk o potwierdzeniem poprawnie wykonanego połączenia jest pojawienie się linii o czerwonych końcach (ten sam sposób przedstawiana jest istniejące połączenie po jego wybraniu) łączenie portów sterujących odbywa się analogicznie jak sygnałowych, jedynie gotowe połączenia różnią się kolorem sygnałowe (niebieskie), sterujące (czerwone) typowe błędy podczas łączenia bloków o puszczenie przycisku niedokładnie nad portem (bez pojawienia się zielonego punktu) tworzy się załamanie linii a nie jej zakończenie najlepiej przerwać rysowanie klawiszem Esc o próba zakończenia linii przez podwójne kliknięcie (bez odłączenia do portu) linia znika a podwójne kliknięcie wstawia blok tekstowy (trzy kropki) - nie da się rysować takich niepodłączonych linii rozgałęzienia połączeń połączenie od portu wejściowego bloku do linii o wskazać kursorem port wejściowy bloku (pokaże się zielony punkt) o trzymając lewy przycisk myszy dociągnąć do linii gdzie (mniej więcej) ma być rozgałęzienie (linia zmieni kolor na zielony) i puścić przycisk uwaga edytor może zmienić położenie punktu rozgałęzienia na linii ( dociąga do siatki) o potwierdzeniem poprawnie wykonanego połączenia jest pojawienie się linii o czerwonych końcach i żółtego punktu rozgałęzienia (ten sam sposób przedstawiana jest istniejące połączenie po jego wybraniu) o punkt rozgałęzienia (żółty) jest widoczny na schemacie zawsze - 4 -

połączenie od linii do portu wejściowego bloku o wskazać kursorem linię gdzie (mniej więcej) ma być rozgałęzienie (linia zmieni kolor na zielony) o trzymając lewy przycisk myszy dociągnąć do portu wejściowego bloku (aż pokaże się zielony punkt) i puścić przycisk uwaga edytor może zmienić położenie punktu rozgałęzienia na linii ( dociąga do siatki) o potwierdzeniem poprawnie wykonanego połączenia jest pojawienie się linii o czerwonych końcach i żółtego punktu rozgałęzienia typowe błędy podczas tworzenia rozgałęzień o próba wykonania rozgałęzienia przez podwójne kliknięcie na linii - tworzy się zielony punkt do załamania linii a nie do rozgałęzienia o próba precyzyjnego wyznaczenia punktu rozgałęzienia na linii poza tym, że edytor dociąga punkt to siatki, to zdarza się, że ta zmiana jest większa (?) łatwiej jest najpierw zadbać o poprawne połączenie a potem można skorygować położenie punktu ( ) operacje na liniach połączeń zatrzymanie kursora nad linią zmienia się kolor odcinek linii łączący porty bloków i/lub punkty rozgałęzienia, pojedyncze kliknięcie na linii okazują się zakończenia odcinka linii (czerwone punkty) podwójne kliknięcie na linii zostaje dodany punkt (zielony), w którym można załamać linię (miejsce dodania punktu jest dociągnięte do siatki) trzymając przycisk myszy nad punktem załamania można go przenieść w inne miejsce siatki operację zmiany położenia punktu załamania można cofnąć, ale operacji dodawania punktów załamania nie da się cofnąć (przypadkowe kliknięcie na linię powoduje powstawanie niepotrzebnych punktów) przesunięcie punktu rozgałęzienia najłatwiej wykonać wybierając go (przez zaznaczenie obszaru) a następnie używając klawiszy kursora (myszą trudno to zrobić) kasowanie elementów schematu - 5 -

wybrać elementy pojedynczo (pojedyncze kliknięcie) czy grupowo (zaznaczenie obszaru) i nacisnąć klawisz Del (lub przez menu Edit \ Cut) cofanie operacji klawisz ctrl+z, (lub przez menu Edit \ lub przez ikonkę) skalowanie wyświetlania - View \ Zoom In, Zoom Out, 2c) Menu operacji na bloku: - Block Parameters - Cut, Copy, Delete - Region to superblock - Format - Rotate, Mirror, Flip, Show/Hide shadow - Align Blocks - Border Color, Fill Color - Details - Block Help 2d) Uwagi i błędy edytora xcos (!!!) 1) Zdarza się, że edycja uszkadza schemat w jakiś ukryty sposób dotyczy to np. kasowania bloku ze środka schematu, które kasuje również połączenia związane z tym blokiem Efektem jest to, że przestaje działać symulacja, np.: nie kończy symulacji (Simulation in progress) i sygnalizuje jakieś błędy, których nie można namierzyć (np. Incorrect assignment 1 ) po przerwaniu symulacji nie można już otworzyć okna parametrów żadnego bloku na tym schemacie i na innych też (nie można uruchomić również symulacji) nie można połączyć któregoś z bloków na schemacie (nie pojawia się zielony punkt) Należy skopiować zawartość schematu (ctr+c, ctr+v) do nowego, pustego okna i zapisać (uwaga pamiętać o ustawieniu czasu symulacji na schemacie). Jeśli wcześniej była przerwana symulacja, to trzeba także powtórnie uruchomić Scilaba. 2). 1 -->exec('c:\asym2\scipl\ukl2\wzor2_par.sce', -1)!--error 10000 Incorrect assignment. at line 22 of function generic_i_s called by :.. at line 260 of function scicos_simulate called by : Info = scicos_simulate(scs_m,info);//[t] = sim(model, czas, opcje); at line 21 of exec file called by : exec('c:\asym2\scipl\ukl2\wzor2_par.sce', -1) - 6 -

3. Zmienne na schemacie 3a) Parametry symboliczne na schemacie, czyli użycie zmiennych na schemacie: Zmienne, które mają być użyte na schemacie jako parametry muszą być wcześniej zdefiniowane: edytor Xcos nie pozwala użyć zmiennych, które jeszcze nie istnieją, dotyczy to zmiennych, które służą do podawania wartości (zamiast liczb), natomiast nie dotyczy to przypadku gdy wymagane jest podanie nazwy zmiennej (np. zmienna w bloku To workspace) Na schemacie można używać: zmiennych z przestrzeni roboczej Scilaba (zainicjowane w oknie Scilab lub przez uruchomienie skryptu), wartości symbolicznych zdefiniowanych w skrypcie kontekstowym schematu (Simulation/ Set Context) tzw. zmienne kontekstowe 3b) Zbieranie danych Oscyloskop (np. blok CSCOPE) stały zakres osi pionowej domyślnie Ymin=-15, Ymax=15 (uwaga: dobrać wg przewidywanych wartości wyświetlanej zmiennej), stały okres odświeżania, czyli zakres osi czasu domyślnie Refresh period=30 (uwaga: lepiej wpisać wartość taką jak czas symulacji lub podstawić zmienną o odpowiedniej wartości) stały rozmiar bufora domyślnie Buffer size=20, Jeśli na schemacie jest blok CSCOPE, to podczas symulacji zawsze się otwiera się okno i rysuje wykres Zapisywanie do zmiennej o podanej nazwie (np. blok TOWS_c = To workspace) zmienna w której są zapisywane wartości ma postać struktury, złożonej z dwóch wektorów: - values: [128x1 constant] - time: [128x1 constant] rozmiar wektorów w zmiennej określa się przez wielkość bufora, którą podaje się w parametrach bloku (Size of buffer): - domyślnie Size of buffer=128 - można jako rozmiar podać nazwę zmiennej - jeśli ilość danych podczas symulacji przekracza rozmiar bufora, to w buforze pozostaną ostatnie wartości 3c) Zmienna scs_m Wykonanie symulacji opiera się na strukturze danych scs_m. Zmienna jest tworzona (aktualizowana) automatycznie podczas uruchomienia symulacji w oknie edycji schematu (Simulation/ Start) lub przy kompilacji schematu (Simulation/ Compilation) 1. Zmienna scs_m ma strukturę typu diagram i zawiera następujące informacje: wpar = [600,450,0,0,600,450] title = "zad1_wer1" tol = [0.0001,0.000001,1.000D-10,100001,0,0,0] tf = 30 context = "" void1 = [ ] options = tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], list(%t,33), [8,1], [1,5],.. list([5,1], [4,1]), [0.8,0.8,0.8]) void2 = [ ] void3 = [ ] doc = list( ) 1 STEP_FUNCTION 2. nazwa pliku ze schematem czas symulacji zawartość skryptu kontekstowego lista bloków użytych na schemacie 1 Samo otwarcie schematu w oknie edycji (niezależnie od metody) nie tworzy i nie aktualizuje struktury scs_m. - 7 -

Struktura scs_m jest tworzona/aktualizowana także wczytania schematu za pomocą niektórych funkcji, np. importxcosdiagram('schemat.xcos'), Na podstawie struktury scs_m można uruchomić symulację w trybie wsadowym ( 4b). - 8 -

4. Uruchomienie symulacji 4a) Uruchomienie symulacji z okna edycji schematu Ustawić bieżącą kartotekę Uruchomić Xcos i wczytać schemat (automatycznie wykonują się skrypty kontekstowe) Jeśli potrzeba, to wymusić przeliczenie skryptów kontekstowych: Simulate/ Eval Jeśli potrzeba, to zmienić parametry symulacji: Simulate/ Setup Final integration time = 1.0E05 (czas symulacji) Realtime scaling = 0.0E00 Integrator absolute tolerance = 1.0E-04 (błąd absolutny) Integrator relative tolerance = 1.0E-06 (błąd względny) Tolerance on time = 1.0E-10 max interation time interval = 1.00001E05 solver 0 (CVODE) - 100 (IDA) = 0 (CVODE) maximum step size (0 means no limit) =0 (maks. krok obliczeń) uruchomienie: Simulation/ Start (w edytorze scicos: Simulate / Run) Uwagi: 1) Domyślny czas symulacji (Final integration time) jest bardzo długi (10 5 ). Na początek lepiej zadać krótszy czas. 2) W symulacji wykorzystywany jest algorytm stałokrokowy (jedyny dostępny solver 0) Komentarze: Samo otwarcie okna edycji schematu Sekwencja uruchamiania przez Simulation/ Start zawiera wykonaniu symulacji 4b) Uruchomienie symulacji ze skryptu (batch mode) Schemat zapisany w pliku *.xcos można uruchomić w trybie wsadowym za pomocą komend wykonywanych w oknie Scilaba lub w skrypcie. Zakładając, że model jest zapisany w pliku schemat.xcos (bez kompilacji), po uruchomieniu Scilaba należy ustawić wykonać następującą sekwencję komend 1 [3][4]: - loadxcoslibs(); //załadowanie bibliotek xcos o wystarczy wykonać jednokrotnie po uruchomieniu scilaba - importxcosdiagram('schemat.xcos'); //wczytanie schematu i utworzenie scs_m o nazwę pliku należy podać z rozszerzeniem xcos - zainicjowanie zmiennych wykorzystywanych na schemacie - ustawienie parametrów symulacji, np. czasu symulacji (jeśli to konieczne) - scicos_simulate(scs_m); - przetwarzanie danych uzyskanych z symulacji, np. rysowanie wykresów Dla powtórzenia symulacji dla innych wartości zmiennych wystarczy wykonać operację scicos_simulate(scs_m). Przykład: loadscicoslibs(); //ładuje biblioteki xcos importxcosdiagram('schemat1.xcos'); //wczytuje schemat (tworzy/aktualizuje zmienną scs_m) //xcos schemat1.xcos; //otwiera schemat (opcjonalnie) //zainicjowanie zmiennych używanych na schemacie a0=2; a1=3; b=1; x0=0; step_time=5; scs_m.props.tf = 1000; scicos_simulate(scs_m); //czas trwania symulacji (opcjonalnie) //uruchomienie symulacji schematu reprezentowanego pod zmienną scs_m //wykres z przebiegu symulacji na podstawie zmiennej A zapamiętanej przez blok To Workspace plot(a.time,a.values); //patrz też FirstStepScilab 1 Uwaga: Stan według wersji 5.3.3 (we wcześniejszych wersjach może być inaczej) - 9 -

4c) Parametry symulacji Info=list(); Info = scicos_simulate(scs_m, Info); //zmienna dla scicos_simulate Uwaga: W dokumentacji Scilaba opisane są inne komendy do uruchamiania symulacji na razie niestety nie udało się ich wykorzystać xcos_simulate symulacja schematów xcos w trybie wsadowym (bez konieczności wcześniejszej kompilacji). Składnia: Info = scicos_simulate(scs_m, Info[,%scicos_context][,flag]) gdzie: scs_m: schemat struktura zawierająca schemat (po wczytaniu pliku ze schematem), Info: typ list() - struktura wykorzystywana do przekazywania informacji pomiędzy kolejnymi wywołaniami symulacji (np. o konieczności rekompilacji), flag: typ string jeśli = 'nw' (no window), to nie są wykonywane bloki wykorzystujące okna graficzne (??? coś nie działa) Strukturę scs_m konieczną do uruchomienia symulacji uzyskuje się przy wczytaniu pliku *.xcos do Scilaba, np. load diagram.xcos. Wersja pliku *.xcos musi być wersją aktualną. Jeśli tak nie jest należy wczytać schemat do xcos i zapamiętać. Uwaga: Obecnie wczytuje tylko przez otwarcie schemat pod xcos - po zamknięciu schematu struktura scs_m pozostaje i można jej użyć do symulacji Przykład: //otwarcie schematu pod xcos (tworzy zmienną scs_m) Info=list(); //zmienna Info Info=scicos_simulate(scs_m, Info); //uruchomienie symulacji z wykresami scicosim symulacja skompilowanych schematów. Schemat należy skompilować pod xcos (/Simulate/Compile) i zapamiętać, [state,t] = scicosim(state, tcur, tf, sim, str, tol) gdzie: state stan początkowy (dostępny po załadowaniu diagramu pod zmienną %cpr.state) tcur początowy czas symulacji (=0) tf końcowy czas symulacji sim rezultat symulacji (dostępny po załadowaniu schematu pod zmienną %cpr.sim) str komenda: 'start', ' run', ' finish' Przykład: Schemat xxx należy skompilować pod xcos (/Simulate/Compile) i zapamiętać, oraz załadować pod scilab (co powoduje wygenerowanie struktury %cpr). load xxx.cos scicosim(%cpr.state,0,20,%cpr.sim,'start',[0.0001,1.000e-06,1.000e-10,100001,0,0]); - 10 -

5. Skrypty i zmienne kontekstowe na schemacie 5a) Skrypty kontekstowe Razem ze schematem można zdefiniować skrypty (tzw. skrypty kontekstowe), które będą wykonywane (przeliczane) automatycznie: po otwarciu okna schematu, po zamknięciu okna Set Context - jeśli błąd to zamyka i nie zapamiętuje oraz na żądanie: Simulate/Eval Skrypt kontekstowy można zdefiniować w oknie, który otwiera się przez menu Simulation/ Set Context lub przez okno parametrów symulacji Simulation/ Set Parameters -> Set Context (w edytorze scicos funkcja Diagram/Context - Scilab Input Value Request) W oknie Set Context można wpisać wprost definicje zmiennych (wartości symboliczne) lub uruchomić skrypt zapamiętany w pliku. Zmienne zdefiniowane w skrypcie kontekstowym będą nazywane zmiennymi kontekstowymi Sposób uruchomienia skryptu w oknie Set Context, np. skrypt1.sci lub skrypt2.sce z tej samej kartoteki: exec("\pelna_sciezka\skrypt1.sci") exec(pwd()+"\skrypt1.sci") exec("skrypt1.sci") exec("skrypt2.sce") exec(' skrypt2.sce') Zmienne kontekstowe są dostępne w hierarchii diagramów - przykład: D1 (Super Block), Context D1: A=1; B=1 D2 (sub-diagram), Context D2: C=A+1; B=2 (redefinicja) W D2 będzie widoczna zmienna A W D1 i D2 będą dwie zmienne B Aby ustalić wartość zmiennej w diagramie patrz najpierw na kontekst tego diagramu View / Available parameters podglądanie wartości dostępnych zmiennych Zmienne kontekstowe mogą być też jako parametry symulacji (Simulate/Setup), ale przy pierwszym uruchomieniu zostają one zamienione na odpowiednie wartości Uwagi: Po wczytaniu diagramu nie pamięta zmian skryptu w oknie Diagram/Context (po)? Źródła: [1] http://wiki.scilab.org [2] http://wiki.scilab.org/xcos [3] http://wiki.scilab.org/xcos/publicapi [4] http://wiki.scilab.org/xcos/privateapi - 11 -