Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> > > > Hallo Gemeinde, > > > > > > > > ich stehe vor einem Problem, ich möchte die C-Control II Station zur Steuerung eines BHKWs nutzen. > > > > Gleich mal vorn weg, ich hab nicht viel Ahnung vom Programmieren... bin Maschinenbauer... > > > > > > > > Zu meinem Problem: > > > > > > > > Ich möchte den Motor des BHKWs temperaturgeführt starten, dass heißt, wenn die Temperatur > > > > des Pufferspeichers unter einen bestimten Wert abfällt sollte der Motor gestartet werden. > > > > Der Starter des Motors sollte max. 5 Sekunden anziehen, wird eine bestimmte Drehzahl schon vorher > > > > erreicht, sollte der Startvorgan abgebrochen werden. > > > > Startet der Motor nach den 5 Sekunden nicht, sollte der Startvorgan nach einer Weile erneut > > > > durchgeführt werden. > > > > Nach drei erfolglosen Startversuchen sollte eine Fehlermeldung ein Display erscheinen... > > > > > > > > Würde mich freuen, wenn mir jemand weiterhelfen könnte. > > > > Oder hat jemand einen guten Buchtip, oder ein weiteres Forum für Microcontroller Programmierung! > > > > Das Buch MSR von Andre habe ich bereits! > > > > > > > > Gruß, > > > > Markus > > > > > > > > > > Sind so kurze Betriebszeiten nicht schlecht für den Motor ? > > > > > > Dein Problem müsste sich Softwareseitig lösen lassen. > > > > > > Du brauchst eine Drehzahlmessung und und machst es mit einem Timer. > > > > > > Du machst ne Loop schleife mit 3 break Bedingungen. Und schon schaltet er sich aus wenn die > > > Drehzahl erreicht ist oder 5 sec rum sind. Sollte der Timer mehr als 5 sec Laufen wird die Anzahl der > > > Versuche um eins erhöht und dann lässt du die Loopschleife für die Zeit warten.Sollte der Motor 3 mal > > > nicht anlaufen dann stoppst du die Loop Schleife mit dem 3. break und schreibst die Nachricht auf > > > das Display. > > > > > > Gruss JackFrost > > > > Hallo, > > > > also erstmal großer Dank an JackFrost! > > Der Motor hat ja keine kurzen Betriebszeiten! Das ist ja nur der Teil des Programms um den > > Motor zu Starten. Wenn er gestartet hat, läuft der Motor so lange, bis der Pufferspeicher > > aufgeheizt ist. > > > > So, jetzt muss ich mich outen, ich hab keine Ahnung vom Quelltext! Das ist mein Problem... > > Der "Sleep" Befehl hält mir das ganze Programm an, das sollte nicht sein, und eine andere > > Idee hatte ich noch nicht! > > Vielleicht kann mir hier jemand ein paar Brocken herwerfen, ich will kein fetriges Programm, > > da würde ich ja wieder nichts lernen! > > > > Vielen Dank, > > > > Markus > > Hiermit könnte es gehen. > > > long solldrehzahl,timer; > byte versuche,minimaledrehzahl; > thread Motorstarten > { > wait global.startmotor; > global.startmotor = 0; > global.startok = 0; > ports.set(1,1); // Port an dem der Starter des Motors hängt > versuch = 1; > timer = system.timer(); > sleep 100; > loop > { > if ports.getfreq(2) >= solldrehzahl // Port an dem der Drehzahlmesser hängt > { > global.startok = 1; > > break; > } > if system.timer()-timer>=5000 > { > if ports.getfreq(2) >= solldrehzahl // Port an dem der Drehzahlmesser hängt > { > global.startok = 1; > break; > } > else > { > if versuche >= 3 > { > global.startok = 2; > break; > } > sleep 10000; > ports.set(1,1); // Port an dem der Starter des Motors hängt > versuch = versuch + 1; > timer = system.timer(); > } > } > > } > > > } > > > > thread main > { > run Motorenstart; > } > > > Es muss aber die Solldrehzahl definiert werden. Ich habe mal angenommen das sie als Frequenz anliegt. > Man braucht auch ein Modul Global wo die Variablen startmotor und startkok enthalten sind. > Wenn die Variable global,startmotor ungleich 0 wird dann wird der motor gestartet. > Die Fehlermeldung wird über global.startok übertragen. Wenn das Ergebnis 1 ist dann ist alles ok, > bei 2 ist der Motor nach 3 Versuchen nicht angelaufen. > Als Pause zwischen den Anläufen wurden 10 sec gewählt. > > Gruss JackFrost
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB