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

Ergebnis 1 bis 10 von 10

Thema: IPOS-Programm eines Applikationsmoduls von SEW editieren/anzeigen?

  1. #1
    Registriert seit
    09.06.2007
    Beiträge
    40
    Danke
    10
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    ist es möglich sich das IPOS-Programm eines Applikationsmoduls z.B. Erweiterte Buspositionierung anzuschauen bzw. auch mit dem Compiler zu ändern?
    Falls ja wie stelle ich das an?
    Zitieren Zitieren IPOS-Programm eines Applikationsmoduls von SEW editieren/anzeigen?  

  2. #2
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    wenn du die Quellen von SEW hast, kannst du die im IPOS Compiler
    bearbeiten. Eine Quelle sieht in etwa so aus.
    Die Quellen die SEW als Opion verkaufen werden Sie dir wahrscheinlich
    nicht aushändigen, die leben ja auch vom Geld verdienen.

    Code:
    /*=============================================
       Zielregelung
       30.11.05  Helmut_von_der_Reparatur
       Eingabevariablen:
       TargetPos                Ziel in incr
       Reg_Speed                Geschwindigkeit in Anwendereinheit
       Ausgabe:
       Position_erreicht
       Lokale Variablen:
       Timer_1
       Reg_Differenz
       Reg_Divisor_Rampe
       Reg_Divisor_Rampe_min
       Reg_Divisor_Rampe_max
       Reg_Faktor_Rampe
       Reg_Lose_fahren
       Reg_Lose_gefahren
       Reg_Fenster              In Incrementen
       Verwendung
       Automatik Modus
       Funktionsweise
       Es wird wird die Differenz zwischen soll und Istposition ermittelt
       Dieser Wert ist die Geschwindigkeit, die nach oben durch die
       Feldbusgeschwindigkeit begrenzt wird. Damit sanft in das Ziel gefahren
       werden kann wird dieser Wert über einen Faktor und Divisor bewertet.
       Damit man nicht in das Ziel reinschleicht ist ein zweiter Divisor
       vorhanden (Divisor_min). Dieser wird kurz vor dem Ziel aktiv. Die Stoprampe ist
       keine Gerade.
       Die Stoprampe wird verschliffen
    ===============================================*/
    Funktion_Zielregelung()
      {
      //-----  Ziel ohne Schleife  -----
      Reg_Schmier = TargetPos;
      //-----  Schleife ausrechnen  -----
      if(Reg_Lose_fahren && !Reg_Lose_gefahren)
        Reg_Schmier = TargetPos + (Reg_Lose* Faktor_Position / Divisor_Position);
      //-----  Schleife überfahren, Fahrt wiederholen  -----
      if(TargetPos > ActPos_Mot + Reg_Fenster)
        Reg_Lose_gefahren = 0;
      //-----  Differenz zwischen Soll und Ist ausrechnen  -----
      Reg_Differenz = Reg_Schmier - ActPos_Mot;
      if(Reg_Differenz < 0)
        Reg_Schmier = -Reg_Differenz;
        else
        Reg_Schmier = Reg_Differenz;
      //-----  Ziel-Regelung durchführen  -----
      Reg_Divisor_Rampe = Reg_Schmier / 5 + Reg_Divisor_Rampe_min;
      if(Reg_Divisor_Rampe > Reg_Divisor_Rampe_max)
        Reg_Divisor_Rampe = Reg_Divisor_Rampe_max;
      Reg_Schmier = Reg_Differenz * Reg_Faktor_Rampe / Reg_Divisor_Rampe;
      if(Reg_Differenz > 0 && Reg_Schmier < 0)
         Reg_Schmier = Reg_Speed;
      if(Reg_Differenz < 0 && Reg_Schmier > 0)
         Reg_Schmier = -Reg_Speed;
      if(Reg_Schmier > Reg_Speed)
         Reg_Schmier = Reg_Speed;
      if(Reg_Schmier < -Reg_Speed)
         Reg_Schmier = -Reg_Speed;
      if((Reg_Schmier > 0) && (Reg_Schmier < Reg_Mindestdrehzahl))
         Reg_Schmier = Reg_Mindestdrehzahl;
      if((Reg_Schmier < 0) && (Reg_Schmier > -Reg_Mindestdrehzahl))
         Reg_Schmier = -Reg_Mindestdrehzahl;
      //-----  Geschwindigkeit berechnen  -----
      Soll_Speed = Reg_Schmier * 0x4000 / 3000 * (Faktor_Speed / Divisor_Speed);
      //-----  Zieleinlauf durchführen  -----
      if(Reg_Differenz > Reg_Fenster || Reg_Differenz < -Reg_Fenster)
        Timer_1 = Verz_Ziel;
      if(Timer_1 == 0 && (Reg_Lose_gefahren || !Reg_Lose_fahren))
        Pos_erreicht_SET;
      if(Timer_1 == 0 && Reg_Lose_fahren)
        Reg_Lose_gefahren = 1;
      if(TargetPos == ActPos_Mot)
        Soll_Speed = 0;
      //-----  Geschwindigkeit herausgeben  -----
      mcd.PO2 = Soll_Speed;
      }
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

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

    egger (15.09.2010)

  4. #3
    egger ist offline Benutzer
    Themenstarter
    Registriert seit
    09.06.2007
    Beiträge
    40
    Danke
    10
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Danke für die schnelle Info!
    Mein Ziel war es eine fertige Applikation zu erweitern da ich dies in eine Projektarbeit einbinden wollte.
    Gibt es keine weitere Möglichkeit an die Quellen zu kommen?

  5. #4
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    eine möglichkeit wäre die, das Sie hier im Forum jemand hat und dir gibt.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  6. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Den Assemblercode kannst du dir absehen, und auch erweitern... Hab ich schon bei der absolutwertpositionierung mal gemacht, und dort referenzieren eingebaut.

    Ist natürlich nicht so schön, als wie wenn man den hochsprachencode hat, aber es geht....
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren asm  

  7. #6
    egger ist offline Benutzer
    Themenstarter
    Registriert seit
    09.06.2007
    Beiträge
    40
    Danke
    10
    Erhielt 4 Danke für 4 Beiträge

    Standard

    ja assembler is so ne sache - keine vorkenntnisse. ein normales c-programm kann ich lesen und darum gehts mir eigentlich.
    trotzdem danke nochmal für die hilfe

  8. #7
    egger ist offline Benutzer
    Themenstarter
    Registriert seit
    09.06.2007
    Beiträge
    40
    Danke
    10
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ist es möglich eine bestehende inbetriebgenommene Applikation "Modulo-Positionierung" durch ein weiteres selbstgeschriebenes IPOS-Programm zu erweitern, welches in einem separaten Prozess parallel zum Applikationsmodul läuft?

    Hintergrund: Die Slaveantriebe sind mit "DriveSync Applikation" in Betrieb und der Master soll per Modulo parametriert werden. Die Übertragung der Masterposition über SBus soll eigenständig in IPOS programmiert werden.

  9. #8
    Registriert seit
    13.10.2007
    Beiträge
    12.033
    Danke
    2.788
    Erhielt 3.269 Danke für 2.157 Beiträge

    Standard

    Grundsätzlich ist das möglich, du kannst verschiedene Task aufrufen, aber
    welche hängt ein bischen vom Gerät ab. MOVIDRIVE B hat 4 Tasks und
    MOVIDRIVE A hat 2 Tasks. Aber du brauchst trotzdem die Quellen vom
    IPOS Programm um zu sehen welche Tasks schon wie genutzt werden.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  10. #9
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    ich denke das sollte sich aber aus dem Assembler Source rauslesen lassen ob ein Task noch frei ist oder nicht...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Mhmm...  

  11. #10
    egger ist offline Benutzer
    Themenstarter
    Registriert seit
    09.06.2007
    Beiträge
    40
    Danke
    10
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    herzlichen dank für die vielen hilfreichen antworten. ich werde mich in nächster zeit mal intensiver mit diesem thema beschäftigen um diverse sachen herauszufinden und mögliche lösungsansätze zu bekommen.

Ähnliche Themen

  1. Antworten: 19
    Letzter Beitrag: 20.12.2010, 07:52
  2. Eigenschaft eines WPF UserControls im Editor anzeigen
    Von Marc_Quark im Forum Hochsprachen - OPC
    Antworten: 7
    Letzter Beitrag: 23.09.2010, 19:21
  3. Restzeit eines Timers anzeigen S7 200
    Von don_g im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 22.01.2008, 20:43
  4. Antworten: 2
    Letzter Beitrag: 03.01.2006, 07:45
  5. Antworten: 3
    Letzter Beitrag: 19.05.2005, 16:21

Lesezeichen

Berechtigungen

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