rsebera Různé 13. 1. 2023 12:45 13. 1. 2023 11:57

Dobrý den,

Volání GetList vrací pouze proměnné, které jsou definované jako {PUBLIC_API} a zároveň globální. Proměnné, které jsou deklarované v programu v seznamu chybí, ale jejich použití v GetObject a SetObject je funkční. 

Jedná se o vlastnost GetList, případně o chybu ať už v tom, že to GetList nevrací, případně, že je možné použití v Get/SetObject.

 

Děkuji

Odpovědi 2

Luboš Urban 13. 1. 2023 11:55

Dobrý den,

je to vlastnost, na dotaz GetList se vrací jen vrcholové prvky, takže se zobrazí jen jména zveřejněných globálních proměnných a dále pak název instance programu, ve které jsou definované další {PUBLIC_API} proměnné, tedy např. Main:

VAR_GLOBAL
  Glob_prom1 : BOOL;
  Glob_prom2 {PUBLIC_API} : BOOL;
  Glob_prom3 {PUBLIC_API} : BOOL;
  Glob_prom4 : BOOL;
END_VAR

PROGRAM prgMain
  VAR
    Promenna1 : BOOL;
    Promenna2 {PUBLIC_API} : BOOL;
    Promenna3 {PUBLIC_API} : BOOL;
    Promenna4 : BOOL;
  END_VAR

Tedy na dotaz http://127.0.0.1:41682/TecoAPI/GetList

vrací pouze

{
  "Glob_prom2": {},
  "Glob_prom3": {},
  "Main": {}
}

a teprve na dotaz

http://127.0.0.1:41682/TecoAPI/GetObject?Main

vrací jednotlivé položky i s hodnotami

{
  "Main":
  {
    "Promenna2": false,
    "Promenna3": false
  }
}

 

 

 

rsebera 13. 1. 2023 11:57

Děkuji za odpověď

Tento dotaz je vyřešený.