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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Wincc flexibel indirekte Adressierung

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.317
    Danke
    932
    Erhielt 3.331 Danke für 2.689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die von Dir versuchte indirekte Adressierung nennt sich "Adress-Multiplexen".
    Dafür brauchst Du 2 Variablen:
    1. REAL: die Variable die für den Ausgabewert aus der SPS steht und eine wechselnde Adresse hat
      Dies ist bei Dir die Variable, für deren Adresse Du "DB3 DBW[...]" festgelegt hast und am EA-Feld anzeigst.
      Dies muß wegen REAL DB3 DBD[...] heißen
    2. INT oder UINT: eine interne Variable, in die der Index = die Adresse für die erste Variable geschrieben wird. Dies ist bei Dir die Variable "UebungsDatenBau.Allgemein_Daten_Multiple".
      Diese Variable muß bei der ersten Variable als Index bei DBD [UebungsDatenBau.Allgemein_Daten_Multiple] angegeben werden.


    Schau mal in die WinCC flexible Hilfe:
    WinCC flexible Information System > Arbeiten mit WinCC flexible > Arbeiten mit Variablen > Arbeiten mit Variablen > Variablen konfigurieren > Variable für das Adress-Multiplexen projektieren

    und hier: Wie funktioniert das Adress-Multiplexen?

    Vorsicht:
    Wo genau hast Du den Aufruf Dein Skriptes angebunden? Möglicherweise wird Dein Skript gar nicht aufgerufen.
    Beachte, daß der Wert der gemultiplexten Variable erst irgendwann später nach Zuweisung der Adresse an die Index-Variable aus der SPS gelesen wird.

    Harald
    Geändert von PN/DP (09.03.2014 um 18:40 Uhr) Grund: Nachtrag: "Diese Variable muß bei der ersten Variable ..."
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #12
    Fiski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.03.2014
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    An genau diesem Beispiel von Siemens bin ich gerade dran. Dort werden unterschiedliche DBs gemultiplext. Ich wollte das ganze jetzt so, wie beschrieben machen. Also wenn meine SPS-Variable vom Typ Int oder Word ist, dann geht das problemlos, wenn jedoch diese vom Datentyp Real ist, geht gar nichts.
    Mein Aufruf des Skriptes habe ich an einer Schalfläche angebunden. Wenn die SPS-Variable ein INT oder Word ist, funktioniert das, das heißt ich kriege den Wert ausgegeben, den ich zu Testzwecken in meiner Variablentabelle habe.

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.317
    Danke
    932
    Erhielt 3.331 Danke für 2.689 Beiträge

    Standard

    Ich sehe bei Dir nicht, daß Du ZWEI Variablen verwendest.
    Wie heißt Deine SPS-Ausgabevariable (die mit dem DB 3 DBD [...])?

    Beispiel zum anzeigen eines REAL von DB3.DBD36:
    - Varable "SPS_Adresse" : UInt : <intern>
    - Variable "SPS_Wert_gemultiplext" : Float : DB 3 DBD [SPS_Adresse]
    - EA-Feld für "SPS_Wert_gemultiplext" : "999.9"
    - im Skript: SmartTags("SPS_Adresse") = 36 ' Adresse der Index-Variable zuweisen

    Harald
    Geändert von PN/DP (09.03.2014 um 19:11 Uhr) Grund: REAL heißt in WinCCflex Float
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Fiski (09.03.2014)

  5. #14
    Fiski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.03.2014
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ronin hat mir gerade das Projekt geschickt.
    Seine Variable "SPS_Adresse" ist zwar ein INT, aber ansonsten hat er es auch genau so gemacht, wie bei die Harald.

    @Ronin Ich habe das Bild_3 simuliert (mit Runtime). Ich kriege das heraus DB40.DBD 2. Jedoch steht links im EA-Feld für die Soll-Drehzahl eine Null, obwohl ich in meiner Variablentabelle eine Wert geschrieben habe. Warum funktioniert das bei dir und warum nicht bei mir? Habe doch das selbe Projekt?! Teste alles mit dem Runtime. Wirklich sehr komisch. Vielleicht liegt das an der Variablentabelle, dort stht das:

    DB40.DBD 2 "MData".Motor[1].Soll_Drehzahl DEZ L#546

  6. #15
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Damit PN//DP und die anderen hier nicht unnötig ins Blaue raten:

    Er hat mir sein Projekt schon zukommen lassen. Grundsätzlich scheint das was Fiski macht zu stimmen. An manchen Stellen hat er sich beim experimentieren zu Tode addressiert aber bei einem Grundsätzlichen Beispiel (nur ein Real) stimmts eigentlich und funktioniert bei mir mit PLCSim und PC-Runtime auch. Och hab sein Projekt ein wenig modifiziert und an ihn zurückgeschickt.

    Bei mir hat es funktioiert. Wenn bei ihm dann immer noch nicht geht, sollten wir uns andere Ursachen überlegen. Womöglich haperts irgendwo mit dem alten MP370.

    @Fiski: Lad das Projekt doch hier als Anhang hoch (ist ja eh nur ein übungsbeispiel).
    Dann reden hier wenigstens alle vom selben.

    via Mobile
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  7. #16
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard

    Zitat Zitat von Fiski Beitrag anzeigen
    DB40.DBD 2 "MData".Motor[1].Soll_Drehzahl DEZ L#546
    HEUREKA! Jetzt lichten sich die Dinge endlich!!!

    Wenn du in der Variablentabelle eine Gleitpunktzahl eingeben willst dann solltest du anstatt "DEZ" auch "GLEITPUNKT" verwenden (Rechtsklick-Menü).
    Und dann den Wert als 546.0 eingeben.

    Der Wert L#546 hat nix mit 546.0 gemein (im binären Sinne).
    Die Unterschiede sind dir schon klar, oder?
    Datentyp DINT.pdf
    Datentyp REAL.pdf
    Geändert von RONIN (09.03.2014 um 19:27 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  8. Folgender Benutzer sagt Danke zu RONIN für den nützlichen Beitrag:

    Fiski (09.03.2014)

  9. #17
    Fiski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.03.2014
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So hier das Projekt:
    Angehängte Dateien Angehängte Dateien

  10. #18
    Fiski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.03.2014
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ronin !!!

  11. #19
    Fiski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    07.03.2014
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich will es nicht glauben. Habe ich jetzt Stunden hier verbracht nur wegen einer Kommastelle in der Variabelentabelle??

  12. #20
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja meist sind's die einfachen Dinge! PICNIC eben.
    Die Unterschiede in der binären Darstellung der Datentypen kennst du oder?
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. Antworten: 50
    Letzter Beitrag: 01.08.2011, 12:57
  2. WinCC - indirekte Adressierung
    Von georg_demmler im Forum HMI
    Antworten: 3
    Letzter Beitrag: 17.04.2011, 10:11
  3. DB Adressierung flexibel
    Von BA-Student im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 16.04.2008, 11:47
  4. Indirekte-Adressierung
    Von johnij im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.02.2008, 14:32
  5. Antworten: 29
    Letzter Beitrag: 11.06.2007, 22:21

Lesezeichen

Berechtigungen

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