verständniss Probleme VB.NET > S7ONLINE

Mahon

Level-1
Beiträge
19
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen,

beim Versuch mein USB-S7 Projekt zu kompilieren, passiert folgendes:
Die DLL "libnodave.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.



Ich habe in meinen Verweisen die libnodave.net v1.1.4322
attachment.php


Muss ich die Original libnodave.dll zusätzlich Declaren, einbinden, gac??

Gruß
Markus
 

Anhänge

  • 2.jpg
    2.jpg
    26,9 KB · Aufrufe: 113
Hi zusammen,

beim Versuch mein USB-S7 Projekt zu kompilieren, passiert folgendes:




Ich habe in meinen Verweisen die libnodave.net v1.1.4322
attachment.php


Muss ich die Original libnodave.dll zusätzlich Declaren, einbinden, gac??

Gruß
Markus

Kopier mal die libnodave.dll in dein bin/debug oder bin/release verzeichnis. Die libnodave.net.dll braucht die libnodave.dll!
 
Da hängt noch keine Schnittstelle dran, muss auch nicht oder? Jetzt bekomme ich zweifel...!?
Beim Debuggen springt er hier schon mit dem Fehler raus "fds.rfd = libnodave.openS7online("S7ONLINE")"
Zu der Zeit wird noch nicht mit dem Adapter gesprochen, ich denke das ist ein reines dll Problem.

Zum Testen muss dann ein USB-MPI Adapter herhalten, späterer austausch gegen eine Netzwerkvariante...

Gruß
Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da hängt noch keine Schnittstelle dran, muss auch nicht oder? Jetzt bekomme ich zweifel...!?
Beim Debuggen springt er hier schon mit dem Fehler raus "fds.rfd = libnodave.openS7online("S7ONLINE")"
Zu der Zeit wird noch nicht mit dem Adapter gesprochen, ich denke das ist ein reines dll Problem.

Zum Testen muss dann ein USB-MPI Adapter herhalten, späterer austausch gegen eine Netzwerkvariante...

Gruß
Markus

Ich meine was hast du unter PgPcSchnitstelle konfiguriert? Ob es zu so einem Fehler kommt wenn kein Adapter angeschlossen ist? Keine Ahnung, schließ halt erst mal einen an bevor du weiter testest!

Un probier doch mal die Beispiel programme welche bei libnodave dabei sind, dann siehst du ob dort auch der Fehler kommt!
 
Mist, du hattest recht, es lag am nicht vorhandenen Adapter!?
Ok, vielen Dank das Hilft mir weiter.....

Gruß
Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi, ich bräuchte noch einmal ein wenig Starthilfe...

Ich bin kein großer SPS'ler, aber ein leidenschaftlicher Coder :) deshalb habe ich noch kein richtiges Verständnis für die S7...

Laut libnodave kann ich so ein paar bit/bits abholen...
Code:
Dim buf() As Byte
dc.readBits(area:=1, DBnumber:=20, start:=1, len:=1, buffer:=buf)
Die Startadresse ergibt sich aus „bei der Addresse 9.7 eine 79 (Byteadresse *8 + Bitaddresse)“ soviel habe ich schon mal nachgelesen...

Aber was ist die 9.7? Ausgang/Eingang/Merker?
Was steckt hinter der Area? und der DBNummer?
Gibts ein Anfänger FAQ, vom SPS Dummy zum S7-Gott? :)

Danke Markus
 
Ich Glaube ich habe es doch schon einmal zum Teil verstanden...

attachment.php


Wenn ich nen Merker brauche dann ist die Area daveFlags, wenn ich Input/Outputs brauche dann ist die Area daveInputs, daveOutputs...

Dann verstehe ich nur noch nicht was das "DBNummber as Integer" soll?

Gruß
Markus
 

Anhänge

  • 1.gif
    1.gif
    26,5 KB · Aufrufe: 61
Dann verstehe ich nur noch nicht was das "DBNummber as Integer" soll?

DB steht ja für "Data Block" oder auf Deutsch "Datenbaustein"

Wenn du jetzt Daten aus einem DB lesen oder schreiben willst, musst du dort dessen Nummer angeben. Willst du dagegen Merker, Eingänge oder Ausgänge lesen/schreiben wird diese Nummer nicht benötigt und wird auch nicht weiter verarbeitet, kannst dann also dort eine Null übergeben.
 
Hi,

nun habe ich diese Baugruppen verbaut...

Wenn ich nun auf Steckplatz 6 die Outputs angucken will... also die Adressierung 8-9 muss ich 8*8=64 bis 8*9=72 +8 = 80

Code:
dc.readBits(libnodave.daveOutputs, 0, 64, 2, buf))
Damit hole ich die 2 Bytes also 16 Bits ab oder??



attachment.php
 

Anhänge

  • 1.jpg
    1.jpg
    100 KB · Aufrufe: 28
Hi,

ich habe nun gleich einmal auf Bytes umgestellt, das schein mir einfacher und hat bessere Performance....

Die Inputs von 0-4 klappen wunderbar!

Jedoch die Outputs haben alle 0?

Damit sollte ich doch das Ausgangsbyte 8 und 9 erreichen...
dc.readBytes(libnodave.daveOutputs, 0, 8, 2, buf)
Sollte das Ergbniss nun in buf(0-1) liegen oder buf(8-9)
in beiden habe ich überall 0!?

Gruß
Markus
 
Zurück
Oben