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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Array beschreiben

  1. #1
    Registriert seit
    13.08.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich will einen Eingang eines Funktionsbausteins in TIA Portal beschreiben. Der Eingang ist ein Array vom Typ Integer.
    Der Array hat zum Beispiel 2 Elemente. Nun will ich den Eingang mit Zahlen beschreiben. Ich kenne das aus C-Programmierung so:

    [192,195]=array;

    Meine Frage ist wie das Ganze in Tia Portal funktioniert?
    Zitieren Zitieren Array beschreiben  

  2. #2
    Registriert seit
    23.10.2009
    Beiträge
    399
    Danke
    59
    Erhielt 114 Danke für 88 Beiträge

    Standard

    Zitat Zitat von Dani71 Beitrag anzeigen
    ...Ich kenne das aus C-Programmierung so:

    [192,195]=array;
    Ich frage mich, wo Du C gelernt hast, so geht es sicher nicht.

    Bei einer S7 musst Du einen Datenbaustein mit einem Array anlegen, die Elemente entsprechend vorbesetzen (Initialwerte) und das Array an den FC übergeben.
    Gruß
    Erich

  3. #3
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    Guten Morgen

    Ich verstehe zwar die Frage nicht ganz aber so müsste es gehen:

    Code:
    array[0] := 100
    array[1] := 101

  4. #4
    Dani71 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.08.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    LargoD meint genau das worauf ich hinaus will. Die Initialwerte direkt an den FC übergeben ist nicht möglich oder ?

  5. #5
    Registriert seit
    23.10.2009
    Beiträge
    399
    Danke
    59
    Erhielt 114 Danke für 88 Beiträge

    Standard

    Richtig

    Gruß
    Erich

  6. #6
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Ist es in diesem Zusammenhang eigentlich möglich einen allgemeinen FB zu schreiben und erst beim Aufruf zu bestimmen, wieviele Array-Elemente zur Anwendung kommen sollen?

    Beispiel:

    FC1 enthält ein Array[0..15]. Diese soll in einem allgemein programmierten FB aufgerufen werden.

    Im FB müsste ja jetzt sowas wie Array[0..n) programmiert sein, wobei für diesen Fall beim Aufruf n mit der Zahl 15 beschrieben wird. Geht sowas? f
    LG
    spirit

  7. #7
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Ist es in diesem Zusammenhang eigentlich möglich einen allgemeinen FB zu schreiben und erst beim Aufruf zu bestimmen, wieviele Array-Elemente zur Anwendung kommen sollen?

    Beispiel:

    FC1 enthält ein Array[0..15]. Diese soll in einem allgemein programmierten FB aufgerufen werden.

    Im FB müsste ja jetzt sowas wie Array[0..n) programmiert sein, wobei für diesen Fall beim Aufruf n mit der Zahl 15 beschrieben wird. Geht sowas? f
    Soweit Ich weiß, nein! Das wäre ja dann dynamische Speicheralokierung, und wüsste nicht das dies geht!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  8. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.326
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Das wäre ja dann dynamische Speicheralokierung, und wüsste nicht das dies geht!
    Das muß nichts mit dynamischer Speicherallokation zu tun haben - das zu übergebende Array kann/soll durchaus schon existieren.

    Direkt als Array kann man verschieden große Arrays meines Wissens auch in TIA nicht übergeben, aber als ANY oder notfalls POINTER + extra Größen-Parameter. VARIANT geht wohl auch, läßt sich aber meines Wissens zur Zeit noch nicht im Baustein auswerten, was er erhalten hat. Geht es vielleicht schon mit unterschiedlich langen STRING? Was tatsächlich geht kommt auf die verwendete CPU drauf an.

    Harald
    Geändert von PN/DP (21.12.2015 um 15:13 Uhr)
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    spirit (21.12.2015)

  10. #9
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Ok, ich danke euch!

    So wie es sich anhört, geht es dann evtl. nur über ziemliche Umwege ...
    LG
    spirit

  11. #10
    Registriert seit
    26.01.2008
    Ort
    Weida
    Beiträge
    131
    Danke
    59
    Erhielt 48 Danke für 37 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    es gibt die Möglichkeit ein Array über Konstanten zu deklarieren. Dann kann der Zugriff Symbolisch erfolgen und man muss bei Änderung der Größe des Feldes nur an einer Stelle ändern.

    Array.jpg

    Harald

  12. Folgende 2 Benutzer sagen Danke zu Funky für den nützlichen Beitrag:

    NikolausL (22.12.2015),spirit (21.12.2015)

Ähnliche Themen

  1. Array von FB Ausgang beschreiben
    Von michal im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 03.08.2011, 08:58
  2. Array beschreiben
    Von focus81 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.08.2010, 14:25
  3. Eindimensionales Array beschreiben
    Von SPS_LB im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 06.09.2009, 03:04
  4. Array indirekt beschreiben
    Von Airpower im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.06.2009, 08:34
  5. Array im Script beschreiben
    Von Neuling74 im Forum HMI
    Antworten: 2
    Letzter Beitrag: 16.06.2007, 08:59

Lesezeichen

Berechtigungen

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