PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wendeschützschaltung mit c-control



wiesgen
16.12.2005, 19:32
Kann mir mal bitte jemand bei meinem Problem helfen?
Hätte gern eine Wendeschützschaltung mit der c-control realisiert.Wenn der Motor, der sich rechts herum dreht, S1 betätigt soll er eine kurze pause machen(2s) und sich links herum drehen bis er S2 betätigt dann anders herum u.s.w.

mfg wiesgen

Manf
16.12.2005, 20:47
Hast Du die C-Control schon mal in Betrieb genommen?

Die Schaltwege sollten so lang sein, dass der Motor rechtzeitig anhalten kann.
Die Schalter so anschließen, dass sie an Ports abgefragt werden können.
Motortreiber anschließen.

Zustände definieren:
Fahrt nach rechts, stop Pause rechts, Fahrt nach links, stop Pause links,
Zustandsübergänge dazu definieren Schalter, Wartezeit,
In Schleife schreiben
Testen?
Manfred

wiesgen
16.12.2005, 21:04
Vielen Dank Manf!

Hab vielleicht vergessen zu erwähnen das ich eine relaisplatine zu der c-control habe, und Hardware mäßig alles schon soweit fertig ist.Die Ports habe ich auch schon definiert:
define Ml port [1]
define Mr port [2]
define S1 port [9]
define S2 port [10]
Mein Problem besteht darin das ich mit dem Programmieren nicht so recht klar komme.Hab schon nor, or, nand und co probiert aber haut nicht so recht hin! Vielleicht könntest du mir mit einem kleinen Progrämmchen weiter helfen.Danke!

mfg wiesgen

Manf
16.12.2005, 21:19
Hast Du den schon mal ein Testprogramm für die Abfrage der Schalter und das Schalten des Motors ausprobiert?
Manfred

wiesgen
17.12.2005, 09:05
Hallo!

Ja, das hab ich!
#loop
Mr = not S1:pause 50
Ml = not S2:pause 50
Mr = not S1:pause 50
Ml = not S2:pause 50

goto loop

Ungefähr so(nich lachen)

mfg Wiesgen

Manf
17.12.2005, 09:25
Ja prima, das ist ja ein kleiner Anfang, etwas komprimiert wie bei basic manchmal üblich. Hast Du es denn auch geladen und laufen lassen. ?

Irgendetwas wird sich sicher tun und wenn der Motor nicht so groß ist kann nicht viel pasieren.

Der Trick mit dem Schalter ist natürlich der, dass der Controller im Zustand "fahren" den Schalter solange abfragt bis er auf einmal geschlossen ist und der Contoller darauf reagiert.

Er kann dann von einem Zustand in den nächste übergehen, beispielweise in die nächste Schleife, die im Programm dahinter steht.

Manfred

wiesgen
17.12.2005, 09:36
Ja,natürlich hab ich es schon ausprobiert.Das Problem was ich hab ist das port 1 für den rechtslauf ist (allso relais 1), und port 2 für den linkslauf (allso relais 2).Wenn ich das Programm starte ziehen beide relais an (rechts & links)

mfg wiesgen

Manf
17.12.2005, 10:37
Dann gehe noch mal einen Schritt zurück und teste die Ansteuerung der Motoren für sich:
http://www.wieselsworld-online.de/themen/px01x003.htm
Manfred

wiesgen
17.12.2005, 10:59
Vielen Dank! Jetzt muss ich nur noch die beiden Endlagentaster einfügen...!

wiesgen
30.12.2005, 21:44
Hi!
Nur um es zu ende zu bringen ist hier noch das Programm:


Define Mot1R Port[1] 'Motor 1 Rechtsdrehung
Define Mot1L Port[2] 'Motor 1 Linksdrehung
Define Mot2R Port[3] 'Motor 2 Rechtsdrehung
Define Mot2L Port[4] 'Motor 2 Linksdrehung
Define S1 Port[9] 'Taster 1
Define S2 Port[10] 'Taster 2
Define S3 Port[11] 'Taster 3
Define S4 Port[12] 'Taster 4
Define S5 Port[13] 'Impulszähler 1
Define S6 Port[14] 'Impulszähler 2


#Init
Mot1R = Off
Mot1L = Off
Mot2R = Off
Mot2L = Off

#Hauptprogramm
Mot2R = On:wait not S2
if not S2 then Mot2R = Off : pause 50
Mot2L = On:wait not S1
if not S1 then Mot2L = Off : pause 50



GoTo Hauptprogramm


Mfg Wiesgen