-> Hier kostenlos registrieren
Hallo Leute,
Ich bin neu hier im Forum und auch in der Programmierung mit TwinCAT. Ich habe ein Projekt wobei ich smarte Sensoren von ifm über einen IFM Master AL1332 mit einer Beckhoff CX8190 kommunizieren lassen möchte.
Bei meinen Devices handelt es sich um:
- DV2500 5 Segment-Signalampel
- KT6100 Kapazitiver Leuchttaster
IFM liefert im Downloadbereich eine IO-Link Schnitstellenbeschreibung. Dort ist bei der DV2500 zumindest im RGB-Mode schön aufgeschlüsselt, welche Bits vorhanden sind, damit an zumindest mal ein Segment triggern kann, damit dieser auch leuchtet.
Und jetzt kommt mein großes Problem. Die Eingänge und Aufgänge des IFM Masters muss man entsprechend der Prozessdatenlänge die Anzahl der Bytes für Input und Output zuordnen. Soweit habe ich das auch verstanden. Schaue ich in den Unterlagen, so liegen die Bits auf Words. Das beduetet für mich, dass ich ein Word aus jeweils 2 Bytes zusammensetzten müssen. Soweit wäre das logisch für mich.
Ich brauche doch irgendeine Funktion, damit ich 2 Bytes zu einem Word zusammenfügen kann, oder sehe ich das falsch?
Bei ifm kann man sich eine ZIP Dabei runterladen für den IO-Link Master mit einem Beispielprogramm darin enthalten. Hier werden 2 Bytes jeweils zu einem WORD konvertiert. Für mich sieht es aber nicht aus, dass diese Bytes zu einem Word zusammengefügt werden.
Ich habe wirklich keinen Schimmer, was die von IFM dort machen. Ich verstehe, dass mit dem Rol- Funktion (Input 1 von Byte auf Word konvertier) um 8 stellen nach links verschoben wird. Würde der Input 1 :=1 sein, dann wäre der 8 Bit getriggert und es würde 256 rauskommen.
Ich verstehe auch, dass die Funktion SHR sagt, dass ein Offset beim Lesen der Bytes des Wortes vorhanden ist, sodass die ersten 4 Bits nicht gelesen werden. Und erst ab den Bit 4 bis Bit 15 meine Prozessdaten vorhanden sind, also nur eine Bit-Breite von 12 zur Verfügung steht.
Ich hoffe hier findet sich jemand, der Ahnung davon hat, oder sich selber mal in das Thema getaucht ist.
Grüße Torch
Ich bin neu hier im Forum und auch in der Programmierung mit TwinCAT. Ich habe ein Projekt wobei ich smarte Sensoren von ifm über einen IFM Master AL1332 mit einer Beckhoff CX8190 kommunizieren lassen möchte.
Bei meinen Devices handelt es sich um:
- DV2500 5 Segment-Signalampel
- KT6100 Kapazitiver Leuchttaster
IFM liefert im Downloadbereich eine IO-Link Schnitstellenbeschreibung. Dort ist bei der DV2500 zumindest im RGB-Mode schön aufgeschlüsselt, welche Bits vorhanden sind, damit an zumindest mal ein Segment triggern kann, damit dieser auch leuchtet.
Und jetzt kommt mein großes Problem. Die Eingänge und Aufgänge des IFM Masters muss man entsprechend der Prozessdatenlänge die Anzahl der Bytes für Input und Output zuordnen. Soweit habe ich das auch verstanden. Schaue ich in den Unterlagen, so liegen die Bits auf Words. Das beduetet für mich, dass ich ein Word aus jeweils 2 Bytes zusammensetzten müssen. Soweit wäre das logisch für mich.
Ich brauche doch irgendeine Funktion, damit ich 2 Bytes zu einem Word zusammenfügen kann, oder sehe ich das falsch?
Bei ifm kann man sich eine ZIP Dabei runterladen für den IO-Link Master mit einem Beispielprogramm darin enthalten. Hier werden 2 Bytes jeweils zu einem WORD konvertiert. Für mich sieht es aber nicht aus, dass diese Bytes zu einem Word zusammengefügt werden.
Ich habe wirklich keinen Schimmer, was die von IFM dort machen. Ich verstehe, dass mit dem Rol- Funktion (Input 1 von Byte auf Word konvertier) um 8 stellen nach links verschoben wird. Würde der Input 1 :=1 sein, dann wäre der 8 Bit getriggert und es würde 256 rauskommen.
Ich verstehe auch, dass die Funktion SHR sagt, dass ein Offset beim Lesen der Bytes des Wortes vorhanden ist, sodass die ersten 4 Bits nicht gelesen werden. Und erst ab den Bit 4 bis Bit 15 meine Prozessdaten vorhanden sind, also nur eine Bit-Breite von 12 zur Verfügung steht.
Ich hoffe hier findet sich jemand, der Ahnung davon hat, oder sich selber mal in das Thema getaucht ist.
Grüße Torch