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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: WinCC flexible: Zeiger auf Strukturen/Multiinstanzen?

  1. #1
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    folgendes Beispiel:

    Ich habe einen FB100 mit Instanzdatenbaustein DB100.

    Im FB100 habe ich 10x den FB41 (PID-Regler) als Multiinstanz drin.


    In der Visu (WinCC flexible RT) möchte ich eine Seite machen wo ich die Parameter der Regler einstellen kann.

    Ich will aber nur eine Seite machen wenn das geht.

    Wie sieht die sauberste Lösung aus das mit Bildbausteinen oder Mux-Variablen oder sonst irgendwie zu realisieren?

    Ich habe quasi ein DropDown Feld mit einer Textliste der verschiedenen FB41 Instanzen, und ja nach Auswahl steht in der Variabel der Textliste ein Wert.


    Früher bei Protool habe ich den Wert der Variablen als DB-Nr für die andren Variablen genommen (natürlich ohne Multiinstanz). oder bei einer Multiinstanz mit einem Skript alle Pointer gerechnet.

    Aber ich bin mir sicher das dass bei WinCC flex schöner und vor allem Symbolisch geht...

    Danke für eure Anregungen!
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)
    Zitieren Zitieren WinCC flexible: Zeiger auf Strukturen/Multiinstanzen?  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Hallo Markus,
    ich habe das bei einem ähnlichen Problem ungefähr so gelößt, wie du es geschreiben hast.
    In meinem Fall wähle ich über 2 Buttons (+ und -) und dahinterliegendem Script den gewünschten Datensatz an, den ich zum Editieren auf der Seite freigebe. In dem Script bekommt dann jeder Datensatz auch eine Überschrift (String) zugeordnet. ARRAY_OF_STRING geht ja leider nicht.

    Soweit ich bisher herausgefunden habe (!?) hat WinCCFlex diesbezüglich keine erwähnenswerten Mehr-Fähigkeiten ...

  3. #3
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    was ist mit bildbausteinen?
    war da nicht was mit struktuvariablen?

    geht da was?
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

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

    Standard

    ja, aber strukturvariablen sind nicht indirekt adressierbar!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren ja schon...  

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich Handle das auch mit einem einzigen Fenster. Aber die Daten werden in der SPS entsprechend umkopiert, da noch eine "Datenbank" in einem Datenbaustein dahintersteht, die dann mehrerer Produkte zuläßt. Hat auch den Vorteil, daß Daten im Bild geändert werden können, aber erst mit einem extra "Save"-Button übernommen werden, also nicht gleich wirken, bzw. die aktiven Daten überpinseln.
    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

  6. #6
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Ich Handle das auch mit einem einzigen Fenster. Aber die Daten werden in der SPS entsprechend umkopiert, da noch eine "Datenbank" in einem Datenbaustein dahintersteht, die dann mehrerer Produkte zuläßt. Hat auch den Vorteil, daß Daten im Bild geändert werden können, aber erst mit einem extra "Save"-Button übernommen werden, also nicht gleich wirken, bzw. die aktiven Daten überpinseln.

    so mache ich das bei rezepturen wenn ich sei sps-seitig verwalte, ist eben alles schön symbolisch angebunden...

    naja dann werde ich wohl ein bissel scripten...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  7. #7
    Registriert seit
    06.10.2003
    Beiträge
    3.413
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo,

    vorweg, die derzeitige 5-Sterne-Bewertung kommt von mir (nicht etwa von Markus). Ich finde das Thema sehr interessant.

    In meinen Anwendungen nutze ich so etwas auch z.Bsp. zur HMI-Anbindung von Regelkreisen. Ich nehme hierfür einen DB mit n Datensätzen. Der erste Datensatz im DB ist der, dessen Variablen in WinCCFlexible verwendet werden (u.a. auch als Struktur). Jeder Regelkreis bekommt eine ID. Diese wird bei Bildanwahl oder auch per Tastendruck entsprechend gesetzt. Anhand dieser ID werden die Daten in der Steuerung gemultiplext. Der größte Datensatz hat bei mir eine Länge von 100Bytes mit entsprechend vielen Variablen. Dazu gehören Reglerparameter, Betriebsarten, Sollwerte, Istwerte, Heizkennlinien, eine Schaltuhr usw., alles was man bei einer Regelung brauchen kann.


    Drei gewaltige Vorteile rechtfertigen den Aufwand:

    1. Variablen (es können hunderte sein) werden nur einmal im HMI angelegt und werden x mal genutzt.
    2. Auf der HMI-Seite spart man enorm viele Power-Tacks, was beim Multiplexen unter WinCCFlexible nicht der Fall ist.
    3. Fehlerfreies Hinzufügen eines Reglers ohne nenneswerten Aufwand.

    @Markus,
    was hast du mit Scripten vor?


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  8. #8
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.812
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    @onkel dagobert
    deine visu greift auf das erste element der struktur zu?

    wenn sich die "ID" ändert werden alle daten von dem element das die id hat in das erste kopiert (einmalig mit flanke) ab dann wird nur noch von der ersten in die entsprechende mit der id geschrieben?

    blockmove?


    zu den skripten:
    ich habe im HMI auch alle variablen nur einmal, die haben die db adresse fest drin, die wortadresse ist über eine HMI interne variable indirekt.

    bei wertänderung oder seitenaufruf berechnet ein skript abhängig von der "ID" die zeiger im HMI...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  9. #9
    Registriert seit
    06.10.2003
    Beiträge
    3.413
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo Markus,

    Zitat Zitat von Markus Beitrag anzeigen
    ...wenn sich die "ID" ändert werden alle daten von dem element das die id hat in das erste kopiert (einmalig mit flanke) ab dann wird nur noch von der ersten in die entsprechende mit der id geschrieben?...
    Im Prinzip ja, in der Wirklichkeit ist es noch etwas komplexer, es geht im FC noch einmal einen Weg über temporäre Lokaldaten. Ich schreibe später gerne mehr dazu, im Moment habe ich sehr wenig Zeit.

    Zitat Zitat von Markus Beitrag anzeigen
    ...blockmove?..
    Nein, in einer FC mit Pointer über AR1/AR2. Bevor ich einen Pointer move, habe ich die Daten schon kopiert. Wenn ich's noch mal neu anfangen würde, wären es ANYs.

    Code:
     
    //*** 100 Byte vom Datenfeld in Lokaldaten kopieren
          LAR1  P##P
          L     25
    LOO4: T     #TEMP_INT
          L     DBD [AR2,P#0.0]
          T     LD [AR1,P#0.0]
          +AR1  P#4.0
          +AR2  P#4.0
          L     #TEMP_INT
          LOOP  LOO4
    ACTI: NOP   0                           //Bild ist am OP aktiv
    Zitat Zitat von Markus Beitrag anzeigen
    ...
    zu den skripten:
    ich habe im HMI auch alle variablen nur einmal, die haben die db adresse fest drin, die wortadresse ist über eine HMI interne variable indirekt.

    bei wertänderung oder seitenaufruf berechnet ein skript abhängig von der "ID" die zeiger im HMI...
    Mit Scripten kenne ich mich nur sehr wenig aus. Ich versuche, so etwas immer zu umgehen. Bedenke, dass du mit Scripten eng an das Bediengerät gebunden bist. Meine Variante habe ich ursprünglich mit OP7/OP17 verwendet. Damals war die Bildnummer die ID. Die Bausteine nutze ich noch heute unverändert unter WinCCFlexible.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    das Problem, dass ich hier sehe (das hat mir auch schon mal jemand vorgeworfen) ist, dass du nicht auf die Änderung der Struktur automatisch reagieren kannst. Ansonsten finde ich persönlich die Variante mit dem Index-Pointer von der Visu und ggf. auch den Index-DB von der Visu nicht so schlecht. Bei meinen Applikationen gibts damit auch keinen Ärger ...
    Man braucht auch nicht zwingend ein Script für den Pointer, Wert setzen ginge auch, ist halt nur nicht so elegant ...
    Der Nachteil dieses Konzeptes ist m.E. nur das dann direkt auf die addressierten Variablen zugegriffen wird. Die von Ralle angesprochene "Save"-Funktion hat auch was für sich. Läßt sich natürlich über den Script-Umweg auch hier erreichen (ohne die SPS dafür mit ins Boot zu nehmen).

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 09.09.2011, 14:16
  2. Antworten: 0
    Letzter Beitrag: 14.05.2010, 08:11
  3. Antworten: 3
    Letzter Beitrag: 16.11.2009, 12:59
  4. WinCC flex - Strukturen und Variablen
    Von larsibaby2000 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 30.09.2009, 10:20
  5. Strukturen indirekt adressieren (flexible)
    Von Jochen Kühner im Forum HMI
    Antworten: 1
    Letzter Beitrag: 02.08.2006, 11:41

Lesezeichen

Berechtigungen

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