Probleme Libnodave VB

K-SYSTEM-D

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

zuerst einmal ich bin totaler Anfänger was VB6 betrifft , bin eigentlich Elektriker und SPS-Techniker.

ich habe vor einer zeit mal das Programm SPSet irgendwo runtergeladen,
nun will ich für meinen Vater ne kleine Visu für seine Heizungssteuerung
zusammenbasteln.

zum ersten leider funktioniert hier das DB einlesen der Messwerte nicht.

zum zweiten Stürzt beim Verbindungsabbruch das Programm ab.

Kann sich jemand von euch Profis das mal anschauen und evtl. wenns
keine umstände macht umschreiben?

Danke im voraus und ich wünsch euch einen Guten Rutsch ins neue Jahr

Daniel
 

Anhänge

  • SPSetVB6.zip
    176,7 KB · Aufrufe: 42
Hallo,
kannst du genaueres dazu sagen:
z.B. Mit welchem Fehler stürzt das programm ab
Hast du schonmal einen Breakpoint in die entsprechenden Prozeduren gesetzt?
Sind die DB´s in der Steuerung auch vorhanden bzw. entsprechend lang???

Gruß
Ronnie
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier der Fehler der dann kommt bei verbindungsabbruch

AppName: spsetvb6.exe AppVer: 1.0.0.8 ModName: libnodave.dll
ModVer: 0.0.0.0 Offset: 0000973f

Mit dem DB auslesen hat sich geklärt. Funktioniert jetzt.

Ich bin totaler neuling was VB betrifft! wo muss ich den Breakpoint einsetzen und wo?
 
Zuletzt bearbeitet:
Hallo,
ich hab das hier mal in der Simulation getestet und vermute das der Fehler beim Lesen aufgetreten ist.
Hab im Modul12 =>GetVal eine kleine Änderung eingefügt. Damit sollte es meines Erachtens funktionieren.
Code:
'### Hier muss eine Abfrage rein ob das Lesen überhaupt erfolgreich war ###
  If res <> daveResOK Then
    MsgBox "Fehler beim Lesen!" & vbCrLf & "FehlerNr #" & res, vbOKOnly
    GetVal = "NULL"
    Exit Function
  End If
Wie gesagt, nur in der Simulation probiert. Teste das einfach mal und meld dich dann nochmal.

Ronnie
 

Anhänge

  • SPSetVB6.zip
    176,7 KB · Aufrufe: 27
Hallo alle Zusammen,

ich hoffe ihr könnt mir wieder mal holen!!
nun bin ich wieder mal an meine Grenzen gekommen in den oben genannten Programm kann ich zwar einzelne bits im Merkerbereich setzen und rücksetzen aber leider keine bits in DB´s! könnt ihr mir sagen wo der fehler liegt?

bastel jetzt schon 2 tage rum und bekomms nicht gebacken.

ich hoffe ihr könnt mir wieder mal helfen und Danke im Voraus

Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe mir das Programm nicht beguckt, aber setzen und rücksetzen von Bits in
DBs geht so

Code:
*
S DB1.DBX10.0
R DB1.DBX10.0
Die entsprechenden Vorbedingungen mußt du natürlich noch programmieren:rolleyes:
 
versuche es mal mit :

; Set a bit in PLC to 1.
daveSetBit(dc.l, area.l, areaNumber.l, start.l, byteAddress.l, bitAddress.l)
und
; Set a bit in PLC to 0.
daveClrBit(dc.l, area.l, areaNumber.l, start.l, byteAddress.l, bitAddress.l)

so ist es bei mir deklariert .

der Micha
 
Zuviel Werbung?
-> Hier kostenlos registrieren
oder so in VB6 , hab mal in meiner Kramecke geschaut :

Code:
' Set a bit in PLC to 1.
'
Private Declare Function daveSetBit Lib "libnodave.dll" (ByVal dc As Long, ByVal area As Long, ByVal areaNumber As Long, ByVal byteAddress As Long, ByVal bitAddress As Long) As Long
' Set a bit in PLC to 0.
'

Private Declare Function daveClrBit Lib "libnodave.dll" (ByVal dc As Long, ByVal area As Long, ByVal areaNumber As Long, ByVal byteAddress As Long, ByVal bitAddress As Long) As Long
Code:

das wäre denn zb bei 0 setzen

res2 = daveClrBit(myDC, daveFlags, 0, 5, 1)


wobei du dann daveFlags ersetzen must für den DB aufruf, wenn ich mich net irre .
 
Zurück
Oben