Nowości wersji 5.0
Już wkrótce planujemy ukończenie prac nad nową wersją programu Simultus DIGITAL TWIN 5.0.
- automatyczne podświetlenie błędu w skrypcie LUA wykrytego podczas symulacji
oraz
- możliwość zatrzymania symulacji na błąd skryptu LUA
Błąd zostanie zaznaczony na czerwowo:

a odpowiedni komunikat zostanie wyświetlony w linii historii komend.
Opcja zatrzymania symulacji w momencie pojawienia się błędu LUA jest domyślnie załączona. Można ją dezaktywować w menu 'Ustawienia' -> 'Symulacja':

odznaczając poniższą opcję:

Błędy będą podkreślane na czerwono, a dymek przy myszce podpowie, gdzie i jaki błąd wystąpił:

Jeżeli będziemy próbowali uruchomić źle napisany skrypt to zo stanie zgłoszony błąd:

a linia z błędem zostanie podświetlona na czerwono:

Dodatkowo odpowiedni komunikat zostanie wyświetlony w oknie komend:

Nie wszystkie błędy pojawiają się przed lub w trakcie kompilacji. Niektóre mogą wystąpić w trakcie działania symulacji. Tak się np. stanie, gdy wystąpi błąd dzielenia przez zero. W takim przypadku symulacja wyłączy się a odpowiedni komunikat będzie widoczny w linii komend. Źle wykonany skrypt zostanie podświetlony na czerwono:

Do tej pory błąd był sygnalizowany aktywnym wyjściem ‘error’ na bloku LUA_SCRIPT. Teraz symulacja może zostać automatycznie wyłączona po pojawieniu się błędu, w którymkolwiek skrypcie.
Dodaliśmy również limity czasu na wykonywanie się skryptów LUA podczas symulacji (skrypt globalny: 5s, skrypty bloków: 3s) z możliwością zmiany ustawień w okienku 'Ustawienia symulacji'. Pamiętajmy, że nasz skrypt LUA może zawierać np. pętle, które błędnie zrobione mogą się nigdy nie kończyć.
Jeżeli nie chcemy, aby symulacja zatrzymała się po wykryciu błędu w skrypcie to należy odznaczyć poniższe pole dostępne w menu górnym (Ustawienia -> Symulacja). W oknie tym można również określić czasy zatrzymania się symulacji przy przekroczeniu limitu trwania skryptu. To w przypadku, gdy np. wstawimy do skryptu zbyt długa pętlę.

Przy zaznaczeniu tej opcji błąd skryptu w trakcie działania symulacji można wykryć sprawdzając stan wyjścia 'error' bloku LUA_SCRIPT:

(czytaj więcej ...)
- nowy pasek narzędziowy w edytorze skryptów LUA (przyciski do wyszukiwanie tekstu).

Tekst wpisany w okienko edycji wyszukiwania tekstu zostanie odszukany w aktywnym skrypcie.
- automatyczne wstawianie kodu skryptu LUA ułatwiającego dostęp do rejestrów i znaczników sterownika (Rn, Mn, VRn, VMn) oraz we/wy bloku LUA_SCRIPT. To ułatwi przypisywanie wejść i wyjść bloku do zmiennych używanych w LUA. Do tej pory wymaganą część kodu trzeba było kopiować z instrukcji.
UWAGA: od wersji 5.0 obsługa funkcji SIM_Registers_VR = RnTblHelper.new(), SIM_Markers_VM = MnTblHelper.new(), Function_Block_Inputs = FBInTblHelper.new(), Function_Block_Outputs = FBOutTblHelper.new() jest wstawiana automatycznie do skryptu po wstawieniu bloku funkcyjnego LUA_SCRIPT na diagram.

Zawartość automatycznie wstawionego kodu można można sprawdzić pod tym linkiem (czytaj więcej...)
Powyższe zmiany ułatwią korygowanie błędów składni w trakcie pisania programu. Przy okazji przypominamy, że AI (np.. Chat GPT, Bing) wspiera język LUA. Warto sprawdzić jak sobie radzi.
- Poprawimy tryb ‘tylko do odczytu’ edytora skryptów LUA podczas symulacji, dając możliwość przewijania, zaznaczania i kopiowania tekstu.
- Usunęliśmy wyświetlanie okienka z informacją o błędzie z biblioteki matematycznej ‘Math’ (np. błąd dziedziny) podczas symulacji blokującego działanie aplikacji poprzez dopuszczenie wyników operacji matematycznych jako NAN.
- Zmiana położenia i wyglądu przycisku symulacji.
Przycisk powiększamy i przestawiamy w wygodniejsze miejsce – lewy górny narożnik okna programu:

- wydzielenie osobnej grupy w przyborniku dla akcji debugowania

więcej o debugowaniu...
- zmiany organizacji zakładek z blokami funkcyjnymi.
Bloków funkcyjnych jest coraz więcej, dlatego postanowiliśmy podzilić je na więcej grup. Poniżej większość z nich:













Dodano nowe bloki funkcyjne:

blok funkcyjny 3D_FOLLOW
Służy do przesuwania dołączonego do niego układu współrzędnych po linii prostej od punktu, w którym aktualnie się znajduje do punktu docelowego w uwzględnieniem orientacji. Ten blok jest bardzo przydatny przy symulacji ruchu. Podłączony do neigo układ współrzędnych będzie się poruszał z zadaną prędkością i zadanym przyspieszeniem i hamowaniem do wyznaczonwgo punktu w przestrzeni (czytaj więcej...).
blok funkcyjny LARA5
Służy do komunikacji z wirtualnym sterownikiem i TeachPendantem robota firmy NEURA lub z rzeczywistym robotem w czasie rzeczywistym. Umożliwia tworzenie aplikacji robotycznej przy pomocy środowiska do wirtualnej symulacji Simultus wykorzystaując w pełni funkcjonalność robota oraz zalety programu Simultus.
blok funkcyjny SIM_TIME
Podaje wartości czasu od momentu uruchomienia symulacji.
blok funkcyjny SIM_STOP
Umożliwia chwilowe (wejście 'stop') lub całkowite (wejście 'finish') zatrzymanie symulacji.
bloki funkcyjne 3D_READ_POINT oraz ACTIVE_POINT
Obsługa punktów z tabeli - patrz poniżej.
- Tablice punktów 6D (czyli współrzędne X, Y, Z oraz orientacje A, B, C).
Funkcje w Skryptach LUA oraz nowe bloki funkcyjne do ich obsługi. Wyświetlanie punktów w widoku 3D.
Lista tablic jest widoczna w drzewku projektu:
Tablice można edytować określając ich rozmiar, kolejność punktów, zmieniając ich współrzędne. Każdy punkt może mieć swoją nazwę.

Lista punktów może być importowana i eksportowana z i do plików CSV (oraz G-kod w formacie txt) ale co ważne, plik CSV jest plikiem tekstowym, a więc można go wygenerować przy pomocy własnego skryptu LUA. Oznacza to, że możemy samodzielnie napisać generator punktów. Np. rozkładając je w matrycy, po okręgu, itp. W przyszłości planujemy również połączenie tablic z importem plików CAD.
Dodatkową funkcjonalność zwiększą funkcje języka skryptowego LUA, które słóżą do operacjach na punktach w tabelach (czytaj więcej...)
Aktywny punkt z tablicy jest oznaczony kolorem zielonym.
Jego współrzędne możemy pobrać korzystając z bloku funkcyjnego:
Aktualną pozycję aktywnego punktu możemy wyświetlić w widoku 3D łącząc ten blok bezpośrednio z blokiem funkcyjnym 6DOF_AXIS:

Możemy również odczytać współrzędne dowolnego punktu z dowolnej tablicy korzystając z poniższego bloku funkcyjnego:

więcej o obsłudze i operacjach na tabelach dowiesz się w tym rozdziale...
- zmiana kolejności źródeł sygnału w panelu:
Do tej pory przyciski, suwaki i przełączniki w panelu były umieszczane wg kolejności ich wstawiania do projektu. Teraz mozna przeciągnąć myszką wybrany element w dowolne meijsce na palenu:

rozdział jest na bieżąco uzupełniany!