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

Ergebnis 1 bis 9 von 9

Thema: BLKMOV Fehler 16#837F

  1. #1
    Registriert seit
    11.02.2009
    Ort
    01968 Brieske
    Beiträge
    105
    Danke
    25
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe ein Problem mit dem SFC20 (BLKMOV).
    Folgende Ausgangssituation:
    - FC geschrieben in SCL
    - im FC rufe ich über einen Pointer einen Datenbaustein auf
    - den Inhalt möchte ich in eine Lokalvariabel ablegen (zum weiterverarbeiten)
    - es handelt sich dabei um STRING-Variablen


    hier die Struktur meiner VAR_TEMP
    Code:
    VAR_TEMP
      Pointer_Struct_in:  STRUCT
        ID:               BYTE;
        DataTyp:          BYTE;
        laenge:           INT;
        DB_Nummer:        INT;
        Byte_Bit:         DWORD;
      END_STRUCT;
      Pointer_Source AT Pointer_Struct_in: ANY;
    
      Pointer_Struct_out: STRUCT
        ID:               BYTE;
        DataTyp:          BYTE;
        laenge:           INT;
        DB_Nummer:        INT;
        Byte_Bit:         DWORD;
      END_STRUCT;
      Pointer_Meldung AT Pointer_Struct_out: ANY;
        Meldung:                    STRING[32];
    END_VAR

    Hier ein Auszug ais meinem Programm – hinter dem / habe ich die aktuellen Wert von „Beobachten“ geschrieben
    Code:
    // Aufrug des DB wo der String her kommt
      Pointer_Struct_in.ID:= 16#10;                             / 16#10
      Pointer_Struct_in.DataTyp:= 16#13;                        / 16#13
      Pointer_Struct_in.laenge:= 6;                             / 6
      Pointer_Struct_in.DB_Nummer:= 60                          / 60
      Pointer_Struct_in.Byte_Bit:= 16#84000000                  / 16#84000000 
    
    // Pointer auf Lokalvariable kopieren
      Pointer_Meldung:= Meldung;                                /
    // Anzeige zur Kontrolle
      HM_Byte:= Pointer_Struct_out.ID;                          / 16#10
      HM_Byte:= Pointer_Struct_out.DataTyp;                     / 16#13
      HM_INT:= Pointer_Struct_out.laenge;                       / 1
      HM_INT:= Pointer_Struct_out.DB_Nummer;                    / 0
      HM_DWord:= Pointer_Struct_out.Byte_Bit;                   / 16#870000E0
      Pointer_Struct_out.laenge:= 6;                            / 6
    // Test ob etwas kopiert wurde
      HM_INT:= LEN(Meldung);                                    / 0
    
    // BLKMOV
      HM_INT:= BLKMOV(SRCBLK := Pointer_Source                  / -31873
                     ,DSTBLK := Pointer_Meldung
                     );
    // RET_VAL in Hex wandeln
      HM_Word:= INT_TO_WORD(HM_INT);                            / 16#837F
    // Test ob etwas kopiert wurde
      HM_INT:= LEN(Meldung);                                    / 0
    Wo ist mein Fehler, das der BLKMOV nicht ausgeführt wird?
    Vielen Dank schon mal im Voraus! Dirk

    >>> Bestandsschutz gibt es nicht - allenfalls ein: "Nichtvorhandensein einer Anpassungspflicht" <<<
    Zitieren Zitieren BLKMOV Fehler 16#837F  

  2. #2
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Dirk,

    Arrays vom Datentyp String sind beim BLKMOV nicht erlaubt.

    Grüße
    Gebs

  3. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    DiGo1969 (10.01.2012)

  4. #3
    DiGo1969 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.02.2009
    Ort
    01968 Brieske
    Beiträge
    105
    Danke
    25
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hallo,
    Danke - ich habe beide Datentypen auf Byte geändert und kurz mal eine Abfrage programmiert, um herauszubekommen, ob der eingelesenen String die richtigen Daten enthält. Scheint zu funktionieren.
    >>> Bestandsschutz gibt es nicht - allenfalls ein: "Nichtvorhandensein einer Anpassungspflicht" <<<

  5. #4
    DiGo1969 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.02.2009
    Ort
    01968 Brieske
    Beiträge
    105
    Danke
    25
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Guten Morgen,
    ich hatte nun noch ein bisschen Zeit, um zu testen. Dabei ist mir folgendes aufgefallen:

    - ich habe den DatenTyp auf 16#2 (Byte) geändert
    - als länge habe ich verschiedenen Werte probiert - hier ist völlig egal was ich da eintrage

    Nach dem BLKMOV ist die länge von "Meldung" immer die länge wie der Text im DB steht. Wenn ich die Textlänge im DB ändere ändert sich auch die länge von "Meldung".
    Wo nimmt denn der BLKMOV die Anzahl der Wiederholungen her?


    Zitat Zitat von Gebs Beitrag anzeigen
    Arrays vom Datentyp String sind beim BLKMOV nicht erlaubt.
    Wenn String nicht erlaub ist. Was habe ich nun für Möglichkeiten einen String aus einem DB als interne Variable in einen FC zu bekommen? Und das ganze bitte in SCL.


    Vielen Dank - Gruß Dirk
    >>> Bestandsschutz gibt es nicht - allenfalls ein: "Nichtvorhandensein einer Anpassungspflicht" <<<

  6. #5
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von DiGo1969 Beitrag anzeigen
    Wo nimmt denn der BLKMOV die Anzahl der Wiederholungen her?
    Also ich würde den baustein in den Übersichten markieren und dann die magische Taste drücken.
    Da steh so etwas von Quelle und Ziel und das Verhalten bei verschiedenen Größen.


    bike


    P.S: gib Bescheid ich kenne "Der Vorleser"

  7. #6
    DiGo1969 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.02.2009
    Ort
    01968 Brieske
    Beiträge
    105
    Danke
    25
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Also ich würde den baustein in den Übersichten markieren und dann die magische Taste drücken.
    Da steh so etwas von Quelle und Ziel und das Verhalten bei verschiedenen Größen.
    Übersichten???
    magische Taste???
    >>> Bestandsschutz gibt es nicht - allenfalls ein: "Nichtvorhandensein einer Anpassungspflicht" <<<

  8. #7
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Übersichten??? => Bausteinordner
    magische Taste??? => F1

  9. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    DiGo1969 (11.01.2012)

  10. #8
    DiGo1969 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.02.2009
    Ort
    01968 Brieske
    Beiträge
    105
    Danke
    25
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Gebs Beitrag anzeigen
    Übersichten??? => Bausteinordner
    magische Taste??? => F1
    Ok - wenn man die Hilfe richtig liest, kommt man um einiges weiter. Habe ich leider vorher nicht gemacht. Ich habe nun das ganze mal ein bisschen getestet. Es sieht so aus, das alles so funktioniert wie ich das benötige.

    Vielen Dank noch mal.

    Gruss Dirk
    >>> Bestandsschutz gibt es nicht - allenfalls ein: "Nichtvorhandensein einer Anpassungspflicht" <<<

  11. #9
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von DiGo1969 Beitrag anzeigen
    Ok - wenn man die Hilfe richtig liest, kommt man um einiges weiter. Habe ich leider vorher nicht gemacht. Ich habe nun das ganze mal ein bisschen getestet. Es sieht so aus, das alles so funktioniert wie ich das benötige.

    Vielen Dank noch mal.

    Gruss Dirk
    Ich bin begeistert, er hat es verstanden.
    Nimm es nicht krumm, doch zuerst ein Bisschen selbst was tun und wenn es dann noch klemmt fragen, das ist doch ein tolles Zusammenspiel.


    bike

Ähnliche Themen

  1. BLKMOV VS. Einzelanweisungen
    Von BerndHa81 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 14.12.2010, 08:39
  2. Blkmov
    Von sps_mitte im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 06.08.2010, 12:24
  3. Übertragungsbaustein BLKMOV
    Von Prome im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 07.12.2009, 18:26
  4. Alternative zu BLKMOV
    Von /*Matthias*/ im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 11.07.2008, 13:37
  5. BlkMov
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 15.02.2004, 11:33

Stichworte

Lesezeichen

Berechtigungen

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