展开查看
以下是引用手机用户20230423523746在2024-06-27 15:19:38的发言 >0楼:
测量说明书里,说了只要参数 MD51740 $MNS_MEA_FUNCTION_MASK, bit 6 is set =1
那么测量语句MEAS执行时,只要倍率大于0,一律按100%执行,这是为了避免进给变化造成测量误差,
但是为什么我在加工中心上实际运行MEAS语句时,倍率仍然可调的。
我看机床里N51740 $MNS_MEA_FUNCTION_MASK='H6b', 6b换成二进制是01101011,bit6是1,为什么还是不行呢,但是我用机床自带的测量工件功能的时候,测量时进给是不可调的。

西门子研发终于知道测量速度和校正测头时用的速度不一样,将导致很大误差,西门子没有像fanuc那样,一个变量#4xxx就能固定倍率(根植于NC底层)。所以西门子要么从底层去开发,要么用上层用测量循环去改变倍率。显然用测量循环来固定倍率是最优,解决思路是利用现有总倍率变量运算后始终为1,例如:通道进给倍率=测量速度÷plc倍率(系统变量能读出plc倍率开关数值),这样实际总倍率=plc倍率×通道进给倍率=1,此消彼长,总量不变。
还可以得到的结论:1.md51740并不能改变NC内部任何东西,因为你不用西门子测量循环时,MEAS程序段倍率仍然有效。
2.西门子测量循环会去读MD51740bit6,判断是否要使用上面的算法来固定倍率。