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

Ergebnis 1 bis 9 von 9

Thema: 4 Bytes an DP Slave schreiben

  1. #1
    Registriert seit
    06.06.2006
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe folgendes Problem:

    Innerhalb eines Funktionsbausteins sind mehrere Datenstrukturen enthalten (Länge 64 Byte). Diese Datenstrukturen müssen an einen DP Slave übertragen werden. Die Länge der zuübertragenden Datenstruktur ist abhängig von meiner zuvor definierten Telegrammlänge (z.B. IN/OUT64Byte; IN/OUT32Byte usw.). Dies funktioniert problemlos mit SFC14/15 und ich kann entsprechend 32 oder 64 Bytes an Slave übertragen bzw. lesen. Nun aber habe ich das Problem, dass es eine Telegrammlänge 64IN/4OUT Bytes gibt. An dieser Stelle kann ich keine SFC15 einsetzen (Fehlermeldung bei Übertragung von 4 Bytes). Welche Möglichkeiten bleiben mir zur Übertragung dieser 4 Bytes an den Slave ? (Um die 4 Bytes konsistent zuübertragen reicht eine Lade/Transfer Operation aus, aber die Parametrierung muss variabel sein).
    Folgende Informationen liegen mir als Variable vor:
    Adresse im A Bereich --> W#16#200
    Telegrammlänge --> 4
    Die Nummer des zugehörigen Instanz-DB kann variabel sein (über DINO bekomme ich diese Nummer). Die Positionen meiner Datenfelder innerhalb des DB sind immer identisch (z.B. DB32.DBX104.0 Byte 4).

    Welche Möglichkeiten bleiben um die 4 Bytes an den Slave zu übertragen ? (SFC20 ?; SFC81 ?;..). Die Parametrierung des Ausgangsbereichs (z.B. PAD512) sowie die Nummer des DBs ist variabel.
    Zitieren Zitieren 4 Bytes an DP Slave schreiben  

  2. #2
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard

    Welche Fehlermeldung bekommst Du denn vom SFC15?

    Normal sollten 4 Byte auch kein Thema sein.
    Status 8092 sagt, In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben.
    Oder der ist auch gern genommen: 80B1 Die Länge des angegebenen Quellbereichs ist ungleich der mit STEP 7 projektierten Nutzdatenlänge.

    Einfach mal die Hilfe des SFC aufrufen, da stehen die Fehlercode´s drin.
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

  3. #3
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard

    1,2 oder 4 byte kan du nur machem mit
    L xByyy/xWyyy/xDyyy
    T PABzzz/PAWzzz/PADzzz
    oder mit SFC20 (adressieren mit Pointers)

    Lese die hilfe von SFC14/15, diese SFC kan du nur brauchen fur 3 byte oder >4 byte konsistent zuübertragen .

  4. #4
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard

    Zitat Zitat von JoopB Beitrag anzeigen
    1,2 oder 4 byte kan du nur machem mit
    L xByyy/xWyyy/xDyyy
    T PABzzz/PAWzzz/PADzzz
    oder mit SFC20 (adressieren mit Pointers)

    Lese die hilfe von SFC14/15, diese SFC kan du nur brauchen fur 3 byte oder >4 byte konsistent zuübertragen .
    Ich habe die Hilfe der SFC14/15 gelesen, aber nichts gefunden, dass man 4 Byte nicht übertragen kann. Wo steht es genau?

  5. #5
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard

    Auf die underste alinia. Gleich oben die Fehlerliste (Bei der HINWEIS)
    Angehängte Grafiken Angehängte Grafiken

  6. #6
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard

    Ich habe mal meine Hilfe als PDF angehängt.

    Steht das dort auch? Verwende Step7 V5.4 SP1.

    Ich habe vor ein paar Tage Information der Länge 4 Byte an einen FU gesendet und auch von ihm empfangen. Es gab keine Fehlermeldung. Verwendet habe ich SFC14/15.

    Gruß
    Angehängte Dateien Angehängte Dateien

  7. #7
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard

    Hierbij Die PDF file von SFC14 aus Step7 V5.4 SP4 Siehe bei Hinweis
    Angehängte Dateien Angehängte Dateien

  8. #8
    TonyMono ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.06.2006
    Beiträge
    19
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Infos..

    Ich arbeite nun mit der SFC81 weil die Ausführung der Funktion nicht unterbrochen werden kann und dadurch die Daten konsistent übertragen werden können. Allerdings gibt es nun das Problem, dass keine Speicherbereiche des Peripheriebereichs kopiert werden können (bzw. dorthin kopiert werden können) --> Ret_Val: w#16#8323. Wenn ich mein A-Bereich in das OB1-Prozessabbild lege funktioniert dieses einwandfrei.

    Welche Möglichkeiten habe ich noch um die 4 Bytes in die Peripherie zu kopieren ?

    L W#16#200 //Begin der Peripherie
    T MW 12
    LAR1 P##Pointer_ANY //Any für Parametrierung
    L W#16#1002
    T LW [AR1,P#0.0]
    L W#16#4
    T LW [AR1,P#2.0]
    L W#16#0
    T LW [AR1,P#4.0]
    L B#16#82
    SLD 24
    L MW 12
    SLD 3
    OD
    T LD [AR1,P#6.0]

    U M 8.0
    SPBN TTT1
    R M 8.0
    CALL "UBLKMOV"
    SRCBLK :=P#DB32.DBX104.0 BYTE 4
    RET_VAL:=MW10
    DSTBLK :=#Pointer_ANY

  9. #9
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dass einfachste weg ist:
    L DB32.DBD104
    T PAD 512

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 27.08.2009, 17:08
  2. Antworten: 7
    Letzter Beitrag: 03.04.2008, 21:32
  3. Array von Bytes per OPC in SPS schreiben
    Von ingmar im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 02.11.2006, 08:51
  4. Standard-Slave durch Extended-Slave ersetzen
    Von Werner v. Siemens im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 24.10.2006, 20:54
  5. Kommunikation zwischen Slave-CPU und Slave-CPU
    Von Ralle im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 18.04.2005, 10:03

Lesezeichen

Berechtigungen

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