' schrieb:Hallo Ralf,
Ich habe inzwischen auf der Beckhof-Homepage die Doku gefunden zum ADS (siehe zip-file).
Darin finde ich auch die F020 (SPS-Prozessabbild der physikalischen Eingänge) die du verwendet hast.
Ebenso gibt es den Wert F030 (SPS-Prozessabbild der physikalischen Ausgänge).
Wenn ich den aber im Vi benutze dann kommt ne Fehlermeldung (siehe Screenshot).
Für den funktionierenden DigInput KL1418 steht im Twincat:
Kanal1: Port: 300, IGrp: 0x14001, IOffs: 0x0, Len: 1
..
Kanal8: Port: 300, IGrp: 0x14001, IOffs: 0x7, Len: 1
Der Wert x14001 entspricht also wohl irgendwie dem xF020
Wenn es klappen würde Bytes zu schreiben wär das Top. Das ganze in Bit umzubauen ist dann nicht mehr das Problem.
Aber derzeit bekomme ich leider noch den Fehler :-(
Eigentlich sollte es funktionieren oder?
Gruß
O.
Hmm, also ich denke mal dass 0x14001 eigentlich 0xF021 entspricht. Das ist der physikalische Eingangsbereich dann aber in Bitnotation, anders als 0xF020 das derselbe Bereich in Byteoperation ist. Der Unterschied scheint dann vor allem in der Offsetberechnung zu sein die dann nicht mehr in Bytes funktioniert sondern in Bits als im Prinzip 8 mal grösser wird.
Könnte es sein dass dann 13001 eigentlich 0xF031 entspricht und ebenfalls in Bitnotation? Auch zu Berücksichtigen ist dass das von Dir gefundenen Dokument die ADS Schnittstelle von TwinCat selber als virtuelle SPS dokumentiert. Die Busklemmen brauchen da natürlich nicht zwangsmässig die selben indexgruppen zu verwenden auch wenn die Übereinstimmung zumindest für die Eingänge natürlich doch als ein Indiz gesehen werden kann dass dem im Grossen und Ganzen eben schon so ist.
Edit: ADS Error 1799 bedeutet ungefähr "device is not in a ready state", was immer das hier bedeuten könnte.
Was ich beim Debuggen des ADS Read getan habe war mittels Wireshark schauen was durch Twincat über den Bus geschickt wird und dann analysieren und dasselbe in LabVIEW tun. Da das Grundgerüst von ADS ja schon fertig vorhanden ist sollten die nötigen Anpassungen die auf diese Weise eventuel noch zutage treten absolut minimal sein.
Rolf Kalbermatter