-> Hier kostenlos registrieren
Hallo *!
Ich bin relativ neu in der SPS-Welt! Ich habe die Aufgabe als Praktikant, ein Monitoringsystem aufzubauen für Klimaanlagen, die mit s7-300 Steuerungen ausgerüstet sind!
Nun habe ich vom diesem Library (libnodave) gehört und die soll nämlich ermöglichen, den Zugriff auf verschiedenen Variablen schreibend und lesend über Ethernet (via IBH-Link in unserem Fall). Ich konnte mir selbst davon überzeugen, dass es funktionniert.
Nur habe ich jetzt folgendes Problem mit dem Syntax der Funktionen daveReadBytes und daveWriteBytes.
Ich kann nur auf den Baustein DB5 zugreifen und ich frage mich, wie ich auf anderen Bausteinen zugreifen kann!! Auch in der Doku von libnodave, steht nur der DB5 als Beispiel. Sobald ich den Baustein ändere, kriege ich einen Speicherzugriffsfehler!
daveReadBytes(dc, daveDB, 5, 68, 14, appBuffer);
Zum daveWriteBytes nun:
int daveWriteBytes(daveConnection * dc, int area, int DB, int start, int len, void * buffer);
Parameters:
dc: A pointer to a daveConnection structure representing an established connection.
area: A constant that specifies a memory area in the PLC.
DB: The number of a data block. Only meaningful if area is daveDB. Use 0 oterwise.
start: The address of the first byte in the block.
len: The number of bytes to read.
buffer: A pointer to some memory space where you want the result to be copied too.
Ich frage mich, wo man bestimmen kann, wohin man schreiben möchte!
Ich freue mich auf eure Antworten! Wie gesagt, ich bin nur einen Einsteiger und bisschen verwirrt!
Ich bin relativ neu in der SPS-Welt! Ich habe die Aufgabe als Praktikant, ein Monitoringsystem aufzubauen für Klimaanlagen, die mit s7-300 Steuerungen ausgerüstet sind!
Nun habe ich vom diesem Library (libnodave) gehört und die soll nämlich ermöglichen, den Zugriff auf verschiedenen Variablen schreibend und lesend über Ethernet (via IBH-Link in unserem Fall). Ich konnte mir selbst davon überzeugen, dass es funktionniert.
Nur habe ich jetzt folgendes Problem mit dem Syntax der Funktionen daveReadBytes und daveWriteBytes.
Ich kann nur auf den Baustein DB5 zugreifen und ich frage mich, wie ich auf anderen Bausteinen zugreifen kann!! Auch in der Doku von libnodave, steht nur der DB5 als Beispiel. Sobald ich den Baustein ändere, kriege ich einen Speicherzugriffsfehler!
daveReadBytes(dc, daveDB, 5, 68, 14, appBuffer);
Zum daveWriteBytes nun:
int daveWriteBytes(daveConnection * dc, int area, int DB, int start, int len, void * buffer);
Parameters:
dc: A pointer to a daveConnection structure representing an established connection.
area: A constant that specifies a memory area in the PLC.
DB: The number of a data block. Only meaningful if area is daveDB. Use 0 oterwise.
start: The address of the first byte in the block.
len: The number of bytes to read.
buffer: A pointer to some memory space where you want the result to be copied too.
Ich frage mich, wo man bestimmen kann, wohin man schreiben möchte!
Ich freue mich auf eure Antworten! Wie gesagt, ich bin nur einen Einsteiger und bisschen verwirrt!