Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Frage ansteuerung Relais Kategorie: Programmierung Basic (von Hans - 25.02.2012 14:14)
Als Antwort auf Re: Frage ansteuerung Relais von Sascha - 25.02.2012 9:35
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> > > > > > > > > > > > Hallo,
> > > > > > > > > > > >
> > > > > > > > > > > > ich habe eine Frage zur Ansteuerung von Ausgängen (Relais) mit der C-Control. Ich habe das C-Control
> > > > > > > > > > > > Pro 128 Projektboard und möchte verschiedene Relais ansteuern. Die Ansteuerung erfolgt über die
> > > > > > > > > > > > RS232-Schnittstelle was auch einwandfrei funktioniert. Hier mal eine Kurzer auszug aus dem Programm:
> > > > > > > > > > > >
> > > > > > > > > > > > If Command = 1 Then
> > > > > > > > > > > >            Command = 0
> > > > > > > > > > > >            Port_WriteBit(Relais1,1)
> > > > > > > > > > > >            Port_WriteBit(Relais2,1)
> > > > > > > > > > > >            Port_WriteBit(Relais3,1)
> > > > > > > > > > > >            Port_WriteBit(Relais4,1)
> > > > > > > > > > > >            Port_WriteBit(Relais7,1)
> > > > > > > > > > > >            Port_WriteBit(Relais8,1)
> > > > > > > > > > > >            Port_WriteBit(Relais13,1)
> > > > > > > > > > > >            Port_WriteBit(Relais14,1)
> > > > > > > > > > > >            Port_WriteBit(Relais19,1)
> > > > > > > > > > > >            Port_WriteBit(Relais20,1)
> > > > > > > > > > > >            AbsDelay(10000)
> > > > > > > > > > > >            Else
> > > > > > > > > > > >            Port_WriteBit(Relais1,0)
> > > > > > > > > > > >            Port_WriteBit(Relais2,0)
> > > > > > > > > > > >            Port_WriteBit(Relais3,0)
> > > > > > > > > > > >            Port_WriteBit(Relais4,0)
> > > > > > > > > > > >            Port_WriteBit(Relais7,0)
> > > > > > > > > > > >            Port_WriteBit(Relais8,0)
> > > > > > > > > > > >            Port_WriteBit(Relais13,0)
> > > > > > > > > > > >            Port_WriteBit(Relais14,0)
> > > > > > > > > > > >            Port_WriteBit(Relais19,0)
> > > > > > > > > > > >            Port_WriteBit(Relais20,0)
> > > > > > > > > > > >            
> > > > > > > > > > > >         End If
> > > > > > > > > > > >
> > > > > > > > > > > > Jetzt zu meiner Frage: Aktuell sende ich über die RS232 das Signal 1 und die ausgewählten Relais
> > > > > > > > > > > > ziehen für die AbsDelay-Zeit an. Ich möchte aber das die Relais angezogen bleiben (ohne AbsDelay-Zeit)
> > > > > > > > > > > > und erst wieder ausschalten wenn ich z.B. eine 2 über die RS232-Schnittstelle sende.
> > > > > > > > > > > >
> > > > > > > > > > > > Kann mir jemand helfen? Ich bin am verzweifeln.
> > > > > > > > > > > >
> > > > > > > > > > > > GruÃ? Sascha
> > > > > > > > > > >
> > > > > > > > > > > die Ports bleiben so lange an, bis du sie wieder ausschaltest,
> > > > > > > > > > >
> > > > > > > > > > > das heiÃ?t du empfängst z.B die 1, schaltest  alle relaise ann
> > > > > > > > > > > und bei der 2 wieder aus
> > > > > > > > > >
> > > > > > > > > > Ja so soll es sein. Bekomme es aber nicht hin. Immer wenn ich die AbsDelay-Zeit entferne
> > > > > > > > > > schalten die Relais gar nicht mehr.
> > > > > > > > >
> > > > > > > > > ist klar, wenn du sie nach der pause wieder ausschaltest.....
> > > > > > > > >
> > > > > > > > > du must ein e Zahl von der S-Schnittstelle einlesen,
> > > > > > > > > dann überprüfen, ob die zahl 1 ist, dann relaise 1 einschalten, wenn die Zahl 2 ist Relaise 2 einschalten
> > > > > > > > > und so weiter. Bei null dann wieder alle aus....
> > > > > > >
> > > > > > >
> > > > > > > Hallo
> > > > > > > Ist die letzte geschweifte Klammer nicht verkehrt herum.
> > > > > >
> > > > > > ok, dann versuch mal dieses...
> > > > >
> > > > > Hallo,
> > > > > ich weis nicht, ob ihm ein C-Programm weiterhilft, denn offensichtlich programmiert Sascha ja in
> > > > > BASIC.
> > > > > Dein Problem ist, dass Du das Ausschalten in den else-Zweig gelegt hast, beim Einschalten aber
> > > > > die Variable Command gleich auf 0 setzt. Beim nächsten Durchlauf deiner Hauptschleife wird daher
> > > > > sofort der else-Zweig durchlaufen, und du schaltest die Relais wieder ab.
> > > > > Entweder darfst Du 'Command' erst auf 0 setzen, wenn Du die Relais wirklich abschalten willst,
> > > >> oder
> > > > > Du musst das Ein- bzw. Ausschalten in eigene If-Abfragen legen. z.B. Ausschalten mit
> > > > > if Command=2 Then ...
> > > > > GruÃ?
> > > > > Franz-Peter
> > > >
> > > > mein programm war ja auch eher als ansatz oder beispiel gedacht.... hat es denn wenigstens
> > > funktioniert??
> >
> > wollt ir das Programm nochmal in Basic??
>
> Hallo,
> wäre nicht schlecht da ich irgendwie immer wieder auf neue Probleme sto�e.
>


ich konnte das programm noch nicht testen, ich hoffe dass es funktioniert und die richtige
Sprache ist..... hab fast noch nie in Basic programmiert
Basic version.......zip




    Antwort schreiben


Antworten: