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

Seite 4 von 8 ErsteErste ... 23456 ... LetzteLetzte
Ergebnis 31 bis 40 von 72

Thema: Probleme mit SFC 14 / SFC 15 in FB

  1. #31
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Weiter gehts:

    FB2 - MX Referenzieren (zum Testen erst mal nur "ACHSE FREIGEBEN")

    Code:
    VAR
      MX1 : UDT 1;    
    END_VAR
    VAR_TEMP
      Daten : STRUCT     //Zeiger für DB und Adresse der Anzeige
       DB_Nr : INT ;    //Anzeige-DB Nr
       Adresse : DWORD ;    //Anzeige Start-Adresse im DB
      END_STRUCT ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =Datenzeiger auftrennen
    
          L     P##Daten_Zeiger; // Datenzeiger in AKKU 1 laden
          LAR1  ; //  AR1 mit Inhalt von AKKU 1 laden
    
          L     W [AR1,P#4.0]; // DB Nummer in AKKU 1 laden
          T     #Daten.DB_Nr; // Inhalt von AKKU 1 nach TEMP kopieren
    
          L     D [AR1,P#6.0]; // Adresse in AKKU 1 laden
          T     #Daten.Adresse; // Inhalt von AKKU 1 nach TEMP kopieren
    
    NETWORK
    TITLE =Datenbaustein aufschlagen
    
          AUF   DB [#Daten.DB_Nr]; // DB Nummer mit Inhalt aus TEMP öffnen
          LAR1  #Daten.Adresse; // AR1 mit Inhalt von AKKU 1 laden
    NETWORK
    TITLE =Daten aus Zwischenspeicher DB in FB transferieren
    
          U     DBX [AR1,P#3.4]; 
          =     #MX1.PI.Betriebsart_24V; 
    
          U     DBX [AR1,P#3.1]; 
          =     #MX1.PI.FU_freigegeben; 
    
    NETWORK
    TITLE =Daten aus FB in Zwischenspeicher DB kopieren
    
          U     #MX1.PO.Freigabe_Schnellstop; 
          =     DBX [AR1,P#32.1]; 
    
          U     #MX1.PO.Freigabe_Halt; 
          =     DBX [AR1,P#32.2]; 
    
    
    NETWORK
    TITLE =
    
    
    
    NETWORK
    TITLE =Achse freigeben
    
          U     #REFERENZIEREN_START; 
          =     #MX1.PO.Freigabe_Schnellstop; 
          =     #MX1.PO.Freigabe_Halt; 
    NETWORK
    TITLE =Rückmeldung : Betriebsart 24V (400V Versorung fehlt)
    
          U     #MX1.PI.Betriebsart_24V; 
          =     #AKTIV; 
    NETWORK
    TITLE =Rückmeldung : FU freigegeben
    
          U     #MX1.PI.FU_freigegeben; 
          =     #FERTIG; 
    
    NETWORK
    TITLE =
    
    
    
    END_FUNCTION_BLOCK
    UDT1

    Code:
    TYPE UDT 1
    VERSION : 0.1
    
    
      STRUCT     
       IO_ADRESSE : INT ;    //IO-Adresse des Antriebs
       PI : STRUCT     
        Motor_steht : BOOL ;    //Statuswort : Motor steht
        Antrieb_betriebsbereit : BOOL ;    //Statuswort : Antrieb ist betriebsbereit
        Antrieb_referenziert : BOOL ;    //Statuswort : Antrieb ist referenziert
        Reserve_1 : BOOL ;    //Statuswort : Reserve
        Bremse_offen : BOOL ;    //Statuswort : Bremse ist offen (falls vorhanden)
        Fehler_FU : BOOL ;    //Statuswort : Fehler Frequenzumrichter
        Warnung_FU : BOOL ;    //Statuswort : Warnung Frequenzumrichter
        Fehler_IEC : BOOL ;    //Statuswort : Fehler MotionController
        Kommunikation_aufgebaut : BOOL ;    //Statuswort : Kommunikation (PLC <> MX) aufgebaut
        FU_freigegeben : BOOL ;    //Statuswort : Frequenzumrichter freigegeben
        Synchron : BOOL ;    //Statuswort : Synchron (zur Interpolierten Lageregelung)
        Sicherer_Halt : BOOL ;    //Statuswort : Sicherer Halt
        Betriebsart_24V : BOOL ;    //Statuswort : Betriebsart 24V (400V Versorgung fehlt)
        Prozessdaten_nicht_breit : BOOL ;    //Statuswort : Prozessdaten nicht bereit
        Reserve : BOOL ;    //Statuswort : Reserve
        SW_Endschalter_belegt : BOOL ;    //Statuswort : Software-Endschalter belegt
        AM_Referenzieren : BOOL ;    //Angewählter AxisMode : Referenzieren
        AM_Drehzahlregelung : BOOL ;    //Angewählter AxisMode : Drehzahlregelung
        AM_Pos_Abs : BOOL ;    //Angewählter AxisMode : Positionieren Absolut
        AM_Pos_Rel : BOOL ;    //Angewählter AxisMode : Positionieren Relativ
        AM_Tippen : BOOL ;    //Angewählter AxisMode : Tippen
        AM_Kurvenscheibe : BOOL ;    //Angewählter AxisMode : Kurvenscheibe
        AM_Synchronlauf : BOOL ;    //Angewählter AxisMode : Synchronlauf
        AM_Reserve : BOOL ;    //Angewählter AxisMode : Reserve
        AM_Referenzieren_fertig : BOOL ;    //AxisMode : Referenzieren fertig
        AM_Drehzahl_erreicht : BOOL ;    //AxisMode : Drehzahl erreicht
        AM_Pos_Abs_inP : BOOL ;    //AxisMode : Positioneren Absolut - In Position
        AM_Pos_Rel_inP : BOOL ;    //AxisMode : Positioneren Relativ - In Position
        AM_Tippen_Sollgeschw_err : BOOL ;    //AxisMode : Tippen - Sollgeschwindigkeit erreicht
        AM_Reserve_1 : BOOL ;    //AxisMode : Reserve
        AM_Reserve_2 : BOOL ;    //AxisMode : Reserve
        AM_Reserve_3 : BOOL ;    //AxisMode : Reserve
        AM_Referenzieren_stop : BOOL ;    //AxisMode : Referenzieren gestoppt
        AM_Drehzahlregelung_stop : BOOL ;    //AxisMode : Drehzahlregelung gestoppt
        AM_Pos_Abs_stop : BOOL ;    //AxisMode : Positionieren Absolut gestoppt
        AM_Pos_Rel_stop : BOOL ;    //AxisMode : Positionieren Relativ gestoppt
        AM_Tippen_stop : BOOL ;    //AxisMode : Tippen gestoppt
        AM_Kurvenscheibe_stop : BOOL ;    //AxisMode : Kurvenscheibe gestoppt
        AM_Synchronlauf_stop : BOOL ;    //AxisMode : Synchronlauf gestoppt
        AM_Reserve_4 : BOOL ;    //AxisMode : Reserve
        Akt_AM_Referenzieren : BOOL ;    //Axis Mode : Referenzieren - Aktiv
        Akt_AM_Drehzahlregelung : BOOL ;    //Axis Mode : Drehzahlregelung - Aktiv
        Akt_AM_Pos_Abs : BOOL ;    //Axis Mode : Positionieren Absolut - Aktiv
        Akt_AM_Pos_Rel : BOOL ;    //Axis Mode : Positionieren Relativ - Aktiv
        Akt_AM_Tippen : BOOL ;    //Axis Mode : Tippen - Aktiv
        Akt_AM_Kurvenscheibe : BOOL ;    //Axis Mode : Kurvenscheibe - Aktiv
        Akt_AM_Synchronlauf : BOOL ;    //Axis Mode : Synchronlauf - Aktiv
        Akt_AM_Reserve_1 : BOOL ;    //Axis Mode : Reserve
        Umrichterstatus : WORD ;    //Umrichterstatus
        Ist_Geschwindigkeit : WORD ;    //Ist-Geschwindigkeit
        Ist_Drehzahl : WORD ;    //Ist-Drehzahl
        Ist_Position_Anwender : DWORD ;    //Ist-Position in Anwendereinheit
        Ist_Position_Modulo : DWORD ;    //Ist-Position in Modulo
        IEC_Fehlernummer : WORD ;    //IEC Fehlernummer
        IEC_Subfehlernummer : WORD ;    //IEC Subfehlernummer
        FU_Fehlernummer : WORD ;    //Frequenzumrichter Fehlernummer
        FU_Subfehlernummer : WORD ;    //Frequenzumrichter Subfehlernummer
        Ist_Drehmoment : WORD ;    //Ist-Drehmoment
       END_STRUCT ;    
       PO : STRUCT     
        Reglersperre : BOOL ;    //Reglersperre
        Freigabe_Schnellstop : BOOL ;    //Freigabe/Schnellstop
        Freigabe_Halt : BOOL ;    //Freigabe/Halt
        Reserve_1 : BOOL ;    //Reserve
        Bremse_oeffnen : BOOL ;    //Bremse öffnen (falls vorhanden)
        Reserve_2 : BOOL ;    //Reserve
        Reset : BOOL ;    //Reset
        Reserve_3 : BOOL ;    //Reserve
        Reserve_4 : BOOL ;    //Reserve
        Tippen_Pos : BOOL ;    //Tippen Positiv
        Tippen_Neg : BOOL ;    //Tippen Negativ
        Reserve_5 : BOOL ;    //Reserve
        Reserve_6 : BOOL ;    //Reserve
        Reserve_7 : BOOL ;    //Reserve
        Reserve_8 : BOOL ;    //Reserve
        SW_Endschalter_AUS : BOOL ;    //Software-Endschalter deaktivieren
        AM_Referenzieren : BOOL ;    //Axis Mode : Referenzieren
        AM_Drehzahlregelung : BOOL ;    //Axis Mode : Drehzahlregelung
        AM_Pos_Abs : BOOL ;    //Axis Mode : Positionieren Absolut
        AM_Pos_Rel : BOOL ;    //Axis Mode : Positionieren Relativ
        AM_Tippen : BOOL ;    //Axis Mode : Tippen
        AM_Kurvenscheibe : BOOL ;    //Axis Mode : Kurvenscheibe
        AM_Synchronlauf : BOOL ;    //Axis Mode : Synchronlauf
        AM_Reserve : BOOL ;    //Axis Mode : Reserve
        STRT_Referenzieren : BOOL ;    //Axis Mode : START - Referenzieren
        STRT_Drehzahlregelung : BOOL ;    //Axis Mode : START - Drehzahlregelung
        STRT_Pos_Abs : BOOL ;    //Axis Mode : START - Positionieren Absolut
        STRT_Pos_Rel : BOOL ;    //Axis Mode : START - Positionieren Relativ
        STRT_Reserve_1 : BOOL ;    //Axis Mode : START - Reserve
        STRT_Kurvenscheibe : BOOL ;    //Axis Mode : START - Kurvenscheibe
        STRT_Synchronlauf : BOOL ;    //Axis Mode : START - Synchronlauf
        STRT_Reserve_2 : BOOL ;    //Axis Mode : START - Reserve
        Tippen_V_Soll : WORD ;    //Tippen - Sollgeschwindigkeit
        Tippen_Acc_Dec : WORD ;    //Tippen - Beschleunigung / Verzögerung
        DZR_V_Soll : WORD ;    //Drehzahlregelung - Sollgeschwindigkeit
        DZR_Acc_Dec : WORD ;    //Drehzahlregelung - Beschleunigung / Verzögerung
        Pos_Abs_V_Soll : WORD ;    //Positionieren Absolut - Sollgeschwindigkeit
        Pos_Abs_Acc_Dec : WORD ;    //Positionieren Absolut - Beschleunigung / Verzögerung
        Pos_Abs_Zielposition : DWORD ;    //Positionieren Absolut - Zielposition
        Pos_Rel_V_Soll : WORD ;    //Positionieren Relativ - Sollgeschwindigkeit
        Pos_Rel_Acc_Dec : WORD ;    //Positionieren Relativ - Beschleunigung / Verzögerung
        Pos_Rel_Distanz : DWORD ;    //Positionieren Relativ - Distanz
        Alle_BA_Ruck : WORD ;    //Alle Betriebsarten : Ruck
       END_STRUCT ;    
      END_STRUCT ;    
    END_TYPE

  2. #32
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Beschreibung:

    FC10 Ist zum Steuern der Achse 1 gedacht

    FC1 stellt die Kommunikation zwischen einem Antrieb und der SPS her.
    Die empfangenen und zu sendenden Daten werden in den DB 1 eingetragen.

    FB1 soll eigentlich das Referenzieren sein, verwende ich aber im Moment zum testen.
    Wird der Eingang #REFERENZIEREN_START gesetzt sollen die beiden Bits "Freigabe / Schnellstop" und Freigabe / Halt" gesetzt werden.

    Darauf hin müsste der Antrieb das Bit "FU_freigegeben" setzten und am FB wird der Ausgang #FERTIG gesetzt.

    Gruß smartie

  3. #33
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.272 Danke für 2.158 Beiträge

    Standard

    Hallo Smartie,
    setzt doch auch mal bitte deinen FC1 rein.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  4. #34
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hallo Helmut,

    ich habe das in Beitrag #30 geändert, ich hatte da ausversehen den FC2 (deinen Beispiel FC) hochgeladen. Jetzt ist mein FC1 hochgeladen.

    smartie

  5. #35
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.272 Danke für 2.158 Beiträge

    Standard

    Gut Smartie,
    mann muß sich schon sehr anstrengen um das zu lesen,
    aber wo hängt es den jetzt. Bekommst du immer noch
    nichts aus deinen Umrichter?
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  6. #36
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Das Problem ist nicht das ich nichts aus dem Umrichter bekomme, sondern das
    zunächst (Beitrag #1) das Bit Freigabe in der SPS statisch 1 war, aber im FU getoggelt hat.

    Das Problem habe ich jetzt nicht mehr.

    Wenn ich jetzt die eine Achse ansteuere dann klappt alles.

    Aber wenn ich eine zweite Achse dazu nehme und das Bit Freigabe Achse 1 setze dann wird nicht Achse 1 freigegeben, sondern Achse 2.

    Die Rückmeldung das die Achse freigegeben ist kommt aber bei Achse 2 an, was ja richtig wäre.

    Nur die Daten die ich an den Antrieb schreibe kommen falsch an..

    Ich versuch mal das Programm als ZIP hochzuladen, wenn das geht.

    smartie

  7. #37
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    So, hier das SPS-Programm als ZIP

    smartie
    Angehängte Dateien Angehängte Dateien
    • Dateityp: zip SPS.zip (306,6 KB, 3x aufgerufen)

  8. #38
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.272 Danke für 2.158 Beiträge

    Standard

    ohne das programm zu sehen, kann das denn sein das etwas
    mit der I/O Adressierung der Achsen nicht stimmt ?
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  9. #39
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Die Adressierung müsste meine Meinung nach passen:

    Wenn ich nur die Kommunikation mit Achse 1 aufrufe kommen alle Signale korrekt an.

    Wenn ich nur die Kommunikation mit Achse 2 aufrufe kommen alle Signale korrekt an.

    Wenn ich aber beide gleichzeitig aufrufe dann gibts Probleme.

  10. #40
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.789
    Erhielt 3.272 Danke für 2.158 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich kenne mich jetzt nicht mit den Moviaxis System von SEW aus,
    ist das so das die Aufteilung wie folgt ist.
    Steckplatz 3: Allgemeine Daten
    Steckplatz 4: 1 Achse
    Steckplatz 5: 2 Achse
    Steckplatz 6: 3 Achse
    Steckplatz 7: 4 Achse

    Moviaxis.JPG
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

Ähnliche Themen

  1. Bus Probleme
    Von KR-TKD im Forum Feldbusse
    Antworten: 7
    Letzter Beitrag: 15.06.2011, 16:37
  2. CPU 315 F 2PN/DP DI Probleme
    Von Joke im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.05.2009, 21:10
  3. Probleme über Probleme!
    Von tom_2802 im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 12.06.2008, 22:19
  4. Probleme mit ALM
    Von Larry Laffer im Forum PC- und Netzwerktechnik
    Antworten: 4
    Letzter Beitrag: 08.03.2008, 18:13
  5. Probleme mit OPC
    Von ILW im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 01.11.2007, 12:37

Lesezeichen

Berechtigungen

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