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

Ergebnis 1 bis 5 von 5

Thema: Indirekte Adressierung

  1. #1
    Registriert seit
    26.04.2010
    Beiträge
    126
    Danke
    14
    Erhielt 6 Danke für 6 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Weiß jemand, ob ich bei den HMIs SPS-Variablen indirekt adressieren kann?

    Komponenten:
    S7-400H Steuerung projektiert in Step7 V5.5
    TP700 Comfort Panel prohektiert in TIA V13.1
    Anbindung der S7-400H über Proxy-PLC im TIA Portal.

    Ich möchte nun im TIA Portal eine Variable aus einem Array aus der SPS ansprechen.
    in der SPS gibt es zum Beispiel die 10 Reals "Variable[1]" - "Variable [10]"
    Diese möchte ich mit mehreren HMIs abrufen, wobei HMI 1 "Variable[1]", HMI 2 "Variable[2]", ..., anzeigen soll.
    Ich dachte mir nun, dass ich einfach eine interne Variable z.B.: "Nummer" im HMI anlege und dann die SPS-Variable projektiere als "Variable[Nummer]".
    Das funktioniert so leider nicht.
    Mit der MUX-Funktion möchte ich nicht arbeiten weil ich dabei nicht genug Array-Elemente ansprechen kann.

    Hat jemand eine gute Idee?
    __________________________

    Zitieren Zitieren Indirekte Adressierung  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    11.851
    Danke
    500
    Erhielt 2.591 Danke für 1.870 Beiträge

    Standard

    Du legst in der HMi eine Variable vom ersten Indexelement eines Array an (symbolisch).
    Dann unter Eigenschaften/Allgemein das Feld "Adresse" auswählen.
    Dort kannst du unter Index festlegen, das das eine Variable sein soll und diese dann auswählen.
    Er schreibt dann in der Eigenschaftstabelle automatisch <Multiplex-Variable> hinein, aber wenn dieunter Eigenschaften/Multiplexen nachsiehst, ist diese Tabelle leer.
    Es wird also rein über diesen Index gearbeitet.
    Als Spezialfall kann man das sogar mit einer "echten" Mutiülex-Variable machen und hat dann Variablen mit doppeltem Index.
    Das ist rel. kompliziert anzulegen, funktioniert aber in der HMI gut.
    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

  3. #3
    Avatar von Mephisto
    Mephisto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.04.2010
    Beiträge
    126
    Danke
    14
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hallo!

    Hab mir das mal angesehen. Das, was du da beschrieben hast scheint zu funktionieren.
    Nur leider ist es für meinen Fall nicht geignet. Ich kann die SPS nur absolut adressieren (und nicht symbolisch).
    Somit kann ich auch nur die DB-Nummer und den DB-Offset mittels einer Variablen angeben.
    Ich würde jedoch gerne den symbolischen Namen mit einer Variable modifizieren.
    Zudem habe ich keine eindimensionalen Arrays (also Array of Real, etc.) sondern habe ein Array of UDT, dass ich mit dem HMI anzeigen möchte.

    So wie du es beschreibst, würde es nur klappen, wenn ich mein Array of UDT lösche und bei z.B.: einem Array[1..5] of UDT
    5DBs mit jeweils dem gleichen UDT darin anlege.
    Dann könnte ich diese DBs im HMI über die Indexvariable ansprechen.
    Das bereitet mir aber Probleme beim SPS-Programm.

    Hast du vielleicht sonst noch eine gute Idee?
    __________________________


  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    9.413
    Danke
    799
    Erhielt 2.772 Danke für 2.239 Beiträge

    Standard

    Symbolisch multiplexen geht nur via "Variablen multiplexen", d.h. es muß eine Tabelle der Variablen projektiert werden.
    Die WinCC RT kann nicht symbolische Namen von PLC-Variablen zusammensetzen, sondern nur die Namen von HMI-Variablen. Und der Zusammenhang zwischen HMI-Variable und PLC-Variable (Adresse oder Name) muß zur Generierzeit schon bekannt/projektiert sein.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Avatar von Mephisto
    Mephisto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.04.2010
    Beiträge
    126
    Danke
    14
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Der Ansatz mit der indirekten Adressierung der DB-Nummer (Ralles Beitrag #2) scheint mir der interessanteste Lösungsansatz dabei. Das lässt sich leicht bei mir implementieren.
    Es gibt aber ein großes Problem:
    Wenn ich auf diese Art und weiße HMI-Variablen mit einer PLC-Adresse verknüpfe, dann kann ich diese Variable nicht als HMI-Meldung verwenden.
    Hat dazu jemand eine Lösung?
    __________________________


Ähnliche Themen

  1. Indirekte Adressierung
    Von Christian1984 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.02.2012, 16:31
  2. Indirekte Adressierung
    Von PapaLeo im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 11.05.2009, 17:52
  3. indirekte Adressierung
    Von Sash7770 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 22.12.2008, 12:47
  4. Indirekte Adressierung
    Von wusel220983 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.05.2007, 18:19
  5. Indirekte Adressierung
    Von Raab im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 20.12.2003, 12:17

Stichworte

Lesezeichen

Berechtigungen

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