Timery, timery ...

Pytania i odpowiedzi dotyczące sprzętu Unitronics

Moderatorzy: Marek Sikora, Mateusz Sikorski

Timery, timery ...

Postprzez --GS-- » Cz, 6 gru 2012, 13:51

Witam kolegów

Próbuję stworzyć aplikację, która rejestruje dane na SD. Wykorzystując tabelę danych udaje się przenieść dane do pamięci bez problemu.
Jedna z kolumn tabeli zawiera bieżący czas wykonania pomiaru. I tu pierwszy problem. Jak zarejestrować dane w postaci HH:MM:SS. Jak do tej pory udało mi się uchwycić i zarejestrować moment pomiaru zamieniając rejestr Timera na XL i zapisać w kolumnie wartość XL. I tu pojawia się kolejny problem jak wyświetlić odczytaną z SD kolumnę czasu. Udaje się odczytać zapisany czas w XL, ale przekonwertować na czas już się nie udało. Załączam program może ktoś z kolegów opanował temat Timerów.

Miejsce gdzie jest obszar zegara po odczycie i konwersji znajduje się pod klawiszem "Odczyt SD". Każdorazowe wciśnięcie klawisza odczyt ma odczytać zawartość wiersza nr "Odczyt z SD numer:" i pokazać wartości: "CZAS"(pod klawiszem) oraz L0-L3 i R0-R3
Załączniki
Test- Rejestracji z datami 12r1206 _ 1.rar
(229.5 KiB) Pobrane 791 razy
.............................................................................................................
Grzegorz
teraz: V350 - 35 - R2; VisiLogic ver. 9.4.0 b.0
--GS--
 
Posty: 44
Dołączył(a): Pt, 10 lut 2012, 09:58

Re: Timery, timery ...

Postprzez Mateusz Sikorski » Cz, 6 gru 2012, 14:55

Witam,

proponuję zapisywać do tabeli danych czas jako String. Chodzi Panu o czas rzeczywisty pomiaru? Jeśli tak to proszę użyć bloku "RTC To ASCII" - po lewej wybrać "HH:MM:SS 8znaków" a następnie wybrać początkowy rejestr, do którego będzie zapisywany ciąg znaków (8 znaków to 4 MI lub XI).
W tabeli danych proszę zmienić jedną z kolumn na "String" i dać 8 znaków.
W celu wyświetlenia ciągu 8 znaków należy użyć bloku "ASCII String".
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Timery, timery ...

Postprzez --GS-- » Pt, 7 gru 2012, 07:44

Dzień dobry.
Chciałbym rejestrować czas od początku procesu. Rejestracja RTC jest mało czytelna dla analizy. Przeglądanie historii pomiarów pozwala szybciej rozpoznać zjawiska zachodzące w trakcie próby. Rejestracja RTC daje też tę możliwość ale czas w jakim człowiek musi podjąć decyzję jest zbyt krótki i nie może być "marnowany" na przeliczanie. Próbuję w kontrolerze tak ułożyć logikę aby skrócić do minimum ingerencję człowieka.

Czy podglądał Pan programik testujący, który dołączyłem do postu?

Pozdrawiam
Grzegorz
.............................................................................................................
Grzegorz
teraz: V350 - 35 - R2; VisiLogic ver. 9.4.0 b.0
--GS--
 
Posty: 44
Dołączył(a): Pt, 10 lut 2012, 09:58

Re: Timery, timery ...

Postprzez Mateusz Sikorski » Pt, 7 gru 2012, 08:24

Witam,
Teraz rozumiem.
W odczycie rzędu z tabeli ma Pan wybraną tabelę, do której Pan nic nie zapisuje.
Przy przeliczaniu XL1 na TE1 ma Pan zapis do wartości Current - powinno być do Preset.

Mam mieszane uczucia co do wykorzystania bitu XB0. Proponowałbym zamiast 4 drabinek użyć dwóch.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Timery, timery ...

Postprzez --GS-- » Pt, 7 gru 2012, 14:57

Witam

Czy pierwsza linijka zachowa sekwencyjność działania?
Mam wrażenie, że aktywowanie MB1 uruchomi równocześnie SD->DT i wszystkie pozostałe ogniwa łańcuszka.
Czy sygnał INC XI1 nie będzie próbował "wyprzedzić" odczytu DT i konwersji XL1->TD1?

Co do przeliczenia XL1 na TD1 próbowałem ST TC i ST TP z podobnym niezadowalającym skutkiem. Na HMI , w miejscu pod klawiszem używam "Variable:Timer" tylko jako podglądu odczytania wiersza nr XI1 kolumny Czas.
W docelowej wersji chciałbym rejestrować w tej kolumnie wskazanie Timera (postać HH:MM:SS) w momencie rejestracji danych procesu.

Pozdrawiam
Grzegorz
.............................................................................................................
Grzegorz
teraz: V350 - 35 - R2; VisiLogic ver. 9.4.0 b.0
--GS--
 
Posty: 44
Dołączył(a): Pt, 10 lut 2012, 09:58

Re: Timery, timery ...

Postprzez Mateusz Sikorski » Pt, 7 gru 2012, 15:12

Witam,

program powinien zachować sekwencję działań.
Sprawdziłem u siebie zapis XL1 do TD1 za pomocą bloku "ST TP" i działa prawidłowo. Proszę sprawdzić, z której tabeli jest czytana kolumna Czas. Jeżeli chciałby Pan zapisywać do tabeli danych wartość Timera (chodzi Panu o czas "Current", tak?) to można to zrobić trochę na około:
- w tabeli oznaczyć kolumnę Czas jako "Timer"
- przed zapisem do wiersza należałoby zczytać wartość tego timera "LD TC" do XL i zaraz za tym zapisać wartość XL do innego timera "ST TP"
- dopiero wtedy zapisać wartość pomocniczego timera do tabeli.

Proszę mnie poprawić, jeżeli nie o to Panu chodziło.
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08

Re: Timery, timery ...

Postprzez --GS-- » Wt, 11 gru 2012, 14:31

Witam,
Poszedłem za Pańską propozycją i udało się. Zauważyłem jednak ciekawe zjawisko. Gdy konwertowałem zawartość XL do timera typu TD, w tablicy danych->Kolumna CZAS, ładnie rejestrowała się zawartość timera, ale gdy obserwowałem zawartość timera w podglądzie pracy programu, to zawartość timera TD nie była aktualizowana. Natomiast zmiana typu timera z TD na TE spowodowała działanie odwrotne do poprzedniego. W tablicy danych stan timera TE nie był rejestrowany ale za to przy podglądzie pracy programu timer TE już aktualizował swój stan. Pełne zaskoczenie. Czy to prawidłowe zachowanie? Czy jakiś błąd po mojej stronie?

Czy jest jakaś sztuczka aby zmienić sposób pracy timera? Oprogramowanie udostępnia timery dekrementujące czas, a ja chciałbym rejestrować czas inkrementującego timera.

Pozdrawiam
Grzegorz
.............................................................................................................
Grzegorz
teraz: V350 - 35 - R2; VisiLogic ver. 9.4.0 b.0
--GS--
 
Posty: 44
Dołączył(a): Pt, 10 lut 2012, 09:58

Re: Timery, timery ...

Postprzez Adrian Surma » Wt, 11 gru 2012, 18:43

Witam
Dla przykładu rejestrowanie czasu jak stoper (zliczanie w górę) można zrealizować za pomocą drabinki poniżej:

Obrazek

Można też przy pomocy SB3 zliczać sekundy i na tej podstawie minuty i godziny. Później matematycznie wyliczyć wartość i wstawić blok STORE TIMER (pamiętać ML(x)=1 to timer ustawiony na 10msec)
Na wyświetlaczu można to zrobić łatwiej. Za pomocą opcji - co chce Pan wyświetlić.

Obrazek

Proszę wysłać ten program, w którym widział Pan dziwne zachowanie Timerów.
Adrian Surma
Adrian Surma
 
Posty: 142
Dołączył(a): Pt, 6 cze 2008, 07:17

Re: Timery, timery ...

Postprzez --GS-- » Cz, 13 gru 2012, 13:13

Witam.

Planuję zliczać czas od początku procesu. Najwygodniej (z punktu widzenia użytkownika) jest odliczanie czasu od zera (początek procesu).
Pomysł z konwersją czasu i odejmowaniem od wartości początkowych "chodził" mi po głowie, wydaje się prosty i logiczny. Przeliczanie czasu systemowego wydaje się zbyt czasochłonne. Samo wyświetlanie na HMI jest za skromne, ponieważ bardziej zależy mi na rejestracji tego czasu.
Załączniki
Test - Rejestr danych 12r1213 _ 1.zip
(212.28 KiB) Pobrane 814 razy
.............................................................................................................
Grzegorz
teraz: V350 - 35 - R2; VisiLogic ver. 9.4.0 b.0
--GS--
 
Posty: 44
Dołączył(a): Pt, 10 lut 2012, 09:58

Re: Timery, timery ...

Postprzez Mato13 » Cz, 21 lis 2013, 13:53

Witam,

Szukam pomocy w zaprogramowaniu sterownika Unitronics M90. Chodzi o prostą sekwencję. Potrzebuje aby sterownik włączał dopływ prądu na 3 minuty a następnie wyłączał na 10 sekund. Chciałbym, żeby sekwencja była również zapętlona.

PS. Z góry dzięki za pomóc nie programował nigdy drabionkowo dlatego mam z tym duży problem.
Mato13
 
Posty: 1
Dołączył(a): Cz, 21 lis 2013, 13:46

Re: Timery, timery ...

Postprzez Mateusz Sikorski » Cz, 21 lis 2013, 21:20

Witam,

może ten kawałek programu Panu pomoże:
Obrazek
Mateusz Sikorski
Elmark Automatyka S.A.
Mateusz Sikorski
 
Posty: 564
Dołączył(a): Śr, 13 lip 2011, 08:08


Powrót do Unitronics



Kto przegląda forum

Użytkownicy przeglądający to forum: Google [Bot] i 3 gości

cron