servus, ch arbeite gerade an einem futterautomat und hänge gerade ein bischen. folgendes problem hab ich. ich hab die uhr und die zeiteinstellung bereits komplett fertig. nun geht es darum wenn die zeit und die eingestellte weckzeit gleich sind dass halt was passieren soll. nun will ich wenn halt beide zeiten gleich sind einen motor starten der sich dreht. an der welle ist ne scheibe mit ner narbe drann welche bei jeder umdrehung einen taster betätigt. der motor soll stoppen sobald der taster zweimal betätigt wurde. so hab ich hier mal so angefangen: Debounce Pinb.6 , 0 , Anzahl_umdrehung , Sub If Stellenstunde = _hour And Stellenminute = _min And Anaus = 1 Then Umdrehungen = 1 Portc.2 = 1 Anzahl_umdrehung: 'Unterfunktion zum Aufzählen der Umdrehungen. Incr Umdrehungen If Umdrehungen = 3 Then Umdrehungen = 0 Return nicht meckern kann nicht alles posten da der code zu riesig ist. sind jetzt nur die zwei ausschnitte um die es geht is auch nicht komplett da mir gerade die schnittstelle irgendwie fehlt. unten zähle ich die umdrehungen. oben will ich dass der motor dann halt auch eingeschaltet bleibt auch wenn die uhr und die weckzeit nicht mehr gleich sind sondern bis er halt die zwei umdrehungen hat. hardwäretechnisch hätte ich es mit ner selbsthaltung gelöst. da würde ich dann aber einen weiteren ausgang verbraten. geht dass auch irgendwie softwaretechnisch?
:
Verschoben durch User
denke ich hab da was gefunden. befehl set und reset nehm ich mal an.
arbeite mit Merkern. Z.B. Motor_On. Wenn Merker gesetzt, soll Motor laufen etc. Setzen und rücksetzen je nach Bedingung. Heißt, programmiere ähnlich wie bei einer SPS. (Speicherprogramierbaren Steuerung)
hast du da mal ein beispiel? sps bin ich nicht so gut drinn bzw tu mich sehr schwer.
falls es jemandem hilft habs nun so gemacht und hoffe dass es funktioniert. denke aber dass es wegen der 2 abfrage nicht klappen wird. Debounce Pinb.6 , 0 , Anzahl_umdrehung , Sub If Stellenstunde = _hour And Stellenminute = _min And Anaus = 1 Then Set Portc.2 If Umdrehungen = 2 Then Reset Portc.2 End If Anzahl_umdrehung: 'Unterfunktion zum Aufzählen der Umdrehungen. Incr Umdrehungen If Umdrehungen = 2 Then Umdrehungen = 0 Return ich hab noch einen ausgang frei der rest ist belegt. sollten wirklich alle stricke reisen werd ich wohl eine hardwaremäßige selbsthaltung realisieren.
SPS war nur Hinweis auf Vorgehensweise. Definiere vorher mal Motor_on alias Portc.2 Deine Abfrage sieht dann so aus: If Stellenstunde = _hour And Stellenminute = _min And Anaus = 1 Then Set Motor_On rauswerfen ----> If Umdrehungen = 2 Then Reset Portc.2 ---hat hier nix zu suchen, macht hier keinen Sinn --- End If If Umdrehungen => 3 then reset Motor_On End if
klingt eigentlich logisch. nur wenn ich es so mache wie du schreibst hab ich doch keinen überlauf mehr. der zählt doch dann bei drei einfach weiter. und die der reset kommt nur einmal nämlich wenn er 3 umdrehungen gemacht hat. dann zählt er bei 4 weiter und resetet nie mehr.
ok jetzt hab ichs geblickt. ein zweites mal durchlesen hilft oft doch.
so dann warscheinlich oder? Anzahl_umdrehung: 'Unterfunktion zum Aufzählen der Umdrehungen und Rücksetzen des Motors. Incr Umdrehungen If Umdrehungen = 2 Then Umdrehungen = 0 If Umdrehungen = 2 Then Reset Portc.2 End If Return sorry umgeschrieben hab ich dass alles noch nicht setzt ich mich jetzt drann.
Du bist schon nahe dran, aber warum zwei If Abfragen ineinander bei der die Grundbedingung die gleiche ist? Zitat: If Umdrehungen = 2 Then Umdrehungen = 0 If Umdrehungen = 2 Then Reset Portc.2 End If Warum nicht so: If Umdrehungen =2 then Umdrehungen = 0 reset portc.2 end if
ja ich weiß. ich habs auch schon mit "and" probiert kam dann aber immer ein fehler. und so hats dann geklappt. sind halt feinheiten. mal so nebenbei. kennt jemand ne möglichkeit wie man ne überwachung zwecks stromausfall in den code einbauen könnte? sobald stromausfall ist wird die uhr ja auf 00:00:00 zurückgesetzt und von da an läuft sie dann wieder los. da kann ich ja nicht einfach ne abfrage einbauen sonst würde ich immer um mitternacht ne fehlermeldung bekommen. einziges was mir da einfallen würde wäre ne art pufferbatterie die dann übernimmt wenn mal keine spannung mehr anliegt. was meint ihr?
ja danke. problem is eigentlich bei mir immer dass ich nicht weiß welche bauteile es da auf dem markt gibt. wenn ich dass mal weiß ist das konstruieren bzw das aufbauen das kleinste problem.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.