Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Ein stück lesen und dann KONKRETE Frage stellen Kategorie: C-Control I V1.1 (von Peter - 11.12.2004 1:40)
 Als Antwort auf Ein stück lesen und dann KONKRETE Frage stellen von sl - 10.12.2004 23:04

> Hallo Peter,
>
> Deine Beschreibung mit Speicherplatz lÀsst mich vermuten dass Du Dir das abspeichern der Werte
> anders vorstellst als es in Programmiersprachen (so auch in cc-basic) tatsÀchlich gemacht wird.
>
> Speicherplatz lÀsst mich vermuten, dass Du Dir das Àhnlich wie einem Fernseher vorstellst wo man
> die Programme (=Frequenzen) auf einen bestimmten "Speicherplatz"  = Programmplatz speichert
>
> Diese Vorstellung ist fĂŒrs Programmieren wenig hilfreich. Vor allem weil sowas nicht mit ein, zwei Befehlen
> zu realisieren ist, sondern mit einem kleinen Unterprogramm das mehr als zwei Befehle enthÀlt.
>
> erst mal Kommentare die das Programm erlÀutern sollen (ob Du es schon verstehst ist eine zwete Frage):
>
> define TasterA1 port[1] 'gebe dem Hardware-Eingang "1" den Namen "TasterA1"
> define TasterA2 port[2] 'gebe dem Hardware-Eingang "2" den Namen "TasterA2"
>
> define TasterB1 port[3] 'gebe dem Hardware-Eingang "3" den Namen "TasterB1"
> define TasterB2 port[4] 'gebe dem Hardware-Eingang "4" den Namen "TasterB2"
>
> define AusgangA DA[1] 'gebe dem Hardware-AALOG-Ausgang "1" den Namen "AusgangA"
> define AusgangB DA[2]  'gebe dem Hardware-AALOG-Ausgang "2" den Namen "AusgangB"
> define WertA word   'definiere eine Variable mit Namen "WertA"
> define WertB word    'definiere eine Variable mit Namen "WertB"
>
>
> WertA = 0 'setze die Variable names "WertA" auf den Wert 0
> WertB = 0 'setze die Variable names "WertB" auf den Wert 0
>
> #Loop 'definiere die Zeichenfolge "loop" als "Programmstellenmarkierung"
>
>   if (Not TasterA1) then WertA = WertA - 1 'wenn am Eingang namens "TasterA1" 0V anliegen mache folgendes:
>
> nimm den aktuellen Wert der Variable namens "WertA" und ziehe von diesem den Wert "1" ab
>
> speichere das Ergebnis in der Variable namens "WertA"
>
> das bedeutet immer wenn der Taster der am Eingang "TasterA1" (entspricht Hardwareeingang "1" = port[1]
> dann wird der Wert der Variable namens "WertA" um eins verkleinert
>
>   if (Not TasterA2) then WertA = WertA + 1
>   if (Not TasterB1) then WertB = WertB - 1
>   if (Not TasterB2) then WertB = WertB + 1
>
>   if WertA < 0 then WertA = 0 ' wenn aus der Berechung oben ein Wert kleiner als null entstanden ist
> setze den Wert auf 0
>
>   if WertA > 255 then WertA = 255  ' wenn aus der Berechung oben ein Wert grösser als 255 entstanden ist
> setze den Wert auf 255
>
>   if WertB < 0 then WertB = 0
>   if WertB > 255 then WertB = 255
>
>
>   AusgangA = WertA 'setze den Analogausgang namens "AusgangA" auf den Wert der Variable "WertA"
>
>   AusgangB = WertB 'setze den Analogausgang namens "AusgangB" auf den Wert der Variable "WertB"
>
> goto Loop 'springe zu Programmstellenmarkierung namens "loop"
>
> end
>
> so das ist jetzt erst mal ne grobe Beschreibung was die einzelnen Programmzeilen machen
>
> Die Namen die dabei verwendet werden enthalten typische "AnfÀngerfehler"
> keine Frage das Programm funktioniert. Fehler insofern das die Namen schlecht verstÀndlich sind
>
> Jetzt werden mir gleich etliche Programmier-"Profis" widersprechen
>
> "wieso wenn man's drauf hat dann versteht man das doch ?"
>
> Meine Meinung dazu: der richtige Profi vergibt selbsterklÀrende Namen
> damit er auch in 10 Jahren noch ein Programm mit 25.000 ! richtig gelesen fĂŒnfundzwanzigTAUSEND !!
> Zeilen versteht. (Das ist die Grössenordnung mit der ich es beruflich zu tun habe)
> Und das geht nur mit selbsterklÀrenden Namen und ergÀnzenden Kommentaren
>
> so jetzt dasselbe Programm auf diese Art
>
> define Taste_gedrueckt OFF
> ' wenn Taste gedrueckt wird liegt am Eingang 0 Volt an. 0Volt hat den "Digitalwert" "OFF"
> der Digitalwert "OFF" entspricht  = not Digitalwert "ON"
>
> define Taster_SteuerwertA_kleiner port[1]
> define Taster_SteuerwertA_groesser port[2]
>
> define Taster_SteuerwertB_kleiner port[3]
> define Taster_SteuerwertB_groesser port[4]
>
> define AusgangA DA[1]
> define AusgangB DA[2]
>
> define SteuerwertA word
> define SteuerwertB word
>
>
> SteuerwertA = 0
> SteuerwertB = 0
>
> #Schleifen_Anfang
>
>   if Taster_SteuerwertA_kleiner = Taste_gedrueckt then SteuerwertA = SteuerwertA - 1
>
>   if Taster_SteuerwertA_groesser = Taste_gedrueckt then SteuerwertA = SteuerwertA + 1
>
>   if Taster_SteuerwertB_kleiner = Taste_gedrueckt then SteuerwertB= SteuerwertB - 1
>
>   if Taster_SteuerwertB_groesser = Taste_gedrueckt then SteuerwertB = SteuerwertB + 1
>
>   if SteuerwertA  < 0 then SteuerwertA  = 0
>   if SteuerwertA  > 255 then SteuerwertA  = 255
>
>   if SteuerwertB < 0 then SteuerwertB = 0
>   if SteuerwertB > 255 then SteuerwertB = 255
>
>   AusgangA = SteuerwertA  
>   AusgangB = SteuerwertB
>
> goto Schleifen_Anfang
>
> end
>
> damit wird es schon ein bisschen besser verstÀndlich was das bisherige Programm macht
>
> Werte speichern funktioniert ĂŒber das Stichwort "speicher"
>
> gib "speicher" in die Suchfunktion der Hilfe der C-Control-PC-Software ein
> lies, probiere evtl. selber etwas aus und dann stelle eine KONKRETE Frage
>
> Das dĂŒrfte eines der lĂ€ngeren Postings sein die in diesem Forum geschrieben wurden
> und dennoch erklÀrt es noch nicht alles.
>
> Ganz offen und ehrlich: ich habe jetzt keinen Bock
> Dir hier einen kompletten Basickurs reinzutasten noch ein fertiges Programm und da ich nicht
> hellsehen kann was Du durch nachlesen verstehst bzw. wie ausfĂŒhrlich die ErklĂ€rungen sein mĂŒssen.
>
> Deshalb musst Du Dich jetz schon bequemen das oben geschriebene mal nachzulsen und dann wieder
>  KONKRETE Fragen zu posten
>
> KONKRETE Fragen zu beantworten macht nÀmlich Spass
>
> so long
>
> sl
>
>
>
> >
> > >
> > > > Habe hier ein kleines Programm fĂŒr die Ansteuerung der PWM AusgĂ€nge gefunden .Leider hat das Programm keine Möglichkeit die eingestellten Werte abzuspeichern.Da ich absoluter Beginner bin ,weiss ich mir hier nicht zu helfen .Vielleicht kann mir jemand einen Tip geben ,wie man die beiden Werte A und B zusammen auf eine weitere Taste abspeichern kann .Beim Start der C-Control sollte dann der Wert der ersten Speichertaste in Kraft treten !
> > > > Weitere Speichertasten (wenn möglich ) wÀre toll , wie soll ich`s machen .
> > >
> > > BeschÀftige Dich mit den Befehlen:
> > >
> > > open#, print#, input#, close# fĂŒr das (dauerhafte) Abspeichern der Werte.
> > >
> > > damit ist das leicht zu lösen. Alles was Du  dafĂŒr wissen musst, steht in den Hilfedateien.
> > > Programmieren muss man lernen. Fertige Lösungen gibt es kaum. Anregungen und Beispiele,
> > > die das Lernen leichter machen aber in rauhen Mengen (siehe auch die nebenstehenden Links).
> > >
> >
> > Danke fĂŒr den Tip ,
> >
> > wenn ich Dir sage ,wielange ich das Teil schon auf dem Tisch liegen habe ,dann wirst du mich zum Tr.... abstempeln .....  :-]]  ,
> > ich habe schon viele NĂ€chte und Stunden im Netz gesucht und schon einiges probiert ,aber mir fehlt einfach der gewisse Schups,ich muss das einfach mal in der Praxis sehen und dann dran rumprobieren ! Anders komm ich leider nicht zurecht damit und kann den Sinn der einzelnen Befehle nicht verstehen .
> > Trotz Allem bleibe ich am Ball ,vielelicht kann mir doch mal jemand den passenden Tip geben .
> > Vielleicht kannst du mir sagen ,welchen Befehl ich fĂŒr einen Speicherplatz benötige ?
> > Oder wie man ihn anlegt ,bzw wie man da was abspeichern kann?
> >
> >
> > Danke vorab ,
> >
> > Gruß Peter
> >
> >
> > >
> > > GrĂŒĂŸe
> > > Henrik
> >
>


Danke fĂŒr die vielen Tipps ,

werde mich jetzt wieder alleine mit dem Teil beschÀftigen und wenns noch ein paar Monate rumfliegt ,
dANN fliegts in Abfall und das Problem wird auf alternative Weise gelöst .
Wenn meine Frage hier nicht konkret genug war ,dann weiss ich mir auch nicht mehr zu helfen......

Trotzdem danke - ....



 Antwort schreiben

Bisherige Antworten: