Matlab na Akademii ABB: w szkole tego nie uczą

Sławomir Dolecki

Tematem ostatniego w ubiegłym roku wykładu Akademii ABB był „Model-based design: automated code generation”.

Zagadnienie, które jest równie skomplikowane, co jego nazwa, a do tego nie ma go w programie nauczania, wzbudziło ogromne zainteresowanie studentów.

Po dość popularnych (choć prezentowanych w zaawansowanej formule) zagadnieniach dotyczących automatyki budynków czy robotyzacji, przyszedł czas na coś zupełnie dla studentów odkrywczego. Automatyczna generacja kodu w środowisku Matlab Simulink przyciągnęła na wykłady przede wszystkim słuchaczy kierunków automatyki i robotyki, dla których najnowocześniejsze technologie mogą stać się w nieodległej przyszłości kluczem do uzyskania przewagi na rynku pracy.

– Temat wykładu odnosił się do modelowania systemów przy użyciu pakietu oprogramowania Matlab Simulink, który pozwala na przedstawienie zaawansowanych algorytmów w postaci graficznej, a dodatkowo automatycznie generuje kod C++ z takiego schematu blokowego – tłumaczy Paweł Błaszczyk z Centrum Badawczego ABB, który wspólnie z Piotrem Hałatem przygotował i prowadził zajęcia. – Dzięki wykorzystaniu tej technologii oszczędzamy czas i zyskujemy na przejrzystości całego projektu.

– Ten wygenerowany kod produkcyjny pracuje później na konkretnym urządzeniu, najczęściej na konwerterze energii elektrycznej – dodaje Piotr Hałat. – Jest to narzędzie bardzo pomocne przy szybkim prototypowaniu i symulacji pracy kodu w warunkach rzeczywistych.

A jakie niesie to za sobą korzyści? Paweł Błaszczyk tłumaczy:

– Pakiet Simulink możemy wykorzystać na przykład do generacji kodu na mały procesor, który posłuży nam za element składowy inteligentnego budynku, sterując ogrzewaniem. Przed montażem będziemy w stanie przeprowadzić symulację systemu, która pozwoli nam na dobór odpowiednich komponentów, zapewniających ogrzanie pomieszczenia w odpowiednim czasie i o wskazanych porach.

Akademia ABB - Matlab

Warsztat pracy i niebezpieczeństwa

Temat łatwy nie jest, ale wyzwaniem okazał się także dla studentów, którzy nie mają możliwości poznania go podczas zajęć na uczelni. Z tego względu wykład cieszył się ogromnym zainteresowaniem.

– Zaprezentowaliśmy podstawy zagadnienia, ponieważ chodziło przede wszystkim o to, by w ogóle ruszyć ten temat – mówi Piotr Hałat. – Pytania, które się pojawiały sugerowały brak nawet podstawowej wiedzy w tym zakresie, ale z drugiej strony liczba i charakter pytań nie pozostawiały wątpliwości, że temat jest interesujący.

Obaj wykładowcy mówili nie tylko o teorii i oprogramowaniu, ale także o własnym warsztacie pracy i niebezpieczeństwach, jakie czyhają na programistów na każdym etapie generacji kodu i jego symulacji. Pojawił się także temat programowania „agile”, czyli „zwinnego”, co jest dzisiaj tematem numer jeden w tej dziedzinie.

– Automatyczna generacja kodu to zagadnienie z pogranicza informatyki, ponieważ wykorzystujemy narzędzia i oprogramowanie, oraz matematyki, gdyż mamy systemy sterowania i równania odpowiedzialne za to, również równania różniczkowe. Ale z trzeciej strony dotykamy fizyki i elektrotechniki, ponieważ modelujemy rzeczywiste zjawiska, które zachodzą w systemie energetycznym – tłumaczy Paweł Błaszczyk. – Wykład był więc skierowany do studentów zainteresowanych nowoczesnymi i bardzo zaawansowanymi technologiami, którzy chcą się dowiedzieć w jaki sposób wygląda nie tylko samo programowanie, ale także cały cykl życia produktu i system, na który składa się zarówno kod, jak i część fizyczna.

Akademia ABB - Matlab Simulink

Pytali nie czekając na przerwę

Choć temat nie jest prosty i brakuje go w programie wyższych szkół technicznych, to zdaniem Pawła Błaszczyka studenci mają wystarczające podstawy matematyczne, by szybko przyswoić sobie to zagadnienie. Brakuje im jedynie poznania procesów oraz sposobów, w jakie można postawione zadanie rozwiązać. A zainteresowanie odkryciem tych „tajemnic” było spore. Paweł Błaszczyk nazwał nawet całą 30-osobową grupę uczestniczącą w zajęciach, jako responsywną.

– Przerywali nam, zadawali pytania nie czekając na przerwę, natychmiast oczekiwali dodatkowych wyjaśnień – podkreśla naukowiec.

– Oczywiście pierwszym i naturalnym pytaniem, jakie padło, było pytanie o to, który kod jest lepszy – wygenerowany automatycznie czy napisany ręcznie. O to pytają wszyscy, którzy pierwszy raz spotykają się z tematem automatycznej generacji kodu – dodaje Piotr Hałat. – I oczywiście najprostsza odpowiedź brzmi: „to zależy od przypadku”.

Doświadczony programista napisze kod lepiej, ale korzystając z model-based design i automatycznej generacji kodu możemy jednocześnie ten sam model użyć do generacji kodu C++ oraz do symulacji, testów itd. Co znacznie usprawnia pracę.

Poza tym młodzi robotycy i automatycy pytali o różne typy procesorów i widać było, że mieli już do czynienia z różnego rodzaju urządzeniami. Pytali także o technologie, które są najbardziej przyszłościowe, i w którym kierunku powinni się szkolić, by w przyszłości być konkurencyjnymi na rynku pracy.

Akademia ABB

Zrobimy to jeszcze raz

„Model-based design: automated code generation”, choć to temat niszowy i bardzo skomplikowany, cieszył się ogromnym zainteresowaniem, ponieważ frekwencja była naprawdę wysoka. Dlatego też organizatorzy spotkania zastanawiają się nad kontynuacją. Jednak nie będzie to kolejne, bardziej zaawansowane rozwinięcie zagadnienia:

– Raczej powtórzymy ten wykład dla kolejnej grupy studentów. Zrobimy jeszcze raz to samo, ponieważ temat jest trudny i każdej kolejnej grupie trzeba go wyjaśniać od podstaw – uważa Piotr Hałat. – Zależy nam na promowaniu automatycznej generacji kodu, ponieważ w Centrum Badawczym ABB proces ten jest coraz częściej i chętniej wykorzystywany, więc z naszego punktu widzenia jest bardzo ważne, żeby studenci, z którymi być może kiedyś spotkamy się na stopie zawodowej, mieli z tym kontakt już wcześniej.

O autorze

Sławomir Dolecki

Jestem niezależnym dziennikarzem, reporterem i redaktorem. Specjalizuję się w tematyce związanej z energetyką, infrastrukturą krytyczną i ochroną środowiska. Z firmą ABB jestem związany od roku 1998, niemal od samego początku współtworzę kwartalnik dla klientów „Dzisiaj” i magazyn dla pracowników „Flesz”.
Related stories
Skomentuj ten artykuł
Wskazówki dla społeczności
  • Piotr Grasza

    A co to takiego "równania różyczkowe"?