Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Wie kann man eine Arraygröße erst zur Laufzeit festlegen?

SimoneK
2007-03-30
2007-05-15
  • SimoneK - 2007-03-30

    Bei der CoDeSys User Konefrenz wurde es gezeigt, aber ich habe es mir leider nicht aufgeschrieben:

    Ich möchte meine Datenarrays nicht mit fester Größer ablegen, sondern nur so groß, wie auch Daten da sind. Wie kann man die Deklaration gestalten?

    Danke für die Tipps!

    Simone

     
  • B.Roth - 2007-03-30

    Hallo,

    in CoDeSys 2.3 ist dies nicht möglich, kann sein daß dies in Codesys3.x

    möglich ist, hab da aber auch keine Erfahrung.

     
  • Ralph Holz - 2007-03-30

    Hallo Simone,

    da war ich wohl bei der falschen UC - ich war in Nürtingen. Also, wenn es so was gibt, hat das bestimmt Christoph Schneider erzählt den werde ich dann nächste Woche mal löchern und dann natürlich auch das Ergebniss mitteilen.

    Prinzipiell passt einen dynamische Speicherverwaltung nicht zu einem deterministischen System (und das sollte eine SPS auf jedem Fall sein). Es gibt aber Steuerungen die eine SysLibMem haben mit der Speicherplätze dynamisch verwaltet werden können. Das ist dann aber ein zugriff per Pointer und kein Array.

    Übrigens auch in 3.0 gibt es sowas nicht und ist auch nicht geplant.

    Grüsse Ralph

     
  • Anonymous - 2007-04-02

    Originally created by: Bernhard Werner

    Hallo,

    Ich war bei keiner UC und weiss nicht, was wer wo gezeigt hat. Aber ich überstimme jetzt mal Ralph. Es geht nicht. Es geht auch nicht in 3.0 bzw 3.1.

    Auch Christoph Schneider kann das nicht.

    Wir überlegen, ob wir sowas einbauen, aber noch ist nichts eingeplant.

    Was geht, ist dass man die Größe eines Arrays über eine Konstante festlegt, diese Konstante kann man dann für verschiedene Anwendungen umdefinieren. Das bedeutet aber jedesmal eine Änderung des Codes, ein Neuübersetzen und ein Online Change. Es gibt keine dynamische Speicherallokation.

    Bernhard Werner

     
  • Pizzabäcker - 2007-05-15

    Hallo ,

    ich glaube das hat was damit zu tun und ich habs so im Projekt / Datentypen:

    tirgendwas :ARRAY[1..iMAX_Anz] OF BYTE;

     
  • Pizzabäcker - 2007-05-15

    ne imayAnz ist ein define .

    Aber ich hab auch im Kopf das es geht . Vielleicht find ichs noch.

    Gruß Martin.

     

Log in to post a comment.