Dobrý den,
v Global Retain mám uloženo toto pole struktur:
Velikost je 6.21kB (velikost prvku pole = 155B)
Pokud uvedené pole struktur označím příznakem PUBLIC_API , vzroste velikost souboru TecoAPI.pub z původních cca 5kB na cca 546kB - tedy o více než 500kB.
Čím je toto prosím způsobeno?
Chci použít funkci VarApiToJsonFile, ale PUBLIC_API má přílišnou velikost.
Děkuji za info a přeji hezký den,
S pozdravem
Radek Pospíšil
Odpovědi 1
Soubor TecoAPI.pub je textový soubor, kde na je na každém řádku plné jméno proměnné s informací o typu a umístění v paměti.
Například pole test {PUBLIC_API} : ARRAY [0..9] OF BOOL;
vygeneruje v souboru pub deset řádků. Pole struktur group_comfortAutomatization_condition
má 9881 položek. Soubor je možné zmenšit použitím kratších jmen proměnných. Funkce VarApiToJsonFile má kromě velikosti souboru TecoAPI.pub, také omezení na 256 proměnných. Takže i při zkrácení jmen, budete muset exportovat do JSON vždy jen jednu položku pole.
Bez změny programu je možné použít kratší jméno proměnné, když se nedefinuje {PUBLIC_API} přímo na proměnné, ale vytvoří se alias, např:
VAR_GLOBAL RETAIN group_comfortAutomatization_condition : ARRAY [0..40] OF comfortAutomatization_condition; gcac {PUBLIC_API} AT group_comfortAutomatization_condition; END_VAR
Vaše odpověď
Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.