-> Hier kostenlos registrieren
Hallo!
Habe jetzt endlich mal Zottels Libnodave ausprobiert und muß sagen das klapte ja alles leichter als gedacht.
Ich lese damit 3 S7-DBs mit Produktionsstückzahlen über Ethernet in eine Exel Tabelle.
Leider knobel ich jetzt schon eine ganze Weile an den Feinheiten am Makro rum und komme nicht weiter.
Problem 1:
Im DB sind die Werte als Int
Lese ich sie als integer dann sind die Words um ein Byte verschoben.
Die Zahlen sind damit falsch.
Jetzt lese ich sie Byte weise als Byte1$ und Byte2$ und stelle sie in Exel dann als Byte2$+Byte1$ dar. Dann stimmen die Zahlen.
Wo läst sich die Startposition festlegen ab wo ich lesen möchte oder muß es der ganze DB sein?
Wenn ich als integer lese und bpos-1 oder bpos+1 rechne liest er ja nicht ein byte zurück sondern ein ganzes word.
Problem 2:
Die Werte sind in hex und ich möchte sie ohne die exel Funktionen gleich aus dem Makro in dec wandeln. Oder noch besser in dec lesen. Geht das?
Problem 3:
Wenn ich die DB Länge für die Anzahl der For-Next-Schleifen Durchläufe benutze in der die bpos erhöht wird kommen nur ca 25 Werte in der Tabelle an.
Benutze ich Konstante Zahlen z.B. 200 dann kommen auch 200 Werte in die Tabelle.
Die DB Länge wird als long bzw dword gelesen wie im Beispiel-Makro.
Woran kann das liegen?
Danke schonmal im vorraus:
Habe jetzt endlich mal Zottels Libnodave ausprobiert und muß sagen das klapte ja alles leichter als gedacht.
Ich lese damit 3 S7-DBs mit Produktionsstückzahlen über Ethernet in eine Exel Tabelle.
Leider knobel ich jetzt schon eine ganze Weile an den Feinheiten am Makro rum und komme nicht weiter.
Problem 1:
Im DB sind die Werte als Int
Lese ich sie als integer dann sind die Words um ein Byte verschoben.
Die Zahlen sind damit falsch.
Jetzt lese ich sie Byte weise als Byte1$ und Byte2$ und stelle sie in Exel dann als Byte2$+Byte1$ dar. Dann stimmen die Zahlen.
Wo läst sich die Startposition festlegen ab wo ich lesen möchte oder muß es der ganze DB sein?
Wenn ich als integer lese und bpos-1 oder bpos+1 rechne liest er ja nicht ein byte zurück sondern ein ganzes word.
Problem 2:
Die Werte sind in hex und ich möchte sie ohne die exel Funktionen gleich aus dem Makro in dec wandeln. Oder noch besser in dec lesen. Geht das?
Problem 3:
Wenn ich die DB Länge für die Anzahl der For-Next-Schleifen Durchläufe benutze in der die bpos erhöht wird kommen nur ca 25 Werte in der Tabelle an.
Benutze ich Konstante Zahlen z.B. 200 dann kommen auch 200 Werte in die Tabelle.
Die DB Länge wird als long bzw dword gelesen wie im Beispiel-Makro.
Woran kann das liegen?
Danke schonmal im vorraus: