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

Ergebnis 1 bis 3 von 3

Thema: Problem mit BLKMOV bei Zugriff auf V-Lokaldaten

  1. #1
    Registriert seit
    10.02.2006
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde,
    ich hab folgendes Problem. Ich möchte einen ANY an einen FC übergeben und in diesem FC eine BLKMOV ausführen. Das klappt wunderbar mit DB, M usw. aber leider nicht mit Lokaldaten. Ich nehme an der BLKMOV kann mit den vorherigen-Lokaldaten (=Lokadaten des aufrufenden Bausteins) nicht umgehen. Er gibt aber keine Fehlermeldung aus.
    Ich hab die Quelle von meinem Test angehängt, wäre schön, wenn einem dazu was einfällt.

    FUNCTION FC 20 : VOID
    TITLE =
    VERSION : 0.1


    VAR_INPUT
    inp1 : ANY ;
    outp1 : ANY ;
    END_VAR
    VAR_OUTPUT
    retv : INT ;
    END_VAR
    VAR_TEMP
    retval : INT ;
    inp : ANY ;
    outp : ANY ;
    dt1 : DWORD ;
    dt2 : DWORD ;
    inp_syntax : BYTE ;
    inp_datentyp : BYTE ;
    inp_laenge : WORD ;
    inp_db : WORD ;
    inp_adresse : DWORD ;
    out_syntax : BYTE ;
    out_datentyp : BYTE ;
    out_laenge : WORD ;
    out_db : WORD ;
    out_adresse : DWORD ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    L P##inp1;
    LAR1 ;
    L B [AR1,P#0.0]; //sytanx-ID (10 für S7)
    T #inp_syntax;
    L B [AR1,P#1.0]; //Datentyp
    T #inp_datentyp;
    L W [AR1,P#2.0]; //Laenge
    T #inp_laenge;
    L W [AR1,P#4.0]; //DB
    T #inp_db;
    L D [AR1,P#6.0]; //Startadresse
    T #inp_adresse;

    LAR1 P##inp; //Anfangsaddresse des Pointers laden
    L #inp_syntax;
    T B [AR1,P#0.0]; //sytanx-ID (10 für S7)
    L #inp_datentyp;
    T B [AR1,P#1.0]; //Datentyp
    L #inp_laenge;
    T W [AR1,P#2.0]; //Laenge
    L #inp_db;
    T W [AR1,P#4.0]; //DB
    L #inp_adresse;
    T D [AR1,P#6.0]; //Startadresse

    //////////////////
    L P##outp1;
    LAR1 ; //Anfangsaddresse des Pointers laden
    L B [AR1,P#0.0]; //sytanx-ID (10 für S7)
    T #out_syntax;
    L B [AR1,P#1.0]; //Datentyp
    T #out_datentyp;
    L W [AR1,P#2.0]; //Laenge
    T #out_laenge;
    L W [AR1,P#4.0]; //DB
    T #out_db;
    L D [AR1,P#6.0]; //Startadresse
    T #out_adresse;

    LAR1 P##outp; //Anfangsaddresse des Pointers laden
    L #out_syntax;
    T B [AR1,P#0.0]; //sytanx-ID (10 für S7)
    L #out_datentyp;
    T B [AR1,P#1.0]; //Datentyp
    L #out_laenge;
    T W [AR1,P#2.0]; //Laenge
    L #out_db;
    T W [AR1,P#4.0]; //DB
    L #out_adresse;
    T D [AR1,P#6.0]; //Startadresse


    CALL "BLKMOV" (
    SRCBLK := #inp,
    RET_VAL := #retval,
    DSTBLK := #outp);

    L #retval;
    T #retv;


    END_FUNCTION

    FUNCTION FC 19 : VOID
    TITLE =
    VERSION : 0.1


    VAR_TEMP
    tin : DWORD ;
    tout : DWORD ;
    retv : INT ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =

    // Das funkt das kopieren nicht:

    L DW#16#AFFEAFFE;
    T #tin;
    L DW#16#0;
    T #tout;

    CALL FC 20 (
    inp1 := #tin,
    outp1 := #tout,
    retv := #retv);

    L #tout;

    //Das funkts aber:

    L DW#16#AFFEAFFE;
    T MD 20;

    CALL FC 20 (
    inp1 := MD 20,
    outp1 := MD 30,
    retv := #retv);

    L MD 30;

    //Das auch

    L DW#16#AFFEAFFE;
    T #tin;
    L DW#16#0;
    T #tout;

    CALL "BLKMOV" (
    SRCBLK := #tin,
    RET_VAL := #retv,
    DSTBLK := #tout);

    L #tout;

    END_FUNCTION
    Zitieren Zitieren Problem mit BLKMOV bei Zugriff auf V-Lokaldaten  

  2. #2
    Anonymous Gast

    Standard

    hi,
    ja ich denkeauch, daß du recht hast mit den Temp Varablen, so rein interesse halber versuchs doch mal mit nem FB únd den statischen?

  3. #3
    Registriert seit
    21.03.2004
    Beiträge
    65
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo armadillo
    sieh mal bei Siemens nach
    http://<br /> <a href="http://suppo...6100</a><br />
    dort ist die Uebergabe beschrieben

    mfG
    hg

Ähnliche Themen

  1. Zugriff auf Lokaldaten
    Von Züttu im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.07.2010, 12:07
  2. Antworten: 3
    Letzter Beitrag: 07.10.2009, 16:12
  3. Zugriff auf Lokaldaten in einem FC/FB
    Von Move im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 02.03.2009, 11:29
  4. Antworten: 0
    Letzter Beitrag: 13.11.2008, 12:39
  5. Indirekter Zugriff auf Lokaldaten des Vorgänger
    Von Senator42 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.03.2007, 14:17

Lesezeichen

Berechtigungen

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