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, > > ich hab schon wieder eine Herausforderung. > Mein Programm funzt soweit, dass es den Eingang ausließt, jedoch stoppt es nicht > den Programmablauf, sondern spilet sofort die Melodien - ich kann sie nicht mehr hören. > > <code> > /* Projekt Ansteuerung Frequenzumrichter */ > /* Beginn 13.01.2005 */ > /* Autor: S. Golebniak */ > > /* HW-Voraussetzung: > /* Ein Frequenzumrichter > /* über PLM0 soll alle 20 ms ein Impuls gehen. > /* Die Länge des Impusl ist von 1.1ms linker bis 2.1ms rechter anschlag */ > > > > //------------------------------------------ > function beep(int ton, int laenge,int pause) > //------------------------------------------ > { > plm.beep(ton); > sleep laenge; > plm.beep(plm.TONE_OFF); // Signal abgeschaltet, Analogport wird nebutzt > sleep pause; > } > > function SetFu(int Kanal,float Value) > { > // 0=1.1ms = 1375 Impulse * 800 ns Praxis 700 * 800 = 0.56ms > // 50=1.6ms = 2000 Impulse * 800 ns > // 100=2.1ms = 2625 Impulse * 800 ns Praxis 2800 *800ns = 2.24ms > int outvalue; > string s1; > > // was auf den ausgang geht > > outvalue=700+(21*Value); > plm.out(1,outvalue); > lcdext.goto(2,0); > s1 = "fa="; > str.putfloatf(s1,Value,2); > lcdext.print(s1) ; > } > //--------- > thread main > //--------- > { > float x; > string s1; > float voltage; > string output; > float zeit; > string time; > int start; > string anfang; > > > // Initial LCD > lcdext.init(); > wait lcd.ready(); > lcdext.clear(); > lcdext.home(); > lcdext.goto(1,0); > > // initial PLM > plm.settimebase(0,1); //Base_800 ns > plm.setmode(0,0); //Mode=digital > plm.setperiod(0,2500); //Periodenlänge=Base_800 ns * 25000 = 20 ms oder 50 Hz > SetFu(0,0); //Servomitte > //ports.set(8,0); > > loop > { > > // Einlesen der Eingänge > //Spannung > > voltage = ports.adc(1) * 0.004; // 4 mV per ADC Digit An Eingang A1 > output = "Ve="; > str.putfloatf (output, voltage, 2); > lcdext.goto(1,0); > lcdext.print(output); > > // Zeit > zeit = ports.adc(0); // Zeit entspricht Spannung am Eingang A0 > time = "t="; > str.putfloatf (time, zeit, 2); > lcdext.goto(1,8); > lcdext.print(time); > > > > // Einlesen der digitalen Eingänge > //Start > > start = ports.get(8); // High-Pegel auf E0 > anfang = "p="; > str.putfloatf (anfang, start, 2); > lcdext.goto(2,8); > lcdext.print(anfang); > > > //Ausgabe auf Ausgang > SetFu(0,voltage); > > if ports.get(8) >= 0 > sleep zeit*1000; > else > { > > // CALLING > melody.good_bad_ugly(); > melody.pink_panther(); > > } > > } > } > > //ENDE > > </code> > > ich hatte es auch in der fprm versucht einen anderen thread aufzurufen geht aber nicht. > > Wird der thread in einem neuen Modul definiert oder im selben? > > if ports.get(8) >= 0 > sleep zeit*1000; > else > run = beepen > > da gibt es bei beepen immer eine Fehlermeldung, ebal ob der thread beepen im selben Modul > oder in einen eigenen untergebracht ist. > > Wenn ich also Port 8 mittels Sapnnung auf 0 setze bekomme ich <b> sofort </b>diese furchtbare Melodie. > Gedacht ist das ganze um über Port 8 das Programm zu stoppen, über Port 9 Pause - das aber erst > wenn ichs kann. > > Danke schonmal! >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB