# Erste Schritte Libnodave und Delphi bzw. VB



## mitchih (29 Dezember 2008)

Hallo,

ich habe vor mich ein wenig mit Libnodave und Delphi oder VB zu beschäftigen.

Als erstes möchte ich mal über Ethernet ein paar Daten aus einem DB auslesen und Daten in den DB Schreiben können.
Später soll dann mal meine Hausautomation daraus entstehen.
Ich habe z.B. vor Daten von anderen Teilnehmern zu speichern etc..
Wird aber denke ich noch ein wenig dauern.

Gibt es irgendwo gute Einsteigerbeispiele???

Welche Programmiersprache würdet Ihr empfehlen??
Da ich keine Ahnung von beiden habe brauche ich mal eure Tipps ;-)

Meine S7 Kenntnisse und auch meine Flexible Kenntnisse sind hervorragend, jedoch flex nur solange es nicht um VB Scripte geht.

Das Will ich mir auch noch mal beibringen.
Danke für eure Tipps


----------



## jabba (29 Dezember 2008)

Ich bin zwar schon seit Turbo_pascal 3.0 auf dem kurs,
also auch seit Delphi 1.0 ... bis heute, aber ich muss sagen "lass es".
Die sind irgendwie auf dem holzweg, nur noch WEB, WEB , WEB ..
Ich kenne einige Profis, die immer noch bei Delphi 3, 5 oder 7 geblieben sind, insbesondere bei Maschinen und SPS-Verbindungen.

Es sei denn du bleibst z.B. bei delphi 5 oder 7, was aber bei neuen Betriebssystemen Probleme bringen könnte.

In VB geht das alles genau so, obwohl ich da keine Erfahrung habe.
Prinzipiell must Du Dich ja in eine Sprache einarbeiten, dazu solltets Du dir beide Systeme mal ansehen, welches Dir mehr zusagt.

Wenn Du die Lizenz erwerben willst, ist auch VB deutlich günstiger wie Delphi.


----------



## MW (29 Dezember 2008)

mitchih schrieb:


> Gibt es irgendwo gute Einsteigerbeispiele???



Wenn du dir Libnodave runtergeladen hast, kannst du dort mal drin stöbern, da sind einige Beispiele enthalten. Ansonsten gibt hier im Forum auch einige Beispiele (Stichwort: Suchfunktion )



mitchih schrieb:


> Welche Programmiersprache würdet Ihr empfehlen??



Hmm, also ich schreib mit VB.net, dass gefällt mir derzeit am besten, da wird es aber auch andere Meinungen geben


----------



## mitchih (29 Dezember 2008)

MW schrieb:


> Wenn du dir Libnodave runtergeladen hast, kannst du dort mal drin stöbern, da sind einige Beispiele enthalten. Ansonsten gibt hier im Forum auch einige Beispiele (Stichwort: Suchfunktion )
> 
> 
> 
> Hmm, also ich schreib mit VB.net, dass gefällt mir derzeit am besten, da wird es aber auch andere Meinungen geben



Gibt es einen Unterschied zwischen Visual Basic und VB.net??


----------



## Rainer Hönle (29 Dezember 2008)

mitchih schrieb:


> Gibt es einen Unterschied zwischen Visual Basic und VB.net??


Einen? Viele! VB.net hat nicht mehr so viel mit VB zu tun und reiht sich in die .net Umgebung ein. Damit besteht die vereinfachte Möglichkeit, auf Code in anderen .net-Sprachen zuzugreifen.
Einfach mal bei meinem Freund Bill bzw. im Netz suchen.


----------



## mitchih (29 Dezember 2008)

*Fehler mit Visual Studio*

Hallo ich habe mal Microsoft Visual Basic 2008 Express als 
Testversion installiert,
leider bekomme ich beim compiliern des Programs simple mpi fehlermeldungen. ebenso wenn ich die fertigen bat dateien ausführe.

Hat jemand es schon mal dmit probiert??

habe die dot net examples genommen.

Oder mache ich was Grundlegendes falsch??*ACK*


----------



## Earny (30 Dezember 2008)

Hallo mitchih,
ich habe Dir mal ein komplettes VB2005-Projekt beigelegt. Das müsste hoffentlich auch mit VB2008 Express zu öffnen sein. Das VB2005-Programm ist in Regionen (Abschnitte) eingeteilt. Die kannst Du aufmachen und schließen.

Du kannst mit dem VB-Programm über LibNoDave: 

Bits lesen/schreiben
Bytes lesen/schreiben
Wörter lesen/schreiben 
Doppelwörter lesen/schreiben
Daten aus Datenbausteinen (1000 Integerwerte) lesen/schreiben

Wenn Du Daten aus Datenbausteinen lesen oder schreiben willst, musst Du noch den DB1 in Deiner CPU haben.
Wenn Du eine leere Excel-Arbeitsmappe in den Ordner "debug" des VB-Projekts legst, kannst Du die Wert aus dem Datenbaustein in die Excel-Arbeitsmappe schreiben.

Beim Lesen der S7-Speicher habe ich jeweils ein Beipiel für das Lesen mit Zeiger, Lesen bei Position und Lesen aus dem Puffer gemacht.

Bei einer MPI-Verbindung kannst Du den Com-Port (Com1 oder Com2) und die Übertragungsgeschwindigkeit (19200 und 38400 Bit/s) einstellen.
Ich habe diese Verbindungen mit den Siemens-PC-Adaptern 6ES7 972-0CA22-0XA0 und 6ES7 901-2BF00-0AA0 getestet.

Die TCP-Verbindung setze ich bei meinen MPI-LAN-Kabel von der Firma Prozessinformatik ein. Sie haben die IP-Adressen 192.168.53.51 bis 53. Für die Kommunikation mit Accontrol stelle ich die IP-Adresse 127.0.0.1 ein.

Die "libnodave.dll" muss im Ordner System32 von Windows liegen. Außerdem muss noch in VB2005 ein Verweis auf die "libnodave.net.dll" eingerichtet werden. Sonst gehts nicht. 

Gruß
Earny


----------



## Deep Blue (18 Dezember 2009)

Hallo Earny,

erst mal :s12: für die tolle Applikation! Alles sehr verständlich und übersichtlich geschrieben. Ich habe aber ein Problem mit dem Schreiben und Lesen im DB1. Das klappt irgend wie nicht bei mir. Ich habe dort im DB1 ein Int. Trotzdem kommt bei mir dort immer eine Fehlermeldung. Was könnte ich falsch machen?


----------



## Earny (18 Dezember 2009)

ich könnte mir vorstellen, dass Du in Deinem DB1 kein Array aus Integerwerten angelegt hast und dann libnodave versucht, in einen nicht vorhandenen Speicher zu schreiben.
Ich habe Dir mal mein zugehöriges S7-Projekt beigefügt. Im DB1 habe ich ein Array bestehend aus 4000 Integerwerten deklariert.
Bevor Du die Werte aus dem DB1 nach VB zurückliest, solltest Du mal in der Onlineansicht von STEP7 im DB1 nachschauen, ob wenigstens der Schreibvorgang erfolgreich war.


Gruß
Earny


----------

