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

Ergebnis 1 bis 2 von 2

Thema: Variable (Int aus Datenbaustein) einem FC als Pointer übergeben

  1. #1
    Registriert seit
    05.06.2014
    Beiträge
    12
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ich würde mir gerne einen FC schreiben der die Daten aus einem DB manipuliert. Dabei möchte ich dem FC die Daten des DB gerne als Pointer übergeben, so dass ich innerhalb des FCs direkt auf die Daten des DBs zugreifen kann.

    Zwar könnte ich dem FC den DB übergeben und separat die Adress-Nummer des zu bearbeitenden Datums, aber besonders elegant ist das nicht. Würde gerne den Symbolnamen verwenden.

    Gibt's da in TIA ne Möglichkeit?

    lg
    Zitieren Zitieren Variable (Int aus Datenbaustein) einem FC als Pointer übergeben  

  2. #2
    Registriert seit
    06.11.2008
    Beiträge
    94
    Danke
    9
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin PoWl,

    geht im Prinzip genauso wie im klassischen Step 7:

    Du verwendest einfach die SFC20 (BLKMOV). Leider kann hier nicht eine als any deklarierte IN-Variable übergeben werden.
    Daher zunächst in eine TEMP-Variable überführen...


    Code:
    	I_QUELLE	Any	 	T_QUELLE	Any				
    
    
    	T_Pointer	Struct					
    	S7	Byte	0.0				
    	Datentyp	Byte	1.0				
    	Wiederholfaktor	Int	2.0				
    	DB_Nummer	Int	4.0				
    	Speicherbereich	Byte	6.0				
    	Adresse_2	Byte	7.0				
    	Adresse_1	Byte	8.0				
    	Adresse_0	Byte	9.0
    Code:
    //*** AR1-Register retten ***
    
    
          TAR1  #Tdw_AR1_rett
    
    //*** Pointer  I_QUELLE auslesen ***
    
    
          L     P##I_QUELLE
          LAR1
          L B [ AR1 , P#0.0 ]        //10h für S7
          T     #T_Pointer.S7
          L B [ AR1 , P#1.0 ]        //Datentyp
          T     #T_Pointer.Datentyp
          L W [ AR1 , P#2.0 ]        //Wiederholfaktor
          T     #T_Pointer.Wiederholfaktor
          L W [ AR1 , P#4.0 ]        //DB-Nummmer
          T     #T_Pointer.DB_Nummer
          L B [ AR1 , P#6.0 ]        //Speicherbereich
          T     #T_Pointer.Speicherbereich
          L B [ AR1 , P#7.0 ]
          T     #T_Pointer.Adresse_2
          L B [ AR1 , P#8.0 ]
          T     #T_Pointer.Adresse_1
          L B [ AR1 , P#9.0 ]
          T     #T_Pointer.Adresse_0
    
    
    
    
    
    
    //*** Pointer T_QUELLE beschreiben ***
    
    
          LAR1  P##T_QUELLE
    
    
          L     #T_Pointer.S7
          T B [ AR1 , P#0.0 ]        //10h für S7
          L     #T_Pointer.Datentyp
          T B [ AR1 , P#1.0 ]        //Datentyp
          L     #T_Pointer.Wiederholfaktor
          T W [ AR1 , P#2.0 ]        //Wiederholfaktor
          L     #T_Pointer.DB_Nummer
          T W [ AR1 , P#4.0 ]        //DB-Nummmer
          L     #T_Pointer.Speicherbereich
          T B [ AR1 , P#6.0 ]        //Speicherbereich
          L     #T_Pointer.Adresse_2
          T B [ AR1 , P#7.0 ]
          L     #T_Pointer.Adresse_1
          T B [ AR1 , P#8.0 ]
          L     #T_Pointer.Adresse_0
          T B [ AR1 , P#9.0 ]
    Das gleiche für I_ZIEL und T_ZIEL. Dann können T_QUELLE und T_ZIEL direkt an der SFC20 verwendet werden.


    Gruß

    MFreiberger
    _____________________________________________
    "Von nichts kommt was" von B. Trüger

Ähnliche Themen

  1. Pointer als IN (FC/FB) wieder übergeben als Pointer
    Von saarlaender im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 18.06.2012, 11:47
  2. Antworten: 6
    Letzter Beitrag: 11.03.2010, 07:50
  3. MW in INT Variable übergeben
    Von Felse im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.03.2009, 10:13
  4. Pointer einem parametrieren FC übergeben
    Von S7_Mich im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.10.2004, 15:03
  5. Datenbaustein als Parameter übergeben.
    Von Jochen Kühner im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 07.07.2004, 08:13

Lesezeichen

Berechtigungen

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