Page 1 of 1

Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

PostPosted: Tue 24. Sep 2024 15:42:06
by Michael_S
Nějak už si nevím rady, jak načíst hodnoty z objektu "Data" dle indexu (ne dle názvu) do tabulky. Hlásí "'Pm(...)' má hodnotu null nebo není objekt." a zobrazuje prázdné řádky.
Nedaří se mi ani jednotlivě do textového pole. Jaká je správná syntaxe, a jak ukládat do tabulky ve formátu "název proměnné + Hodnota + kWh"?
Potřebuju ten výpis hodnot pak uložit do textového souboru a proto se mi tato tabulka s ukládáním na tlačítko zdá vhodná.
Díky

Code: Select all
Onrefresh:
var oTable = pMe.Form.GetItem("idTable");
var oTabArea = oTable.GetArea(11);
var nRows = oTabArea.RowCount;

var i;
var napocitano;
for (i = 11; i < 92; i++)
{
oTable.InsertRow(1, 0);
napocitano = pMe.Pm("../../Data/Socomec").Item(i).Value;
oTabArea.GetRow(0).GetCell(0).Value = napocitano;
   Pm.Debug("i=" + i + " " + napocitano);
}

Re: Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

PostPosted: Thu 03. Oct 2024 7:58:46
by Petr Návrat
Dobrý den

V obraze se nelze přímo odkazovat na Pma objekty ve stromu Pma objektů (např. používat pMe.Pm("/data/xy")).
Pokud je potřeba v obrazu ovlivnit jiný objekt v aplikaci, pak to lze provést:
- datovou vazbou
- voláním metod pMe.PmPanel.Methods.XXX(a,b,..).

Pro Vás to asi znamená:
- v obraze zavolat:
var aMojePoleDat = pMe.PmPanel.Methods.DejMojePoleDat();
.. zpracování aMojePoleDat ..

- obraz pošle volání této metody do aplikace (metoda bude umístěna v daném PmaPanel v kartě Methods),
aplikace tuto metodu zavolá a výsledek zase pošle zpět do obrazu.
tzn. tato metoda v aplikaci načte pole dat (metoda DejMojePoleDat je v aplikaci, není v obrazu)
a metoda toto pole vrátí pomocí:
var aMojePoleDat;
.. Naplnění aMojePoleDat ..
return aMojePoleDat;

Tato trochu složitější koncepce je proto že obraz může běžet jako Web obraz v prohlížeči úplně na jiném počítači
a tam Pma objekty nejsou přímo přístupné.
Ale pMe.PmPanel.Methods.xxx umožní poslat požadavek na data do aplikace.

Petr Návrat
navrat@microsys.cz

Re: Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

PostPosted: Tue 29. Oct 2024 17:19:03
by Michael_S
Děkuji za odpověď.
volání metod pMe.PmPanel.Methods.XXX(a,b,..) používá vaše vzorová aplikace, kde to funguje hezky pro ukládání CSV z trendů
Pokud toto zřetězené volání metod použiju ve své aplikaci, tak mám v "Errors" záložce "Script" tohle:

Objekt tuto vlastnost nebo metodu nepodporuje.

Jak pro zkopírovaný kód z vzorové aplikace pro "SaveToCsv" tak i pro všechny ostatní pokusy volat metodu mimo Pmg.

Re: Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

PostPosted: Fri 01. Nov 2024 8:09:27
by Petr Návrat
Hlášení chyby určitě vrací ještě další informaci pomocí které můžete zjistit příčinu chyby.
Já Vaši aplikaci nemám takže to zjistit nemohu.
Asi máte chybu ve skriptu.
Nevím jak jste tento skript vytvořil.
Pokud je to přebráno z našich předkonfigurací tak nevím z jakých.

Petr Návrat