# FC überschreiben oder neu anlegen



## The-Cook (3 Juni 2009)

Wie kann man einen FC überschreiben oder neu anlegen? mit LibNoDave


----------



## argv_user (3 Juni 2009)

The-Cook schrieb:


> Wie kann man einen FC überschreiben oder neu anlegen? mit LibNoDave



Das geht IMHO mit Libnodave überhaupt nicht.


----------



## Human (3 Juni 2009)

argv_user schrieb:


> Das geht IMHO mit Libnodave überhaupt nicht.


 
Geht! Im Hauptverzeichnis der ZIP-Datei von libnodave ist eine "testISO_TCPload.c" da musst du mal schauen, was Zottel da gemacht hat! 

http://www.sps-forum.de/showthread.php?t=27703&page=3 Beitrag #21 von Zottel, da steht drin, was da passiert!


----------



## Question_mark (3 Juni 2009)

*Download S7 Baustein*

Hallo,



			
				Human schrieb:
			
		

> Geht! Im Hauptverzeichnis der ZIP-Datei von libnodave ist eine "testISO_TCPload.c" da musst du mal schauen, was Zottel da gemacht hat!



Ja, das geht schon. Ich habe mir LibNoDave noch nicht im Detail angesehen (will ich auch gar nicht), aber man muss den heruntergeladenen Baustein auch im AG einlinken. Da gibt es einige Optionen (zB. vorhandenen Baustein überschreiben, Baustein sofort einlinken etc.

Gruß

Question_mark


----------



## The-Cook (4 Juni 2009)

was kann man unter .NET mit der PDU machen?

es gibt nur folgende Methoden und keine Properties:


```
[SIZE=2][[/SIZE][SIZE=2][COLOR=#2b91af]DllImport[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#a31515]"libnodave.dll"[/COLOR][/SIZE][SIZE=2][COLOR=#008000]/*, PreserveSig=false */[/COLOR][/SIZE][SIZE=2] )]
[/SIZE][SIZE=2][COLOR=#0000ff]protected[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]static[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]extern[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] daveAddVarToReadRequest([/SIZE][SIZE=2][COLOR=#2b91af]IntPtr[/COLOR][/SIZE][SIZE=2] p, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes);
[/SIZE][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] addVarToReadRequest([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes) {
daveAddVarToReadRequest(pointer, area, DBnum, start, bytes);
}

[[/SIZE][SIZE=2][COLOR=#2b91af]DllImport[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#a31515]"libnodave.dll"[/COLOR][/SIZE][SIZE=2][COLOR=#008000]/*, PreserveSig=false */[/COLOR][/SIZE][SIZE=2] )]
[/SIZE][SIZE=2][COLOR=#0000ff]protected[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]static[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]extern[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] daveAddBitVarToReadRequest([/SIZE][SIZE=2][COLOR=#2b91af]IntPtr[/COLOR][/SIZE][SIZE=2] p, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes);
[/SIZE][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] addBitVarToReadRequest([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes) {
daveAddBitVarToReadRequest(pointer, area, DBnum, start, bytes);
}

[[/SIZE][SIZE=2][COLOR=#2b91af]DllImport[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#a31515]"libnodave.dll"[/COLOR][/SIZE][SIZE=2][COLOR=#008000]/*, PreserveSig=false */[/COLOR][/SIZE][SIZE=2] )]
[/SIZE][SIZE=2][COLOR=#0000ff]protected[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]static[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]extern[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] daveAddVarToWriteRequest([/SIZE][SIZE=2][COLOR=#2b91af]IntPtr[/COLOR][/SIZE][SIZE=2] p, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes, [/SIZE][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] buffer);
[/SIZE][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] addVarToWriteRequest([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes, [/SIZE][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] buffer) {
daveAddVarToWriteRequest(pointer, area, DBnum, start, bytes, buffer);
}

[[/SIZE][SIZE=2][COLOR=#2b91af]DllImport[/COLOR][/SIZE][SIZE=2]([/SIZE][SIZE=2][COLOR=#a31515]"libnodave.dll"[/COLOR][/SIZE][SIZE=2][COLOR=#008000]/*, PreserveSig=false */[/COLOR][/SIZE][SIZE=2] )]
[/SIZE][SIZE=2][COLOR=#0000ff]protected[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]static[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]extern[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] daveAddBitVarToWriteRequest([/SIZE][SIZE=2][COLOR=#2b91af]IntPtr[/COLOR][/SIZE][SIZE=2] p, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes, [/SIZE][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] buffer);
[/SIZE][SIZE=2][COLOR=#0000ff]public[/COLOR][/SIZE][SIZE=2] [/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] addBitVarToWriteRequest([/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] area, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] DBnum, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] start, [/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] bytes, [/SIZE][SIZE=2][COLOR=#0000ff]byte[/COLOR][/SIZE][SIZE=2][] buffer) {
daveAddBitVarToWriteRequest(pointer, area, DBnum, start, bytes, buffer);
}
[/SIZE]
```
 
Liebe Grüße

The-Cook


----------

