Dodawanie nowych zmiennych do trendów

Główne forum techniczne dla dyskusji dotyczących problemów przy wytwarzaniu aplikacji PROMOTIC oraz sposobach ich rozwiązania.

Dodawanie nowych zmiennych do trendów

Postby Patryk » Thu 24. Oct 2019 15:32:55

Witam,

Chciałbym mieć możliwość dodawania nowych zmiennych do trendów nie wykorzystując opcji "Ustaw przeglądarkę trendów" w PmaPanel-u trendu tylko z wykorzystaniem własnej metody w skrypcie, np. klikając na daną wartość mierzoną prawym klawiszem myszy, bądź wykorzystując zdarzenie onMenuFill. Obie konfiguracje wyboru działają mi poprawnie, lecz sama implementacja dodawania zmiennych już nie. Jeżeli dodaje nowe trendy w zakładce obiektu PmaTrendViewer wszystko działa jak powinno, dana zmienna pojawia się w tabeli i wizualizuje swój przebieg. Wykorzystując help-a i stosując metodę m.in. Connect nie uzyskałem zamierzonych efektów. Dlatego chciałbym się dopytać jakie muszą być spełnione warunki czy wykorzystane funkcje, aby zrealizować taki skrypt? Na co zwrócić w szczególności uwagę? Korzystałem w ramach doinformowania siew temacie z "Aplikacji z przykładami", lecz nie rozjaśniła ona za wiele.

Pozdrawiam serdecznie,
Patryk
Patryk
 
Posts: 9
Joined: Mon 13. Nov 2017 14:24:22

Re: Dodawanie nowych zmiennych do trendów

Postby Patryk » Fri 25. Oct 2019 7:19:00

Dalej wracając do tematu próbuje zrealizować takie działanie aplikacji, aby przechowywać dane w PmaData z rozszerzeniem danej Trend lub w PmaTrendGrupe. Choć nie wiem czy ta metoda, którą wykorzystuje zadziała w obu przypadkach, bo help raczej mówi o drugim sposobie. I mieć możliwość dodawania danego trendu do PanelTrend a konkretniej do zakładki Trendy w tym panelu w ustawieniach. Dodatkowo mieć możliwość usuwania danego trendu z tej zakładki. Lecz w chwili obecnej mój skrypt zawsze się blokuje na początku w oTView.Trends. Poszukuje jakiegoś nakierowania co jest nie tak.
Code: Select all
var oTView = pMe;
var bConnect;
var oTrend = oTView.Trends(0);
oTrend = oTView.AddTrend("t0", "Temperatura cylindra Nr. 1");
if (oTrend)
{
      Pm.Debug("W pierwszym if");
      bConnect = oTrend.Connect(1, "local", "temperatury", "d0", "");
      if (bConnect){
            oTrend.ConnectionItem = temperatura_cyl_1;
            oTrend.Visible = Visible;
            oTrend.ValueMin = 0;
            oTrend.ValueMax = 150;
            oGraph.Color = "#cc0099";
      }else{
            Pm.Debug("Błąd dodanie trendu!");
      }
}


Jest to metoda, która jest wywoływana po kliknięciu na wartość mierzoną.

Pozdrawiam,
Patryk
Patryk
 
Posts: 9
Joined: Mon 13. Nov 2017 14:24:22

Re: Dodawanie nowych zmiennych do trendów

Postby Kazimierz Heczko » Fri 25. Oct 2019 12:01:51

Witam,
odnosząc się do Pana pytania zalecam ponowne zerknięcie do "Aplikacji z przykładami", a konkretnie do jej części Examples/Trends/Technol, gdzie znajduje się panel o nazwie Technol, w nim jest umieszczony kolejny panel - przeglądarka trendów. I w panelu Technol jest przygotowana dokładnie ta funkcjonalność, jakiej Pan wymaga, czyli można sobie zaznaczać, które zmienne mają być wyświelane w przeglądarce trendów. Tu tylko dodaję, że powyższe informacje (nazwy i ścieżki do paneli) odnosi się do PROMOTIC wersji 9.0.6 (i nowszych). W przypadku PROMOTIC 8 należy znaleźć odpowiednie panele w tej aplikacji (chodzi o panel o nazwie Technol i przeglądarka trendów, która jest z tego panelu otwierana).
Zakładam, że Pan również korzysta z ostatniej wersji PROMOTIC, czyli 9.0.6.
Jeżeli korzysta Pan z PROMOTIC wersji 8, to w przedstawionym skrypcie znajduje się jeden błąd, mianowicie w starszej wersji przeglądarka trendów była w forime obiektu ActiveX.
Dlatego w Pana skrypcie należało by zmienić pierwszy wiersz skryptu (w PM 8):
Code: Select all
var oTView = pMe.Acx;

W PM 9 ten wiersz jest poprawny.
Ponadto zauważyłem jeden brak w Pana skrypcie. Chodzi o to, w jaki sposób dodaje Pan poszczególne trendy do przeglądarki trendów. Mianowicie przed podłączeniem danego przebiegu do serwera trendów należy wytworzyć w tej przeglądarce trend za pomocą metody AddTrend (skrypt wzięty z przykładowej aplikacji):
Code: Select all
   for (var i = 0; i < nLength; i += 2)
   {
      var oTrend = pMe.AddTrend("t"+i, "$default");
      oTrend.Connect(1, "local", aTr.GetItem(i), aTr.GetItem(i+1), "iniread=name,unit,min,max,color");
   }

Czyli to co Pan robił jest w porządku, tylko wcześniej należy dodać jeden wyświetlany trend do przeglądarki trendów. Mam nadzieję że powyższe uwagi okażą się pomocne.

Pozdrawiam
Kazimierz Heczko
 
Posts: 58
Joined: Thu 13. Dec 2012 9:28:56

Re: Dodawanie nowych zmiennych do trendów

Postby Patryk » Fri 25. Oct 2019 12:41:54

Witam,

Dziękuje za pomoc i wskazówki w jakim kierunku podążać. Chcę się dopytać jeszcze o to czy ta metoda, którą idę będzie działać również w WEB-ie jeżeli udostępnie aplikację klientowi? Jeżeli nie to na co zwrócić uwagę i z jakich obszarów metod korzystać.

Pozdrawiam,
Patryk
Patryk
 
Posts: 9
Joined: Mon 13. Nov 2017 14:24:22

Re: Dodawanie nowych zmiennych do trendów

Postby Patryk » Mon 28. Oct 2019 12:03:19

Witam,

Udało mi się już uruchomić działającą aplikację z możliwością dynamicznego dodawania i usuwania trendów w local-u. Dziękuje za wskazówki. Lecz mam jeszcze jedno pytanie
jeżeli w PmaTrendGroup w zakładce dane mam wytworzoną zmienną, która jest powiązana stałą wartością wpisaną w konfiguracji danego rozszerzenia Ext Trend to wszystko jest ok, trend wykreśla cały czas stałą wartość. Ale problem pojawia się kiedy próbuje podpiąć się powiązaniem PP obiektu do zmiennej w PmaData. W tym wypadku dostaje same zera i zmienna jakby nie była podpięta. W przypadku stałego dodania zmiennej do trendu bez powyższych funkcjonalności wszystko działa poprawnie. Gdzie popełniam błąd?

Pozdrawiam,
Patryk
Patryk
 
Posts: 9
Joined: Mon 13. Nov 2017 14:24:22

Re: Dodawanie nowych zmiennych do trendów

Postby Patryk » Tue 29. Oct 2019 6:48:08

Witam,

Problem z powiązaniem wartości PP został rozwiązany. Trzeba było przy opcji wykonaj powiązanie zmienić na "Podczas odczytu właściwości".

Pozdrawiam,
Patryk
Patryk
 
Posts: 9
Joined: Mon 13. Nov 2017 14:24:22


Return to Nie wiem jak zrobić...

Who is online

Users browsing this forum: No registered users and 0 guests

cron