Diskuse Elektrika.cz

HYBRIDNÍ zóna => Technická podpora výrobce TECO Kolín radí odborníkům => Téma založeno: martinO 13.11.2014, 10:41



Název: Co znamená v Mosaicu chyba při překladu "nedostatek 'R' operandů"?
Přispěvatel: martinO 13.11.2014, 10:41

Do programu definuji nové instance pro funkční bloky pro DALI (fb_DL_WebSetti ng) celkem 25 a při přidání 23 mi při překladu vyskočí tato chyba:
nedostatek 'R' operandů
Co to prosím znamená a jak mohu případně zvýšit počet operandů.
Používám CP1000.


Název: Re: Co znamená v Mosaicu chyba při překladu "nedostatek 'R' operandů"?
Přispěvatel: Milan Bydžovský 19.11.2014, 10:21
Počet operandů R je daný typem centrály. CP-1000 má 64kB R operandů. Funkční blok fb_DL_WebSetti ng má ve verzi knihovny 1.8 velikost 2,78kB, z čehož plyne, že 25 instancí přesahuje možnosti centrály.
Řešením by bylo přejít na centrálu CP-1001, která disponuje 192kB R operandů.
Druhá možnost, je použít jednu instanci pro více DALI modulů.

Pozn.: Přehled obsazení paměti dává Mapa uživatelských registrů (menu Nástroje > Mapa uživatelských registrů).


Název: Re: Co znamená v Mosaicu chyba při překladu "nedostatek 'R' operandů"?
Přispěvatel: martinO 21.11.2014, 13:44
,  
děkuji moc, tím použití jedné instance pro více modulů jste to myslel jak?
nadefinuji instanci Web_Dali_1 : fb_DL_WebSetti ng;
volání
Web_Dali_1( C_DL_ModuleIn := Dali1_IN, C_DL_Module := Dali1_OUT); 
Web_Dali_1( C_DL_ModuleIn := Dali2_IN, C_DL_Module := Dali2_OUT);

Pro druhý převodník DALI využiji opět stejnou instanci jako pro první?
Nevím co bych potom přiřazoval do webové obrazovky jako proměnnou. Vyházím ze vzorového příkladu.
Děkuji 


Název: Re: Co znamená v Mosaicu chyba při překladu "nedostatek 'R' operandů"?
Přispěvatel: Milan Bydžovský 21.11.2014, 23:46
Instanci je třeba volat v jednom cyklu jen s jedněmi patametry. Takže by jednotlivá volání musela být v CASE, který by určoval, se kterým modulem blok aktuálně pracuje. Webová stránka je pak jedna. Po každém přepnutí modulu je třeba načíst stav, aby se stará data z předchozího modulu, nahradila daty z přepnutého modulu.