Problem mit SPS-Programm

Puch14

Level-2
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
nachdem mir Gestern so schnell geholfen wurde, traue ich mich nochmal hier zu posten.

Ich fang am besten mal mit meinem Wissensstand an:
Ich habe in der Lehre die S5 mit AWL kennengelernt, und später einen S7 Kurs gemacht, wo hauptsächlich in FUP programmiert wurde.

Zur Zeit Mache ich eine Weiterbildung zum Elektrotechniker, im Unterricht arbeiten wir auch mit der S7 (Ablaufsteuerung mit FB).

Zum Programm:
Ich habe ein Programm geschrieben, welches eine SB-Waschbox in einem Waschpark steuern soll.
Es gibt einen Drehschalter, mit dem man das gewünschte Programm einstellen kann (Spülen, Schaum, Heisswachs, usw.).
Gestartet wird das Ganze über eine Waschmünze die nach dem Einwurf einen Mikroschalter betätigt.
Abhängig vom gewählten Programm werden dann die entsprechenden Magnetventil geöffnet.

Mein Größtes Problem war aber der Zeitfaktor, jedes Programm hat eine andere Ablaufzeit, spülen läuft z.B. länger als Heisswachs.
Und weil man während das Programm abläuft die Programme beliebig wechseln kann habe ich ganz schön lange dafür gebraucht das Programm fertig zu stellen.
Mein Lehrer war mir dabei leider auch keine Große Hilfe.

Mittlerweile habe ich die Steuerung in dem Waschpark eingebaut, und testweise am laufen.
Zur Visualisierung des Restwertes habe ich noch eine Platine geätzt, die ich mit der SPS ansteuer um die Anzahl der eingeworfenen Münzen anzuzeigen.
Das Ergebnis kann sich auch schon fast sehen lassen, aber vereinzelt habe ich doch noch ein paar Probleme beim Ablauf der Programme.
Wenn jemand genau in dem Moment wo die Zeit für ein Programm abläuft den Dehschalter betätigt, wird der AblaufzeitTimer nicht zurückgesetzt, und die Anlage stoppt nicht.
Aus diesem Grund lasse ich jetzt sicherheitshalber noch einen zweiten Timer ablaufen, der unabhängig von den eingworfenen Münzen nach 15Min. die Anlage stoppt.

Kann sich vielleicht jemand das Programm mal ansehen, und mir vielleicht ein paar Tips geben? Ich würde es für diesen Zweck irgendwo hochladen.
Bis jetzt war dieses Projekt sehr lehrreich für mich, da ich bis zu diesem Zeitpunkt alles selber geplant und durchgeführt habe.

Gruss
Puch
 
Das Projekt kannst Du hier im Forum hochladen, beim editieren auf die Büroklammern klicken.
kannst Du den Ablauftimer nicht mit einem Impuls zurücksetzen , sobald eine Programmänderung ausgeführt wird?
Wie hast du denn die unterschiedlichen Zeiten addiert, wenn einer das Programm ändert ?



Hab so ein Ding noch nicht programmiert, aber von der Theorie würde ich das etwas anders angehen.
Ich will dich aber nicht ganz verwirren, aber das wäre vieleicht ein anderer Ansatz, der je nachdem in dein Programm zu integrieren wäre.

Da Du ja sagt das es für die programme unterschiedliche Laufzeiten gibt, und man während dem Programm eine Umschaltung vornehmen kannst wäre nach meiner Meinung eine reine Timerlösung falsch. Ich würde die Geldstücke in Einheiten umrechen z.B. 1€=1000, dann einen Timertick festlegen für z.B. 6s und dann für jedes Programm entsprechend wieviele Ticks verbraucht werden.
z.B.
Waschen 40 Ticks wären 125s/€
Schaumbüsten 50 Ticks wären 100s/€
Wachsen 60 Ticks wären 83s/€

Nun kann man bei jedem Tick den Geldwert von eingeworfenen Programm abziehen, wenn diese <=0 ist , das Programm beenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo jabba,
ich bin für jede Hilfe dankbar, aber das mit den Ticks habe ich nicht ganz verstanden.

Ich habe eine Grundzeit ablaufen lassen, und diese jeweils mit einem Faktor multipliziert um auf die gewünschte Ablaufzeit zu kommen.

Das Programm befindet sich jetzt im Anhang.

Gruss
Puch
 

Anhänge

  • Wasch_fb.zip
    231,7 KB · Aufrufe: 40
Hallo Puch14,

in Deinem FB3 im Netzwerk 1 hast Du den Merker 120.0
angebunden.
Sollte da nicht "#Anlaufsicherung" angebunden werden?
Oder liege ich da falsch? :icon_redface:

Gruß Nemo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mir so auf die schnelle aufgefallen ist, ich kann waschen ohne zu bezahlen.
Wenn Die Anlage einmal an war, und ich irgendeine Wahl treffe gehen auch die Ausgänge an.
Die Zwischenmerker für die Anwahl müßen zurückgesetzt werden, wenn der Tokenzähler 0 ist.(Netzwerk 2-7)
 
Ich frage ja in Netzwerk 11 den Restwert ab, und wenn der =0 ist setzt der die Timer zurück,
dann spielt es doch keine Rolle mehr auf welcher Position der Wahlschalter steht.
Die Netzwerke 2-7 dienen doch nur dazu das gewählte Programm zu definieren.

Mein größtes Problem ist, dass manchmal wenn das Programm abgelaufen ist, Tokenzähler keinen runterzähl Impuls bekommt.
Dadurch wird der Ablauftimer nicht neu gesetzt und die Anlage läuft ewig.

Gruss
Puch
 
Zuletzt bearbeitet:
Hallo Puch14

hab noch nicht alles verstanden , was du da machen wolltest, da ich gleich weg bin untersuche mal folgende Idee.
Wenn deine grundzeit zur Berechnung dient, und der Faktor ist größer 1, dann ist die Grundzeit schon vor der Anlage abgelaufen, wenn du nun umschaltest steht im der Zeit ein 0, damit ist die Ablaufzeit 0, wird nicht gestartet und kann keinen Impuls mehr machen.
 
Ändere einfach mal deine Faktoren alle auf unter 1, zB Grundzeit auf 3 Minuten, Stopp auf 2:50 usw.
 
Hallo jabba,

ich war gestern an der Anlage, und habe das Programm mit den geänderten Faktoren in die SPS geladen.
Mal schauen ob das Problem jetzt behoben ist.

Gruss
Puch
 
Zurück
Oben