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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 32

Thema: blkmov in SCL

  1. #11
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Felse,
    da gibt es doch was von Ratiopharm (ich meine natürlich in der FAQ) :
    http://www.sps-forum.de/showthread.php?t=12923
    da steht aber leider die SCL-variante noch nicht drin ... die findest du hier: http://sps-forum.de/showthread.php?t=21582
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  2. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Felse (25.03.2009)

  3. #12
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.626
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Wie in den anderen Thread schon beschrieben:

    In SCL kann man einfach so schreiben:
    PLC_data1.vals[2] := PLC_data2.vals[1] ;
    oder sogar
    PLC_data1.vals := PLC_data2.vals ;
    oder eben
    PLC_data1 := PLC_data2 ;

    Der compiler kümmert sich dann um wie die Daten transferiert wird.
    Wenn die Daten nur wenige sind, wird normale Lade+Transfer verwendet.
    Wenn die Daten zu viel sind, wird ein SFC20 aufruf eingefügt.

    Wenn Du wirklich SFC20 in SCL aufrufen willst, denn sieht das so aus:

    Code:
    FUNCTION Call_SFC20 : void
    VAR_TEMP
     iRetval : INT ;
    END_VAR
     
    iRetval := BLKMOV(SRCBLK :=  PLC_data.vals[1]
           ,DSTBLK := PLC_data.vals[2]
           ); 
     
    END_FUNCTION
    edit: Habe das Beispiel etwas erweitert

    noch ein edit: Wichtig ist, wenn Quelle und Ziel schon bekannt ist für den Compiler, dann shreibt man einfach datenx := dateny ;
    Wenn die Daten nicht bekannt ist, weill sie als ANY Paremeter übergeben werden oder der ANY Pointer intern 'gebaut' wird, so braucht man BLKMOV in SCL code.
    Geändert von JesperMP (25.03.2009 um 10:11 Uhr)
    Jesper M. Pedersen

  4. Folgende 2 Benutzer sagen Danke zu JesperMP für den nützlichen Beitrag:

    Felse (25.03.2009),roman06 (24.10.2017)

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

    Standard

    Mit dem SFC20-Aufruf geht das so:

    Code:
    FUNCTION_BLOCK FB111
    
    VAR_INPUT
       INANY: ANY;
       OUTANY: ANY;   
    END_VAR
    
    VAR_TEMP
        // temporäre Variablen
      Retval: INT;
    END_VAR
    VAR
        // statische Variablen
    
    END_VAR
    
    Retval := BLKMOV(SRCBLK := INANY  // IN: ANY
           ,DSTBLK := OUTANY  // OUT: ANY
           ); // INT
     
        // Anweisungsteil
        ;
    END_FUNCTION_BLOCK
    Du kannst auch mal hier schauen:

    http://www.sps-forum.de/showpost.php...92&postcount=5

    Der FC112 könnte vielleicht von dir eingesetzt werden, dann mußt du in SCL nicht die Any selber zusammenbauen, sondern rufst den FC112 auf, DB-Nummr, Start-DW und Länge dran, fertig.
    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. Folgende 2 Benutzer sagen Danke zu Ralle für den nützlichen Beitrag:

    Felse (25.03.2009),roman06 (24.10.2017)

  7. #14
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    @ ll Da hat sich Volker wirklich viel Arbeit gemacht, leider weiß jetzt auch nicht wirklich mehr, keine Ahnung was da jetzt zu tun ist.
    " Immer schön locker durch die Hose atmen"

  8. #15
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... und die Beiträge von Vierlagig, Jesper und Ralle helfen dir auch nicht weiter ?

    Was willst du denn ver-moven ?

  9. #16
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Erstmal danke für die ganze Hilfe, wenn ich das jetzt testen möchte, müssten doch die Variablen (Aktualwerte) von test in test1 geschrieben werden, oder sehe ich das falsch, das einzige, was ich beobachten kann, ist das sich "Wert" auf -32768 ändert.
    " Immer schön locker durch die Hose atmen"

  10. #17
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    @ larry : doch die haben mir geholfen, das hatte ich geschrieben bevor ich die Beiträge aktualisiert hatte
    " Immer schön locker durch die Hose atmen"

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

    Standard

    Zitat Zitat von Felse Beitrag anzeigen
    Erstmal danke für die ganze Hilfe, wenn ich das jetzt testen möchte, müssten doch die Variablen (Aktualwerte) von test in test1 geschrieben werden, oder sehe ich das falsch, das einzige, was ich beobachten kann, ist das sich "Wert" auf -32768 ändert.
    Versuch es mal mit dem FC112, das erspart dir den Umgang mit den Any-Variablen.
    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

  12. #19
    Avatar von Felse
    Felse ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.02.2009
    Ort
    Thüringen
    Beiträge
    218
    Danke
    91
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Versuch es mal mit dem FC112, das erspart dir den Umgang mit den Any-Variablen.
    Ist vielleicht ne dumme Frage, aber wo find ich den? Muss ich den dann einfach nur in meinem SCL Prog aufrufen?
    " Immer schön locker durch die Hose atmen"

  13. #20
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    einfach dem Link von Ralle's Beitrag (#13) folgen ...

Ähnliche Themen

  1. BLKMOV für Simatic S5
    Von matziane im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.11.2011, 13:39
  2. BLKMOV VS. Einzelanweisungen
    Von BerndHa81 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 14.12.2010, 08:39
  3. Blkmov
    Von sps_mitte im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.08.2010, 12:24
  4. Sfc 20 blkmov
    Von Franz im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 29.12.2008, 14:24
  5. BlkMov
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 15.02.2004, 11:33

Lesezeichen

Berechtigungen

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