Libnodave PAW schreiben

FeigeKalle

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zuletzt bearbeitet:
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.
 
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?
 
Zurück
Oben