# Libnodave PAW schreiben



## FeigeKalle (4 Februar 2011)

Hallo, 

ich habe ein Problem beim schreiben von PAW mit Hilfe von Libnodave. 
Die Verbindung zur S7-300 und das ansteuern von Merkern oder einzelnen Bits läuft wunderbar. Nun wollte ich gerne eine Analoge-Ausgangsbaugruppe ansteuern. Leider klappt das ganze aber nicht. Vieleicht könnt ihr mir Helfen, denn ich weiss im Moment nicht weiter.
Ansteuern von einem Bit mache ich so:

Dim Group1 AsInteger
Group1 = TextBox1.Text * 8 + 1
Dim buf(0) AsByte
If fds.rfd > 0 Then
buf(0) = 1
res = dc.writeBits(libnodave.daveOutputs, 0, Group1, 1, buf)
 
Und so wollte ich eigentlich das PAW 754 ansteuern:

Dim buf(0) AsByte
If fds.rfd > 0 Then
buf(0) = 250 ' Wert zum ansteuern ?
res = dc.writeBytes(libnodave.daveP, 0, 754, 2, buf)
 
Danke Euch schon mal im vorraus 
mfg
Kalle


----------



## Jochen Kühner (4 Februar 2011)

dein buffer ist ja nur 1 byte groß und du willst ein Wort (2 bytes) schreiben!


----------



## FeigeKalle (4 Februar 2011)

ok gerade geändert in buf(2) leider jedoch ohne Erfolg. Oder ist der Ansatz falsch? Ist für mich alles noch Neuland. Hast du vieleicht einen Tipp? :-D


----------



## Rainer Hönle (4 Februar 2011)

Wird im SPS-Programm das PAW 754 verwendet? Wie ist das Prozessabbild eingestellt?


----------



## FeigeKalle (4 Februar 2011)

Habe gerade mal das Programm gelöscht und nur die HW Konfig geladen. PAW ist Adresse 754 mit 0-20mA


----------



## Jochen Kühner (4 Februar 2011)

Rainer Hönle schrieb:


> Wird im SPS-Programm das PAW 754 verwendet? Wie ist das Prozessabbild eingestellt?



Wenn er in Paw schreiben will sollte das Prozessabbild ja egal sein. Ich hab aber mit libnodave noch nie auf Paw geschrieben daher kann Ich im Moment nicht mehr dazu sagen!


----------



## FeigeKalle (4 Februar 2011)

ok, erst mal vielen Dank für Deine schnellen Antworten. Ich habe meinen Fehler gefunden. Es liegt an dem Wert. 250 sind zu viel. Habe den Ausgang mal auf 4-20mA gelegt und siehe da der Wert geht ins negative. Bei einem Wert von 0 habe ich auch die 4mA wieder. Bei 3 ungefähr 4.7mA.


----------



## Rainer Hönle (4 Februar 2011)

Zu beachten ist, dass Buff(0) das Highbyte und Buff(1) das Lowbyte ist. Den gewünschten Wert einfach entsprechend aufteilen.

@Jochen: 
Wenn das Prozessabbild entsprechend groß parametriert ist, wird dann nicht eventuell das PAW 754 am Ende des OB1 überschrieben?


----------



## FeigeKalle (4 Februar 2011)

Alles klar das war es...Ihr seid Klasse....Vielen Dank


----------



## Jochen Kühner (4 Februar 2011)

Rainer Hönle schrieb:


> @Jochen:
> Wenn das Prozessabbild entsprechend groß parametriert ist, wird dann nicht eventuell das PAW 754 am Ende des OB1 überschrieben?




Hast ja recht....


----------

