MCP默认程序只能控制9个轴;如果想控制超过10轴西门子推荐的方法是使用轴变量替换,将超过10轴的信号通过1---9轴中不常用的轴变量传递给FC19,进而实现对超过10轴的控制。
如文中介绍。
FC19_add_axis_control.pdf
后来发现文档中的DB8.DBB3中存储的数值是可以改写的,于是尝试传递轴号到DBB3中,果然也可以实现轴控制。此方法好处是不用借用其他轴信号来传递信息。希望大家一起尝试改进吧。
示例程序如下:
//MCP控制第10轴的程序
A I 4.0 //按键
FP M 870.0
JCN _m01
R Q 2.6
R Q 4.0
R Q 3.7
R Q 2.5
R Q 3.6
R Q 3.1
R Q 2.4
R Q 3.2
R Q 3.3
= Q 2.3 //按键灯
_m01: A(
O Q 2.6
O Q 4.0
O Q 3.7
O Q 2.5
O Q 3.6
O Q 3.1
O Q 2.4
O Q 3.2
O Q 3.3
)
R Q 2.3
A Q 2.3
JCN _m02
L 10//10号轴
T DB8.DBB 3
_m02: NOP 0
S DB40.DBX1.7//激活10号轴倍率
经过后来验证,倍率不生效是因为PLC程序其他地方将DBX1.7清零了。也就是方法是没有任何问题的,大家注意将倍率生效就行。