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?
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.