Silnik sterowania orkiestrą
Orchestra Control Engine to zestaw komponentów programowych (opartych na systemie Linux / RTAI ) służących do planowania, tworzenia i wdrażania aplikacji sterujących w czasie rzeczywistym dla maszyn przemysłowych i robotów.
Orchestra Control Engine został opracowany przez Sintesi SpA we współpracy z włoską Narodową Radą ds. Badań Naukowych oraz międzynarodowymi firmami przemysłowymi w dziedzinie robotyki i systemów produkcyjnych.
Sintesi SpA to firma, która opracowuje komponenty i rozwiązania mechatroniczne. Wyspecjalizowała się w technologiach pomiarowych, kontrolnych i projektowych dla robotyki i systemów produkcyjnych.
Główne cechy
Orchestra Control Engine jest elastyczny, ponieważ można go dostosować. Odbywa się to wizualnie. Tworzone rozwiązania są otwarte (oparte na frameworku open source) i są rozszerzalne. Modułowe komponenty oprogramowania pozwalają użytkownikowi na tworzenie, debugowanie i testowanie aplikacji sterujących. Na przykład wcześniej opracowane algorytmy można podzielić na jednostki funkcjonalne i ponownie wykorzystywać w nieskończoność. Wszystkie jednostki współpracują ze sobą. Oprogramowanie może być dystrybuowane między różnymi zdalnymi urządzeniami sprzętowymi, które mogą być oddalone od siebie o setki metrów. Jest również skalowalny, ponieważ wybiera sprzęt, który zapewnia najlepszy koszt i wydajność dla określonej operacji. Parametry systemu można szybko rekonfigurować zarówno on-line, jak iw czasie pracy.
Komponenty pakietu
Linux / RTAI tworzy twarde zachowanie Orchestra Control Engine w czasie rzeczywistym. Jego cechy „open source” pozwalają na zmiany w celu dopasowania do wymagań użytkowników. Nietwarde komponenty orkiestry Control Engine działające w czasie rzeczywistym mogą być używane z platformami innymi niż Linux, takimi jak Microsoft Windows lub Macintosh .
- Rdzeń orkiestry
Twardy wielowątkowy silnik czasu rzeczywistego działa w architekturach wielordzeniowych/wieloprocesorowych. W ramach schematu moduły mogą być wypełnione mniej lub bardziej złożonymi algorytmami sterującymi procesem. Silnik czasu wykonywania ładuje moduły. Użytkownik może dostosować moduły do topologii. W przypadku złożonej topologii można zastosować wiele modułów lub zaimplementować równoległe pętle.
- Menedżer czasu pracy orkiestry
Kierownik czasu pracy kontroluje formalności związane z wykonaniem programu; decyduje o priorytetach w ramach operacji; i zarządza operacjami wielowątkowymi i wieloprocesorowymi. Składa się z szablonów definiujących wątków zgodnie z formalnościami wykonania oraz z części zarządzającej POU (Jednostka Organizacji Programu).
- Programowanie logiczne orkiestry
Programowanie logiki w Orchestra Control Engine pomaga w użyciu pięciu rozważanych języków normy IEC 61131 . Pomaga również w korzystaniu z języka C/C++.
- Programowanie ścieżek orkiestrowych
Programowanie ścieżki w Orchestra Control Engine pomaga w pisaniu mechaniki ruchu i wykonania. Programy produkcji jednostkowej (programy części) można edytować zgodnie z międzynarodową normą ISO-DIN 60025 i amerykańską normą EIA RS274 D. Jest to również ważne dla interpretacji modułów, a co za tym idzie dla danych wejściowych, które umożliwiają pętlę sterowania ruchem.
- Projektant Orkiestry
Projektantem jest Java IDE. Pomaga w opracowywaniu aplikacji do sterowania ruchem w różnych środowiskach. Wiąże się to z uzupełnianiem nowych modułów, wykorzystaniem szablonów kodu, możliwością dodawania i kształtowania nowych bloków oraz testowaniem modułów zarówno niezależnie, jak iw schemacie sterowania. Automatycznie udostępnia również pliki konfiguracyjne XML dla każdego modułu i dla pętli sterowania.
- Konstruktor Orkiestry
Konstruktor to narzędzie programowe, które umożliwia automatyczne generowanie modeli Simulink w moduły kompatybilne z rdzeniem Orchestra. Czyni to poprzez tworzenie definicji dla każdego parametru modelu Simulink. Może generować funkcję inicjującą ładowanie nowo opracowanego systemu sterowania oraz może generować funkcję krokową, która przechowuje kod logiki każdego modułu.
- Orkiestra HMI
HMI to aplikacja Java (a więc wieloplatformowa), która wyszukuje i współdziała z różnymi częściami systemu sterowania. Orchestra HMI posiada interfejs graficzny (wraz z ekranem dotykowym), który można uruchomić na dowolnym komputerze PC. Można go dostosować do potrzeb użytkownika i zapewnia uwierzytelnianie użytkownika. Orchestra HMI pozwala użytkownikowi konfigurować i planować CN wyspę produkcyjną oraz procesy poleceń, takie jak uruchamianie programu ruchu. Użytkownik może przeglądać i edytować procesy. Orchestra HMI zapewnia wizualizację sygnałów pochodzących z OrchestraCore lub Orchestra Run Time Manager za pomocą kontrolek graficznych (wskaźniki, wykresy 2D, wyświetlacze LCD) oraz wizualizację 3D maszyn i antropomorficznych manipulatorów.
- Biblioteka Orkiestry
Biblioteka zawiera zestawy modułów, informacje z czujników, interfejsy z podmiotami zewnętrznymi takimi jak maszyny, roboty, czujniki oraz tablice DAQ.
Rozwiązania
Orchestra Control Engine to zestaw programów. Połączenie różnych komponentów pozwala na elastyczność. D
- Struktura sterowania ruchem orkiestry
Struktura sterowania ruchem umożliwia użytkownikom tworzenie aplikacji do sterowania ruchem poprzez integrację najlepszych modułów do ich celów. Moduły mogą być modułami już dostępnymi lub tymi, które użytkownik opracowuje przy użyciu narzędzi do projektowania i tworzenia orkiestry.
Moduły można uruchamiać tak, aby proces miał wiele wątków. Identyfikowane są paralelizmy, dzięki czemu algorytmy są udoskonalane. Moduły można „debugować” w miarę ich ukończenia, jeśli zaprogramowane są określone weryfikacje. Alternatywnie moduły można ukończyć w trybie „release”, jeśli nie są wymagane żadne specjalne weryfikacje.
Moduły mogą być uzupełnione o dowolną liczbę wpisów, parametrów, stanów i wyjść wektorowych w liczbach zmiennoprzecinkowych podwójnej precyzji, a także stanów dowolnego innego typu. Te cechy są kodowane za pomocą plików XML.
- Orkiestra MultiPLC
Orchestra MultiPLC (wieloprogramowalny sterownik logiczny ) składa się z Orchestra Run Time Manager, Orchestra Logic Programming i OrchestraHMI. Pozwala na wykonanie aplikacji sterowania ruchem jako jednego lub więcej programów lub bloków funkcyjnych, które mogą być ponownie wykorzystane. Otwarty schemat kontrolera akceptuje i tłumaczy pliki XML. Blokom funkcjonalnym można nadać priorytety w ramach serii lub zaprogramować ich działanie okresowe. Do aplikacji można dodawać nowe zadania.
- Orkiestra pełna do sterowania numerycznego
Orchestra Full for Numerical Control składa się z Orchestra Motion Control Framework, OrchestraMulti PLC i kilku innych specyficznych komponentów:
OrchestraGCode interpretuje program G-code odebrany przez HMI: jeśli instrukcja G-code dotyczy ruchu, to jest wysyłana do MotionSupervisor, jeśli nie, OrchestraGCode zapisze instrukcję do odpowiedniego oprogramowania.
MotionSupervisor działa jako interfejs pomiędzy Motion Control Loop, Orchestra GCode, ControllerSupervisor i Logical Control Loop. Wykorzystując informacje z ControllerSupervisor, wybiera tryb automatyczny lub impulsowy. W trybie jog MotionSupervisor zapewnia osie ruchów, kierunek i prędkości posuwu. W trybie automatycznym i półautomatycznym instrukcje dotyczące ruchu będą pochodzić z interpretera G-Code. MotionSupervisor zbiera również komunikaty o błędach pochodzące z pętli MotionControl i wysyła je do ControllerSupervisor.
ControllerSupervisor centralizuje wszystkie informacje związane z Orchestra Control Engine. Otrzymuje informacje z HMI, pilota zdalnego sterowania i innych komponentów oprogramowania. Takie informacje są sortowane według innych komponentów, nawet jeśli przewidziano bezpośrednie kanały komunikacji między różnymi komponentami dla określonej wymiany informacji.
ControllerSupervisor wysyła komunikaty o błędach do OrchestraHMI. Lokalne błędy są obsługiwane w komponentach oprogramowania, w których występują. Błędy wykraczające poza poziom lokalny są obsługiwane przez ControllerSupervisor inicjującego procedurę bezpieczeństwa i/lub pokazującego błąd użytkownikowi.
- Orkiestra dla kontrolerów robotów otwartych
Orchestra for Open Robot Controllers umożliwia testowanie wykonalności innowacyjnych algorytmów robotów przemysłowych. Może integrować zaawansowane czujniki i funkcje. Jego interfejs z komputerem osobistym odbywa się za pośrednictwem OrchestraCore. Jego funkcją jest generalnie realizacja ruchu, a nie logika sterowania i generowanie trajektorii.
Historia wydania
Silnik sterowania orkiestrą
Wersja | Data wydania |
---|---|
v1.0-beta1 | 2007, 16 lipca |
v1.0-beta2 | 2007, 9 października |
v1.0-beta2.1 | 2007, 29 października |
v1.0-beta2.2 | 2007, 15 listopada |
v1.0 | 2007, 21 grudnia |
v1.0-1 | 2008, 28 stycznia |
v1.0-2 | 2008, 1 kwietnia |
v1.1 | 2008, 22 maja |
v1.5 | 2008, 22 lipca |
v1.5-1 | 2008, 20 października |
v1.5-2 | 2008, 28 października |
v1.5-3 | 2008, 12 listopada |
v2.0 | 2008, 19 grudnia |
v2.0-1 | 2009, 20 lutego |
v2.0-2 | 2009, 10 kwietnia |
v2.0-3 | 2009, 3 czerwca |
v2.5 | 2009, 31 lipca |
v2.6 | 2009, 30 października |
v3.0 | 2010, 30 marca |
v3.0-1 | 2010, 5 października |
v3.5 | 2010, 21 grudnia |
v3.5-1 | 2011, 26 stycznia |
v3.5-2 | 2011, 27 lipca |
v3.6 | 2012, 11 lipca |