Seite 1 von 1

mein erstes Projekt, ocx dateien einbinden

Verfasst: 09.05.2008 20:03
von ne555
Kurze Vorstellung:
Ich bin neu bei PureBasic und habe erst einmal mit dem Demo von PureBasic ein wenig herum probiert.
Ich suchte eine einfache und günstige Programmiersprache für meine Hobby-Projekte.
Beruflich programmiere ich SPS in Hochsprache. Vor einem ¾ Jahr entdeckte ich meine Freude an Elektronik-Basteleien wieder. Ich habe mir einen kleinen fahrbaren autonomen Roboter (RP6) gekauft. Über den bin ich dann zu Micro-Controllern von Atmel gekommen. Ich bin zufällig an einen Roboterarm (Lernmodell) gekommen. Diesem fehlt komplett die Sensorik aber mechanisch ist alles vorhanden. Mein Bastelprojekt soll jetzt eine Automatisierung der Steuerung dieses Armes werden.
Ob ich das über einen PC mache oder komplett mit einem Microcontroller, das weiß ich noch nicht. Die Auswertung der Sensorik wird über eine AVR passieren. Die Telemetrie-Daten sollen aber auf jeden Fall zum PC übertragen werden um dort gespeichert und ausgewertet zu werden.
Aber so weit bin ich noch nicht. Ich muss erst noch eine Menge Hardware besorgen. Alles auf einmal ist einfach zu teuer und so wird das Projekt sich sicher bis nach Weihnachten hinziehen.

Mein erstes PureBasic Projekt.
Seit ca. 2 Monaten habe ich jetzt die Vollversion von PureBasic. Ich habe mich durch einige Toutorials gearbeitet und möchte nun mit einem ersten eigenen Projekt beginnen.
Eine Aufgabe habe ich relativ schnell gefunden. Ich besitze ein Mutimeter (MCVoice M-345pro) das über eine serielle Schnittstelle verfügt. Da war eine Software mit dem Namen Masview 1.0 dabei. Diese Software finde ich ziemlich arm. Ich glaube das ist eine schöne Aufgabe an der man wachsen kann. Eine schöne Messwerterfassung mit tabellarischer Speicherung der Messwerte und deren Darstellung in Trends. In der Firma benutzen wir für die Darstellung von Trends ein ActiveX Steuerelement unter VisulBasic6. Ich glaube so eine OCX Datei müsste man doch unter PureBasic auch einbinden können. Weiß jemand wo ich nachlesen kann wie?

Ich war erst einmal Enttäuscht, als ich in der Hilfe keine Informationen zum Ansprechen der seriellen Schnittstelle gefunden habe. Nach dem ich hier im Forum nachgeforscht habe, bin ich auf die Userlib MVCOM gestoßen.
Funktioniert die auch unter Linux?
Hat es einen Grund, warum so grundlegende Dinge wie der Umgang mit der seriellen Schnittstelle nicht von Haus aus in PB unterstützt werden?

So noch einmal zurück zum Trend-Modul. Das Trend-Modul das ich habe, benötigt eine Lizenz für jede verkaufte Version. Als Demo läuft das Ding nur 30min.
Da dieses ActiveX-Steuerelement in VB wirklich einfach zu händeln und sehr flexibel in der Konfiguration und Darstellung ist, traue ich mich vorerst noch nicht so etwas selber zu programmieren. Das Modul aus der Firma kann ich also nur im Demo-Mode verwenden. Gibt es so etwas irgendwo als OpenSource?
Ich möchte der Community das fertige Programm gerne zur Verfügung stellen, wenn es soweit ist.

Ich bin schon ein gutes Stück mit dem Projekt voran gekommen. Das Schwierigste war die Einstellungen für die serielle Schnittstelle und die Kommunikation zwischen dem Mutimeter und Masview herauszufinden. Das war nirgendwo dokumentiert. Mir hat das Programm Free Serial Monitor 3.31 dabei sehr geholfen.
Mit der MVCOM Lib. Ist die ser. Schnittstelle schnell konfiguriert.
Es wird eine Sendeaufforderung an das Messgerät gesendet und die Antwort schreibe ich in eine Stringbuffer.
Jetzt muss ich den String allerdings noch auseinander nehmen und die Zahlenwerte extrahieren.

Schade das so schönes Wetter ist.... :-) da kann man sich so schwer den ganzen Tag in der Wohnung an dem Schreibtisch vergraben.

Viele Grüße und einen schönen Feiertag..

Re: mein erstes Projekt, ocx dateien einbinden

Verfasst: 09.05.2008 20:37
von Kiffi
Hallo ne555,

willkommen im Forum! :-)

Zu Deinen Fragen:

ActiveX und OCX bindest Du am besten (leichtesten) mit dem
PureDispHelper [1] ein. Ich weiß nicht, wie vertraut Du bereits mit dem
Einbinden von UserLibraries und Includes bist. Lade den DispHelper mal
runter und schau, wie weit Du kommst. Falls Fragen sind, einfach hier noch
mal anklopfen.

Das Ansprechen des ActiveX ist 'ne andere Sache: Wenn Du bereits in VB
damit gearbeitet hast und Dir dann die Beispiele des DispHelpers
anschaust, dann wirst Du Parallelen entdecken. Solltest Du den Wald vor
lauter Bäumen nicht sehen, dann nachfragen.

An dieser Stelle sei erwähnt (weil Du es an anderer Stelle anmerkst):
ActiveX läuft nicht unter Linux.

Dieses Trend-Dingens: Ist das ein Chart-Control? Wenn ja, dann gibt es
mit dem RMChart vielleicht eine gute kostenlose Alternative.

[1]: http://www.realsource.de/downloads/doc_ ... disphelper
[2]: http://www.rmchart.com/

Grüße ... Kiffi

Verfasst: 14.05.2008 07:09
von ne555
Hallo Kiffi,

klar ActiveX unter Linux geht nicht, das war ja wohl auch der Sinn warum MS das in den IE eingebaut hat. Ein Schelm wer böses denk ;-)

Was ich aber eigentlich meinte war, ob die Userlib MVCOM unter Linux zu gebrauchen ist.
Ich habe schon Listen gesehen die die Verwendungen von Standard-Befehlen(Funktionen) unter verschiedenen System beschreiben. Diese Listen können natürlich für die Userlibs keine Aussage treffen.

Der Tipp PureDispHelper ist ein Guter. Habe es gelesen und runter geladen. Werde es mal Probieren.
Der RMChart ist nicht ganz was ich suche, aber vielleicht kann man ihn für meine Zwecke missbrauchen.
Der von der Firma verwendete Trendviewer ist hier zu finden:
http://www.trendviewer.de
Der kann natürlich viel mehr als ich für meine Messwertauswertung benötige.
Vielleicht versuche ich mich doch selber einmal daran.

Danke für die Antwort :allright:

viele Grüße aus Bielefeld

ne555

Verfasst: 14.05.2008 07:17
von ts-soft
> Was ich aber eigentlich meinte war, ob die Userlib MVCOM unter Linux zu gebrauchen ist.
PureBasic ab Version 4.20 unterstützt die Serielle Schnittstelle, auch unter Linux!

Verfasst: 14.05.2008 22:24
von mk-soft
Nur nebenbei:
SPS in Hochsprache...
SCL, FUP oder KOP? AWL ist am besten, aber keine Hochsprache.

Es gibt einige Trendcontrols die man einbinden kann. Gute sind meisten kostenpflichtig, aber laufen aber nicht unter Linux.

Werde mich woll auch bald hinsetzen und ein eigendes Trendcontrol direkt mit PB erstellen. Am besten zwei Images erstellen und diese nach den zeichnen im wechsel anzeigen.

Gute wahl das du dich für Purebasic entschieden hast :wink:
Habe bereit einige PB-Applikationen in der Automation am laufen.

Hier noch ein Tipp:
http://www.purebasic.fr/german/viewtopi ... =libnodave

FF :wink:

Verfasst: 15.05.2008 22:49
von ne555
Hallo mk-soft,

die SPS werden in "C" und "Strukturierter Text" programmiert.

libnodave kenne ich aus den sps-foren.de
Aber wir setzen ausschließlich B&R Steuerungen ein, libnodave ist glaube ich für die S7 gedacht.

Das Trendmodul das wir in der Firma benutzen ist gut und allemal tauglich, nur muß für jede weitergegebene Version gezahlt werden.
Es soll ja für den privaten Gebrauch sein und um ein Multimeter zu visualisieren reicht ein einfaches Modul. Ich traue mich noch nicht ganz daran das selbst zu machen. Eine Kurve in eine statisches Hintergrundbild zu pixeln, kann so schwer nicht sein. Aber ich möchte das sich das Hintergrundbild an verschiedene Bildschirmgrößen dynamisch anpasst. Es soll ja eine Verbesserung der vorhandenen Software Masview werden. Die ist festgelegt auf 800x600 und läuft bei höherer Bildschirmauflösung nur im Fenster.
Wenn Du einen Link zu einem kostenlosen Trend-Control hast, wäre ich sehr daran interessiert. Kann etwas einfaches sein. Wenn ich das Prog. dann fertig habe und das Control mich stört, kann ich mich immer noch daran machen etwas eigens zu versuchen. Da dies mein erstes Projekt unter PB ist, möchte ich für den Anfang eine für mich realistisch zu lösende Aufgabe.

Grüße ne555

Verfasst: 16.05.2008 11:55
von mk-soft
libnodave ist für S7 Steuerungen.

Zum Trend,

PureDispHelper ist der einfache und richtige Weg. Wo kann man den Trendviewer downloaden, zum testen?

Wenn MS-Office installiert ist kann auch das Grafmodul verwenden.

Verfasst: 16.05.2008 14:29
von ne555
ne555 hat geschrieben: Der von der Firma verwendete Trendviewer ist hier zu finden:
http://www.trendviewer.de
Der läuft zeitlich unbegrenzt aber blendet immer wieder eine Registrierungs- Erinnerung ein.

Mit MS-Office fange ich gar nicht erst an.
Ich will ja weg von der Gängelung von MS, sonst hätte ich ja auch privat Visual Basic nutzen können. Früher hatte ich viel Leih-kopierte Software und auch immer die neusten Versionen. Das ist mittlerweile vorbei. Brauchbare Vollversionen gibt es in Zeitschriften und OpenSource bietet auch für die meisten Dinge Lösungen an. Für das was ich wirklich haben will (z.B. PureBasic) bin ich dann auch bereit zu Zahlen. Ich habe kein einziges Leih-Kopiertes Programm mehr installiert und Stolz drauf.

Grüße ne555

Verfasst: 16.05.2008 17:08
von mk-soft
Habe mal angefangen ein eigenes TrendControl zu schreiben. Benötigt allerdings den OOP-PreCompiler

http://www.purebasic.fr/german/viewtopi ... highlight=

FF :wink:

Verfasst: 20.05.2008 07:20
von ne555
Vielen Dank für die Antworten..
Ok, ich habe mir dein Projekt einmal angesehen. Sieht schon was komplizierter aus.
Wozu dient/braucht man denn einen OOP-Precompiler?

Ich habe schon gemerkt das ich noch sehr viel zu lernen habe. Ich hätte nicht vermutet, das der Unterschied zur Programmierung der Steuerungen, sowie ich das beruflich mache, doch nicht ganz unerheblich ist. :freak:
Mal schauen wie weit ich jetzt komme.

ne555 :allright: