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 > > > > > > > > > > hallo jacke, > > > > > > in der Zeile obendrüber wo es heißt: <code>starten = ports.get(0) // High-Pegel auf E0</code> > > > fehlt ein Semikolon hinter der letzten Klammer. > > > > > > beim Reparieren von PAD3/0 kann ich leider nichts dazu sagen. > > > > > > > > > Gruß Horst > > > > > <hr> > > Nimms mir nicht übel - du bist ein Fuchs!! > > > > Danke!! > > > > (wer lesen kann ist klar im Vortei!) > > hallo jacke, > > muß lachen, denn mit Nachnamen heiße ich auch so, > > Gruß Horst Fuchs