-> Hier kostenlos registrieren
Hallo Zusammen!
bin jetzt schon eine ganze weile am still lesen, nur leider habe ich im moment ein Problem bei dem mir auch die Suchfunktion nicht so wirklich weiterhilft!
Ich Programmiere mit Libnodave in C# im Visual Studio. Verbindung zu der S7-300 kann ich auch herstellen, alles kein Problem!
Nun habe ich in einem DB ( DB 12 Ab 216 bis 220) die Zahl 519 als WORD stehen und will diese auslesen!
Was ich hierbei als Ergebniss erhalte ist 17519 ?!
Weiß jemand was ich hier genau falsch mache.. ich weiß die S7 dreht beim Lesen die Dinge um, aber wirklich weiter hilft mir dies auch nicht!
Hier mal der Codeschnippsel:
int a;
libnodave.PDU p = dc.prepareReadRequest();
p.addVarToReadRequest(libnodave.daveDB, 12, 216, 2);
libnodave.resultSet rs = new libnodave.resultSet();
res = dc.execReadRequest(p, rs);
res = dc.useResult(rs, 0);
if (res == 0)
{
Console.Write("DB 12 Word 216: ");
a = dc.getS16();
Console.WriteLine(a);
}
Meine Grundidee ist es einen STRING aus ca 35.Zeichen in C# Einzulesen und dann in die S7 zu schreiben, bis jetzt bin ich da allerdings noch nicht auch einen wirklichen Durchbruch gestoßen, wäre nett wenn mir jemand dazu noch nen Tipp oder ein Beispiel geben könnte, mir ist lediglich klar, das ich den String vorher komplett zerlegen müsste...
Ich wäre für jeden Hinweis, Tipp, etc. dankbar!
Gruss
Dominik
bin jetzt schon eine ganze weile am still lesen, nur leider habe ich im moment ein Problem bei dem mir auch die Suchfunktion nicht so wirklich weiterhilft!
Ich Programmiere mit Libnodave in C# im Visual Studio. Verbindung zu der S7-300 kann ich auch herstellen, alles kein Problem!
Nun habe ich in einem DB ( DB 12 Ab 216 bis 220) die Zahl 519 als WORD stehen und will diese auslesen!
Was ich hierbei als Ergebniss erhalte ist 17519 ?!
Weiß jemand was ich hier genau falsch mache.. ich weiß die S7 dreht beim Lesen die Dinge um, aber wirklich weiter hilft mir dies auch nicht!
Hier mal der Codeschnippsel:
int a;
libnodave.PDU p = dc.prepareReadRequest();
p.addVarToReadRequest(libnodave.daveDB, 12, 216, 2);
libnodave.resultSet rs = new libnodave.resultSet();
res = dc.execReadRequest(p, rs);
res = dc.useResult(rs, 0);
if (res == 0)
{
Console.Write("DB 12 Word 216: ");
a = dc.getS16();
Console.WriteLine(a);
}
Meine Grundidee ist es einen STRING aus ca 35.Zeichen in C# Einzulesen und dann in die S7 zu schreiben, bis jetzt bin ich da allerdings noch nicht auch einen wirklichen Durchbruch gestoßen, wäre nett wenn mir jemand dazu noch nen Tipp oder ein Beispiel geben könnte, mir ist lediglich klar, das ich den String vorher komplett zerlegen müsste...
Ich wäre für jeden Hinweis, Tipp, etc. dankbar!
Gruss
Dominik