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

Page 1 of 3 123 LastLast
Results 1 to 10 of 29

Thread: SFC15-Problem

  1. #1
    Join Date
    07.10.2006
    Posts
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen

    Ich Sitze hier wieder mal an einem Problem. Folgende Situation:
    414-2DP CPU, an welcher drei SEW MoviDrive A angeschlossen sind (via ProfiBus).

    Diese erhalten je 6 Datenworte mittels SFC15. Beim ersten funktioniert das auch tadellos ... die beiden weiteren erhalten jedoch nur die Datenworte 1-3, 4-6 gehen irgend wo verloren. Sie werden nicht mit 0 geschrieben, die bleiben einfach auf dem letzten Stand.

    Ich hab die Kommunikation wie folgt gelöst:
    Code:
    CALL "DPWR_DAT" (
               LADDR                    := #Addr,
               RECORD                   := #PA,
               RET_VAL                  := #Returncode_SFC15);
    
          L     #Returncode_SFC15; 
          L     0; 
          <>I   ; 
          SPB   M001; 
          BEA   ;
    PA ist ein Struct aus total 6 Daten-Worten (16 BOOL + DINT + 2x INT)

    Gibt's hier irgend einen Fehler?

    Danke im Voraus


    PS: Noch ein paar Daten: DP-Adressen (50, 51, 52), Anfangs E-Adresse (512, 524, 536), Anfangs A-Adresse (512, 524, 536) ... jeweils die erste geht, die mittlere und die letzte geht nicht.
    CPU: 6ES7 414-2XG03-0AB0
    Last edited by Reto; 01.02.2009 at 19:49.
    Reply With Quote Reply With Quote SFC15-Problem  

  2. #2
    Join Date
    17.10.2007
    Location
    35043 Marburg
    Posts
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Default

    Hallo,

    was steht denn als Rückgabewert der Funktion?
    #Record sollte als AnyZeiger angelegt werden.
    Wichtig ist die HW Konfig. Da die SFC14/15 da nachschauen ob die Adresse und die Länge zusammenpassen. Soll heißen deine Umrichter müssen je 6 PDW in/out deklariert sein, aber nicht 3x2 o.ä. sondern 6. Hatte mal das Problem bei SEW Movitracs, die konnte man zusammen fassen ala 4x6 PDW oder je 6 PDW, nur bei letzteren funktionierte dann auch die SFC 14/15.

    Sehe gerade dein #PA sind aber nur 5 worte!!!

    Ansonsten mal mit L PEW & T PAW probieren!

    Ich noch mal,

    schau mal das die Adressen außerhalb jeglicher PAE,PAA sind. Ist ja bei ner 400er viel möglich.
    Last edited by Simatiker; 01.02.2009 at 20:12.
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

  3. #3
    Join Date
    03.12.2008
    Posts
    928
    Danke
    213
    Erhielt 241 Danke für 150 Beiträge

    Default

    Hallo
    CALL "DPWR_DAT" (
    LADDR := #Addr,
    RECORD := #PA,
    RET_VAL := #Returncode_SFC15);

    L #Returncode_SFC15;
    L 0;
    <>I ;
    SPB M001;
    BEA ;
    Wenn dein #Returncode_SFC15 "Null" ist beendest du deinen Baustein mit "BEA".
    Kann es sein das deshalb die nachfolgenden SFC 15 Aufrufe nicht mehr bearbeitet werden?

    MfG
    Paul

  4. #4
    Reto's Avatar
    Reto is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.10.2006
    Posts
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Simatiker View Post
    Hallo,
    Hallo
    Quote Originally Posted by Simatiker View Post
    was steht denn als Rückgabewert der Funktion?
    Rückgabewert ist immer 0 (null).
    Quote Originally Posted by Simatiker View Post
    #Record sollte als AnyZeiger angelegt werden.
    #Record zeigt auf einen Struct, was ja einem AnyZeiger relativ nahe kommt. Der Struct besteht aus den oben beschriebenen BOOLs, DINTs und INTs (nur dass es 3x INT ist^^)

    Quote Originally Posted by Simatiker View Post
    Wichtig ist die HW Konfig. Da die SFC14/15 da nachschauen ob die Adresse und die Länge zusammenpassen. Soll heißen deine Umrichter müssen je 6 PDW in/out deklariert sein, aber nicht 3x2 o.ä. sondern 6. Hatte mal das Problem bei SEW Movitracs, die konnte man zusammen fassen ala 4x6 PDW oder je 6 PDW, nur bei letzteren funktionierte dann auch die SFC 14/15.
    Ja, das kenn ich ... ist dann aber, wenn man die Geräte via SBus und DFP21 ansteuert. Hier ist aber die DFP direkt im MoviDrive drinnen und wird auch direkt verwendet. In der HW-Config steht auch 6PD.
    Quote Originally Posted by Simatiker View Post
    Sehe gerade dein #PA sind aber nur 5 worte!!!
    Es sind 3xINT (schreiben sollte man können)
    Quote Originally Posted by Simatiker View Post
    Ansonsten mal mit L PEW & T PAW probieren!
    PAW wäre dann das 536er wenn das die HW-Adresse des Gerätes ist?
    Quote Originally Posted by Simatiker View Post
    Ich noch mal,
    schau mal das die Adressen außerhalb jeglicher PAE,PAA sind. Ist ja bei ner 400er viel möglich.
    Wo genau schaue ich, welche PAE, PAA belegt sind?

    Danke schonmal

  5. #5
    Reto's Avatar
    Reto is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.10.2006
    Posts
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Paul View Post
    Hallo
    Hallo Paul
    Quote Originally Posted by Paul View Post
    Wenn dein #Returncode_SFC15 "Null" ist beendest du deinen Baustein mit "BEA".
    Kann es sein das deshalb die nachfolgenden SFC 15 Aufrufe nicht mehr bearbeitet werden?
    Danach kommt nur noch die Fehlerauswertung und keine weiteren SFC15's mehr.
    Das Ganze ist in einem FB, der aus einem FC aufgerufen wird ... mit BEA sollte doch der FB beendet und im FC weitergefahren werden ... oder hab ich da was falsch verstanden?

  6. #6
    Join Date
    09.06.2007
    Posts
    439
    Danke
    31
    Erhielt 49 Danke für 47 Beiträge

    Default

    Blöde Frage:
    Wenn du einen FB aus einer FC startest, wo speicherst du dann die Daten des FBs? Multiinstanz geht doch so nicht.

  7. #7
    Join Date
    17.10.2007
    Location
    35043 Marburg
    Posts
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Default

    Hallo,

    die Größe des Prozeßabbildes kannst du in der HW Konfig unter CPU -> Eigenschaften -> Zyklus/Taktmerker nachschauen. Hier sollte nicht mehr als 512 stehen. Dann kannst du unter Objekteigenschaften des DP Slaves bei Adressen kontrollieren das bei Prozeßabbild "--" steht. (das Feld ist dann auch gegraut)
    Wenn "0" als Rückgabewert steht, bedeutet das ja eigentlich das die Funktion korrekt ausgeführt wurde.
    Du kannst die ganze Kommunikation auch ohne SFC's machen. Dann halt mit:
    Code:
    Umrichter1:
    L PED 512
    T...
    L PED 516
    T...
    L PED 520
    T...
    .
    .
    .
    L...
    T PAD 512
    L...
    T PAD 516
    L...
    T PAD 520
    Nur um zu schauen ob überhaupt etwas geschrieben wird.
    Dann könntest du mal Versuchen die E/A's der Umrichter ganz woanders hinzulegen. Vielleicht wird irgendwo in deinem Programm der Ausgangsbereich beschrieben, mittels Pointer oder Blockmove oder irgendwas!? Was du dann in den Referenzdaten nicht sehen könntest.
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

  8. #8
    Reto's Avatar
    Reto is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.10.2006
    Posts
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Ludewig View Post
    Blöde Frage:
    Wenn du einen FB aus einer FC startest, wo speicherst du dann die Daten des FBs? Multiinstanz geht doch so nicht.
    Der FC wird direkt aus OB1 aufgerufen und verwendet intern Absolute Adressen. Zum FB gehört natürlich ein iDB, welcher fest beziffert wird.

  9. #9
    Reto's Avatar
    Reto is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.10.2006
    Posts
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Simatiker View Post
    Hallo,
    die Größe des Prozeßabbildes kannst du in der HW Konfig unter CPU -> Eigenschaften -> Zyklus/Taktmerker nachschauen. Hier sollte nicht mehr als 512 stehen.
    Da steht je 512 drinnen; passt also.

    Quote Originally Posted by Simatiker View Post
    Dann kannst du unter Objekteigenschaften des DP Slaves bei Adressen kontrollieren das bei Prozeßabbild "--" steht. (das Feld ist dann auch gegraut)
    Steht beide male "---" und ist ausgegraut. Die Adresse steht je auf 536-547.

    Quote Originally Posted by Simatiker View Post
    Wenn "0" als Rückgabewert steht, bedeutet das ja eigentlich das die Funktion korrekt ausgeführt wurde.
    Das dachte ich eben auch

    Quote Originally Posted by Simatiker View Post
    Nur um zu schauen ob überhaupt etwas geschrieben wird.
    Dann könntest du mal Versuchen die E/A's der Umrichter ganz woanders hinzulegen. Vielleicht wird irgendwo in deinem Programm der Ausgangsbereich beschrieben, mittels Pointer oder Blockmove oder irgendwas!? Was du dann in den Referenzdaten nicht sehen könntest.
    Mein Programm besteht aktuell aus dem OB1, der den FC aufruft, der gerade nichts anderes macht, als meinen FB für's MoviDrive aufzurufen.
    Alle andern OBs sind entweder von der CPU runter oder leer.

    Ich komme leider erst am Freitag wieder an die Anlage drann, werde dann aber diese guten Hinweise testen.
    Danke euch allen.

  10. #10
    Join Date
    11.09.2007
    Location
    Suedwestpfalz
    Posts
    945
    Danke
    85
    Erhielt 218 Danke für 200 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Noch 'ne Rückfage:

    In der Variabe #PA stehe bei den Movidrives 2 und 3 die richtigen Daten drin ?

    Werdebn deren Adressbereiche zufällig irgendwo in OB6x (Taktsynchronität) verwendet? dann spielt der 15er nicht mit...

    Ansonsten rate ich zum Vorgehen a la Simatiker...
    L ...
    T ...
    geht oft und man zuschauen was wohin transfriert wird.

    Hatte mit einem MDX61B ähnliche Probleme, seitdem läuft er wie o.A.

    ... und läuft und läuft und läuft ...

    viel glück wünscht dtsclipper
    Das Grauen lauert in der Zwischenablage !!

Similar Threads

  1. Probleme mit SFC15
    By GSOhm in forum Simatic
    Replies: 1
    Last Post: 13.09.2012, 09:54
  2. Sfc15
    By blume_mercan in forum Simatic
    Replies: 1
    Last Post: 17.01.2008, 14:28
  3. SfC14 / SfC15
    By Mujo in forum Simatic
    Replies: 9
    Last Post: 14.08.2007, 14:20
  4. SFC15 Probleme
    By tomatensaft in forum Feldbusse
    Replies: 0
    Last Post: 19.05.2007, 18:06
  5. SFC14/SFC15
    By Anonymous in forum Feldbusse
    Replies: 10
    Last Post: 19.07.2004, 20:17

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •