INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Jens, vielen Dank für Deinen Vorschlag. Ich werde mir die Schaltung aufbauen und testen. Ein paar Fragen habe ich da schon noch. Ich habe den Sourccode nicht ganz verstanden. Hardwaremäßig an der Micro angeschlossen: port[4] ' Taster Nr.1 port[5] ' Relais1 port[6] ' Relais2 An den Ausgang des Port[5] würde ich einen Transistor ansteuern, der dann das Relais1 schaltet. An den Ausgang des Port[6] würde ich einen Transistor ansteuern, der dann das Relais2 schaltet. Kann ich den Taster direkt an den Port[4] legen oder über einen Widerstand? Wird der Port[5] und der Port[6] so unabhängig voneinander geschaltet? Also ich würde gern je nach Anforderung erst Relais1 einschalten und dann Relais2 oder Relais2 nicht. Beim nächsten mal erst Relais2 und dann Relais1 oder Relais1 nicht. Unabhängig welches Relais gerade an ist auch unabhängig das eine oder andere Relais wieder ausschalten. Oder auch beide zu gleichen Zeit ausschalten. Wie kann ich für das Relais1 einen Merker setzen, so das beim einschalten der Micro der letzte Zustand (aus oder ein) für das Relais1 wiederhergestellt wird? Das Relais2 soll beim einschalten der Micro immer aus sein und erst später mit dem Taster eingeschaltet werden müssen. Die Zeile "End2Host=ON" habe ich nicht verstanden? MfG Werner > Hallo Werner! > > Hier mal mein Vorschlag: > > ' --- Betriebssystem konfigurieren ------------------------------------------ > include "om.def" ' Betriebssystem Daten der Open-Micro laden > > ' --- definition der Ports -------------------------------------------------- > define Taster1 port[4] ' Taster Nr.1 > define Relais1 port[5] ' Relais1 > define Relais2 port[6] ' Relais2 > > ' --- definition der Variablen ---------------------------------------------- > define Ver1 byte ' Verriegelung Taster Nr.1 > define Flag byte ' Protokoll für Relais Zustände > > ' --- Voreinstellung und Initialisierung ------------------------------------ > End2Host=ON ' Bei Programmende in den HOST-Modus wechseln > > ' --------------------------------------------------------------------------- > ' --- Hauptprogramm --------------------------------------------------------- > ' --------------------------------------------------------------------------- > #Anfang > > ' Taster abfragen > IF Taster1 AND (Ver1 = 0) THEN ' wenn Taster High, dann... > Ver1 = 1 ' Verriegelung aktivieren > Flag = Flag + 1 ' Protokoll hoch zählen > IF Flag > 3 THEN Flag = 0 ' Reset, zurück zum Anfang > Pause 2 ' 40ms Schalterentprellung > ENDIF > IF (NOT Taster1) AND (Ver1 = 1) THEN ' wenn Taster Low, dann... > Ver1 = 0 ' Verriegelung aufheben > Pause 2 ' 40ms Schalterentprellung > ENDIF > > ' Relais einstellen > IF Flag = 0 THEN ' wenn Protokoll 0, dann... > Relais1 = OFF ' Relais1 ausschalten > Relais2 = OFF ' Relais2 ausschalten > ENDIF > IF Flag = 1 THEN ' wenn Protokoll 1, dann... > Relais1 = ON ' Relais1 einschalten > Relais2 = OFF ' Relais2 ausschalten > ENDIF > IF Flag = 2 THEN ' wenn Protokoll 2, dann... > Relais1 = ON ' Relais1 einschalten > Relais2 = ON ' Relais2 einschalten > ENDIF > IF Flag = 3 THEN ' wenn Protokoll 3, dann... > Relais1 = OFF ' Relais1 ausschalten > Relais2 = ON ' Relais2 einschalten > ENDIF > > GOTO Anfang ' Zurück > end ' Programmende > > Getestet habe ich den Code nicht, sollte aber funktionieren... > > LG Jens |
Antwort schreiben |