-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Bau einer Graphischen Programmieroberfläche

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Robotniks
    Registriert seit
    13.10.2007
    Beiträge
    168

    Bau einer Graphischen Programmieroberfläche

    Anzeige

    Hallo,

    ich bin neu hier im Forum und sehe hier sind viele schlaue Köpfe die mir vieleicht weiterhelfen können...

    Ich spiele mit dem gedanken für mein Abschlußprojekt eine Graphische Programmieroberfläche für µC zu entwickeln. Welche Controller die Oberfläche später unterstützt seht noch nicht 100% fest. Es soll auf jedenfall ein Basic zwischencode generriert werden z.B wie Bascom.

    Jedoch habe ich keine Ansätze im Internet gefunden mit Sourcecode...
    Problem ist wie baue ich eine Grafische Oberfläch wo die Bausteine (Digital-Gatter) und Verbindungen wie bei Parsic (www.parsic.de) erzeugt werden?

    Vieleicht kann mir jemand weiterhelfen...

    Als Programmiersprache würde VB6, VB.NET oder Delphi in Frage kommen.

    Grüße Oli

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo Robotniks!

    Deine Idee ist änlich zu meiner. Ich habe schon ziemlich lange im Kopf eine Idee ein Programm zu entwickeln, die aus einem Programmablaufdiadramm (PAD) direkt ein Maschinenprogramm für (fast) biliebigen µC generiert.

    Ich habe früher in QBasic (einzige Hochsprache die ich kenne) ein Assemblerprogramm geschrieben, der ein ausfürbares Programm generiert hat. Für bestimmten Prozessor musste man ihm nur eine ASCII Datei mit entsprechendem Befehlsatz vorgeben.

    Das habe ich ziemlich lange selber benutzt z.B. für 6502, Z80 und 8051. Alles, was er nicht im Befehlsatz gefunden hat, hat er als Marke gennomen. So hat er zwei Durchläufe gebraucht um alle Adressen für Sprunge zu Berechnen.

    Aus PAD ein Maschinenprogramm zu generieren finde ich auch möglich, aber schwerer, deswegen habe ich allein noch nicht angefangen. Vor allem ist QBasic unter Windows XP so komplieziert geworden, das ich kein Sinn mehr sehe es zu versuchen, da meine Lieblingssprache ASM ist.

    MfG

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    Schaut Euch mal die Software zur Siemens Logo an, da wird
    einfach das Schaltsymbol (Taster, Timer, Counter etc.) auf die
    Benutzeroberfläche gezogen und dann die Anschlüsse zu
    Anderen Komponenten gelegt (virtuell). Dann den Programmierstöpsel
    in die Logo und Programm aufspielen, fertig.
    Ist extremst einfach zu proggen das Ding ... dafür ist halt
    aber auch der Funktionsumfang recht klein.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.07.2006
    Alter
    24
    Beiträge
    138
    Du musst das Rad ja auch nicht neu erfinden, du kannst ja z.B. eine schon bestehende IDE wie Eclipse für ASM erweitern und dir dann so einen graphischen Editor proggen.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Robotniks
    Registriert seit
    13.10.2007
    Beiträge
    168
    Hi,

    ja die Oberflächen an sich wie Logo Comfort, Parsic, Lego, Robotic-Studio kenn ich ja auch. Jedoch möchte ich selber eine kleine Oberfläche gestallten die das gleiche macht... wie die oben genannten Programme. Die Frage ist nur wie eht das, Bsp. Source würde schon weiterhelfen....

    Eclipse ??? ist doch ne Programmiersprache oder?

    Grüße Oli

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.08.2005
    Ort
    winterthur
    Beiträge
    115
    hi,
    zitat:
    <<
    Eclipse ??? ist doch ne Programmiersprache oder?
    >>
    Nein, ist eine IDE, urspruenglich fuer Java gemacht, erweiterbar fuer
    fast alle Programmiersprachen.
    mfg
    nomad

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Robotniks
    Registriert seit
    13.10.2007
    Beiträge
    168
    Hi,

    also java scheidet leider aus...
    Hat keiner eine Idee oder einen guten Link?

    Grüße Oli

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2007
    Ort
    Solingen
    Alter
    41
    Beiträge
    18
    Hi,

    "Beispielcode" wirst Du zu dem Thema vermutlich kaum finden. Wenn Du aber ohnehin in der .NET-Welt Dein Plätzchen gefunden hast, gibt's eine ganze Menge Möglichkeiten

    1. Controls
    Du kannst anstatt die Zeichenlogik selbst zu basteln entsprechende Controls verwenden (z.B. FlowChart). Was aus den in den Controls abgebildeten Teilen hinterher erzeugt wird (Dein BasCom-Code) ist da ja erstmal unerheblich. Du hast ein API und kannst daraus ableiten, was Dein Codegenerator zu tun hat.

    2. DSL (Domain-Specific-Languages)
    Visual Studio 2005 bietet dazu etwas an. Im Prinzip geht das in Richtung Software-Factory - und das ist ja genau das was Du willst.
    Du kannst selbst eine visuelle Sprache für Robotik (eben eine domänenspezifische Sprache) entwickeln.
    Vorteil : Du hast direkt einen ziemlich leitsungsstarken Editor
    Nachteil : Gibt's glaube ich nur in der Team-Edition - und die hast Du ggf. nur, wenn Du auch beruflich damit arbeitest

    3. Visio
    Mal was ganze anderes : Du könntest - wenn Du Visio hast - ein Template und ein Stencil für Visio entwickeln. Mit den Symbolen aus dem Stencil kannst Du dann Deine Logik basteln und ein Makro im Template übersetzt das Diagramm nach BasComm - dazu reichen VBA, bzw. VB.NET Kenntnisse aus - und ein wenig Visio natürlich.
    Die Sache hat vor allem deshalb Charme, weil Du damit für jeden Controller ein Stencil basteln könntest, welches jeweils halbwegs optimierten Code erzeugt. Außerdem könnten auch andere Leute Stencils auf Basis Deiner Vorlage für andere Controller entwickeln - das ist doch nicht schlecht, oder?

    4. Selber machen
    Du KANNST das alles selbst machen. Ich würde das aber davon abhängig machen, ob Dein Fokus das Programmieren der Software sein soll, oder die Vereinfachung der Programmierung von Controllern. Wenn Du ein Programmier-Freak bist (so würde ich mich bezeichnen), dann wirst Du diese Variante wählen, weil sie einfach Spass macht.
    Das ist aber unter zeitlichen Aspekten vermutlich der langwierigste Weg.
    Vom Prinzip würde ich da einen ähnlichen Weg beschreiten, wie Visio das macht, also Symbole für die unterschiedlichen Logikbausteine verwenden, die jeweils kleine Codesegmente erzeugen (unter Berücksichtigung des Kontexts).

    Wenn ich nicht so viel um die Ohren hätte, würde ich Dir ja gerne helfen. Bei Interesse kannst Du Dich ja mal melden. Aber Du kannst davon ausgehen, dass ich dann ziemlich langsam vorankomme (zumal ich momentan noch nicht mal mein erstes Robo-Kit habe...).
    Ich würde dann außerdem C# favorisieren : Ist halt meine Haussprache

    Best Grüße

    -Kristof

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.09.2006
    Ort
    Hamburg
    Alter
    35
    Beiträge
    987
    Zitat Zitat von Vitis
    Schaut Euch mal die Software zur Siemens Logo an, da wird
    einfach das Schaltsymbol (Taster, Timer, Counter etc.) auf die
    Benutzeroberfläche gezogen und dann die Anschlüsse zu
    Anderen Komponenten gelegt (virtuell). Dann den Programmierstöpsel
    in die Logo und Programm aufspielen, fertig.
    Ist extremst einfach zu proggen das Ding ... dafür ist halt
    aber auch der Funktionsumfang recht klein.
    Jo es gibt sogar nen logo/easy compiler für PIC16xxxx
    Legastheniker on Bord !

    http://www.Grautier.com - Projektseite
    http://www.grautier.com/wiki/doku.php?id=bt-index - BT-BUS

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    20.12.2007
    Beiträge
    5
    hi.

    dein geplantes projekt existiert bereits änlich...
    und ich kann aus eigener erfahrung sagen es funktioniert sehr gut und total einfach zu programieren.

    http://www.microsps.com/

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •