Siemens
Digital Industries, Motion Control, Machine Tool Systems
8837
Follower:innenAuslesen Summe einstellbarer und programmierbarer Frame
15.11.2021, 09:35 Uhr
Hallo liebe Community,
ist es möglich die Summe aus einem einstellbaren und programmierbaren Frame auszulesen ?
Bsp:
DEF REAL MERKER_X,MERKER_Y,MERKER_Z
$P_UIFR[11]=CTRANS(X,-138-27,Y,-229-23,Z,189.5)
G511
MERKER_X=$P_UIFR[$P_UIFRNUM,X,TR]+$P_UIFR[$P_UIFRNUM,X,FI]
MERKER_Y=$P_UIFR[$P_UIFRNUM,Y,TR]+$P_UIFR[$P_UIFRNUM,Y,FI]
MERKER_Z=$P_UIFR[$P_UIFRNUM,Z,TR]+$P_UIFR[$P_UIFRNUM,Z,FI]
TRANS X150
AROT Z90
MERKER_X=$P_UIFR[$P_UIFRNUM,X,TR]+$P_UIFR[$P_UIFRNUM,X,FI] -> Trans und Arot werden nicht berücksichtigt !
MERKER_Y=$P_UIFR[$P_UIFRNUM,Y,TR]+$P_UIFR[$P_UIFRNUM,Y,FI] -> Trans und Arot werden nicht berücksichtigt !
MERKER_Z=$P_UIFR[$P_UIFRNUM,Z,TR]+$P_UIFR[$P_UIFRNUM,Z,FI] -> Trans und Arot werden nicht berücksichtigt !
Danke vorab.
ist es möglich die Summe aus einem einstellbaren und programmierbaren Frame auszulesen ?
Bsp:
DEF REAL MERKER_X,MERKER_Y,MERKER_Z
$P_UIFR[11]=CTRANS(X,-138-27,Y,-229-23,Z,189.5)
G511
MERKER_X=$P_UIFR[$P_UIFRNUM,X,TR]+$P_UIFR[$P_UIFRNUM,X,FI]
MERKER_Y=$P_UIFR[$P_UIFRNUM,Y,TR]+$P_UIFR[$P_UIFRNUM,Y,FI]
MERKER_Z=$P_UIFR[$P_UIFRNUM,Z,TR]+$P_UIFR[$P_UIFRNUM,Z,FI]
TRANS X150
AROT Z90
MERKER_X=$P_UIFR[$P_UIFRNUM,X,TR]+$P_UIFR[$P_UIFRNUM,X,FI] -> Trans und Arot werden nicht berücksichtigt !
MERKER_Y=$P_UIFR[$P_UIFRNUM,Y,TR]+$P_UIFR[$P_UIFRNUM,Y,FI] -> Trans und Arot werden nicht berücksichtigt !
MERKER_Z=$P_UIFR[$P_UIFRNUM,Z,TR]+$P_UIFR[$P_UIFRNUM,Z,FI] -> Trans und Arot werden nicht berücksichtigt !
Danke vorab.
15.11.2021, 10:23 Uhr
Hallo,
so funktionierts
MERKER_X=$P_PFRAME[X,TR]+$P_UIFR[$P_UIFRNUM,X,TR]+$P_UIFR[$P_UIFRNUM,X,FI]
MERKER_Y=$P_PFRAME[Y,TR]+$P_UIFR[$P_UIFRNUM,Y,TR]+$P_UIFR[$P_UIFRNUM,Y,FI]
MERKER_Z=$P_PFRAME[Z,TR]+$P_UIFR[$P_UIFRNUM,Z,TR]+$P_UIFR[$P_UIFRNUM,Z,FI]
Kann geschlossen werden.
so funktionierts
MERKER_X=$P_PFRAME[X,TR]+$P_UIFR[$P_UIFRNUM,X,TR]+$P_UIFR[$P_UIFRNUM,X,FI]
MERKER_Y=$P_PFRAME[Y,TR]+$P_UIFR[$P_UIFRNUM,Y,TR]+$P_UIFR[$P_UIFRNUM,Y,FI]
MERKER_Z=$P_PFRAME[Z,TR]+$P_UIFR[$P_UIFRNUM,Z,TR]+$P_UIFR[$P_UIFRNUM,Z,FI]
Kann geschlossen werden.
15.11.2021, 11:46 Uhr
Das funktioniert gut, wenn die Frames nur Nullpunktverschiebungen enthalten.
Diese komponentenweise Addition wird allerdings etwas mühsam, wenn es auch Frames mit Drehungen gibt.
Wenn du einfach den Gesamtframe mehrerer verketteter Teilfames brauchst, kannst du die Frames (mit Doppelpunkt) miteinander verketten, und einer Framevariablen zuweisen, deren Komponenten du dann auslesen kannst.
Siehe dazu das Handbuch "Arbeitsvorbereitung" mit dem Kapitel "Wertzuweisungen an Frames":
Diese komponentenweise Addition wird allerdings etwas mühsam, wenn es auch Frames mit Drehungen gibt.
Wenn du einfach den Gesamtframe mehrerer verketteter Teilfames brauchst, kannst du die Frames (mit Doppelpunkt) miteinander verketten, und einer Framevariablen zuweisen, deren Komponenten du dann auslesen kannst.
Siehe dazu das Handbuch "Arbeitsvorbereitung" mit dem Kapitel "Wertzuweisungen an Frames":
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: