Diskuse Elektrika.cz

HYBRIDNÍ zóna => Technická podpora výrobce TECO Kolín radí odborníkům => Téma založeno: Miloslav Švábenský 27.12.2014, 22:26



Název: Je možné definovat místo v paměti pro danou instanci?
Přispěvatel: Miloslav Švábenský 27.12.2014, 22:26
Potřeboval bych definovat aby jednotlivé instance se ukládali na začátek paměti (maximálně do cca 65000),  je možné k instanci přiřadit nějak od kterého místa má začínat nebo si to překladač definuje sám a není možné do tohoto zasáhnout?


Název: Re: Je možné definovat místo v paměti pro danou instanci?
Přispěvatel: Jiří Schwarz 27.12.2014, 23:41
To nejde tak jednoduše odpovědět.
Co to je za aplikaci, s jakým HW, v jakém SW...

Dá se říci, že v "čistém strojáku" by mělo jít srovnat si to přesně podle představ programátora, ale udělat v tom nějakou náročnější aplikaci je nereálné.
A čím "chytřejší" překladač, tím větší problém mu některé věci vnutit, když je má přednastavené podle představ tvůrce překladače.


Název: Re: Je možné definovat místo v paměti pro danou instanci?
Přispěvatel: Miloslav Švábenský 28.12.2014, 09:11
Tak HW centrála CP-1000  nebo CP-1001 a SW Mosaic 2014.5


Název: Re: Je možné definovat místo v paměti pro danou instanci?
Přispěvatel: Milan Bydžovský 30.12.2014, 13:01
Polohu v paměti lze ovlivnit pouze u instancí definovaných ve VAR_GLOBAL. Programy do VAR_GLOBAL umístit nelze, ale funkční bloky ano.

Např.:
Kód:
VAR_GLOBAL
  tim1 AT %R10000 : TON;
END_VAR

VAR_GLOBAL RETAIN jsou vždy v zóně od 0 do počtu remanentních registrů. Pokud se pokusíte přiřadit VAR_GLOBAL do této oblasti dojde k chybě překladu.