-> Hier kostenlos registrieren
Hallo,
ich habe wiedermal ein Problem mit meinen libnodave Funktionen.
Nach dem erfolgreichen schreiben von strings in die SPS muss ich nun ein datum in die SPS schreiben.
Dazu habe ich mir mit der Funktion DateDiff die Tage zwischen dem zu schreibenden Datum un 1.1.1990 berechnen lassen und versucht damit zu schreiben:!
Das zu schreibende datum ist der 1.1.2000 und geschreiben wird der 13.09.2034
Ich weis net woran das liegt!
Hoffe von euch kann mir jemand helfen!
Vielen Dank im voraus!
ich habe wiedermal ein Problem mit meinen libnodave Funktionen.
Nach dem erfolgreichen schreiben von strings in die SPS muss ich nun ein datum in die SPS schreiben.
Dazu habe ich mir mit der Funktion DateDiff die Tage zwischen dem zu schreibenden Datum un 1.1.1990 berechnen lassen und versucht damit zu schreiben:!
Code:
Public Function SetVal(ByVal nDBnumber As Integer, ByVal Datetype As String, _
ByVal nStart As Integer, ByVal nVal2Write As String) As Boolean
Dim res As Integer
Dim buf(1000) As Byte
Dim nArea As Integer
Dim temp As Integer
Dim sValue As String
Dim test() As Integer
Dim nBytes2Write As Integer
Dim datum As UShort
If (nDBnumber >= 0) Then ' Wenn der Wert aus der combobox >= 0 ist suche nach dem DB!
nArea = libnodave.daveDB
Else
Return True 'Ansonsten gebe den Wert "nUll" Wieder!
End If
'Try
If Not _CONNECTEION_STATUS_OK Then
MsgBox("keine Verbindung")
Exit Function
End If
Select Case Datetype
Case "Byte"
nBytes2Write = 1
temp = CByte(nVal2Write) 'CShort(nVal2Write)
buf = GetBytes(temp)
Case "Integer"
nBytes2Write = 2
temp = libnodave.daveSwapIed_16(CInt(nVal2Write)) 'CShort(nVal2Write)
buf = GetBytes(temp)
Case "Float"
nBytes2Write = 4
temp = libnodave.daveToPLCfloat(CSng(nVal2Write))
buf = GetBytes(temp)
Case "String"
nBytes2Write = 8
buf = stringToByteArray(nVal2Write)
Case "Longint"
nBytes2Write = 8
temp = CInt(nVal2Write)
buf = GetBytes(temp)
Case "Date"
nBytes2Write = 2
datum = CUShort(nVal2Write)
buf = GetBytes(datum)
Case "Bit"
Return Nothing
Case Else
Return Nothing
End Select
res = dc.writeBytes(nArea, nDBnumber, nStart, nBytes2Write, buf)
If res = 0 Then
Return True
Else
Return False
End If
End Function
Ich weis net woran das liegt!
Hoffe von euch kann mir jemand helfen!
Vielen Dank im voraus!