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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Palettierfunktion entwickeln ...

  1. #11
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Boxy Beitrag anzeigen
    Schau Dir mal mein Vorschlag an, wie Du es berechnen könntest ... Musst Dir nur ein Schachbrett denken ...
    Also Zeile und Spalte ...


    X = Start_X + (( INT (Teile-Nr-1) / Anzahl_X) * Abstand_X )
    Y = Start_Y + (( INT (Teile-Nr-1) / Anzahl_Y) * Abstand_Y )

    mittels INT berechnest halt nur die Ganzzahl (ist jetzt nicht von Siemens gewesen deshalb) ...
    Bei der Berechnung für X ist aber noch ein Bug drinnen, da muss ich mal noch nachschauen, daher soll es mal als Denkanstoss dienen
    Lieben Dank Boxy,

    ok - also Formel stimmt noch nicht ganz.


    Aber vom Verständnis her:

    - Teile-Nr. bezeichnet das zu positionierende Teil, also fortschreitend 1, 2, 3, usw. ?

    - Davon wird nun die Zahl 1 abgezogen und das Ergebnis durch die Anzahl der Spalten geteilt. Was genau macht hier INT - ist das ein Berechnungsfaktor?


    Sorry für die dummen Fragen.
    LG
    spirit

  2. #12
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Also ein Beispiel:
    X = 10; Y = 34; OffsetX = 25; OffsetY = 30;
    Dies ist Position 1
    Position 2:
    X + OffsetX, Y; X = 10 + 25 , Y = 34;
    Position 3:
    X+ 2*Offset; Y; X = 10 + 2*25. Y = 34;
    zweite Spalte:
    X, Y+OffsetY; X = 10, Y = 34 + 30;

    usw.

    Alles klar?


    bike
    Das war mir schon klar bike,

    aber nicht wie man diese Formeln in die SPS bringen soll, wenn diese sich mit jeder Position ändern ...

    Da müsste man doch dann eine "Bezugsformel" draus machen, oder etwa nicht?
    LG
    spirit

  3. #13
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.344
    Danke
    28
    Erhielt 131 Danke für 118 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Lieben Dank Boxy,

    ok - also Formel stimmt noch nicht ganz.


    Aber vom Verständnis her:

    - Teile-Nr. bezeichnet das zu positionierende Teil, also fortschreitend 1, 2, 3, usw. ?

    - Davon wird nun die Zahl 1 abgezogen und das Ergebnis durch die Anzahl der Spalten geteilt. Was genau macht hier INT - ist das ein Berechnungsfaktor?


    Sorry für die dummen Fragen.
    Ich habe den letzten Post noch überarbeitet, darum hier nochmals:


    Schau Dir mal mein Vorschlag an, wie Du es berechnen könntest ... Musst Dir nur ein Schachbrett denken ...
    Also Zeile und Spalte ...

    Code:
    01          X_Start = Teach_Pos_X
    01          Y_Start = Teach_Pos_Y 
    ;
    ;                Berechnen der Position in Y 
    01             Reihe_Y = INT((Platz_Zähler - 1) / Anzahl_in_X) + 1
    01             Y_Position = Y_Start + Reihe_Y * Y_Abstand - Y_Abstand
    ;
    ;                Teilezähler in X für Splate aufbereiten 
    01             IF (Reihe_Y - 1) = 0 THEN 
    01                Spalte = Platz_Zähler            (*hier war kleiner Fehler*)
    01             ELSE 
    01                Spalte = (Platz_Zähler - ((Reihe_Y - 1) * Anzahl_in_X)) 
    01             ENDIF
    ;
    ;                Berechnen der Position in X 
    01             X_Position = X_Start + (Spalte * X_Abstand - X_Abstand)
    Ja das INT ist einfach Wandlung in Integer, damit du mit Ganzzahl rechnest (hast ja keine Komma X Spalte oder Komma Y Reihe).
    Im Prinzip müsste es sogar mit Modulo Berechnung gehen ...
    Ursprung der Berechnung war innerhalb einer NC und diese war natürlich nicht von Siemens ...

    Das mit dem -1 (und auch mit dem - Offset) kommt daher, das du den Offset immer erst in Reihe 2 oder bei Spalte 2,3,4,5 verrechnest!
    Also Teil 1,6,11,16,21 beginnt ja immer bei X mit Teach-Position (Schachbrett Spalte A)

    so soll es mal als Denkanstoss dienen
    In dieser Art, habe ich es zig mal in einem Lade-Portal im Einsatz ...
    Allerdings ist es da noch komplexer, da mehrer Paletten im Einsatz sind und dann noch Unertrschiedliche Offset's sowie versetzte Plätze möglich sind.
    Daher habe ich es etwas zusammengekürzt. Sollte aber nix machen

    Jetzt am besten in SCL ins TIA bringen und es funktioniert ...

    Wenn Du nun zwei Teilezähler nutzt also einen für Rohteil und einen für Fertigteil und den Aufruf der Berechnung mit Parameter machst, kannst Du somit z.B. sagen Fertigteil-Platz = Rohteil-Platz - 1.
    Oder Du lässt beide Zähler untersch. laufen, dann könntest die Fertigteile ohne Lücken in der Palette wieder ablegen ...

    Dadurch das es über die Formel geht, kannst du nun auch ganz einfach 10x10 oder 6x6 Paletten realisieren (nur Parameter) ...
    Du siehst ja, es wird einfach nur die Spalte und die Zeile auf dem Schachbrett berechnet!

    Am Ende kommt noch IF Teile-Nr. > Anzahl_X * Anzahl_Y Then Teile-Nr. = 1, dann beginnt alles von vorne

    Hoffe es hilft weiter ...
    Geändert von Boxy (21.08.2014 um 00:56 Uhr) Grund: kleiner Fehler behoben ...

  4. Folgender Benutzer sagt Danke zu Boxy für den nützlichen Beitrag:

    spirit (21.08.2014)

  5. #14
    Registriert seit
    03.04.2008
    Beiträge
    6.206
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Das war mir schon klar bike,

    aber nicht wie man diese Formeln in die SPS bringen soll, wenn diese sich mit jeder Position ändern ...

    Da müsste man doch dann eine "Bezugsformel" draus machen, oder etwa nicht?
    Kann es sein, dass es daran liegt, dass du ein Madl bist?

    Du lagerst das Teil ab und mit einem Zähler weißt du wo abgelegt hast.
    Also Zähler =1 Position ist dann X1 Y1 Z1.
    Bei Position 2 schaut es so aus:
    X+(Zaehler-1*Offset) Y1 Z1
    Dann noch maximale Anzahl X, dann kannst du doch Y ausrechnen.
    Wenn von der Anzahl die maximalen Paletten in X abgezogen werden und ein Übertrag besteht, dann weiß du dass Y mit dem entsprechenden Offset geändert werden muss.
    Daraus kann Mann oder Frau eine schöne Formel bauen.

    Brauchst du die Lösung für eine 300er oder eine 1200er?
    Denn zu der zweiten kann ich dir keine Hilfestellung geben.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  6. #15
    Registriert seit
    19.10.2010
    Beiträge
    328
    Danke
    15
    Erhielt 36 Danke für 31 Beiträge

    Standard

    Ich würde modulo durch die Anzahl pro Reihe teilen. Das Ergebnis ist dann der x Offset. Danach nochmal den Zähler durch die Anzahl pro Reihe teilen. Nun hab ich die ganz Zahl und den Restbetrag. Anhand dieser zwei zahlen kann ich nun Spalte und Reihe bestimmen. Natürlich muss alles als ganzzahl berechnet werden

  7. #16
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .
    Zitat Zitat von bike Beitrag anzeigen
    Wenn du dann die X Reihe voll hast, dann Ist die erste Position der zweiten Reihe X1, Y1+OffsetY, Z1.

    Ist dann die erste Lage voll, beginnst du mit Z1 + Offset Z.
    bike
    Zitat Zitat von bike Beitrag anzeigen

    Kann es sein, dass es daran liegt, dass du ein Madl bist?

    Also Zähler =1 Position ist dann X1 Y1 Z1.
    Bei Position 2 schaut es so aus:
    X+(Zaehler-1*Offset) Y1 Z1
    bike
    @bike

    Vielleicht ist das "Madl" wegen dem deinem "Z" etwas verunsichert.

    Du solltest den Eingangsbeitrag#1 von dem "Madl" nochmal lesen
    und dann wohl verstehen, das sie nur mit 2 Achsen (X+Y) arbeitet.
    kind regards
    SoftMachine

  8. #17
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Kann es sein, dass es daran liegt, dass du ein Madl bist?

    bike
    ... dem will ich mal lieber nicht widersprechen! Sagen wir mal so, Kuchenbacken klappt besser.

    Wie aber SoftMachine auch schon schrieb; von Z-Achse war hier gar keine Rede! Bin dann aber doch noch selber draufgekommen, mir diese wegzudenken! *WOW*


    Zitat Zitat von bike Beitrag anzeigen
    Brauchst du die Lösung für eine 300er oder eine 1200er?
    Denn zu der zweiten kann ich dir keine Hilfestellung geben.
    bike
    In diesem Fall geht es um eine 1200er Steuerung!

    Aber danke - es hat sich schon ein total nettes Helferlein gefunden ...


    Ich danke euch!
    LG
    spirit

  9. #18
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.344
    Danke
    28
    Erhielt 131 Danke für 118 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Kann es sein, dass es daran liegt, dass du ein Madl bist?
    Dann solltest Du doch noch schneller und mit mehr Hingabe helfen

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  10. #19
    Registriert seit
    03.04.2008
    Beiträge
    6.206
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Boxy Beitrag anzeigen
    Dann solltest Du doch noch schneller und mit mehr Hingabe helfen
    Würde ich ja, aber bei 1200er versage ich meist.

    Zum Glück hat sie eine Hilfe gefunden.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

Ähnliche Themen

  1. Step 7 Palettierfunktion
    Von The_Coon im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 07.05.2013, 14:13
  2. Antworten: 4
    Letzter Beitrag: 13.11.2010, 16:17
  3. Logo Steuerung entwickeln
    Von lumi03 im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 12.06.2009, 18:59

Lesezeichen

Berechtigungen

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