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

Ergebnis 1 bis 9 von 9

Thema: Variable aus mehreren Variablen zusammensetzen

  1. #1
    Registriert seit
    18.07.2003
    Beiträge
    228
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    wir wollen ein Variable [Bsp. DB1.DBW10] aus folgenden Informationen zusammen setzen: DB_Nr:1 [INT] DBW_Nr:10 [INT]
    Also:
    DB_Nr & DBW_Nr = DB1.dbw10

    Ich möchte nachdem ich aus DB_Nr & DBW_Nr => DB1.dbw10 gebildet habe die Variable DB1.dbw10 mit einer Zahl vergleichen.
    Bsp:
    L DB1.DBW10
    L 10
    >=I
    = db30.dbx12.5 /Betriebsmeldung

    Ich weiss sowas ist in Hochsprachen möglich, ich weiss bloss nicht wie ich das in Step 7 realisieren soll.

    Wäre für jeden Tipp dankbar.
    Zitieren Zitieren Variable aus mehreren Variablen zusammensetzen  

  2. #2
    Registriert seit
    20.10.2004
    Beiträge
    650
    Danke
    5
    Erhielt 26 Danke für 26 Beiträge

    Standard

    Hallöchen

    mal eine frage du willst zwei wörter bitweise miteinander verknüpfen

    wenn ich das richtig verstanden habe

    wieso nimmst du dann nicht einfach

    UW

    l dbxx.dbw1
    l dbxx.dbw2
    UW
    t xxx

  3. #3
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo, nimm einen Pointer mit 6 Bytes, da steht alles drin was du brauchst. Einfach mal in der S7-Hilfe nach Pointerformat suchen...

    MfG
    André Räppel
    Zitieren Zitieren Lösung...  

  4. #4
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard

    Falls ich das richtig verstehe sieht das z.B. so aus:

    DB-Nr: 1/DBW-Nr: 10/gewünscht: 110
    DB-Nr: 11/DBW-Nr: 9/gewünscht: 1109 ?

    1.Option: Multipliziere den ersten Wert mit einer Zahl, die soviele Nullen hat, wie die zweite Zahl maximal Stellen hat, addiere die zweite dazu:
    Code:
    L 1.Zahl
    MUL 1000
    ADD 2.Zahl
    T Ergebnis
    2.Option: 1.Zahl um gewünschte Anzahl Stellen nach links schieben (SHL x), mit zweiter Zahl verküpfen (UW .....) -> fertig

    In beiden fällen achte auf Einhaltung des Zahlenbereiches!

    Peter

  5. #5
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 504 Danke für 407 Beiträge

    Standard

    Hallo Andy,

    deine Fragestellung ist ein klein wenig verwirrend.

    Du möchtest einen Wert aus einem Datenwort eines DB laden, indem du die DB-Nummer und die DBW-Nummer jeweils als Integer-Wert vorgibst? Ist das soweit erst mal richtig?


    Gruss, Onkel

  6. #6
    Anonymous Gast

    Standard

    Hallo AndyPed

    Hier ein Beispiel, wie ich das verstanden hab:
    Code:
    FUNCTION FC 2 : VOID
    TITLE =
    VERSION : 0.1
    
    
    VAR_INPUT
      DB_Nr  : INT ;	
      DBW_Nr : INT ;	
    END_VAR
    
    VAR_TEMP
      DB_Nr_temp  : WORD ;	
      DBW_Nr_temp : DWORD ;	
    END_VAR
    
    BEGIN
    NETWORK
    TITLE =
    
          L     #DB_Nr; 
          T     #DB_Nr_temp;        // DB-Nummer in Tempbereich umkopieren
    
          L     #DBW_Nr; 
          SLD   3;                  // Aus der DBW-Nummer Zeigerformat machen
          T     #DBW_Nr_temp; 
    
          AUF   DB [#DB_Nr_temp];   // DB öffnen
          L     DBW [#DBW_Nr_temp]; // DBW laden und vergleichen
          L     10; 
          >=I   ; 
          =     DB30.DBX   12.5; 
    
    
    END_FUNCTION
    Zitieren Zitieren Variable aus mehreren Variablen zusammensetzen  

  7. #7
    Anonymous Gast

    Standard

    @ all

    Tut mir leid war beim formulieren noch zu sehr in Gedanken.
    So wie es Techniker1 verstanden hat so habe ich das eigentlich gemeint.
    Funktioniert das so ?

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

    Standard

    ja sowie der techniker das geschreieb hat müsste es gehen!

    und deine frage war doch gut gestellt, also ich habs verstanden...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren jaja...  

  9. #9
    AndyPed ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.07.2003
    Beiträge
    228
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Heute nicht als Gast,

    Ich hatte jetzt die Möglichkeit das auszuprobieren => Funktioniert !
    Super
    Das formulieren ist halt etwas kompliziert, und nicht jeder versteht immer was man will
    Nochmal:
    Super Tipp von dir Techniker1
    Thx

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 06.07.2011, 19:29
  2. Eine Variable in mehreren Archiven
    Von Domi55 im Forum HMI
    Antworten: 5
    Letzter Beitrag: 02.05.2011, 15:10
  3. string in scl zusammensetzen
    Von Bensen83 im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 27.04.2011, 09:50
  4. Antworten: 5
    Letzter Beitrag: 26.02.2010, 22:31
  5. Antworten: 1
    Letzter Beitrag: 24.06.2003, 22:14

Lesezeichen

Berechtigungen

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