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

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 29

Thread: SFC15-Problem

  1. #11
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by dtsclipper View Post
    In der Variabe #PA stehe bei den Movidrives 2 und 3 die richtigen Daten drin ?
    Ja, die stimmen (zumindest zeigt der Simatic-Manager was schlaues an

    Quote Originally Posted by dtsclipper View Post
    Werdebn deren Adressbereiche zufällig irgendwo in OB6x (Taktsynchronität) verwendet? dann spielt der 15er nicht mit...
    Wie oben geschrieben besteht das Programm atm aus dem OB1, dem aufrufenden FC und diesem FB ... es gibt keine andern OBs oder dergleichen, die irgend etwas verwursteln könnten.


    Zur Variante von Simatiker:

    Wenn ich dort mit T PAD536 (z.B.) arbeite ... dann muss ich ja die Adresse fest vergeben in etwa so:
    Code:
    // PA zurück zum MoviDrive schreiben
    
    // Steuerwort 2
          L     LD    12
          T     PAD  536
    // Zielposition
          L     LD    14
          T     PAD  538
          L     LD    16
          T     PAD  540
    
    // Speed
          L     LD    18
          T     PAD  542
    
    // Start-Rampe
          L     LD    20
          T     PAD  544
    
    // Stop-Rampe
          L     LD    22
          T     PAD  546
    Wie mach ich das nun, wenn ich die Start-Adresse (also das 536) in einer INPUT-INT-Variable übergeben möchte? Das müsste irgend wie mit einem Pointer gehen; nur bin ich mir da nie so sicher, wie das geht ;P

    Danke im Voraus

  2. #12
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 245 Danke für 200 Beiträge

    Default

    Hallo Reto,

    ich hoffe ich hab' Dich richtig verstanden.
    Dann würde ich das so lösen:
    Code:
    L #Start_Adresse    // Int z.b. 536
    SLD 3                   // Pointer bilden
    LAR1                    // Im Adressregister 1 ablegen
    
    L LW 12               // Steuerwort2
    T PAW[AR1,P#0.0]
    
    L LD 14               // Zielposition
    T PAD[AR1,P#2.0]
    
    L LW 18              // Speed
    T PAW[AR1,P#6.0]
    
    L LW 20              // Startrampe
    T PAW[AR1,P#8.0]
    
    L LW 22              // Stoprampe
    T PAW[AR1,P#10.0]
    Grüße
    Gebs

  3. #13
    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

    Hallo Gebs

    Ja genau, du hast mich recht verstanden.
    Warum genau machst du das SLD 3 ?

    SLD ist doch das Schieben der Adresse also meine 536 um 3 Bit nach links ... daraus gäbe es dann also 4022 ???

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

    Default

    Nee das ist schon richtig.

    Die letzten drei Bits bei der Adressierung sind die BIT-Adresse.
    Deswegen wird die INT-Zahl um 3 nach links geschoben, dann gibt das die Byte- Adresse.

    Schau, nur Sicherheitshalber, mal in die CPU ( ONLINE-Bausteinordner ) vielleicht sind da noch andere Sachen drin als nur Deine ?!?
    Last edited by dtsclipper; 02.02.2009 at 15:55.
    Das Grauen lauert in der Zwischenablage !!

  5. #15
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 245 Danke für 200 Beiträge

    Default

    Hallo Reto,

    das SLD 3 mache ich, weil in einem Pointer die 3 Bits ganz rechts für die Adressierung von Bitadressen benötigt wird.

    z.Bsp:
    Code:
    L 20    // Byteadresse
    SLD3   // Byteadresse nach links schieben
    
    L 1     // Bitadresse
    OW    // Byteadresse und Bitadresse verküpfen
    LAR1   // Ins Adressregister Hier steht jetzt P#20.1
    Grüße
    Gebs

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

    Reto (02.02.2009)

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

    Default

    @Gebs:
    Gute Erklärung !
    Das Grauen lauert in der Zwischenablage !!

  8. #17
    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

    Alles klar ... hätt ich auch selber drauf kommen können :P

  9. #18
    Join Date
    08.04.2008
    Location
    Köln
    Posts
    846
    Danke
    39
    Erhielt 245 Danke für 200 Beiträge

    Default

    Hallo Reto,

    hier:

    http://www.sps-forum.de/showthread.php?t=8887

    ist noch 'ne gute Erklärung zu Pointern!

    Grüße
    Gebs

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

    Reto (02.02.2009)

  11. #19
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,740
    Danke
    443
    Erhielt 2,632 Danke für 2,174 Beiträge

    Default

    ... was mir dazu noch so einfällt (aufgrund des Beitrages #11 von Reto) :
    Kommen die Daten für die Perepherie (Kopplung der SEW's) aus dem Lokalbereich des FC's und landen die Rückmeldungen auch dort ? Wenn ja, wie ist da gemacht ? Ich vermute (gelinde gesagt) dort auch noch so ein oder zwei kleine Problemchen ...

    @Reto:
    Stellt doch mal den kompletten Baustein hier ein ...

    Gruß
    LL

  12. #20
    Join Date
    22.12.2006
    Posts
    43
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Grüß Gott zusammen,

    Stimmt das mit dem LD der Offset ist doch dann 4 wenn ich keine Datenüberschreitung möchte.

    Code:
    // PA zurück zum MoviDrive schreiben
    
    // Steuerwort 2
          L     LD    12
          T     PAD  536
    // Zielposition
          L     LD    14
          T     PAD  538
          L     LD    16
          T     PAD  540
    
    // Speed
          L     LD    18
          T     PAD  542
    
    // Start-Rampe
          L     LD    20
          T     PAD  544
    
    // Stop-Rampe
          L     LD    22
          T     PAD  546
    // PA zurück zum MoviDrive schreiben


    Code:
    // PA zurück zum MoviDrive schreiben
    
    // Steuerwort 2
          L     LD    12
          T     PAD  536
    // Zielposition
          L     LD    16
          T     PAD  540
          L     LD    20
          T     PAD  544
    
    // Speed
          L     LD    24
          T     PAD  548
    
    // Start-Rampe
          L     LD    28
          T     PAD  562
    
    // Stop-Rampe
          L     LD    32
          T     PAD  566
    Vielleicht liegt es daran.

    Schönen Tag dann noch

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
  •