Po kolei od lewej:
1) właściwość (Property Node) History Data służy do wyczyszczenia historii wykresu (tego górnego - Waveform Chart) ... dolny możesz wyczyścić podobnie
2) właściwość wskaźnika o nazwie Boolean (wskaźnik jest ukryty - możesz go znaleźć np. klikając 2 razy na jego ikonę na diagramie blokowym lub prawy myszy na wspomniane Property Node i Find/ Indicator) - Value ustawiam wstępnie na False ponieważ na True ustawiany jest na końcu programu. Wartość tego Indicatora przekazywana jest przez Local Variable do pętli dolnej (tej od wykresów) żeby ją na koniec zatrzymać.
3) 1 pętla While po prostu czeka tak długo aż naciśniesz "Rozpocznij proces" - kliknięcie na tą kontrolkę (True) zatrzyma pętlę i przekaże wartość true uruchamiając strukturę sekwencyjną, a w niej zapalając diodę, a także uruchamiając dolną pętlę od wykresów. Wypadało by jeszcze wstawić w tą pętlę jakieś opóźnienie czasowe (może być np. Wait=100ms) żeby nie zajmować całego czasu procesora (sorki za "zapomnienie"

)
4) Przy wyjściu ze struktury sekwencyjnej (na końcu) wyłączamy dolną pętlę i gasimy diodę (Boolean i Property Node Value)
5) Dolna pętla pobiera dane przez Local Variable z Indicatora "Aktualna temperatura szyby" i wyrzuca na wykres. Opóźnienie tej pętli jest ustawione na tą samą wartość co opóźnienie pętli regulujących temperaturę (250ms) w celu ustawienia stałych "odcinków czasowych" osi x wykresu, tych samych co kroki zmiany temperatury. To niestety nie jest najbardziej profesjonalnie zrobione, ale jak widzisz przy opóźnieniach 1/4 s działa.
Precyzyjniej będzie gdy zamienisz wszystkie "zegarki" na Wait Until Next ms Multiple - daje to precyzyjniejszą kontrolę nad opóźnieniem każdej pętli. Teraz pętla wykonuje jakiś kod co zajmuje jakiś czas, następnie czeka 250ms i zaczyna nową iterację. Nie wiemy więc dokładnie ile czasu zabiera jedna iteracja pętli. Zastosowanie Wait Until Next ms Multiple spowoduje, że wykona się kod w pętli, a później pętla poczeka resztę brakującego do 250ms czasu. Każda iteracja trwać będzie więc 250ms.
Najbardziej profesjonalnie było by gdybyś zastosował strukturę producent-konsument z kolejką, gdzie pętla konsumenta (rysująca wykres) pobiera dane za każdym razem gdy pętla producenta (regulacja czy też próbkowanie temperatury) je aktualizuje / zmienia.... ale o tym poczytaj więcej bo nie chcę mieszać na razie Ci w głowie.
Wykresy rysowane są na dwa sposoby;
Waveform Chart (trzyma historię danych) rysowany jest przy każdej iteracji pętli dzięki temu, że w każdej iteracji dopisywana jest kolejna wartość do tablicy (Build Array).
Waveform Graph rysuje od razu cały wykres, więc należy mu podać komplet danych w postaci tablicy wyników, a tablica ta tworzona jest dzięki włączeniu indeksowania na wyjściu z pętli.
... mam nadzieję, że zrozumiale to napisałem i teraz wszystko jest dla Ciebie jasne - jeżeli nie pytaj
