之前发了一篇关于坐标位姿采用欧拉角编程A2,B2,C2方式的帖子http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1633223&b_id=20&s_id=0&num=3#anch,想起来还有一个地方非常相似,那就是零偏。
那顺便也说下零偏中的角度设置。通常建立零偏即工件坐标系的时候,以G54为例,除了设置XYZ的偏移量,还要设置旋转角度。因为很难保证产品坐标系和机床坐标系重合,所以旋转角度设置也很重要。既然是两个坐标系的转换关系,又回到了旋转矩阵的表述上了。
不过坐标系旋转角度的定义,官方已经默认了采用欧拉角ZYX的方式。
MD10600 FRAME_ANGLE_INPUT_MODE (默认为1)
- FRAME_ANGLE_INPUT_MODE = 2,用欧拉角旋转
其中的旋转顺序为:
第1次旋转,绕Z轴
第2次旋转,绕X轴
第3次旋转,绕Z轴
- FRAME_ANGLE_INPUT_MODE = 1,用RPY旋转
其中的旋转顺序为:
第1次旋转,绕Z轴
第2次旋转,绕Y轴
第3次旋转,绕X轴
所以直接在零偏中分别设置对应XYZ的旋转角度值即可,不过由于是坐标系的转换,默认的小数点后3位精度一般不太够,建议扩展到6位。
相应的参数为MD10210 $MN_INT_INCR_PER_DEG 将其改为1000000
MD51020 $MNS_DISP_RES_ANGLE 改为6