Wykorzystanie metod i narzędzi informatyki dla potrzeb projektowania i implementacji zaawansowanych systemów sterowania i podejmowania decyzji



Podobne dokumenty
Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR)

Materiały dodatkowe. Simulink Real-Time

Szybkie prototypowanie w projektowaniu mechatronicznym

Wybrane środowiska szybkiego prototypowania

Opracował: Jan Front

Materiały dodatkowe. Raspberry Pi

Mechatronika i szybkie prototypowanie układów sterowania

Materiały dodatkowe. Simulink PLC Coder

Wprowadzenie do Real-Time Windows Target Toolbox Matlab/Simulink

Opracowanie ćwiczenia laboratoryjnego dotyczącego wykorzystania sieci przemysłowej Profibus. DODATEK NR 4 Instrukcja laboratoryjna

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Strona główna > Produkty > Systemy regulacji > System regulacji EASYLAB - LABCONTROL > Program konfiguracyjny > Typ EasyConnect.

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Metody integracji systemów sterowania z wykorzystaniem standardu OPC

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Logika rozmyta typu 2

1.Wstęp. 2.Generowanie systemu w EDK

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Sterowniki Programowalne (SP)

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Projektowanie baz danych za pomocą narzędzi CASE

ŚRODOWISKO PC WORX JAKO WSPARCIE W NAUCE PROGRAMOWANIA STEROWNIKÓW PLC

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Prototypowanie systemów sterowania

Karta (sylabus) modułu/przedmiotu Inżynieria Materiałowa Studia II stopnia specjalność: Inżynieria Powierzchni

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

Narzędzia CASE dla.net. Łukasz Popiel

REFERAT PRACY DYPLOMOWEJ

WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE URUCHAMIANIA I TESTOWANIA UKŁADÓW MIKROPROCESOROWYCH

Język UML w modelowaniu systemów informatycznych

Lista zagadnień kierunkowych pomocniczych w przygotowaniu do egzaminu dyplomowego magisterskiego Kierunek: Mechatronika

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Projektowanie bazujące na modelach

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Programowanie niskopoziomowe

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Oferta edukacyjna Uniwersytetu Rzeszowskiego.

Co to jest jest oprogramowanie? 8. Co to jest inżynieria oprogramowania? 9. Jaka jest różnica pomiędzy inżynierią oprogramowania a informatyką?

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Internet jako środowisko WL OZE/URE Propozycja metodologii badań oraz stanowiska laboratoryjnego

Prototypowanie systemów sterowania

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Podstawowe cechy IMS

Informatyka studia stacjonarne pierwszego stopnia

Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN

Projektowanie z użyciem procesora programowego Nios II

Zagadnienia kierunkowe Kierunek mechanika i budowa maszyn, studia pierwszego stopnia

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Bezpieczeństwo informacji oparte o kryptografię kwantową

FAQ: /PL Data: 01/06/2015 WinCC Professional konfiguracja struktury klient-serwer

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

RAPORT. Gryfów Śląski

Spis treści. Dzień 1. I Wprowadzenie do PCS 7 (wersja 1508) II Licencjonowanie (wersja 1508) III Tworzenie projektu w PCS 7 (wersja 1508)

AUTOMATYZACJA PROCESU PROJEKTOWANIA RUR GIĘTYCH W OPARCIU O PARAMETRYCZNY SYSTEM CAD

Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie

Autoreferat Rozprawy Doktorskiej

PRZEWODNIK PO PRZEDMIOCIE

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Configuring and Testing Your Network

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

ZASTOSOWANIE TECHNOLOGII WIRTUALNEJ RZECZYWISTOŚCI W PROJEKTOWANIU MASZYN

DROGA ROZWOJU OD PROJEKTOWANIA 2D DO 3D Z WYKORZYSTANIEM SYSTEMÓW CAD NA POTRZEBY PRZEMYSŁU SAMOCHODOWEGO

Środowiska i platformy programistyczne

Współczesna problematyka klasyfikacji Informatyki

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

MentorGraphics ModelSim

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: I stopnia (inżynierskie)

POLITECHNIKA ŚLĄSKA WYDZIAŁ GÓRNICTWA I GEOLOGII. Roman Kaula

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Wykład 1 Inżynieria Oprogramowania

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

dr inż. Tomasz Krzeszowski

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Oprogramowanie komputerowych systemów sterowania

Model referencyjny doboru narzędzi Open Source dla zarządzania wymaganiami

ROZPROSZONY SYSTEM STEROWANIA CZASU RZECZYWISTEGO DO SERWONAPĘDÓW PŁYNOWYCH DISTRIBUTED REAL-TIME CONTROL SYSTEM FOR FLUID POWER SERVO-DRIVES

Testowanie oprogramowania w środowisku IBM Rational Software Architect

PRZEWODNIK PO PRZEDMIOCIE

Kurs Wizualizacja z WinCC SCADA - Zaawansowany. Spis treści. Dzień 1. I VBS w WinCC podstawy programowania (zmienne, instrukcje, pętle) (wersja 1410)

Metody optymalizacji soft-procesorów NIOS

Tworzenie oprogramowania

Słowa kluczowe: wytwarzanie oprogramowania w oparciu o model, model oprogramowania, generowanie kodu, model V wytwarzania oprogramowania

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Jabil Poland w Kwidzynie poszukuje kandydatów na stanowiska:

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

Schemat blokowy karty

EC4P Pierwszy program w 6 krokach

Transkrypt:

Projektowanie i prototypowanie systemów sterowania z wykorzystaniem środowiska Matlab/Simulink, jego darmowych odpowiedników oraz zbliżonych funkcjonalnie narzędzi informatycznych wady, zalety, funkcjonalność, ograniczenia Wykorzystanie metod i narzędzi informatyki dla potrzeb projektowania i implementacji zaawansowanych systemów sterowania i podejmowania decyzji

Definicje CAD - Computer-Aided Design Projektowanie wspomagane komputerowo CAE - Computer-Aided Engineering Inżynieria wspomagana komputerowo CAM - Computer-Aided Manufacturing Wytwarzanie wspomagane komputerowo

Cykl powstawania produktu CAD i CAE powstały w celu skrócenia procesu produkcyjnego. Zastosowanie komputerów i specjalizowanego oprogramowania uczyniło ten etap bardziej elastycznym etapy biznesowe np. badania rynku Rozwój koncepcji CAD Projekt Kalkulacja CAD Prototyp CAE Testowanie CAE Produkcja CAM Wyrób

Prototyp Prototyp - pierwowzór; pierwszy, próbny, doświadczalny egzemplarz maszyny nowego typu; wzorzec. Zatem prototypowanie to ogół czynności zmierzających do opracowania próbnego, doświadczalnego egzemplarza maszyny, obiektu, regulatora itd.

Szybkie prototypowanie (ang. Rapid prototyping) Pojęcie znane w różnych dziedzinach inżynierii Mechanice i architekturze- CAD/CAM/CNC/Drukarki3D Informatyce - środowiska RAD (ang. Rapid Application Development) zawierające wizualne komponenty wspomagające programowanie (np. środowiska Visual C++ czy C++ Builder CodeGear dawniej Borland) Elektronice zintegrowane środowiska do projektowania układów elektronicznych np. OrCAD, Protel zintegrowane z systemami trawienia płytek drukowanych i lutowaniem elementów Typowe programy CAD/CAE: SolidWorks, Pro/ENGINEER, Autodesk Inventor

Szybkie prototypowanie w automatyce W automatyce szybkie prototypowanie oznacza ogół czynności zmierzających do zbudowania prototypu układu sterowania umożliwiającego wszechstronne przetestowanie badanego aspektu najczęściej jakości działania regulatora, ale także urządzenia pomiarowego, wykonawczego, optymalizatora, estymatora, filtru, systemu wspomagania decyzji itd.

Szybkie prototypowanie w automatyce Zmierza do stworzenia takich warunków w jakich przyjdzie pracować badanemu urządzeniu Nie chodzi tu już o czystą: symulację komputerową, tylko działanie in situ w miejscu, w warunkach jakich będzie pracowało dane urządzenie. Urządzenie implementujące badany element przeważnie posiada większe możliwości niż docelowe

Dlaczego warto się zajmować RAD/SCRz w Matlab/Simulink? Jest to obecnie najpopularniejsze środowisko symulacyjne zarówno w przemyśle jak i środowisku naukowym. Oferuje szerokie możliwości symulacji programowej i bogatą bibliotekę funkcji, procedur, przyborników Wykorzystanie możliwości środowiska Matlab/Simulink nie musi ograniczać się do symulacji programowej

Dlaczego warto się zajmować RAD/SCRz w Matlab/Simulink? Wykorzystanie narzędzi Real-Time Workshop umożliwia implementację systemów wbudowanych na wielu różnych platformach (mikrokontrolery, PCty, DSP, RTOSy) Wykorzystanie przyborników Real-Time Windows Target oraz xpc wraz z kartami akwizycji danych pomiarowych umożliwia uzyskanie symulacji HIL

Dlaczego warto się zajmować SCRz w Matlab/Simulink? Otrzymujemy zatem niezwykle elastyczne środowisko symulacyjne i zarazem środowisko szybkiego prototypowania i weryfikacji systemów wbudowanych. Jest to nowoczesny, funkcjonalny i elastyczny sposób pracy inżyniera automatyka

Szybkie prototypowanie w automatyce Systemy przeznaczone do szybkiego prototypowania cechują się dużą elastycznością tj. możliwościami realizacji różnych zadań i włączania w różne miejsca pętli sterowania, możliwościami analizy i oceny jakości pracy prototypu. Przeważnie nie są przeznaczone jako docelowe, przemysłowe urządzenia.

Współczesne projektowanie Projektowanie i wytwarzanie w ogólnie pojętej inżynierii zmieniło się istotnie w ciągu ostatnich lat. Najistotniejszymi czynnikami wpływającymi na te zmiany są (zintegrowane) środowiska do projektowania, symulacji, optymalizacji, wspomagania wytwarzania i zarządzania. Klasyczne podejście z posiadaniem fizycznego prototypu i testowaniu jego podsystemów zastąpiono narzędziami symulacyjnymi. Pozwala to w ogólności na: Skrócenie czasu realizacji projektu Zmniejszenie kosztów Testowanie całego systemu wraz z otoczeniem Szybsze zauważenie problemów integracji poszczególnych podsystemów Przewidywanie różnych, rozbudowanych scenariuszy Zrównoleglenie pracy i testowanie oprogramowania przed posiadaniem fizycznej części Podniesienie jakości produktu

Zastosowanie narzędzi symulacyjnych podczas fazy projektowej pozwala na testowanie podsystemów zarówno w zakresie ich działania szczegółowego, konkretnego dla danego podsystemu jak również ich współpracy i interakcji. Możliwe jest sprawdzenie poprawności działania systemu, jego niezawodności i ewentualnej potrzeby uwzględnienia redundancji. W symulacji mogą być uwzględnione zagadnienia starzenia się sprzętu i analizy jego pracy podczas użytkowania. Biorąc pod uwagę powyższe kolejne zalety tego typu projektowania to: minimalizowanie ryzyka, podniesienie efektywności procesu wytwarzania produktu, osiągnięcie wyższej jakości w krótszych okresach.

Główne elementy środowiska Projektowanie z wykorzystaniem modelowania Środowisko symulacyjno/weryfikacyjne

Wybrane gałezie przemysłu korzystające z CAD/CAE/CAM Lotniczy Kosmiczny Motoryzacja Chemia Energetyka Transport/logistyka

Współczesny proces projektowania [1]

Symulacja jest podejściem do analizy systemu dynamicznego w celu możliwości zapoznania się niejako od wewnątrz z zachowaniem tego systemu. Symulacja prowadzi do wykonywania eksperymentów na modelu systemu przy czym symulowany system odnosi się do rzeczywistego obiektu natomiast symulowany model jest jego abstrakcją.

Przykładowy proces powstawania satelity [1] Phases and milestones in space projects PSP - Product Structure Plan

System za wyjątkiem elementów pasywnych może być zazwyczaj przedstawiony za pomocą abstrakcji składającej się z sterowań (oddziaływań) oraz fizyki (modelu) obiektu, na który oddziałujemy Projektowanie i weryfikacja takich systemów obecnie oparte są na drodze symulacyjnej. Modelowane są zjawiska fizyczne zachodzące w obiekcie sterowania (elektryczne, mechaniczne, termodynamiczne, dynamika płynów itd.) oraz oddziałujący na model system sterowania. Realizacja poszczególnych zjawisk może być prowadzona z różnym poziomem odwzorowania detali. Kryteria techniczne prowadzenia symulacji tak pojętego systemu dotyczą analizy, współpracy i interakcji wszystkich elementów systemu otrzymywania rezultatów symulacji jako systemu rozumianego jako całość Otrzymanego za pomocą modelowania: składowych systemu i ich funkcjonalności, interfejsów, metod współpracy i interakcji podczas połączeń i działania, zjawisk zewnętrznych, które mogą zaistnieć w trakcie pracy systemu.

Szczegółowość oraz złożoność modelowania systemu wynika z zapotrzebowania procesu inżynierskiego. Modele symulacyjne zawierają funkcjonalność docelowych urządzeń uwzględniając np. protokoły komunikacyjne, tryby pracy, zużycie energii itd. Jednak w modelu nie jest najważniejsze dokładne odwzorowanie samego sposobu działania danego komponenetu, a raczej jego znaczenie w systemie i uwzględnienie sposobu działania z innymi elementami. W związku z tym mogą być zastosowane uproszczenia modeli jednak oczywiście do granicy określonej przez założoną dokładność i funkcjonalność modelu.

Zasadniczo odchodzi się od analizowania oddzielnie różnych aspektów modelowanego systemu np. oddzielnego modelu mechanicznego i elektrycznego czy termodynamicznego. Podejście nazwane "model-based development and verification zostało zastosowane do satelity CryoSat 1 przez Europejską Agencję kosmiczną gdzie model prototypowy został całkowicie zastąpiony przez symulacje.

Ograniczenie ryzyka takiego podejścia uzyskuje się przez: Projektowaniu w miarę możliwości z wykorzystaniem standardowych komponentów przesymulowanie rozpatrywanych konfiguracji przez ich realizacją sprzętową oraz szerokie wykorzystanie technik symulacyjnych, aby wspierać wszystkie ważne etapy weryfikacji projektu systemu, Jest to podejście nazwane "Assembly, Integration and Testing", (AIT).

Weryfikacja oznacza sprawdzenie, czy wszystkie zdefiniowane wymagania systemowe, które są określone w dokumencie wymagań formalnych, są spełnione. Dowód może być osiągnięty przez analizę obliczeń, symulacji, testów i kontroli - metody dobrane są w zależności od rodzaju wymagań. Walidacja jest, po to aby sprawdzić, że system, wykonuje, jak pierwotnie zakładano np. o ładowności, że zapewnia obrazy o określonej rozdzielczości itd.

Współczesne złożone systemy takie jak samoloty, samochody, statki kosmiczne lub inne złożone maszyny współcześnie budowane są jako zestaw wyposażenie sprzętowe i oprogramowanie sterujące OBC On-board computer OBSW On-board software

Rysunek przedstawia proces rozwoju jako klasyczny model V, składający się z gałęzi: projektowania i weryfikacji. Ten model jednak dla całego systemu, składa się z zestawu połączonych V-etapów. Można go odczytać w następujący sposób - od prawej do lewej: Aby móc sprawdzić szczegółowe wymagania na system (w tym przypadku statek kosmiczny) przez testowanie systemu, oprogramowanie dla docelowego komputera musi być dostępne Oznacza to, integracja sprzętu (HW) / oprogramowania (SW) musi być zakończona w tym etapie. W celu sprawdzenia prawidłowej integracji HW / SW, już wstępnie zweryfikowane oprogramowanie sterujące musi być dostępne. I wreszcie, aby móc wcześniej sprawdzić oprogramowanie dla zintegrowanych algorytmów sterowania - na przykład do kontroli położenia - dane referencyjne muszą być dostępne. Te ostatnie pochodzą z kampanii weryfikacji algorytmu, który też musi być już zakończone w tym punkcie.

Rysunek V ponadto wskazuje na ważny fakt dotyczący modelowania i weryfikacji systemu i koniecznej infrastruktury. Do weryfikacji wszystkich testów funkcjonalności, infrastruktura sprzętowoprogramowa jest potrzebna, niezależnie od szczebla - najprostszej weryfikacji algorytmu, aż do bardzo złożonych testów systemowych najwyższego poziomu. Więc w rozwoju systemu do projektowania i badania należy przewidzieć środowisko: dla algorytmów sterowania, do transformacji algorytmów do kodu oprogramowania na docelowym sprzęcie (przed zintegrowaniem ze sprzętem docelowym), do integracji sprzętu / oprogramowania i wreszcie, dla całego systemu - tu statków kosmicznych - w tym zintegrowanego komputera pokładowego.

W początkowym etapie, fizyka systemu jest modelowana - w oprogramowaniu lub w stanowisku badawczym i opracowane algorytmy sterowania są włączone do sterowania systemem. Algorytmy w większości nie zostały jeszcze wdrożone w języku programowania docelowego, ani dla docelowego sprzętu. Ten rodzaj testu jest nazywany "Algorytm w pętli". "Algorithm in the Loop Po drugie, algorytmy są zakodowane w języku docelowym. Oprogramowanie sterujące jest wykorzystane do sterowania systemem. Ten rodzaj badań jest nazywany "Oprogramowanie w pętli". "Software in the Loop Trzecim krokiem jest załadowanie oprogramowania sterującego do komputera docelowego. Zasada ta nazywa się "Sterownik w pętli". Pierwszy etap badań to integracja oprogramowania na komputerze docelowym. "Controller in the Loop Czwarty i ostatni etap testowania systemu to oprogramowania sterującego w sprzęcie docelowym teraz kontrolować modelowany system. Ta faza nazywana jest "Komputery w pętli". "Hardwarein the Loop

Oprogramowanie wspomagające projektowanie/symulację/testowanie Matlab http://www.mathworks.com/products/matlab/ LabView http://poland.ni.com/labview SciLab http://www.scilab.org/ Modelica https://www.openmodelica.org/ GnuOctave https://www.gnu.org/software/octave/ i wiele innych mniej znanych

Matlab wybrane toolboxy na potrzeby budowania prototypów i wdrażania MATLAB Coder Generate C and C++ code from MATLAB code MATLAB Compiler Build standalone applications and software components from MATLAB programs Simulink Coder Generate C and C++ code from Simulink and Stateflow models Simulink PLC Coder Generate IEC 61131-3 Structured Text for PLCs and PACs Simulink Real-Time Build, run, and test real-time applications Real-Time Windows Target Run Simulink models in real time on Microsoft Windows PCs 164 third party solutions Real-Time simulation Programming Raspberry Pi with Simulink Arduino Support from MATLAB

Matlab Coder MATLAB Coder generates standalone C and C++ code from MATLAB code. The generated source code is portable and readable. MATLAB Coder supports a subset of core MATLAB language features, including program control constructs, functions, and matrix operations. It can generate MEX functions that let you accelerate computationally intensive portions of MATLAB code and verify the behavior of the generated code.

Matlab Coder C or C++ source code enables you to: Prototype on PCs Create a library Implement as embedded code The MEX function can be called in place of the original MATLAB code to: Verify the compiled code back in MATLAB Accelerate the execution

Matlab Coder ANSI/ISO compliant C and C++ code generation MEX function generation for fixed-point and floating-point math Project management tool for specifying entry points, input data properties, and other code-generation configuration options Static or dynamic memory allocation for variable-size data Code generation support for many functions and System objects in Communications System Toolbox, Computer Vision System Toolbox, DSP System Toolbox, and Phased Array System Toolbox Support for common language matlab features, including matrix operations, subscripting, program control statements (if, switch, for, while), and structures MATLAB Coder works with Simulink Coder and Embedded Coder to generate C code from Simulink models that contain MATLAB code. The generated C code can be used for: Standalone execution Integration with other software Accelerating MATLAB algorithms Embedded implementation

MATLAB Compiler MATLAB Compiler lets you share MATLAB programs as standalone applications or shared libraries for integration with common programming languages. Applications and libraries created with MATLAB Compiler use the MATLAB Compiler Runtime, which enables royalty-free deployment to users who do not have MATLAB. You can package the MATLAB Compiler Runtime with the application or have your users download it during installation.

Matlab Compiler Packaging of your MATLAB programs as standalone applications or shared libraries Royalty-free distribution of applications to users who do not have MATLAB Integration of MATLAB programs into Java, Microsoft.NET, and Excel applications using MATLAB builder products Large-scale deployment of MATLAB programs using MATLAB Production Server Encryption of MATLAB code to protect your intellectual property

Matlab Compiler

Matlab Compiler

Simulink Coder Simulink Coder (formerly Real-Time Workshop ) generates and executes C and C++ code from Simulink diagrams, Stateflow charts, and MATLAB functions. The generated source code can be used for real-time and nonreal-time applications, including simulation acceleration, rapid prototyping, and hardware-in-the-loop testing. You can tune and monitor the generated code using Simulink or run and interact with the code outside MATLAB and Simulink.

Simulink Coder ANSI/ISO C and C++ code and executables for discrete, continuous, or hybrid Simulink and Stateflow models Incremental code generation for large models Integer, floating-point, and fixed-point data type support Code generation for single-rate, multirate, and asynchronous models Single-task, multitask, and multicore code execution with or without an RTOS External mode simulation for parameter tuning and signal monitoring

Simulink Coder Compiling and Executing Generated Code Simulink Coder offers built-in support for compilation and execution of generated code with popular desktop environments, including: Eclipse IDE Microsoft Visual C++ IDE Linux operating system Windows operating system

PLC Coder Simulink PLC Coder generates hardware-independent IEC 61131-3 Structured Text from Simulink models, Stateflow charts, and Embedded MATLAB functions. The Structured Text is generated in PLCopen XML and other file formats supported by widely used integrated development environments (IDEs). As a result, you can compile and deploy your application to numerous programmable logic controller (PLC) and programmable automation controller (PAC) devices. Simulink PLC Coder generates test benches that help you verify the Structured Text using PLC and PAC IDEs and simulation tools. Support for industry standards is available through IEC Certification Kit (for IEC 61508 and IEC 61511).

PLC Coder Automatic generation of IEC 61131-3 Structured Text Simulink support, including reusable subsystems, PID controller blocks, and lookup tables Stateflow support, including graphical functions, truth tables, and state machines Embedded MATLAB support, including if-else statements, loop constructs, and math operations Support for multiple data types, including Boolean, integer, enumerated, and floating-point, as well as vectors, matrices, buses, and tunable parameters IDE support, including 3S-Smart Software Solutions CoDeSys, Rockwell Automation RSlogix 5000, Siemens SIMATIC STEP 7, Omron Sysmac Studio, and PLCopen XML Test-bench creation Simulink PLC Coder generates test benches that help you verify the Structured Text using PLC and PAC IDEs and simulation tools.

PLC Coder Simulink PLC Coder can output Structured Text in a variety of file formats used by third-party IDEs. File formats supported by Simulink PLC Coder include: 3S-Smart Software Solutions CoDeSys B&R Automation Studio Beckhoff TwinCAT Omron Sysmac Studio KW-Software MULTIPROG Phoenix Contact PC WORX Rockwell Automation RSLogix 5000 Siemens SIMATIC STEP 7 IDE IDEs that use generic ASCII files PLCopen XML

Simulink Real-Time Simulink Real-Time lets you create real-time applications from Simulink models and run them on dedicated target computer hardware connected to your physical system. It supports real-time simulation and testing, including rapid control prototyping, DSP and vision system prototyping, and hardware-in-the-loop (HIL) simulation. With Simulink Real-Time you can extend your Simulink models with driver blocks, automatically generate real-time applications, define instrumentation, and perform interactive or automated runs on a dedicated target computer equipped with a real-time kernel, multicore CPU, I/O and protocol interfaces, and FPGAs. Simulink Real-Time and Speedgoat target computer hardware are expressly designed to work together to create real-time systems for desktop, lab, and field environments. Simulink Real-Time can also be used with custom target computer and I/O hardware

Simulink Real-Time Automatic generation of real-time applications from Simulink models targeting dedicated CPUs, I/O and protocol hardware, and FPGAs (with HDL Coder ) Multitasking and multicore real-time kernel with microsecond granularity and concurrent execution support Speedgoat target computer hardware integration for turnkey desktop, lab, and field use Driver blocks for I/O, including analog, digital, pulse train, encoders, transformers, passive components, serial, audio, shared memory, and reconfigurable FPGA Driver blocks for protocols and data buses, including Raw Ethernet, real-time UDP, CAN, EtherCAT, EtherNet/IP, Lin, SAE J1939, FlexRay, Camera Link, USB video, ARINC 429, and MIL-STD-1553 Simulink Real-Time Explorer with gigabit Ethernet connection to multiple target computers for management, execution, and instrumentation of real-time applications Standalone operation of real-time applications with high-resolution signal display MATLAB functions for test scripting, and APIs for developing standalone client applications and user interfaces (Visual Basic, C/C++, Java, and.net)

dspace Jest to sprzętowo-programowy system czasu rzeczywistego oparty o środowisko Matlab/Simulink Modelowanie (host computer) realizowane jest klasycznie w Matlabie/Simulinku natomiast wykonywanie modelu (target computer) wykonywane jest na platformie sprzętowej z procesorem/procesorami sygnałowymi DSP. Dzięki temu uzyskuje się dużą rozdzielczość czasową. Rozwija firma dspace GMBH. Znajduje szerokie zastosowanie w przemyśle samochodowym i lotniczym

dspace

Real-Time Workshop RTW jest rozszerzeniem możliwości Matlaba i Simulinka umożliwiającym automatyczne generowanie, porządkowanie i kompilację kodu źródłowego z modeli w postaci Simulinka w celu wykorzystania w aplikacjach czasu rzeczywistego różnego typu.

Cechy RTW RTW stanowi narzędzie generowania kodu źródłowego dedykowanego dla danego środowiska uruchomieniowego umożliwiając tzw. szybkie prototypowanie i wdrażanie.

RTW Wraz z innymi narzędziami i komponentami Matlaba i Simulinka RTW cechuje: Automatyczne generowanie kodu dostosowane do różnych platform docelowych Szybka i prosta ścieżka od projektu systemu do jego implementacji Integracja z Matlabem i Simulinkiem Prosty, graficzny interfejs użytkownika Otwarta architektura i rozszerzalny proces budowy aplikacji

RTW Poniższy diagram prezentuje proces generowania kodu źródłowego z Simulinka za pomocą RTW

Główne składniki RTW Generator kodu Simulinka (ang. Simulink Code Generator) Automatycznie generuje kod w języku C z modelu Simulinka Proces tworzenia aplikacji (ang. Make Process) Proces tworzenia aplikacji w RTW rozszerzalny przez użytkownika umożliwia skonfigurowanie procesów kompilacji i linkowania kodu generowanego dla potrzeb użytkownika lub dla celów szybkiego prototypowania Tryb zewnętrzny Simulinka (ang. Simulink External Mode) Tryb zewnętrzny umożliwia komunikację pomiędzy Simulinkiem i modelem wykonywanym w środowisku czasu rzeczywistego lub w innym procesie na tym samym komputerze. Tryb zewnętrzny umożliwia strojenie parametrów, zapisywanie danych oraz wizualizację stanu procesu w trakcie wykonywania modelu.

Główne składniki RTW Wsparcie docelowości (ang. Targetting support) Wykorzystując docelowości załączone w RTW można budować systemy czasu rzeczywistego i środowiska prototypowania. Zarówno podstawowe jak i dodatkowe docelowości czasu rzeczywistego dostarczają struktury dla budowy konfigurowalnego szybkiego prototypowania lub budowy środowisk docelowych. Dodatkowo opcjonalne środowiska Real-Time Windows Target oraz xpc Target umożliwiają wykorzystanie niemal dowolnego PCta w system docelowy lub system szybkiego prototypowania. W celu uwzględnienia możliwości poszczególnych mikroprocesorów opcjonalny toolbox Real-Time Embbeded Coder umożliwia uruchamiania kodu RTW w różnych środowiskach mikroprocesorowych. odwzorowane w RTW i umożliwia generowanie kodu w sposób przyrostowy dla hierarchii niezależnych składników modeli

Główne składniki RTW Szybkie symulowanie (ang. Rapid Simulations) Wykorzystując tryb szybkiego symulowania, w S-funkcji lub szybkim symulowaniu można przyspieszyć wykonywanie symulacji średnio od 5 do 20 razy. Pliki wykonywalne w tych systemach omijają normalny tryb interpretatora Simulinka. Kod generowany przez Szybkie symulowanie, docelową S-funkcję i docelowe szybkie symulowanie jest wysoko optymalizowany do wykonywania wyłącznie algorytmów zawartych w modelu użytkownika. Dodatkowo generator kodu stosuje wiele technik optymalizujących takich jak likwidowanie zer i jedynek w obliczeniach dla bloków filtrów Modelowanie wielkiej skali (ang. Large-scale modeling) Wsparcie dla modelowania wielopoziomowego z Simulinka jest

Budowa aplikacji z RTW Określenie wymogów aplikacji Konfiguracja ustawień generowania kodu Uruchomienie narzędzia wspomagającego (ang. Model Advisor Tool) Ewentualna korekta ustawień konfiguracyjnych z wykorzystaniem raportu z narzędzia wspomagającego Generowanie kodu z modelu Simulinka Ewentualne powtórzenie operacji 2-5 Zbudowanie obrazu programu wykonywalnego Weryfikacja wyników generowanych przez program wykonywalny w porównaniu do wyników oryginalnego modelu Simulinka Zachowanie konfiguracji dla której dokonano generowania kodu Wykorzystanie narzędzia generowania raportu (ang. Report Generator) do automatycznego udokumentowania projektu

Budowa aplikacji z RTW

Przykład RTW Model układu sterowania

Parametry symulacji Przykład RTW

Przykład RTW System docelowy (ang. Target system)

Przykład RTW Obsługiwane systemy docelowe przez RTW

Po skompilowaniu otrzymujemy i możemy uruchomić skompilowany plik

W celu uruchomienia modelu w tzw. trybie zewnętrznym Simulinka ustawiamy w opcji Interface tryb External mode

Z menu Tools wybieramy opcję External Mode Control Panel i wybieramy opcję Signal&Triggering

Następnie wydajemy polecenie!pid tf inf w & w oknie External Mode Control Panel wybieramy komendę Connect, a później Start Real-Time Code. Otwierając okna oscyloskopów można obserwować przebiegi zmiennych. Ewnentualne zmiany parametrów w trakcie symulacji muszą być przesłane do modelu za pomocą opcji z menu Edit/Update Diagram. Aby zakończyć symulację wybierz opcję Stop Real-Time Code z External Mode Control Panel.

xpc oraz Raspberry PI zostaną przedstawione w osobnej prezentacji

Komunikat od dra MG Zajęcia laboratoryjne zaczynają się 4 listopada! Materiały dydaktyczne do laboratoruim będą dostępne tydzień wcześniej.

Bibliografia J. Eickhoff, Simulating Spacecraft Systems, Springer Aerospace Technology Springer- Verlag Berlin Heidelberg 2009 Materiały informacyjne/dokumentacja firmy Mathworks Simulink Coder PLC Coder Matlab Compiler