• Welcome to Diskuse2 Elektrika.cz. Please login or sign up.
 

Je možné definovat místo v paměti pro danou instanci?

Started by Miloslav Švábenský, 27.12.2014, 22:26

previous topic - next topic

Miloslav Švábenský

27.12.2014, 22:26 Last Edit: 27.12.2014, 22:51 by Miroslav Minařík
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?

Jiří Schwarz

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.
Jako tvrdá Chodská palice nemám rád přísloví o tom, že moudřejší ustoupí. Když moudřejší ustoupí, hlupák si prosadí nesmysl!
Příspěvky psané kurzívou berte s velkou rezervou a nadhledem :-)

Miloslav Švábenský

Tak HW centrála CP-1000  nebo CP-1001 a SW Mosaic 2014.5

Milan Bydžovský

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ř.:
Code Select
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.