Systemy Czasu Rzeczywistego (SCR)

Podobne dokumenty
Systemy Czasu Rzeczywistego (SCR)

Szybkie prototypowanie w projektowaniu mechatronicznym

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

Prototypowanie systemów sterowania

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR)

Wprowadzenie do Real-Time Windows Target Toolbox Matlab/Simulink

Materiały dodatkowe. Simulink Real-Time

Opracował: Jan Front

Materiały dodatkowe. Simulink PLC Coder

Sterowniki Programowalne (SP)

Regulator PID w sterownikach programowalnych GE Fanuc

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Systemy Czasu Rzeczywistego (SCR)

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

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

Metody integracji systemów sterowania z wykorzystaniem standardu OPC

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

Szybkie prototypowanie z wykorzystaniem systemu modułowego dspace DS1005 oraz oprogramowania RTI i ControlDesk

Materiały dodatkowe. Raspberry Pi

Schemat blokowy karty

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Sterowniki Programowalne (SP) - Wykład #1 Wykład organizacyjny

Szczegółowy Opis Przedmiotu Zamówienia: Zestaw do badania cyfrowych układów logicznych

Szybkie prototypowanie z wykorzystaniem sterownika dspace DS1104 oraz oprogramowania RTI i ControlDesk

Wybrane środowiska szybkiego prototypowania

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

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

Metody optymalizacji soft-procesorów NIOS

Podstawowe zagadnienia

Systemy wbudowane. Paweł Pełczyński

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

2.2 Opis części programowej

OPBOX ver USB 2.0 Miniaturowy Ultradźwiękowy system akwizycji danych ze

WPROWADZENIE Mikrosterownik mikrokontrolery

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Czujniki obiektowe Sterowniki przemysłowe

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Realizacje regulatorów PID w sterownikach PLC Siemens S7-1200

sterownik VCR v 1. 0

PROGRAMOWALNE STEROWNIKI LOGICZNE

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

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

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Mechatronika i szybkie prototypowanie układów sterowania

Instytut Systemów Elektronicznych. Specjalność Systemy Informacyjno-Pomiarowe

Sterowniki Programowalne Sem. V, AiR

Oprogramowanie komputerowych systemów sterowania

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

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

PRZEWODNIK PO PRZEDMIOCIE

ECTS - program studiów kierunku Automatyka i robotyka, Studia I stopnia, rok akademicki 2015/2016

Simulink MATLAB Przegląd obiektów i przykłady zastosowań

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

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

Algorytmy sztucznej inteligencji

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Projektowanie bazujące na modelach

Opis efektów kształcenia dla modułu zajęć

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

PRZEWODNIK PO PRZEDMIOCIE

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

PLAN STUDIÓW - STUDIA STACJONARNE I STOPNIA kierunek: automatyka i robotyka

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

Inteligentny czujnik w strukturze sieci rozległej

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Rok akademicki: 2030/2031 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Regulator PID w sterownikach programowalnych GE Fanuc

PRZEWODNIK PO PRZEDMIOCIE

Sterowniki Programowalne (SP) Wykład 11

Kurs Zaawansowany S7. Spis treści. Dzień 1

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

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

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Tom 6 Opis oprogramowania

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

1.1. Wymogi bezpieczeństwa Pomoc techniczna TIA Portal V13 instalacja i konfiguracja pakietu...18

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Laboratorium Komputerowe Systemy Pomiarowe

Podstawy programowania sterowników SIMATIC S w języku LAD / Tomasz Gilewski. Legionowo, cop Spis treści

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

Transkrypt:

SKiTI2017 Systemy Czasu Rzeczywistego (SCR) Wykład 6: Szybkie prototypowanie układu sterowania RPC oraz symulacji w pętli sprzętowej HIL aspekty wybrane realizacji z wykorzystaniem środowiska Matlab/Simulink WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok II, semestr IV dr inż. Tomasz Rutkowski 2017

Plan wykładu Projektowanie systemu sterowania: RCP, HIL, Zagadnienia związane z automatycznym generowaniem kodu w środowisku Matlab/Simulink: Matlab Coder Simulink Coder Embeded Coder SimulinkPLC Coder (MATLAB) (SIMULINK) (SIMULINK) (SIMULINK) Szybkie prototypowanie i symulacja w pętli sprzętowej, czyli Matlab/Simulink jako środowiska czasu rzeczywistego: Simulink Desktop Real-Time Simulink Real Time (SOFT REAL-TIME) (HARD REAL-TIME) Sprzętowe środowiska czasu rzeczywistego: dspace

Model tworzenia systemu sterowania Modelowanie i symulacja Integracja i testowania Szybkie prototypowanie układu sterowania RCP (ang. Rapid Control Prototyping) Symulacja w pętli sprzętowej HIL (ang. Hardware In the Loop) Implementacja 3

MATLAB Coder 4

MATLAB Coder MATLAB Coder generuje niezależny kod C/C++ (zgodny z ANSI/ISO) bezpośrednio z kodu języka MATLAB Wygenerowany kod źródłowy jest przenośny i czytelny MATLAB Coder wspiera podzbiór cech i właściwości języka MATLAB (instrukcje sterujące, funkcje, operacje macierzowe, )

MATLAB Coder Z języka Mataba do MEX-funkcji: Matlab Coder na generowanie MEX-funckcji, co pozwala na przyspieszenie wykonywania w środowisku Matlaba algorytmów zapisanych w tych funkcjach MEX-funjcje to podprogramy (pliki binarne) dynamicznie linkowane i wykonywane przez interpreter Matlaba Z C, C++, Fortrana do MEX-funkcji: W przypadku gdy użytkownik dysponuje własnym kodem (programami w C, C++ lub Fortranie), można się do niego odwołać bez konieczności jego przepisania z wykorzystaniem języka Matlaba

MATLAB Coder Ogólny schemat działania MATLAB Coder Źródło: Matlab Coder

MATLAB Coder- przykład Przykład działania MATLAB Coder Źródło: Matlab Coder

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie przykładowych danych testowych

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie przykładowych danych testowych 1.5 1 0.5 0-0.5-1 0 200 400 600 800 1000 1200

MATLAB Coder- przykład Przykład działania MATLAB Coder: generowanie MEX-funkcji

MATLAB Coder- przykład Przykład działania MATLAB Coder: generowanie MEX-funkcji

MATLAB Coder- przykład Przykład działania MATLAB Coder: weryfikacja poprawności działania wygenerowanej MEX-funkcji

MATLAB Coder- przykład Przykład działania MATLAB Coder: weryfikacja poprawności działania wygenerowanej MEX-funkcji

MATLAB Coder- przykład Przykład działania MATLAB Coder: weryfikacja poprawności działania wygenerowanej MEX-funkcji

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie kodu w C samodzielna biblioteka

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie kodu w C samodzielna biblioteka

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie kodu w C samodzielna biblioteka

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie kodu w C samodzielna biblioteka cdn

MATLAB Coder- przykład Przykład działania MATLAB Coder: wygenerowanie kodu w C samodzielna biblioteka end

SIMULINK Coder 21

SIMULINK Coder SIMULINK Coder (dawniej we wcześniejszych wersjach Real-Time Workshop RTW) generuje i uruchamia samodzielny kod C/C++ do rozwijania i testowania algorytmów modelowanych w Simulinku (z wykorzystaniem przybornika Stateflow czy funkcji Matlaba) Kod wynikowy może być wykorzystany w aplikacjach czasu rzeczywistego jak i w aplikacjach nie będących aplikacjami czasu rzeczywistego Kod wynikowy wykorzystuje się w takich celach jak przyspieszanie symulacji, szybkie prototypowanie i testowanie z wykorzystaniem technik rapid-control-prototyping (RCP) oraz hardware-in-the-loop (HIL), Kod wynikowy może być generowany dla trzech różnych grup systemów docelowych (target environments): komputer host z Matlab/Simulink, wbudowane układy mikroprocesorowe czy symulatory czasu rzeczywistego

SIMULINK Coder Podstawowe grupy systemów docelowych (target environments): Źródło: Simulink Coder

SIMULINK Coder Podstawowe grupy systemów docelowych: komputer host z Matlab/Simulink (host executable): typowo to ten sam komputer (host) klasy PC, na którym uruchomione jest środowisko Matlab/Simulink w systemie operacyjnym nie będącym systemem czasu rzeczywistego (niedeterministyczny OS) wbudowane układy mikroprocesorowe (embedded microprocessor): komputer który może być odłączony od komputera hosta, w takim przypadku może funkcjonować jako autonomiczny, samodzielny komputer, stanowiący część większego systemu, pracujący pod kontrolą systemu operacyjnego czasu rzeczywistego (RTOS) deterministycznego OS symulatory czasu rzeczywistego (real-time simulator): jest to inny komputer niż komputer host, może to być komputer klasy PC pracujący pod kontrolą systemu operacyjnego czasu rzeczywistego (RTOS), wygenerowany kod uruchamia się na tej platformie w czasie rzeczywistym Źródło: Simulink Coder

SIMULINK Coder Przykłady specyficznych typy systemów docelowych: Źródło: Simulink Coder

SIMULINK Coder SIMULINK Coder pozwala interaktywnie dostrajać i monitorować generowany kod używając bloków Simulinka i wbudowanych możliwości analizy do uruchamiania i interakcji z kodem poza środowiskiem MATLABa i Simulinka Tworzy kod ANSI/ISO C i programy wykonywalne dla modeli dyskretnych, ciągłych i hybrydowych Obsługuje cechy słownika danych Simulinka dla całkowitych, zmienno- i stałoprzecinkowych typów danych Tworzy kod dla modeli o jednej i zmiennej częstotliwości próbkowania oraz asynchronicznych Obsługuje jedno- i wielozadaniowe systemy operacyjne oraz środowiska bezoperacyjne (bez systemu operacyjnego) Wykonuje optymalizację kodu polepszającą szybkość uruchamiania programu Pozwala interaktywnie dopasowywać i monitorować utworzony kod wewnątrz lub na zewnątrz Simulinka

SIMULINK Coder Diagram generowania kodu Źródło: Simulink Coder

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

SIMULINK Coder- budowa aplikacji Źródło: Simulink Coder

SIMULINK Coder- budowa aplikacji Źródło: Simulink Coder

SIMULINK Coder- elementy Proces tworzenia aplikacji (ang. Make Process) Proces tworzenia aplikacji, 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.

SIMULINK Coder- elementy 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.

SIMULINK Coder- przykład Model obiektu prosty układ amortyzatora wyrażony równaniem różniczkowym drugiego rzędu

SIMULINK Coder- przykład Ustawienia parametrów symulacji, generowania kodu wynikowego w C, kompilacji: Krok 1: ustawienia parametrów solvera (procedury numerycznej) wykorzystywanego w trakcie symulacji Krok 2: wybór odpowiedniego kompilatora grt.tlc (Generic Real Time Target, Simulink Coder) Krok 3: weryfikacji czy dokonano wyboru odpowiedniego solvera do przeprowadzenia symulacji z zamodelowanym układem Krok 4: generowanie kodu, kompilacja Krok 5: uruchamianie skompilowanego kodu

SIMULINK Coder- przykład Krok 1: parametry symulacji - Solver

SIMULINK Coder- przykład Krok 1: parametry symulacji - Solver

SIMULINK Coder- przykład Krok 2: parametry symulacji - Code Generator

SIMULINK Coder- przykład Krok 2: parametry symulacji - Code Generator

SIMULINK Coder- przykład Krok 2: parametry symulacji - Code Generator

SIMULINK Coder- przykład Krok 2: parametry symulacji - Code Generator

SIMULINK Coder- przykład Krok 2: parametry symulacji - Code Generator (zapis danych wyjściowych)

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal

SIMULINK Coder- przykład Krok 3: symulacyjna weryfikacja ustawień parametrów symulacji - symulacja w trybie Normal Wracamy do poprzednich ustawień solvera procedura numeryczna ode3 procedura numeryczna ode1 w analizowanym przypadku okazała się niestabilna numerycznie

SIMULINK Coder- przykład Krok 4: generowanie kodu w C, kompilacja

SIMULINK Coder- przykład Krok 4: generowanie kodu w C, kompilacja

SIMULINK Coder- przykład Krok 4: generowanie kodu w C, kompilacja

SIMULINK Coder- przykład Model systemu generowanie kodu w C

SIMULINK Coder- przykład Model systemu generowanie kodu w C

SIMULINK Coder- przykład Krok 4: generowanie kodu w C, kompilacja

SIMULINK Coder- przykład Krok 5: uruchamianie skompilowanego kodu

SIMULINK Coder- przykład Krok 5: uruchamianie skompilowanego kodu W wygenerowanych plikach znajduje się cały kod, reprezentujący modelowany system oraz ustawioną na etapie konfiguracji metodę obliczeń numerycznych Konieczne jest jeszcze ustawienie metody zapisu danych wyjściowych uruchomianego na bazie wygenerowanego kodu modelu systemu (do tej pory zostały ustawienia domyślne zapis danych wyjściowych do workspace głównego Matlaba), wymaga to powrotu do Kroku 2 i Kroku 4 opisywanej procedury Wygenerowany kod, po uruchomieniu będzie zapisywał dane wejściowe do pliku *.mat

SIMULINK Coder- przykład Krok 2: parametry symulacji - Code Generator (zapis danych wyjściowych)

SIMULINK Coder- przykład Krok 4: generowanie kodu w C, kompilacja

SIMULINK Coder- przykład Krok 5: uruchamianie skompilowanego kodu Po uruchomieniu w konsoli Windows plik rtwdemo_secondordersystem.exe dane wyjściowe symulacji są zapisane w pliku zewnętrznym *.mat Alternatywnie można wpisać w Matlabie polecenie!rtwdemo_secondordersystem

SIMULINK Coder- przykład Krok 6: weryfikacja danych zapisanych po symulacji

SIMULINK Coder- przykład Krok 6: weryfikacja danych zapisanych po symulacji

Embeded Coder 62

Embeded Coder Rozszerza możliwości MATLAB Coder i Simulink Coder zwłaszcza jeżeli chodzi o systemy czasu rzeczywistego, Generowany kod może być uruchamiany bez lub w systemie operacyjnym czasu rzeczywistego w trybie jednozadaniowym, wielozadaniowym lub asynchronicznym Generuje kod dla wielu typów mikroprocesorów, procesorów sygnałowych o architekturze 8-bitowej, 16- bitowej i 32-bitowej, Wygenerowany kod można przetestować w trybie softwarein-the-loop (SIL) i processor-in-the-loop (PIL)

Embeded Coder Źródło: Embeded Coder

Simulink PLC Coder 65

Simulink PLC Coder Simulink PLC Coder generuje sprzętowo niezależny kod w języku ST (Structured Text) zgodny z normą IEC 61131 z modeli Simulinka, diagramów Stateflow i funkcji Embedded MATLAB, Kod jest generowany do plików w formatach obsługiwanych przez wiele popularnych środowisk (IDE): B&R Automation Studio, PLCopen XML, Rockwell Automation RSlogix 5000, Siemens SIMATIC STEP 7, 3S-Smart Software Solutions CoDeSys, W efekcie można go skompilować i wdrożyć do wielu sterowników programowalnych typu PLC i PAC,

Simulink PLC Coder Źródło: Simulink PLC Coder

Simulink PLC Coder Źródło: Simulink PLC Coder

Simulink Desktop Real-Time 69

Simulink Desktop Real-Time (SLDRT) Simulink Desktop Real-Time pozwala uruchamiać i kontrolować modele Simulinka i Stateflow w czasie rzeczywistym na komputerze PC typu desktop lub laptop Używając Simulink Coder można generować kod C, kompilować go i rozpocząć uruchamianie w czasie rzeczywistym w systemie Windows z równoczesnym wykorzystaniem kart akwizycji danych (kart we/wy dla komputera PC) Inne aplikacje systemu Windows nie przestają pracować w trakcie wykonywania zadania uruchomionego w Simulink Desktop Real-Time

Simulink Desktop Real-Time (SLDRT) Simulink Desktop Real-Time: może pracować w dwóch trybach: normal i external (wymagany SIMULINK Coder), w trybie normal umożliwia próbkowanie do 1 khz w trybie external umożliwia próbkowanie do 20 khz współpracuje z ponad 250 modułami wejść-wyjść (karty akwizycji danych) ora modułami komunikacyjnymi (protokoły UDP, CAN, szeregowy), umożliwia stosowanie graficznego interfejsu użytkownika w celu: wizualizowania sygnałów podczas symulacji używa się tych samych bloków co podczas zwykłej programowej symulacji zmiany parametrów w trakcie symulacji

Simulink Desktop Real-Time (SLDRT) Typowe zastosowania: Symulacje w czasie rzeczywistym opracowywanie prototypów algorytmów sterowania, urządzeń wbudowanych np. peryferiów komputerowych, elementów układów sterowania Symulacje typu RCP i HIL opracowywania sterowników, regulatorów podłączonych do fizycznych obiektów Edukacja zobrazowanie procesu projektowania, testowania, budowy prototypów

Simulink Desktop Real-Time (SLDRT) Działanie: Simulink Desktop Real-Time wykorzystuje małe jądro czasu rzeczywistego w celu zapewnienia wykonania modelu w czasie rzeczywistym. Jądro to wykorzystuje wbudowany w PC zegar jako podstawowe źródło czasu. Jądro przejmuje przerwania z zegara komputera przed otrzymaniem ich przez system operacyjny Windows. Następnie jądro używa przerwań do wyzwalania wykonania skompilowanego modelu. W wyniku takiego podejścia jądro jest w stanie nadać aplikacji czasu rzeczywistego najwyższy możliwy priorytet. W celu uzyskania dokładnego próbkowania jądro przełącza zegar PC na wyższą częstotliwość. Ponieważ jest to również źródło czasu dla systemu operacyjnego, jądro Simulink Desktop Real-Time wysyła do systemu operacyjnego przerwania z oryginalną częstotliwością.

Simulink Desktop Real-Time (SLDRT) Źródło: Simulink Desktop Real-Time

Simulink Desktop Real-Time (SLDRT) Źródło: Simulink Desktop Real-Time

Simulink Desktop Real-Time (SLDRT) Środowisko (sprzęt, system operacyjny): Dowolny PC z Windows od NT4.0 do Win10, wsparcie dla innych systemów operacyjnych (Linux, Mac OS) Karty akwizycji danych dla PC wskazane przez Mathworks, w wykazie znajduje się duża liczba producentów i (ponad 250) konkretnych kart wykorzystujących różne interfejsy: ISA, PCI, PCMCIA Karty posiadają AI, DI, AO, DO, wejścia enkoderów,

Simulink Desktop Real-Time (SLDRT)

Simulink Desktop Real-Time (SLDRT) Karta akwizycji danych Adavantech PCI 1711 Rozdzielczość: 12 bitów Liczba wejść analogowych: 16 SE (ze wspólną masą) Zakresy wejściowe napięciowe: bipolarne Szybkość przetwornika A/C: 100kS/s Liczba wyjść analogowych: 2 Zakresy wyjściowe napięciowe: unipolarne 16 wejść cyfrowych TTL 16 wyjść cyfrowych TTL 1 szesnastobitowy licznik TTL

Simulink Desktop Real-Time (SLDRT) Schemat blokowy karty PCI 1711 http://www.advantech.com

Simulink Desktop Real-Time (SLDRT) Normalizacja i skalowanie we/wy: Bloki we i wy analogowych można skonfigurować tak by w Matlabie/Simulinku można pracować z danymi: w postaci jednostek fizycznych (Volty) w postaci jednostek inżynierskich (znormalizowanych): normalizacja unipolarna normalizacja bipolarna

Simulink Desktop Real-Time (SLDRT) normalizacja bipolarna i unipolarna: 0-5V

Simulink Desktop Real-Time (SLDRT) normalizacja bipolarna i unipolarna: 0-10V

Simulink Desktop Real-Time (SLDRT) -przykład Opis infrastruktury fizycznej analizowanego systemu poza komputerem PC. W analizowanym przykładzie: napięcie wyjściowe z prostego zadajnika w postaci dzielnika napięcia (potencjometr wieloobrotowy) doprowadzone jest na pierwsze wejście analogowe (AI1) karty akwizycji danych, sygnał napięciowy z pierwszego wyjścia analogowego (AQ1) karty akwizycji danych doprowadzony jest (za pomocą pary przewodów) do drugiego wejścia analogowego (AI2) karty akwizycji danych

Simulink Desktop Real-Time (SLDRT) -przykład Opis infrastruktury programowej analizowanego systemu, zaimplementowanej w środowisku Matlab/Simulink SLDRT w komputerze PC.

Simulink Desktop Real-Time (SLDRT) -przykład Opis infrastruktury programowej analizowanego systemu, zaimplementowanej w środowisku Matlab/Simulink SLDRT w komputerze PC. AI1 AO1 AI2

Simulink Desktop Real-Time (SLDRT) -przykład Ustawienia parametrów symulacji i kompilacji zamodelowanego układu: Krok 1: ustawienia parametrów bloków przybornika (SLDRT) związanych np. z we/wy kart analogowych itp.. Krok 2: ustawienia parametrów solvera (procedury numerycznej) wykorzystywanego w trakcie symulacji Krok 3: wybór odpowiedniego kompilatora sldrt.tlc Krok 4: kompilacja zamodelowanego układu Krok 5: uruchamianie skompilowanego kodu

Simulink Desktop Real-Time (SLDRT) -przykład Krok 1: ustawienia parametrów bloków przybornika (SLDRT) związanych np. z we/wy kart analogowych itp..

Simulink Desktop Real-Time (SLDRT) -przykład Krok 1: ustawienia parametrów bloków przybornika (SLDRT) związanych np. z we/wy kart analogowych itp..

Simulink Desktop Real-Time (SLDRT) -przykład Krok 1: ustawienia parametrów bloków

. Simulink Desktop Real-Time (SLDRT) -przykład Krok 1: ustawienia parametrów bloków

Simulink Desktop Real-Time (SLDRT) -przykład Krok 1: ustawienia parametrów bloków

Simulink Desktop Real-Time (SLDRT) -przykład Krok 1: ustawienia parametrów bloków

Simulink Desktop Real-Time (SLDRT) -przykład Krok 2: ustawienia parametrów solvera (procedury numerycznej) wykorzystywanego w trakcie symulacji

Simulink Desktop Real-Time (SLDRT) -przykład Krok 2: ustawienia parametrów solvera (procedury numerycznej) wykorzystywanego w trakcie symulacji

. Simulink Desktop Real-Time (SLDRT) -przykład Krok 2: ustawienia parametrów solvera (procedury numerycznej) wykorzystywanego w trakcie symulacji

Simulink Desktop Real-Time (SLDRT) -przykład Krok 3: wybór odpowiedniego kompilatora sldrt.tlc

Simulink Desktop Real-Time (SLDRT) -przykład Krok 3: wybór odpowiedniego kompilatora sldrt.tlc

. Simulink Desktop Real-Time (SLDRT) -przykład

Simulink Desktop Real-Time (SLDRT) -przykład Krok 4: kompilacja zamodelowanego układu

. Simulink Desktop Real-Time (SLDRT) -przykład 1

Simulink Desktop Real-Time (SLDRT) -przykład Krok 5: uruchamianie skompilowanego kodu

Simulink Desktop Real-Time (SLDRT) -przykład 1 Krok 5: uruchamianie skompilowanego kodu

Simulink Real-Time 103

Simulink Real-Time Simulink Real-Time uruchamia aplikacje generowane przez modele Simulinka i Stateflow używając jądra czasu rzeczywistego na dowolnym komputerze PC Obsługuje dowolny komputer PC jako docelowy system czasu rzeczywistego Uzyskuje próbki z częstotliwością do 100 KHz, w zależności od poziomu wydajności procesora i rozmiaru modelu Wyświetla dane i ślady sygnałów na lokalnym, docelowym lub obu komputerach PC Zapewnia lokalny zintegrowany graficzny interfejs użytkownika

Simulink Real-Time Wykorzystuje się dwa oddzielne komputery PC, jeden PC do projektowania (tzw. host/development computer) i drugi PC do wykonywania modelu czasu rzeczywistego (target computer), Połączenie obu PC za pomocą: RS232 lub TCP/IP, Źródło: Similink Real-Time

Simulink Real-Time Komputer host: jest wyposażony w Matlab/Simulink, SIMULINK Coder, Simulink Real-Time Komputer target: nie potrzebuje systemu operacyjnego DOS, Linux czy Windows., można uruchomić: z dyskietki, która zawiera wysoko zoptymalizowane jądro czasu rzeczywistego Simulink Real-Time wysyłając cały projekt przez sieć TCP/IP Źródło: Similink Real-Time

Simulink Real-Time Źródło: www.mathworks.com

Simulink Real-Time Przykład Źródło: Similink Real-Time

Simulink Real-Time Przykład Źródło: Similink Real-Time

Simulink Real-Time Przykład Po zweryfikowaniu poprawności doboru solvera, układ zostaje skompilowany i wysłany na komputer docelowy (target) gdzie wykonuje się w czasie rzeczywistym

Simulink Real-Time Przykład Źródło: xpc

Simulink Real-Time Przykład Źródło: Similink Real-Time

dspace 113

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 Źródło: www.dspace.com

Bibliografia Matlab Compiler, User s guide, MathWorks 2015 Matalb Coder, User s guide, MathWorks 2015 Simulink Coder, User s guide, MathWorks 2015 Embeded Coder User s guide, MathWorks 2015 SimulinkPLC Coder User s guide, MathWorks 2015 Simulink Real-Time, User s guide, MathWorks 2015 Simulink Desktop Real-Time, User s guide, MathWorks 2015 http://www.mathworks.com

Dziękuję za uwagę!!! 117