Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Name & Datentyp zur Laufzeit in globalen DB erzeugen

  1. #11
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    11.871
    Danke
    500
    Erhielt 2.604 Danke für 1.877 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich würde dafür Datentypen, Struct oder Array, gegebenfalls eine Kombination aus diesen nutzen.
    Die Länge könnte man über Konstanten in der Symbolliste vorgeben, zumindest habe ich das in der 1500-er schon für statische Array in FB gemacht. Array[0..MaxWert] ...
    Dann kann man beim Programmieren bestimmen, wie lang die Array werden sollen.

    Diesse Daten dann über IN, INOUT an eineen FB/FC übergeben,der ebenfalls diese Konstante nutzt, darüber bekommt man dann auch die Länge, bzw. den Max Index.

    Problem: Man kann die DB zur Lauffzeit nicht beliebig wechseln, davon uß man sich bei den 1200/1500-er SPS wohl eher verabschieden.

    Für die 1500-er habe ich enen AWL-Baustein, der Any entsprechend verbiegt, aber die 1200-er kann ja kein AWL.
    Bliebe die Lösung, das in SCL mit AT-Ansichten umzusetzen, dann aber mit nicht optimierten Bausteinen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  2. #12
    Registriert seit
    06.10.2003
    Beiträge
    3.188
    Danke
    409
    Erhielt 462 Danke für 371 Beiträge

    Standard

    Danke Ralle, aber ich möchte nach Möglichkeit beim Parametertyp BLOCK_DB bleiben. Die DB-Größe wird sich auch nicht zur Laufzeit ändern. Mit "flexibler DB-Länge" meinte ich, von Projekt zu Projekt verschieden, jedoch nicht zur Laufzeit variabel. Ich bin gerade dabei, meine erhabenen Ergüsse der letzten zwanzig Jahre in die TIA-Welt zu retten. Ich hätte je wenigstens gedacht dass die Funktionen der S7300 auf allen neueren Generationen zu verwenden sind. In Classic war das alles überhaupt kein Akt. Ich muss nur irgendwie die DB-Länge und die DB-Nummer ermitteln können. Was kann man ohne diese Infos zu den DBs mit dem Parametertyp BLOCK_DB überhaupt anfangen?

    Ich habe gerade erkannt dass das Titelthema garnicht zu meinem Problem passt, sorry. Ich hatte nach "TEST_DB" und nach "TIA" gesucht und bin halt hier gelandet, naja.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  3. #13
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    11.871
    Danke
    500
    Erhielt 2.604 Danke für 1.877 Beiträge

    Standard

    Mit der Konstanten geht es ja auch nciht zur Laufzeit, sondern beim Projektieren.
    Ich habe inzwischen auch schon gemerkt, dass man sich von ein paar alten Zöpfen trennen muß, hilft nichts! Mach dich besser mit dem Gedanken vertraut.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #14
    Registriert seit
    06.10.2003
    Beiträge
    3.188
    Danke
    409
    Erhielt 462 Danke für 371 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Meine kleinen Probleme habe ich lösen können. "BLOCK_DB" habe ich durch "DB_ANY" ersetzt und meine indirekten Adressierungen durch "PEEK" & "POKE". "TEST_DB" und die damit verbundenen Parameterprüfungen habe ich einfach wegrationalisiert. Wenn ich ins Leere peeke oder poke, dann erkenne ich es am ENO, das genügt mir in diesem Fall. Wenn man tatsächlich mal die DB-Länge benötigt, dann müsste das ebenso mit peeken und Auswertung des ENO möglich sein. Nicht optimierte DBs haben in S7300/400 wie auch in S7-1200/1500 eine maximale Datenlänge von 64k. In einer Schleife sollte das mit max. 16 Durchläufen zu machen sein. Ich habe noch ein paar komplexere Standardbausteine. Bin jetzt mal optimistisch dass ich diese auch umgesetzt bekomme. Vor allem bin ich gespannt, was aus so einer preiswerten S7-1200 heraus zu holen ist .
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

Ähnliche Themen

  1. TIA E/A Adressen zur Laufzeit bestimmen
    Von NBerger im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 10.10.2013, 19:48
  2. Antworten: 2
    Letzter Beitrag: 25.07.2012, 14:23
  3. Benutzerrechte zur Laufzeit ändern (MP377)
    Von andree2812 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 22.09.2009, 16:45
  4. IP-Adresse zur Laufzeit ändern ??
    Von corrado im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.02.2007, 12:18
  5. WinCC Variablen zur Laufzeit erzeugen
    Von Anonymous im Forum HMI
    Antworten: 2
    Letzter Beitrag: 16.06.2005, 19:03

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •