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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: FM 357 Achsfreigaben einzeln Schalten

  1. #1
    Registriert seit
    09.11.2006
    Beiträge
    690
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe folgende Situation:

    Anlage mit FM357-2 LX Firmware.

    Bei der Anlage handelt es sich um ein 3-Achs Portal. Dieses Portal ist heute morgen kollidiert, da die Z-Achse nicht ganz hoch genug war.
    Fehler Stillstandsüberwachung Z-Achse.


    Warum die Achse so tief stand konnten wir nicht ermitteln. Wir vermuten evtl. eine Einstreuung auf dem Analogsignal etc..

    Nun wollen wir eine Art Spaltkontrolle realisieren. Ist die LS frei, so dürfen X+Y fahren ansonsten nur Z.

    WIe bringe ich der FM nun bei, das bei Eingang XY FRG die Achsen freigegeben sind anderenfalls gesperrt??

    Ich könnte zwar die Reglersperre der FU`s (Indramat) schalten, aber dann wird die FM wohl auf Fehler gehen, Schleppabstand.

    P.S Anlage fährt ca. 2,5 m/s und soll noch schneller.

    Ist es besser da die Eingänge der FM zu nutzen?? Oder lieber in der SPS auf die Perepherie und dann in den Achs DB`S was beschreiben??

    Habe in der Schnittstelle was von Vorschubfreigabe gelesen. Muss ich dieses Bit ansteuern um eine Freigabe bzw. Sperre zu erreichen??

    Momentan wird dort nämlich nichts angesteuert.
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!
    Zitieren Zitieren FM 357 Achsfreigaben einzeln Schalten  

  2. #2
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 233 Danke für 204 Beiträge

    Standard

    Hi

    Es sollten die DB31 bis 33 vorhanden sein !

    Ist das so ?


    Schau doch mal nach, ob der DB31.DBX2.1 angesteuert wird.
    (Nur mal grundsätzlich, ob dises Bit von der PLC angesteuert wird)



    Sag doch mal Bescheid.

    Frage: Hast du das Handbuch hierzu ?
    Karl

  3. #3
    mitchih ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.11.2006
    Beiträge
    690
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Bin gerade nicht an der Anlage, aber Db`s sind soweit ich weiß vorhanden.

    Es werden auch Bits angesteuert und ein Override übergeben. Es gibt auch ein Bit Interlock, das hält aber alles an.

    Außerdem werden die Positionen usw ausgelesen.

    Handbuch habe ich Parametriersoft auch, habe ich schon mal kleine Änderungen vorgenommen. (Programme geändert (Positionen), Tippbetrieb, Achsen referenzieren), denn das geht bei uns alles nur über die IBN Soft

    Durch lesen und testen würde ich evtl. qauch zum ziel kommen, jedoch muss man ja nicht das rad neu erfinden. Außerdem ist das Handbuch ja nicht gerade kompakt
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!

  4. #4
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Warum die Achse so tief stand konnten wir nicht ermitteln. Wir vermuten evtl. eine Einstreuung auf dem Analogsignal etc..
    Ich kann ja noch verstehen, wenn die Sollwertvorgabe gestört wäre, aber die Rückmeldung über den Geber sollte doch unbeinflusst sein. Dann dürfte ja zumindest vorher ja schon ein Schleppfehler aufgetreten sein...

    Aber seis drum, jetzt mal ein Vorschlag für die Achsfreigabe:

    Wenn Du über die SPS die Achsfreigabe wegnimmst, und vom NC-Programm her versuchst, die Achse zu fahren, gibts eh einen Fehler. Ich würde das doch auf jeden Fall über einen digitalen Eingang machen, dann beispielsweise über Vorlaufstop:

    Code:
    N100 WHENEVER $A_IN[Eingangsnummer] <> Bedingung DO RDISABLE
    N200 Eure Achsbewegung
    oder einfach eine Warteschleife, die euren Eingang abfragt:

    Code:
    N100 REPEAT
    N200  STOPRE
    N300 UNTIL Freigabe_von_Eingang
     
    N400 Eure Achsbewegung

  5. #5
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 233 Danke für 204 Beiträge

    Standard

    Hi

    Schau dir die Beschreibung zum DB2 an.

    Da gibt es "Fehlermeldungen" und "Betriebsmeldungen".

    Wenn du ein bestimmtes DB2-Bit verwendest, wird der Vorschub für eine bestimmte Achse vergenommen und du kannst einen Text verwenden.

    Z.b. Warte auf Grundstellung Z-Achse.



    Schau dir doch mal hier das Handbuch an.
    https://www.automation.siemens.com/d...ltType=content



    Ist zwar für eine 840D, jedoch die Schnittstelle ist sehr identisch.


    Handbuch Seite 338 DB2.DBB16 und 17

    Setze eines der Bit auf 1 --> Vorschub halt für die 3.Achse und Fehlermeldung/Betriebsmeldung.

    (Je nachdem ob mmc/op . . . )


    Ich denke, dass ist was du gesucht hast.
    Karl

  6. #6
    mitchih ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.11.2006
    Beiträge
    690
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Zitat Zitat von Grubba Beitrag anzeigen
    Ich kann ja noch verstehen, wenn die Sollwertvorgabe gestört wäre, aber die Rückmeldung über den Geber sollte doch unbeinflusst sein. Dann dürfte ja zumindest vorher ja schon ein Schleppfehler aufgetreten sein...

    Aber seis drum, jetzt mal ein Vorschlag für die Achsfreigabe:

    Wenn Du über die SPS die Achsfreigabe wegnimmst, und vom NC-Programm her versuchst, die Achse zu fahren, gibts eh einen Fehler. Ich würde das doch auf jeden Fall über einen digitalen Eingang machen, dann beispielsweise über Vorlaufstop:

    Code:
    N100 WHENEVER $A_IN[Eingangsnummer] <> Bedingung DO RDISABLE
    N200 Eure Achsbewegung
    oder einfach eine Warteschleife, die euren Eingang abfragt:

    Code:
    N100 REPEAT
    N200  STOPRE
    N300 UNTIL Freigabe_von_Eingang
     
    N400 Eure Achsbewegung
    Hallo,

    die Achsfreigabe kommt doch aus dem Schnittstellen DB, also von der FM und dann bekommt sie nicht mit das ich den Vorschub gestoppt habe.

    Hintergrund: Das Programm besteht aus sehr vielen Befehlen und Unterprogrammen, wo die Achse verfahren wird und verriegelt werden müsste.
    Nun müsste ich ja alle FM Programme umstricken.

    Am liebsten wären mir 3 Bit für die einzelen Achsen, oder ein Programm was immer abgearbeitet wird.
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!

  7. #7
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    die Achsfreigabe kommt doch aus dem Schnittstellen DB, also von der FM und dann bekommt sie nicht mit das ich den Vorschub gestoppt habe.
    Der Schnittstellen DB ist bidirektional, er beinhaltet sowohl Steuer als auch Rückmeldsignale.

    Die Achsfreigabe (Reglerfreigabe) kommt von der SPS.

    Was möglich ist, wäre das Setzen des Bits "Vorschub STOP" (DBX4.3 für die erste Achse). Wenn Du das setzt, steht die Achse solange, bis der Vorschub wieder freigegeben wird. Das kann dann ganz allein von der SPS aus passieren.

    Durch Setzen des jeweiligen Bits für die einzelnen Achsen kannst Du so jede Achse separat zu beliebigen Zeiten anhalten. (und wieder weiterfahren lassen)
    Geändert von Grubba (12.11.2009 um 18:44 Uhr) Grund: Bischen genauer...

  8. #8
    mitchih ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.11.2006
    Beiträge
    690
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Zitat Zitat von Grubba Beitrag anzeigen
    Die Achsfreigabe kommt von der SPS. Vermute mal Du meinst die Reglerfreigabe.

    Was möglich ist, wäre das Setzen des Bits "Vorschub STOP" (DBX4.3). Wenn Du das setzt, steht die Achse solange, bis der Vorschub wieder freigegeben wird. Das kann dann ganz allein von der SPS aus passieren.
    Genau das meine ich.

    Werd mich aber nochmal nen bischen doof anstellen in der Firma, dann gibs vielleicht mal ne Schulung auf das Teil. Und nicht wie sonst immer leraning bei doing
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!

  9. #9
    mitchih ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.11.2006
    Beiträge
    690
    Danke
    36
    Erhielt 31 Danke für 29 Beiträge

    Standard

    Hallo,

    ist es eigentlich möglich in der FM einen "OB1" zu haben, der zyklisch durchlaufen wird???

    Sprich das ich die Freigaben doch in der FM mache??

    Mein Kollege meinte Gerade, das wir ja Zeit verlieren wenn wir die Signale über die SPS steuern. Und das die FM da halt wesentlich schneller wäre.
    Zeige nie deine Verblüffung, wenn dir etwas auf Anhieb gelingt.

    Praxis: Es funktioniert aber keiner weiß warum!
    Zitieren Zitieren Das ganze in der FM  

  10. #10
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mein Kollege meinte Gerade, das wir ja Zeit verlieren wenn wir die Signale über die SPS steuern. Und das die FM da halt wesentlich schneller wäre.
    Wesentlich schneller - das ist halt relativ. Die FM würde das Signal im Ipo-Takt einlesen. Über die SPS kommt halt noch ein SPS-Zyklus dazu. Macht das den Unterschied?

    ist es eigentlich möglich in der FM einen "OB1" zu haben, der zyklisch durchlaufen wird???
    Nicht direkt, aber Du kannst über statische Synchronaktionen so etwas nachbilden.

    Mit der Variable $AA_OVR[Achse] kann man auch in der FM selber den Override für jede Achse schreiben. Das muss aber in jedem IPO-Takt geschehen, ansonsten steht wieder 100 drin.

    Also so etwas wie:

    Code:
    N100 ID=1 Whenever $A_IN[Eingang_XYZ] DO $AA_OVR[Achse]=0
    Das aber mal ohne Gewähr.

    Ansonsten verstehe ich aber Euer Problem generell nicht ganz.
    Angenommen, die NC fährt die Z-Achse laut Programm. Im nächsten Satz fahren dann z.B. die x und y Achsen. Dann kann es nicht sein, das die Z-Achse zuvor ihre Position nicht erreicht hat. Wenn es tatsächlich eine Störung auf der Analogansteuerung des Reglers gegeben haben sollte wird die Achse eh durch Schleppfehler angehalten, und dann steht eh das ganze Programm. Ausserdem würde erst dann ein Satzwechsel stattfinden, wenn die Z-Achse in ihrer Position angekommen ist.
    Bist du sicher, das nicht evtl. eine PosA Bewegung der Z-Achse programmiert wurde? Dann würde mit dem Satzwechsel nicht gewartet werden und der nächste Satz (mit x und y Bewegung) würde sofort starten - auch wenn die Z-Achse noch nicht in Position wäre.

Ähnliche Themen

  1. LEDs einzeln ansteuern?
    Von Osiris im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 12.10.2010, 14:40
  2. DATE Variable einzeln auslesen
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 17.08.2010, 12:38
  3. DB Variablen einzeln ansprechen
    Von Perseus79 im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 08.12.2009, 13:37
  4. S7-200 Explorer einzeln installieren
    Von elektro_hirs im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.10.2006, 20:12
  5. Dezimalstellen einzeln auslesen
    Von Ralf_S im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.07.2005, 13:49

Lesezeichen

Berechtigungen

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