Libnodave-0.8.4.5

Zottel

Level-3
Beiträge
2.299
Reaktionspunkte
278
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe soeben eine neue Version von Libnodave veröffentlicht. Große Neuigkeiten gibt es nicht.
Ich habe ich einige Dinge ergänzt:
- Funktion closeSocket() schließt ein mit openSocket() geöffnetes socket.
- bei ISO over TCP wird zunächst mit select() festgestellt, ob eine Antwort emfangen wurde, bevor mit recv() empfangen wird. Dadurch sollten Funktionsaufrufe nach timeout zurückkehren, anstatt endlos auf eine Antwort zu warten.
- Bei Linux wurde setport verändert, um mit neueren Kerneln zusammenzuarbeiten.
 
Hallo,
mir ist da letztens was aufgefallen:

In der Funktion daveSetPLCTimeToSystime in der nodave.c ist die Zeile:
// ts[1]=daveToBCD(systime.tm_year/100+19);
auskommentiert.
Da obenbrüber bei ts[1] konstant 0x19 steht, wird die Jahreszahl wohl immer auf 19xx gesetzt.

Wenn ich das Uhrzeit-Stellen vom PG aus mache, wird an dieser Position zumindest eine 20 geschrieben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

in der Excel&VB Datei Modul12.bas ist auch ein kleiner Fehler

Private Declare Function openS7online Lib "libnodave.dll" (ByVal peer As String) As Long

da fehlt noch ein Parameter.

Gruss Daniel
 
Da obenbrüber bei ts[1] konstant 0x19 steht, wird die Jahreszahl wohl immer auf 19xx gesetzt.
Das danach von Step7 (V5.4) angezeigte Datum ist dennoch korrekt (2009).
Wenn ich das Uhrzeit-Stellen vom PG aus mache, wird an dieser Position zumindest eine 20 geschrieben.
Mag sein. Mir scheint allerdings, daß Step7 nur die Zehner und Einer interpretiert und Daten in einem gewissen Zeitraum dem 19xx und andere dem 20xx zuordnet.
Muß nochmal probieren, wie es aussieht, wenn man Datum/Uhrzeit innerhalb eines SPS-Programms liest und verarbeitet.
Übrigens akzeptiert Step7 keine größere Jahreszahl als 2038. Ist das das definitive Ende für S7 ??.
 
Muß nochmal probieren, wie es aussieht, wenn man Datum/Uhrzeit innerhalb eines SPS-Programms liest und verarbeitet.
Das Struct DATE_AND_TIME hat nur ein Byte für das Jahr. Aus der Hilfe:
0 Year 1990 to 2089
Ferner lese ich auch dann eine 0x19 zurück, wenn ich vorher das Datum mittels PG auf 2009 gestellt habe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Struct DATE_AND_TIME hat nur ein Byte für das Jahr. Aus der Hilfe:
0 Year 1990 to 2089
Ferner lese ich auch dann eine 0x19 zurück, wenn ich vorher das Datum mittels PG auf 2009 gestellt habe.

Könnte dann höchstens noch relevant für Einträge im Diagnosepuffer sein.
Bei Gelegenheit probiere ich nochmal aus wie die CPU dort den Zeitstempel anzeigt.
 
Zurück
Oben