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

Ergebnis 1 bis 9 von 9

Thema: Signalüberschneidung,erbitte Hilfe

  1. #1
    Registriert seit
    21.05.2015
    Beiträge
    11
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Ich habe vor einigen Jahren auf Codesys programmieren gelernt,leider ist mein Wissen doch löchriger als ich dachte. Jetzt möchte ich ein kleines Programm schreiben, komme aber nicht weiter, ich bitte um eure Hilfe.

    Software Codesys 2.3.9.44
    Programmsprache ST
    Hardware easy control EC4P 222

    Programmablauf

    An Position ,,A,, sollen Teile die auf einem Transportband liegen und per Kamera auf i.O und n.i.O. geprüft werden. Die Kamera kann ein i.O. oder ein n.i.O Signal ausgeben.
    An Position ,,B,, werden alle i.O. Teile per Druckluft vom Band gepustet.
    Die Positionen werden jeweils von Sensoren erkannt.
    Zwischen den Positionen ,,A,, und ,,B,, passen jedoch drei Teile auf das Band.Wie realisiere ich am besten diese Steuerung?Hab bisher Probleme mit Signal Überschneidungen, wenn das erste Teil i.O geprüft wurde werden in meinem Programm bisher alle weiteren Teile auch i.O gesetzt und nicht nur Teil Nr.1 sonder auch Teil Nr.2 und Nr.3. Evtl. die Auswertung in einem Unterprogramm?!Oder doch lieber das ganze über ein Array versuchen?!Oder bin ich total auf dem Holzweg?:P....Bitte um Ratschlag
    Geändert von spsbenutzer1 (21.05.2015 um 12:06 Uhr)
    Zitieren Zitieren Signalüberschneidung,erbitte Hilfe  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Es gibt dafür (wie immer) mehrere Möglichkeiten.

    Die beste Variante aus meiner Sicht ist, wenn du einen Inkrementalgeber an deinem Förderband hast.
    Mit der Prüfung des Teils speicherst du dir das Ergebnis der Prüfung und den Wert des Gebers in einen (FiFo)Speicher.
    Erreicht der Geberwert+Distanz zur Blasdüse den passenden Betrag und ist das Teil = NIO dann pustest du es raus und löscht den Speicher wieder.

    Ersatzweise könntest du auch mit der Systemzeit und der zeitlichen Distanz zur Blasdüse arbeiten - das ginge genau so - ist aber nicht so schön (wegen ggf. Anlaufen und/oder Abschalten des Förderbandes).

    Gruß
    Larry

  3. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    spsbenutzer1 (21.05.2015)

  4. #3
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Hallo,

    sind zwischen A und B Sensoren (Teil 1,2,3) oder sind nur bei A und B Sensoren?

    Wenn nur A und B, dann würde ich ein Schieberegister verwenden.
    allerdings braucht man da einen definierten Takt. läuft das Band kontinuierlich oder Teil da, Prüfung, Band Start?
    Dann wäre "Bandstart" dein Schiebebit.
    Wenn nur Dauerlauf, dann vllt. einen Sensor an das Band anbringen, der pro Takt einen Impuls bringt.

  5. Folgender Benutzer sagt Danke zu Verpolt für den nützlichen Beitrag:

    spsbenutzer1 (21.05.2015)

  6. #4
    spsbenutzer1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.05.2015
    Beiträge
    11
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Erstmal vielen Dank für deine Antwort.Zwischen den Punkten A und B ist keine Sensorik vorhanden,könnte ich aber noch nachrüsten.das mit dem schiebregister ist aber auch ne gute Idee habe sowas allerdings noch nie in ST programmiert, sondern nur auf Siemens LOGO, aber das sollte ja machbar sein den richtigen syntax hinzubekommen und so nen ding in ST zu programmieren.

  7. #5
    spsbenutzer1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.05.2015
    Beiträge
    11
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Dank für die Hilfe.Ich glaub das mit dem Inkrementalgeber muss ich mal rausfinden,klingt super dein Lösungvorschlag,bin mir aber nicht sicher ob ich das auch wirklich realisiert bekomme.Bei dem Vorschlag mit Distanz und Zeit zu arbeiten bekomme ich, wie du schon sagtes, ein Problem mit dem Nachlauf und auf Dauer auch mit dem Verschleiss des Förderbandes.LG

  8. #6
    spsbenutzer1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.05.2015
    Beiträge
    11
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    [QUOTE=Verpolt;537483]Hallo,

    sind zwischen A und B Sensoren (Teil 1,2,3) oder sind nur bei A und B Sensoren?

    Aber falls da welche wären könnte ich das ganz easy mit if,then,else und paar mekern machen,oda täusche ich mich da?

  9. #7
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    [QUOTE=spsbenutzer1;537507]
    Zitat Zitat von Verpolt Beitrag anzeigen
    Hallo,

    sind zwischen A und B Sensoren (Teil 1,2,3) oder sind nur bei A und B Sensoren?

    Aber falls da welche wären könnte ich das ganz easy mit if,then,else und paar mekern machen,oda täusche ich mich da?
    Ja. Dann hättest sozusagen deine einzelnen Takte bis zum Punk B (Ausblasen)

  10. #8
    Registriert seit
    17.11.2014
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Moin spsbenutzer,

    ich würde auch einen Buffer vorschlagen und nur mit den Sensoren auswerten. Evtl. noch einen Zeit mit reinbringen für die Ausschleußdauer.
    Geht nur, wenn immer zwischen A und B drei Kisten sind, Abstand währe egal. Sollte dies nicht so sein, brauchst du einen INI an einem angetriebem rotierendem Teil zum Messen des Weges oder dies SYSTIME.

    ]:-> chrischanHH

    IF SensorA AND NOT _ImageSEnsorA THEN
    // Werte schieben ...
    FOR _i:= _ki_BufferGroesse TO 2 BY -1 DO
    _Buffer[_i] := _Buffer[_i -1];
    END_FOR
    // ... neuen Wert eintragen
    _Buffer[1] := SensorNIO;
    END_IF


    IF SensorB AND (_Buffer[3]= TRUE) THEN
    Druckluft := TRUE;
    END_IF


    (* Image schreiben *)
    _Image_SensorA := SensorA;
    Geändert von chrischanHH (21.05.2015 um 15:39 Uhr)
    ]:-> Bitte ein Byte <-:[

  11. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von spsbenutzer1 Beitrag anzeigen
    Dank für die Hilfe.Ich glaub das mit dem Inkrementalgeber muss ich mal rausfinden,klingt super dein Lösungvorschlag,bin mir aber nicht sicher ob ich das auch wirklich realisiert bekomme.Bei dem Vorschlag mit Distanz und Zeit zu arbeiten bekomme ich, wie du schon sagtes, ein Problem mit dem Nachlauf und auf Dauer auch mit dem Verschleiss des Förderbandes.LG
    Wenn dir der Vorschlag gefällt dann könntest du dich ja daran mal versuchen. Ein paar Eckpunkte habe ich dir ja schon genannt.
    Wenn es dann irgendwann einmal klemmen sollte dann postest du deinen Code und ich bin mir sicher, dass wir das dann auch gelösst bekommen.

    Gruß
    Larry

Ähnliche Themen

  1. HILFE -- ePlan5.7 Professional -- HILFE
    Von DerMatze im Forum E-CAD
    Antworten: 6
    Letzter Beitrag: 26.09.2013, 08:54
  2. Antworten: 1
    Letzter Beitrag: 27.12.2011, 13:39
  3. Antworten: 90
    Letzter Beitrag: 21.03.2010, 12:35
  4. Moeller 719 Hilfe Hilfe
    Von kacperowski im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 11.05.2009, 19:57
  5. Antworten: 15
    Letzter Beitrag: 01.03.2005, 22:25

Lesezeichen

Berechtigungen

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