' schrieb:Hallo rolfk,
der Thread ist zwar schon fast 1 Jahr alt aber vielleicht wird er ja wieder gelesen.
Ich versuche auch gerade eine BK9000 mit LabVIEW in Betrieb zu nehmen. Anpingen kann ich das Teil bereits.
Angeschlossen ist bei mir:
KL2134 (4 outputs)
KL2134 (4 outputs)
KL1418 (8 inputs)
Jetzt hab ich mir mal deine VIs runtergeladen und laufen lassen.
Geöffnet hab ich gerade das file "ADS TCP Test Example.vi" in das ich die IP von meinem BK9000 eingetragen habe.
Wenn ich es ausführe bekomme ich als Rückgabe:
major: 1800
minor: 0
build: 0
Name: BK9000
bei "data" bekomm ich dann den Status des KL1418 zurück. Dh wenn ich manuell per Kabel den:
Eingang 1 auf 24V setze bekomme ich eine b1
Eingang 2 auf 24V setze bekomme ich eine b10
Eingang 3 auf 24V setze bekomme ich eine b100
Eingang 4 auf 24V setze bekomme ich eine b1000
Eingang 5 auf 24V setze bekomme ich eine b10000
Eingang 6 auf 24V setze bekomme ich eine b100000
Eingang 7 auf 24V setze bekomme ich eine b1000000
Eingang 8 auf 24V setze bekomme ich eine b10000000
Jetzt ist nur noch die Frage wie kann ich die beiden KL2134-Module ansteuern?
Das sind jeweils 4 Ausgänge pro Modul.
In deinem VI-Tree gibt es auch ein Write-Bytes-vi. Aber wie kann man dieses verwenden?
Hast du mir hier noch einen Tipp?
Danke und Gruß
O.
Also, die Busklemmen Module werden alle in der Reihenfolge wie sie angeschlossen sind in die Registermap des Controllers gemappt. D.h. Wenn Du das KL1418 an erster Stelle hast sollte das 8 Bits auf Adresse (index offset) 0 belegen. Die zwei anderen Module kämen dann wahrscheinlich ab Adresse 1 (oder haben die Module jetzt 16 Bit Adressierung, das weiss ich jetzt nicht mehr so ganz).
Das Problem ist hier folgendes: Ich habe die Library zwar allgemein implementiert aus Informationen die ich vom Internet gefunden habe, (beispielswiese source code im Projekt zu
http://visual.sourceforge.net/new/index.php) aber beim Kunden war nur gefragt um ein einziges digitales Eingangsmodul pro Controller lesen zu können. Ich hatte dann auch nur das zum Testen, also keine zwei Module, um etwas besser das Mapping in die Registermap untersuchen zu können und auch keine Ausgangsmodule um das Schreiben nach dem Beckhoff Controller testen zu können. Als solche ist die Library zwar grundsätzlich vorhanden und funktioniert auch zum Lesen von Modulen (die Frage ob es jetzt 8 oder 16 Bit sind und ob die Module packed also ohne Lücke oder aber immer gerundet auf eine bestimmte Addresse in der Registermap liegen lässt sich im Bedarfsfall sehr schnell mit ein paar Tests herausfinden). Ob das Schreiben funktioniert kann ich leider nicht garantieren da ich das nie testen konnte. Und im Moment habe ich auch gar keine Beckhoff Module zur Verfügung um weitere Tests durchführen zu können.
Natürlich wäre es grossartig wenn Du eventuelle Resultate Deiner eigenen Untersuchungen hier gegebenfalls zum Vorteil aller anhängen könntest.
Rolf Kalbermatter