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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Ausgänge mehrmals setzen? TIA V13

  1. #1
    Registriert seit
    20.10.2015
    Beiträge
    28
    Danke
    14
    Erhielt 3 Danke für 3 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo SPS Forum

    Vorgeschichte:
    Ich habe ein Hochregallager gebaut. In diesem gibt es 28 (4x7) Plätze, in denen ich Werkstücke ein und auslagern kann.
    Die Lagerplätze werden durch einen "Lift" angefahren, dieser hat in der Höhe und Breite Sensoren die einmal bei jedem Lagerplatz ein Signal geben.
    Ich habe mir also ein "Koordinatensystem" gebaut, indem ich in der Höhe und Breite mit MWs immer +1 und -1 rechne, wenn der Lift ein Signal im Links/ oder Rechtslauf gibt.
    So kann ich jeden Lagerplatz relativ einfach anfahren. Sobald die Anlage eingeschaltet wird, nullt sich der Lift 1mal.
    Um die Lagerplätze anzufahren habe ich also einen FB im GRAPH (FUP) programmiert, dem ich folgende Variablen gebe:
    Lagerplatz (welches Lager gedrückt wurde), Höhe/Breite dieses Lagerplatzes, Höhe/Breite auf der sich der Lift befindet.
    Ich brauche auch folgende Ausgänge (auch Variabeln im FB):
    Lift Links/Rechtslauf, Lift Hoch/Runterfahren, Lift Aus/Einfahren.

    Problem:
    Bei den Eingängen gibt es keine Probleme, nur bei den Ausängen weiss ich nicht, wie ich die Ausänge "mehrmals" benutzen kann.
    Insgesamt muss ich diese ja 28mal benutzen und ich mache nur ungern 28 Merker + oder nur für 1 Ausgang, da muss es doch etwas einfacheres geben?
    Man kann jeden Ausgang nur 1mal benutzen, sonst funktioniert die Ansteuerung nichtmehr...
    Bin für jede Hilfe dankbar!

    Gruss
    Automatio
    Zitieren Zitieren Gelöst: Ausgänge mehrmals setzen? TIA V13  

  2. "
    Zitat Zitat von Automatio Beitrag anzeigen
    Ich mache das ganze im FUP und muss zugeben, dass ich noch nie mit DBs gearbeitet habe, wenn sie automatisch erstellt werden ist gut und dann wars das für mich, da muss ich mich wohl mal einarbeiten.
    Ok, ab hier wird es mit Worten schwieriger...

    Daher hab ich ziemlich genau das was vollmi oben beschreibt, wenn auch grob und ungepflegt, als Beispiel erstellt. Siehe Anhang
    Beispiel 1: Zeigt dir wie das mit dem INOUT und dem mehrfachen Beschreiben mit dem gleichen Datenpunkt geht.
    Beispiel 2: Zeigt in etwa das was vollmi oben beschrieben hat.

    Wie gesagt, die Beispiele sind grob und nur schnell runtergetippt.
    (Zum Beipiel würde man die Anforderung möglicherweise nicht als separates Array programmieren sondern direkt in die Regaldaten und der Lift durchsucht die gesamten Regaldaten)

    Die Beispiele sollen dir nur vermitteln was wir meinen bzw. dir die verwendeten Programmiertechniken (Datenbausteine, UDTs, STRUCTs, ARRAYs, Multiinstanzen, variabel indexierter Arrayzugriff) näher bringen.
    Nur mit Text wird das eher länger dauern...

    PS.:
    Wir wollen dich hier nicht in irgendeine Richtung drängen, sind nur Vorschläge für andere Herangehenweisen."


  3. #2
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.250
    Danke
    15
    Erhielt 120 Danke für 108 Beiträge

    Standard

    Also ohne jetzt der TIA Profi zu sein, nutze ja nur Classic, könnte man wenn es die Anwendung usw. erlaub mit S/R arbeiten

    Oder Alternativ über die Befehlsmerker gehen und dann am Ende eine Zuweisung mit "=" machen ...

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

    Albert Einstein

  4. #3
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.209
    Danke
    323
    Erhielt 188 Danke für 153 Beiträge

    Standard

    Willst du den Ausgang mehrmals lesen und schreiben ?
    Das meckert es TIA an ja.

    Du kannst auch mit 1 Merker arbeiten die du lest und schreibst.
    Und dann am ende des Programms das VEK auf den Ausgang schreiben.

    Bram
    Augen zu und durch

  5. #4
    Automatio ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.10.2015
    Beiträge
    28
    Danke
    14
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von de vliegende hollander Beitrag anzeigen
    Du kannst auch mit 1 Merker arbeiten die du lest und schreibst.
    Und dann am ende des Programms das VEK auf den Ausgang schreiben.
    Was meinst du mit VEK auf den Ausgang schreiben?
    Merker kann man ja auch nur 1mal benutzen?

    Gruss
    Automatio

  6. #5
    Registriert seit
    10.04.2006
    Beiträge
    123
    Danke
    6
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Du kannst auch mit 1 Merker arbeiten die du lest und schreibst.
    Und dann am ende des Programms das VEK auf den Ausgang schreiben.
    Bei uns werden mittlerweile die Programme generell so aufgesetzt das innerhalb des Programmes nur auf Merker gearbeitet wird.
    E/A's werden dann einmal rangiert. Dadurch ist man bei 'Standarmaschinen' flexibler wenn die Elektriker wieder einmal alles durcheinanderwirbeln (Andere Hardware, andere Module,....)

  7. #6
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.209
    Danke
    323
    Erhielt 188 Danke für 153 Beiträge

    Standard

    Ich wollte VKE schreiben..
    Verknüpfungsergebnis..

    Das ist in princpe der = Funktion.

    Merker kann mann mehrmals benutzen
    Augen zu und durch

  8. #7
    Registriert seit
    23.10.2009
    Beiträge
    353
    Danke
    58
    Erhielt 101 Danke für 75 Beiträge

    Standard

    Wenn Du die Ausgänge 28-mal ansteuern musst, dann ist dein Programmkonzept noch etwas sub-optimal. (vorsichtig ausgedrückt )
    Du solltest das Anfahren der Position nicht in der Schrittkette lösen, sondern in der Schrittkette wird ein Auftrag an eine X-Fahrroutine ausgelöst, die dann von einem anderen Baustein abgearbeitet wird, dann löst die Schrittkette einen Y-Fahrbefehl aus, der dann abgearbeitet wird usw.
    In den X- bzw Y- Fahrroutinen musst Du dann nur Soll- mit Ist-Position vergleichen und davon abhängig nur an einer Stelle die Antriebe ansteuern.
    Gruß
    Erich

  9. #8
    Automatio ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    20.10.2015
    Beiträge
    28
    Danke
    14
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von LargoD Beitrag anzeigen
    Wenn Du die Ausgänge 28-mal ansteuern musst, dann ist dein Programmkonzept noch etwas sub-optimal. (vorsichtig ausgedrückt )
    Du solltest das Anfahren der Position nicht in der Schrittkette lösen, sondern in der Schrittkette wird ein Auftrag an eine X-Fahrroutine ausgelöst, die dann von einem anderen Baustein abgearbeitet wird, dann löst die Schrittkette einen Y-Fahrbefehl aus, der dann abgearbeitet wird usw.
    In den X- bzw Y- Fahrroutinen musst Du dann nur Soll- mit Ist-Position vergleichen und davon abhängig nur an einer Stelle die Antriebe ansteuern.
    Gruß
    Erich
    Das Anfahren der Positionen habe ich in der vorrausgeschalteten permanenten Anweisungen gelöst. Sobald der Schritt für das positionieren aktiv ist, wird das positionieren mit Position > SollPosition die positionierung gestartet.
    Ich muss doch sowieso einmal festlegen, dass Lager 1 Höhe 1 und Breite 1 ist und das bei allen 28. Ich glaube alles in einem FB ist sogar eine recht gute Lösung.

    Jetzt aber nochmals auf meine Frage zu sprechen;
    Ich kann also 2mal den selben Merker schreiben? (an verschiedenen Positionen des Programmes)
    Bei mir hat das bisher nie funktioniert, da muss ich wohl nochmal probieren.

    Gruss
    Automatio

  10. #9
    Registriert seit
    06.04.2016
    Ort
    Schweiz
    Beiträge
    45
    Danke
    11
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Zitat Zitat von Automatio Beitrag anzeigen

    Jetzt aber nochmals auf meine Frage zu sprechen;
    Ich kann also 2mal den selben Merker schreiben? (an verschiedenen Positionen des Programmes)
    Ja, du kannst beliebig oft in deinem Programm den gleichen Merker beschreiben / lesen etc.
    Natürlich kann dies schnell zur Unübersichtlichkeit führen, doch dass ist dann eher ein Frage der grundsätzlichen Architektur der Software.

    Bei uns werden Beispielsweise keine Ausgänge direkt beschrieben, sondern alles über Merker und erst ganz am Schluss des Programmes wird einmal der Status der Ausgangsmerker auf die Ausgänge geschrieben.

  11. #10
    Registriert seit
    15.02.2006
    Ort
    S-H
    Beiträge
    184
    Danke
    11
    Erhielt 45 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Jaaaa - man kann den selben Merker (oder auch Ausgang) selbstverständlich mehrfach beschreiben - die Frage ist ob man das auch wirklich will

    Denn gültig ist natürlich nur die letzte Zuweisung des Merkers (oder Ausgangs) - solche Konstrukte sollten also vermieden werden!
    mit bestem Gruß Pjoddi
    -----------------------------------
    Gott- gib mir Gelassenheit, Dinge hinzunehmen, die ich nicht ändern kann, den Mut, Dinge zu ändern, die ich ändern kann, und die Weisheit, das eine vom anderen zu unterscheiden. (J.C. Oetinger)

Ähnliche Themen

  1. TIA Siemens S7 TIA V13 Basic <> TIA V13 Professional
    Von piksieben im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.11.2014, 19:23
  2. Antworten: 0
    Letzter Beitrag: 20.10.2014, 20:25
  3. Step 5 Ausgänge setzen/rücksetzen
    Von hoffi im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.01.2014, 12:22
  4. einzelne digitale Ausgänge setzen
    Von Tiger30 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 24.02.2009, 16:13
  5. Ausgänge über Hilsmerker setzen
    Von Mores im Forum Programmierstrategien
    Antworten: 40
    Letzter Beitrag: 26.01.2009, 16:29

Stichworte

Lesezeichen

Berechtigungen

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