2016-06-23 80 views
0

Ich versuche Wert auf eine boolean-Speicher in der S7-1200 CPU zu setzen, habe ich die SNAP7 Bibliothek verwendet, aber ich konnte nicht Erfolg erhalten damit:Lesen/Schreiben S7-1200-Bit-Speicher über C#

Result result = new Result(); 
byte[] Buffer = new byte[26]; 
Client.DBRead(1, 0, 2, Buffer); 
result.bArret = S7.GetBitAt(Buffer, 0, 1); 
result.bMarche = S7.GetBitAt(Buffer, 0, 2); 
Client.DBWrite(1, 0, 10, buff); 

Mein Ziel ist es, Wert auf den Speicher schreiben: enter image description here

Hier wird der Datenblock 1:

enter image description here

I ac brauchen Führen Sie diese Aufgabe aus, ohne OPC oder eine andere dritte Software zu verwenden.

Antwort

1

Problem gelöst, indem Merkers von Datenblock Variablen zu ersetzen, ist hier ein Beispiel:

 S7Client client = new S7Client(); 
     int res = client.ConnectTo("192.168.0.10", 0, 0); 

     int DBNumber; 
     int Size; 
     int Result; 
     byte[] buffer = new byte[2]; 
     DBNumber = System.Convert.ToInt32(1); 
     Size = System.Convert.ToInt32(2); 
     Result = client.DBWrite(DBNumber, 0, Size, buffer); 
     buffer[0] = 1; 
     buffer[1] = 1; 
     Result = client.DBWrite(DBNumber, 0, Size, buffer); 

Hoffnung, dass jemand es sinnvoll in der Zukunft gefunden werden.