-> Hier kostenlos registrieren
Hallo zusammen,
ich habe den ganzen morgen die Suche vergewaltigt, aber die wollte nicht helfen Ich schreibe gerade eine Software in C# die mittels S7 1500 kommuniziert und daten ausliest und visualisiert.
Hierzu benütze ich die lib dotnetsiemensplctoolboxlibrary von Jochen Kühner. Erstmal Danke fürs entwickeln solch einer Lib. Super Sache!
Dennoch habe ich ein kleines Problem. Ich habe einen DB der ist mit Bytes gefüllt bis DBB27. Diesen möchte ich auslesen, hierzu sieht mein Code wie folgt aus:
for (int n = 11, i = 2; n <(Convert.ToInt32(tag_temp[0].Value)*4+8); n = n + 4, i = i + 42)
string dbadress = "DB1" + Convert.ToString(Anlage) + ".DBB" + n;
tag_num_DB1x_Mldg_Zustand.Add(new PLCTag(dbadress, TagDataType.Byte)); ........usw.........
conn.ReadValues(tag_num_DB1x_Mldg_Zustand);
So schau ich mit die erstellte Liste an, stimmt diese und zwar sieht die so aus:
DB13.DBB11
DB13.DBB15
DB13.DBB19
DB13.DBB23
DB13.DBB27
beim ReadValues kommt immer bei allen "itemdoesnotexist"
Lese ich die Variablen mit
ReadValue(tag_num_DB1x_Mldg_Zustand[0...4])
aus, so passt der gelesene Wert kein "itemdoesnotexist" .Wenn ich die erste Methode anwende und in meiner SPS den DB nach DBB27 um ein BOOL erweiter funktioniert auch die erste Methode...
Wo liegt hier das Problem?
2te. Frage gibt es in der lib die möglichkeit von readmanybytes? Wenn ich mit ReadValues daten größer 460byte von der SPS lese werden alle werte ab 460 zu null. Das liegt ja an der PDU, allerdings kann readmanybytes dies einzeln lesen? Oder muss ich das selber machen?
Viele Grüße
SPSlash
Und vielen Dank im vorraus!
ich habe den ganzen morgen die Suche vergewaltigt, aber die wollte nicht helfen Ich schreibe gerade eine Software in C# die mittels S7 1500 kommuniziert und daten ausliest und visualisiert.
Hierzu benütze ich die lib dotnetsiemensplctoolboxlibrary von Jochen Kühner. Erstmal Danke fürs entwickeln solch einer Lib. Super Sache!
Dennoch habe ich ein kleines Problem. Ich habe einen DB der ist mit Bytes gefüllt bis DBB27. Diesen möchte ich auslesen, hierzu sieht mein Code wie folgt aus:
for (int n = 11, i = 2; n <(Convert.ToInt32(tag_temp[0].Value)*4+8); n = n + 4, i = i + 42)
string dbadress = "DB1" + Convert.ToString(Anlage) + ".DBB" + n;
tag_num_DB1x_Mldg_Zustand.Add(new PLCTag(dbadress, TagDataType.Byte)); ........usw.........
conn.ReadValues(tag_num_DB1x_Mldg_Zustand);
So schau ich mit die erstellte Liste an, stimmt diese und zwar sieht die so aus:
DB13.DBB11
DB13.DBB15
DB13.DBB19
DB13.DBB23
DB13.DBB27
beim ReadValues kommt immer bei allen "itemdoesnotexist"
Lese ich die Variablen mit
ReadValue(tag_num_DB1x_Mldg_Zustand[0...4])
aus, so passt der gelesene Wert kein "itemdoesnotexist" .Wenn ich die erste Methode anwende und in meiner SPS den DB nach DBB27 um ein BOOL erweiter funktioniert auch die erste Methode...
Wo liegt hier das Problem?
2te. Frage gibt es in der lib die möglichkeit von readmanybytes? Wenn ich mit ReadValues daten größer 460byte von der SPS lese werden alle werte ab 460 zu null. Das liegt ja an der PDU, allerdings kann readmanybytes dies einzeln lesen? Oder muss ich das selber machen?
Viele Grüße
SPSlash
Und vielen Dank im vorraus!
Zuletzt bearbeitet: