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: Speichern auf dem EEPROM Kategorie: Programmierung CC-Plus (von eeg - 28.05.2015 9:01)
 Als Antwort auf Re: Speichern auf dem EEPROM von das |_ Team - 25.05.2015 1:04
„Das Einbetten kann auch
nachträglich erfolgen, indem die Tabellen mittels Kopieren-und-Einfügen in ein schon beste-hendes CCPlus-Programm geholt werden. Man kann natürlich auch unser Beispielprogramm als Grundlage für eigene Programme hernehmen. Link: siehe unten.“

Hallo das |_ Team,
kann ich irgendwo ein Programm (Plus) finden im Netz wo die Umsetzungstabellen bereits enthalten sind.
Das mit der Erweiterung der RAM-Variable und das Auslesen immer mit der gleichen Wordvariable z.B. Nr.12 löst ja auch mein Problem.
Da stehen ja dann noch 6 zusätzliche Wordvariable „Speicherplätze“ zur Verfügung.

Gruß


> Könnte man in Plus noch die eine oder andere Word Variable „freischalten“ ?
>
> Mit diesen neuen Tabellen sollte es funktionieren :)
>
>
>
> Bild1: Liste der Tabellen die ein BASIC-Unterprogramm für die erweiterten RAM-Variablen enthalten
>
> Den erweiterten Variablenbereich bitte mit Bedacht verwenden.
> Bei dieser CCPlus-Umsetzung handelt es sich um experimentelle Software, die auch Fehler enthalten kann;
> sie ist nicht zugelassen für Anlagen, aus deren Versagen Personen- und/oder Sachschäden resultieren könnten.
>
>
>
>
> Wie funktioniert nun das Ganze?
>
> Am einfachsten wäre es die erweitertenVariablen in CCPlus direkt über deren Index anzusprechen,
> genau wie die üblichen 24 Uservariablen. Dazu müsste allerdings eine entprechend modifizierte Version
> der CCPlus-IDE existieren. Die gibt es unseres Wissens nicht.
>
> Oft führen ja mehrere Wege zum gleichen Ziel. In diesem Fall helfen kleine BASIC-Unterprogramme, die
> durch Anwendung des zuvor erwähnten Tabellentricks in das CCPlus Programm eingebettet werden. Das Einbetten kann auch
> nachträglich erfolgen, indem die Tabellen mittels Kopieren-und-Einfügen in ein schon bestehendes CCPlus-Programm geholt werden. Man kann natürlich auch unser Beispielprgramm als Grundlage für eigene Programme hernehmen. Link: siehe unten.
>
> Schreib- und Lesezugriffe auf die erweiterten Variablen erfordern allerdings etwas Umdenken.
>
>
>
>
>
>
> Bild2: Dieses Beispiel schreibt einen Wert ungleich Null in eine erweiterte RAM-Variable
>
> Es wird eine Hilfsvariable aus dem User-Variablenbereich zwischen geschalten, die aber sofort nach dem Schreibvorgang
> wieder für andere Aufgaben verwendet werden kann. In diesem Beispiel ist es die Wordvariable mit dem Index 12.
>
> Sinn der ganzen Übung ist, CCPlus zu veranlassen den in der erweiterten Variable zu speichernden Wert zunächst auf den Top of Stack
> (ToS) zu pushen. Index und Typ der Hilfsvariable können dabei frei gewählt werden. Für das Schreiben reicht bereits eine Bit-Variable
> aus, falls der Platz im User-RAM mal wieder knapp ist ;-)
>
> Dies ist möglich weil die Hilfsvariable lediglich als Dummy dient um die CCPlus Routinen anzustossen die einen zu schreibenden Wert auf den Stack zu befördern. Dort wird dieser durch das
> in den CCPlus Tabellen enthaltene BASIC-Unterprogramm abgeholt und in die gewünschte erweiterte RAM-Variable
> geschrieben (Put_Word_xx).
>
>
>
>
>
>
>
>
>
>
>
>
>
> Bild3: Das Lesen einer erweiterten RAM-Variable benötigt immer die Wordvariable 12
>
> Das Lesen aus einer erweiterten RAM-Variable ist in etwa vergleichbar. Allerdings erfolgt die Rückbgabe des
> gelesenen Wertes stets in der Wordvariable mit dem Index 12. Auch sollte man aufpassen, nicht mehrere
> Variablen innerhalb derselben Programmzelle auszulesen. Für das Lesen ist ein anderes BASIC-Unterprogramm zuständig (Get_Word_xx).
>
> Genaugenommen zeigt unser Beispiel in Bild 3 einen Murks, denn ob und welcher Wert zuerst über die Serielle
> Schnittstelle ausgegeben wird, kann aus dem Blockbild nicht abgeleitet werden. Die CCPlus-Darstellung innerhalb
> einer Programmzelle hat ja keine Vorzugsleserichtung, etwa "Link-nach-Rechts", oder "Oben-nach-Unten"...
>
> Durch das quasi-parallele Programmschema innerhalb von CCPlus Programmzellen kann das Ergebnis variieren, wenn
> mehrere Blöcke ohne Eingangsverbindungen gleichzeitig in einer Programmzelle enthalten sind.
>
> Schon merkwürdig, die vor etwa 20 Jahren konzipierte grafische Programmier-Schnittstelle CCPlus impliziert die heutzutage
> übliche Parallelisierung von Prozessen - zumindest auf Ebene Quelldarstellung und je Programmzelle. Was explizit durch das
> Verbinden konkurrierender Blöcke mittels Flussgraphen aufgehoben (sequenziert) werden muss, damit es nicht zum Dead-Lock
> oder Race-Condition kommt (Der CCPlus Kompiler und C-Control Chip verarbeiten das Programm aber natürlich schon sequenziell).
>
> Immerhin, im Gedankenexperiment könnte man eine mit Berechnungsblöcken vollgepackte, nicht sequenzierte CCPlus-Programmzelle hernehmen,
> um sie 1:1 auf eine entsprechende Anzahl paralleler Recheneinheiten einer hypothetischen "Multiprozessor-C-Control" ;-) abzubilden
> und dann die Leistungsfähigkeit so eines Kontrukts abschätzen. Ein interessanter Gedanke. Aber das ist ein anderes Thema.
>
>
>
>
>
>
>
>
>
>
>
> Bild4, "Stolperfalle": Diese Zuweisung an die erweiterte Variable, Word 30, wird niemals ausgeführt!
> warum
>
>
> Wir hoffen dass dieser Beitrag hilfreich ist, und würden uns besonders auch über weitere Ideen zum Thema CCPlus freuen!
>
> Zur Zeit beschäftigen wir uns mit 2 Lösungsansätze zu den bekannten Fragestellungen, die besonders auch die CCPlus-Programmierumgebung betreffen:
>
>
> Nr 1 - EEPROM-Erweiterung für grössere CCPlus Programme tatsächlich nutzbar machen
>
> Nr 2 - Neuprogrammierung (9600baud) und Zeitkorrektur trotz Overclocking auch unter CCPlus.
>
> Wer möchte darf natürlich auch hier noch am Betatest teilnehmen ;-)
>
>
>
> Viele Grüsse
>
>
> das |_ Team
>
>
>
>
>
>
> > Hallo Jungs
> >
> > Erst mal Danke für die Informationen, die Umsetzung habe ich noch nicht so richtig verstanden, mach das mal am Wochenende in den Praxis.
> >
> > Der Hintergrund des „Abspeicherns“ ist das ja nur 11 (12) Word Variablem zur Verfügung stehen und ich aber noch 2 bis 3 brauche.
> > Könnte man in Plus noch die eine oder andere Word Variable „freischalten“ ?
> >
> > Gruß
> >
> >
> > > .
> > >
> > > Es gibt noch eine weitere Möglichkeit, die ohne Assemblertreiber auskommt. Link: http://ccintern.dharlos.de/forum/lesen.php?eintrag=720
> > >
> > > Angeregt durch die vorstehende Anfrage im Forum, haben wir heute unsere CCPLUS-Adaption online gestellt. Den Link findest du weiter unten.
> > >
> > > Bitte die Dokumentation im CCPLUS-Beispielprogramm lesen oder bei Fragen an das Forum wenden.
> > >
> > >
> > > Tipp: Öffne die CCPLUS-IDE in zwei separaten Fenstern. Dies ermöglicht, nur die Funktionstabellen mittels Copy-and-Paste aus dem Beispielprogramm (linkes Fenster) in ein bestehendes Programm (rechtes Fenster) zu übernehmen. Schon bestehende CCPLUS-Programme können so relativ bequem angepasst werden, ohne dass alle Programmzellen neu eingegeben werden müssen.
> > >
> > > Bitte darauf achten die Funktionstabellen (Get_FileStart, Put_FileStart, usw.) immer oberhalb aller anderen, evt. schon in einem Programm enthaltenen Datentabellen einzufügen.
> > >
> > >
> > >
> > >
> > >
> > > Bild 1: Auch unter CCPLUS lässt sich der "Tabellentrick" anwenden um zusätzliche System-Funktionen freizuschalten.
> > >
> > >
> > >
> > >
> > >
> > >
> > > Bild 2: Testlauf auf C-Control I 1.1, Main-Unit, mit zusätzlich installierter Lbit Firmware
> > >
> > >
> > >
> > >
> > > Verwandtes Thema: http://ccintern.dharlos.de/tipsutri.txt
> > >
> > >
> > >
> > >
> > >
> > > das |_ Team
> > >
> > >
> > > > Hallo
> > > >
> > > > Ich möchte mit C-control Plus (1.08)
> > > >
> > > > Zahlen abspeichern auf dem EEPROM und wieder auslesen, alles kein Problem.
> > > >
> > > > Nun möchte ich einzelne Zahlen auslesen und ändern, danach wieder abspeichern, ist das möglich?
> > > >
> > > > z.B. Zahl Nr.33 = 200 auslesen aus dem Speicher.
> > > > Zahl Nr.33 ändern auf 210 und wieder auf den Speicherplatz Nr.33 die 210 abspeichern.
> > > >
> > > > Ist das möglich?
> > > > Hallo
> > > >
> > > > Ich möchte mit C-control Plus (1.08)
> > > >
> > > > Zahlen abspeichern auf dem EEPROM und wieder auslesen, alles kein Problem.
> > > >
> > > > Nun möchte ich einzelne Zahlen auslesen und ändern, danach wieder abspeichern, ist das möglich?
> > > >
> > > > z.B. Zahl Nr.33 = 200 auslesen aus dem Speicher.
> > > > Zahl Nr.33 ändern auf 210 und wieder auf den Speicherplatz Nr.33 die 210 abspeichern.
> > > >
> > > > Ist das möglich?
> > > >
> > > > Gruß
> > Hallo Jungs
> >
> > Erst mal Danke für die Informationen, die Umsetzung habe ich noch nicht so richtig verstanden, mach das mal am Wochenende in den Praxis.
> >
> > Der Hintergrund des „Abspeicherns“ ist das ja nur 11 (12) Word Variablem zur Verfügung stehen und ich aber noch 2 bis 3 brauche.
> > Könnte man in Plus noch die eine oder andere Word Variable „freischalten“ ?
> >
> > Gruß
> >
> >
> > > .
> > >
> > > Es gibt noch eine weitere Möglichkeit, die ohne Assemblertreiber auskommt. Link: http://ccintern.dharlos.de/forum/lesen.php?eintrag=720
> > >
> > > Angeregt durch die vorstehende Anfrage im Forum, haben wir heute unsere CCPLUS-Adaption online gestellt. Den Link findest du weiter unten.
> > >
> > > Bitte die Dokumentation im CCPLUS-Beispielprogramm lesen oder bei Fragen an das Forum wenden.
> > >
> > >
> > > Tipp: Öffne die CCPLUS-IDE in zwei separaten Fenstern. Dies ermöglicht, nur die Funktionstabellen mittels Copy-and-Paste aus dem Beispielprogramm (linkes Fenster) in ein bestehendes Programm (rechtes Fenster) zu übernehmen. Schon bestehende CCPLUS-Programme können so relativ bequem angepasst werden, ohne dass alle Programmzellen neu eingegeben werden müssen.
> > >
> > > Bitte darauf achten die Funktionstabellen (Get_FileStart, Put_FileStart, usw.) immer oberhalb aller anderen, evt. schon in einem Programm enthaltenen Datentabellen einzufügen.
> > >
> > >
> > >
> > >
> > >
> > > Bild 1: Auch unter CCPLUS lässt sich der "Tabellentrick" anwenden um zusätzliche System-Funktionen freizuschalten.
> > >
> > >
> > >
> > >
> > >
> > >
> > > Bild 2: Testlauf auf C-Control I 1.1, Main-Unit, mit zusätzlich installierter Lbit Firmware
> > >
> > >
> > >
> > >
> > > Verwandtes Thema: http://ccintern.dharlos.de/tipsutri.txt
> > >
> > >
> > >
> > >
> > >
> > > das |_ Team
> > >
> > >
> > > > Hallo
> > > >
> > > > Ich möchte mit C-control Plus (1.08)
> > > >
> > > > Zahlen abspeichern auf dem EEPROM und wieder auslesen, alles kein Problem.
> > > >
> > > > Nun möchte ich einzelne Zahlen auslesen und ändern, danach wieder abspeichern, ist das möglich?
> > > >
> > > > z.B. Zahl Nr.33 = 200 auslesen aus dem Speicher.
> > > > Zahl Nr.33 ändern auf 210 und wieder auf den Speicherplatz Nr.33 die 210 abspeichern.
> > > >
> > > > Ist das möglich?
> > > > Hallo
> > > >
> > > > Ich möchte mit C-control Plus (1.08)
> > > >
> > > > Zahlen abspeichern auf dem EEPROM und wieder auslesen, alles kein Problem.
> > > >
> > > > Nun möchte ich einzelne Zahlen auslesen und ändern, danach wieder abspeichern, ist das möglich?
> > > >
> > > > z.B. Zahl Nr.33 = 200 auslesen aus dem Speicher.
> > > > Zahl Nr.33 ändern auf 210 und wieder auf den Speicherplatz Nr.33 die 210 abspeichern.
> > > >
> > > > Ist das möglich?
> > > >
> > > > Gruß

 Antwort schreiben

Bisherige Antworten:

Re: Speichern auf dem EEPROM (von das |_ Team - 30.05.2015 1:13)
    CCPlus-Tin - Downloadlink (von das |_ Team - 30.05.2015 1:18)
        Re: CCPlus-Tin - Downloadlink (von eeg - 7.06.2015 12:44)
            Re: CCPlus-Tin - Downloadlink (von das |_ Team - 8.06.2015 14:36)
                Re: CCPlus-Tin - Downloadlink (von eeg - 13.06.2015 8:14)
                    Re: CCPlus-Tin - Downloadlink (von das |_ Team - 17.06.2015 23:18)