​≤4.0.1501.2.2版本固件的CMMP内部扭矩模式的力的增加速度(force ramp)是100%且是固化在固件里面,所以比较老版本的“西门子的CMMP功能块”内部没有定义force ramp(虽然功能块外部输入有这个变量)。

但对于≥4.0.1501.2.2版本的CMMP-AS将这个Force ramp变量的操作又完全交给功能块,固件里面没有固化这个参数,客户使用比较新的“西门子的CMMP功能块”(4.0版本以上)的话,因为其内部和外部完整定义了Force ramp这个变量,所以并不影响扭矩模式的使用。

综上,比较老的”西门子的CMMP功能块”(如2.5,只有一个CMMP_CTRL功能块的那种)配合比较新固件版本的CMMP就会导致以上问题。

解决方法:

1. 刷低CMMP-AS控制器固件版本至2.2;

2. 使用4.0及以上版本的西门子的CMMP功能块;

3. 在老的功能块中的Directmode Forcectrol 程序段的开头加入如下语句(做该操作要慎重)。

    #OUTPUT_DATA[4] := INT_TO_BYTE(#SetValueForceRamp);