Für dieses Forum muß Javascript im Browser aktiviert werden!
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 C2-Experten! > > Nun habe ich mit Hilfe einiger Beispielprogramme mein Problem des Ansteuerns eines Frequenz- > umrichters über zwei Potis leidlich hinbekommen. Über ein Poti wird die Vorgabe der Geschwindikeit > des FU vorgegeben (Ausgabe auf Analogausgang PLM) das andere Poti ist die Zeitvorgabe. > Ich habe jetzt das ganze Wochenende damit zugebracht den Fehler: > fu(94) : ; expected > > ohne Kenntnis der Programmierung auszumerzen. Finde allerdings den Fehler nicht. > Verstehen kann ich es auch nicht, da es im einem anderen Programmteil funzt. > hier der code: > <hr> > <code> > /* Projekt Ansteuerung Frequenzumrichter */ > > /* Autor: jacke */ > > /* Eine Steuerung für einen Frequenzumrichter > /* Vorgabe der Ausgangsspannung und der Zeit über Potis > /* Erweiterung durch Multiplexer auf 2x 7 Analogeingänge*/ > > > > > > //------------------------------------------ > function beep(int ton, int laenge,int pause) > //------------------------------------------ > { > plm.beep(ton); > sleep laenge; > plm.beep(plm.TONE_OFF); // Signal abgeschaltet, Analogport wird benutzt > sleep pause; > } > > function SetFu(int Kanal,float Value) > { > > 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 starten; > string anfangen; > > > > > // Initial LCD > lcdext.init(); > wait lcd.ready(); > lcdext.clear(); > lcdext.home(); > lcdext.goto(1,0); > > // initialisieren PLM > plm.settimebase(0,1); //Base_800 ns > plm.setmode(0,0); //Mode=digital > plm.setperiod(0,2500); //Periodenlänge= > SetFu(0,0); //Startpunkt > > > 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); > > sleep zeit*10; > > // Einlesen der digitalen Eingänge > //Start > > starten = ports.get(0) // High-Pegel auf E0 > anfangen = "t="; > str.putfloatf (anfangen, starten, 2); > lcdext.goto(2,8); > lcdext.print(anfangen); > > > //Ausgabe auf Ausgang > SetFu(0,voltage); > > > > } > } > > > > //ENDE > </code> > > <hr> > der Fehler wird in der Zeile: > > anfangen = "t="; > > angezeigt. > > Drei Anzeigen auf dem Display funktionieren, die vierte, unten links, Variable "anfangen" > scheint wegzulaufen, d.h. es schreibt das Display in Richtung links voll (sieht man aber nicht). > > > > > Dann hab ich noch eine Herausforderung: > wie repariert man einen Analogausgang? Hab den PAD3 / 0 zerschossen. > > > Schon mal danke fürs lesen - großen Dank fürs Helfen! > > > jacke