Algorytmy dla systemów wbudowanych
ALgorithms for Embedded Systems
Jesteśmy firmą programistyczną specjalizującą się w wytwarzaniu oprogramowania wbudowanego metodą Model-Based Design (MBD).
Zajmujemy się również kompleksowym rozwojem algorytmów sterujących od koncepcji, przez projekt i symulację, aż po implementację na platformach sprzętowych.
Wspieramy naszych klientów przez ...
Projektowanie i implementację algorytmów sterujących
Potrzebują Państwo opracować algorytm sterowania lub przetwarzania sygnałów do nowego produktu? A może kod jest już gotowy, ale wymaga wyczerpującej weryfikacji w środowisku symulacyjnym? Wykorzystując narzędzia takie jak Matlab/Simulink, jesteśmy w stanie zaprojektować i przetestować rozwiązanie w warunkach wirtualnych metodą MBD.
Dzięki temu podejściu możliwe jest szybkie prototypowanie i weryfikacja założeń na wczesnym etapie projektu, co skutkuje zwiększeniem efektywności i jakości końcowych produktów.
Transfer istniejących rozwiązań ze środowiska symulacyjnego na platformy wbudowane
Mają Państwo gotowe i zweryfikowane w środowisku symulacyjnym (np. Matlab/Simulink) rozwiązanie, które jest gotowe do implementacji, ale nie jest jasne, jak przekształcić je w kod możliwy do uruchomienia w końcowym produkcie. Dzięki naszemu doświadczeniu w generacji kodu produkcyjnego na procesory wbudowane i programowalne sterowniki logiczne, możemy znacznie przyspieszyć i uprościć ten krok.
Automatyczna generacja kodu wbudowanego zasadniczo zmienia sposób pracy zespołu, który zamiast ręcznie pisać tysiące linijek kodu, automatycznie generuje go, zwiększając produktywność, poprawiając jakość i wspierając innowacje.
Modelowanie dynamiczne systemów i urządzeń
Projektowany przez Państwa produkt jest trudny do dokładnego przetestowania w laboratorium albo ma pracować w złożonym lub niebezpiecznym środowisku, gdzie nie ma miejsca na niepowodzenie? Korzystając z metod modelowania matematycznego, jesteśmy w stanie odwzorować otoczenie projektowanego algorytmu, a nawet całe urządzenie w formie cyfrowego bliźniaka, minimalizując w ten sposób ryzyko popełnienia błędu projektowego.
Dzięki symulacjom matematycznym możliwa jest efektywna czasowo i ekonomicznie weryfikacja założeń. Dodatkowo, dzięki symulacjom na poziomie całego systemu możliwe staje się zarządzanie większymi i bardziej złożonymi projektami, ponieważ symulacje łączą wszystkie komponenty w każdej iteracji projektowej, ułatwiając zespołom obsługę interakcji i zależności.
Wdrażanie metody Model-Based Design
Wspieramy naszych klientów w implementacji metody MBD przy rozwoju oprogramowania, w szczególności algorytmów sterowania i przetwarzania sygnałów. Projektowanie oparte na modelach jest niezwykle ważne w złożonych aplikacjach, takich jak systemy sterowania silnikami, autopiloty czy układy ABS. Może być jednak równie skutecznie i ekonomicznie wykorzystywane w mniej złożonych projektach. Podejście to łączy w sobie wszystkie wymienione w porzednich punktach zagadnienia. Przy odpowiedniej implementacji pozwala uzyskać szereg dodatkowych korzyści, takich jak:
• uchwycenie wiedzy w formie modeli, będących równocześnie formą specyfikacji wykonywalnej, dużo bardziej czytelnej niż tradycyjna,
• symulacja systemowa pozwalająca na analizę różnych potencjalnych scenariuszy wykorzystania produktu,
• wirtualne prototypowanie, pozwalające na rozwój oprogramowania w oderwaniu od końcowej platformy,
• ułatwione testowanie i weryfikację,
• znacznie usprawnioną automatyzację.
Organizacje, które stosują metodę Model-Based Design, osiągają do 60% oszczędności w porównaniu z metodami tradycyjnymi.
Organizacje, które stosują metodę Model-Based Design, osiągają oszczędności od 20 do 60% w porównaniu z metodami tradycyjnymi.
Większość tych oszczędności wynika z lepszej analizy wymagań połączonej z wczesnym i ciągłym testowaniem. Ponieważ wymagania i założenia projektowe są symulowane przy użyciu modeli matematycznych, defekty są wykrywane znacznie wcześniej w procesie rozwoju, kiedy ich naprawa jest jeszcze prosta i o rząd wielkości mniej kosztowna.
Model-Based Design, pozwala przyśpieszyć cykl rozwoju produktu o nawet 50%.
Przyśpieszenie wynika głównie z:
• możliwości wirtualnego prototypowania i rozwoju oprogramowania w oderwaniu od platformy docelowej,
• eliminacji manualnych kroków i ograniczenia błędów ludzkich dzięki automatyzacji kluczowych etapów, takich jak raportowanie, kodowanie i weryfikacja,
• automatycznej generacji kodu na wiele platform sprzętowych jednocześnie.
Mamy doświadczenie w obsłudze maksymalnie tylu platform jednocześnie, generując na nie kod automatycznie. Liczymy na to, że wspólnie pobijemy ten rekord.
Mamy doświadczenie w automatycznej generacji kodu na różne procesory wbudowane i sterowniki PLC. Zysk z zastosowania metody MBD jest szczególnie zauważalny, gdy jedna baza kodu służy do generacji aplikacji na kilka platform sprzętowych jednocześnie.
Narzędzia z których korzystamy 
Poniższy stos technologiczny składa się z narzędzi i technologii, które wykorzystujemy do tworzenia, analizowania i symulowania modeli systemów przed ich fizyczną realizacją, a także z narzędzi służących do transformacji reprezentacji matematycznej lub logicznej na kod wykonywalny.
MathWorks
Modelica
Modelica Association
Functional Mock-up Interface
Modelica Association
Simulink PLC Coder™ generuje sprzętowo niezależny kod w językach ST (Structured Text) i LD (Ladder Diagram) zgodny z normą IEC 61131-3 z modeli Simulink®, diagramów Stateflow® i funkcji MATLAB®.
IEC 61131-3
Embedded Coder® generuje kod C/C++ na podstawie modeli Simulink®, diagramów Stateflow® oraz skryptów MATLAB® zapewniając czytelność i efektywność porównywalną z profesjonalnie pisanym ręcznie kodem.
C\C++
Współpracując z naszą firmą, zyskują Państwo partnera, który z pełnym zaangażowaniem i najwyższą precyzją realizuje nawet najbardziej skomplikowane projekty. Zachęcamy do zapoznania się z naszymi usługami i przekonania się, jak możemy wspólnie podnieść efektywność i innowacyjność Państwa firmy.