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

Ergebnis 1 bis 2 von 2

Thema: Bereich aus einem DB in einen anderen DB kopieren mit SCL

  1. #1
    Registriert seit
    21.10.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich bin ein Anfänger was SCL angeht und brauche eure Hilfe.
    Ich möchte eine errechnete DB Adresse in einen anderen DB umkopieren und das mt SCL.
    Wie das in AWL funktioniert verstehe ich.
    Hier das AWL Programm dazu:
    Aber wie setze ich das ganze in SCL um?

    Vielen Dank im Vorraus!

    //Pointer vorbereiten
    L #ProgrammIndex
    L #AbstandDatensatz // Abstand zwischen den Parametern
    *I
    L #Quell_DB_Anfang // Erster Eintrag beginn
    +I
    SLW 3
    T #AR1Buffer
    L #Ziel_DB_Anfang // Anfang im Visu DB
    SLW 3
    T #AR2Buffer

    L #AnzahlParameter // Kopieren der Parameter mittels Schleife
    SP1: T #Zaehler

    LAR1 P#0.0
    LAR2 P#0.0

    L #Zaehler
    L 1
    -I
    SLW 3
    L #AR1Buffer
    +I
    +AR1

    L #Zaehler
    L 1
    -I
    SLW 3
    L #AR2Buffer
    +I
    +AR2

    AUF DB [#DB_Quelle]
    L DBB [AR1,P#0.0]
    AUF DB [#DB_Ziel]
    T DBB [AR2,P#0.0]

    L #Zaehler
    LOOP SP1 // SPrung 1
    Zitieren Zitieren Bereich aus einem DB in einen anderen DB kopieren mit SCL  

  2. #2
    JuSa ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.10.2015
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK habe es gelöst !

    FUNCTION_BLOCK FB101

    TITLE = 'FB_Parameterverwaltung'

    VAR_INPUT
    Programm_Index :INT;
    Quell_DB :BLOCK_DB;
    Quell_DB_Anfang :INT;
    Ziel_DB :BLOCK_DB;
    Ziel_DB_Anfang :INT;
    Anzahl_Parameter :INT;
    Abstand_Datensatz :INT;
    Start :BOOL;
    END_VAR

    VAR
    Programm_Buffer :INT;
    Anfang_Quell_DB :INT;
    Anfang_Ziel_DB :INT;
    i :INT;
    END_VAR

    BEGIN

    IF ( Programm_Index <> Programm_Buffer ) OR
    ( Start = TRUE )
    THEN
    Programm_Buffer := Programm_Index;
    Anfang_Quell_DB:= (Programm_Index * Abstand_Datensatz) + Quell_DB_Anfang;
    Anfang_Ziel_DB:= Ziel_DB_Anfang;

    i:=0;
    FOR i:=1 TO Anzahl_Parameter BY 1 DO
    Ziel_DB.DB[Anfang_Ziel_DB]:=Quell_DB.DB[Anfang_Quell_DB];
    Anfang_Ziel_DB:=Anfang_Ziel_DB + 1;
    Anfang_Quell_DB:= Anfang_Quell_DB + 1;
    END_FOR;
    END_IF;

    END_FUNCTION_BLOCK

    Geändert von JuSa (23.10.2015 um 15:14 Uhr)

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 11.06.2015, 21:37
  2. Step 7 Daten aus DB in einen anderen DB kopieren
    Von roadjet im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.05.2014, 13:37
  3. Antworten: 14
    Letzter Beitrag: 14.02.2012, 15:29
  4. Antworten: 9
    Letzter Beitrag: 25.10.2011, 13:22
  5. Antworten: 2
    Letzter Beitrag: 16.11.2006, 17:45

Stichworte

Lesezeichen

Berechtigungen

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