西门子官方在使用S7-1200/1500与G120驱动进行速度控制已经有很典型的应用场景了,也有相关的说明文档可供下载。虽然FB285的封装形式有了一些改变,但本质基本都是不变的。
![](/club/bbs/upload/image/20240521/6385191776402358625680819.png)
图1 博图V14使用的FB285
![](/club/bbs/upload/image/20240521/6385191791408541023993338.png)
图2 博图V15及以上使用的FB285
原理都是S7-1200/1500和G120等驱动配置“标准报文1”,然后使用“激活命令”、“速度设置”等输入引脚,从而实现驱动的速度控制。
这次在现场项目使用的是S7-1500和G120的速度控制,和以前不一样的是,G120使用了抱闸功能,在G120参数中需要单独配置抱闸参数“break control”。关于抱闸参数可以参考其他文档资料,不做详细介绍。下面只简单说下抱闸功能和FB285之间的使用关系。
因为在抱闸功能的打开使用了G120的DO数字端口功能,所以使用FB285时,“EnableAxis”为true,抱闸DO提前打开,抱闸线圈松开,电机运转。“EnableAxis”为false,电机减速停止,转速为0,抱闸DO关闭,抱闸线圈抱死。
到这里,基本的抱闸电机的转速控制都没有问题。但是用户提出来一个需求,现场操作人员在检修保养的时候,需要单独打开电机抱闸来实现电机的空转。
因为抱闸功能是用G120的DO端口,所以我在想如果单独控制DO是不是就可以实现这个单独打开抱闸的功能。但是碰到一个实际的问题就是,同一个DO不能有2套功能。这个时候我就打起了PN总线通讯的主意,是不是可以用报文里面的控制字来实现DO的打开?在查询了相关文档以后,我发现标准报文的STW1控制字并没有全部使用,有几个预留的参数,那么用这几个参数是不是就可以了?
最后经过测试,在修改G120的参数和FB285的“ConfigAxis”引脚参数,就实现了单独控制抱闸线圈的功能。
参考方法如下:
(1)修改G120总线参数
![](/club/bbs/upload/image/20240521/6385191927136047522944944.png)
图3 打开G120总线参数
增加r2090.12 = p855[0] ,强制打开抱闸功能。其他参数默认不变,否则影响FB285的正常使用。注意,修改完成后,要Copy RAM to ROM。
![](/club/bbs/upload/image/20240521/6385191942624907826360128.png)
图4 STW1修改前报文参数
![](/club/bbs/upload/image/20240521/6385191944812499715876397.png)
图5 STW1修改后报文参数
(2)修改PLC程序
FB285的“ConfigAxis”输入引脚增加一个16位word型变量。增加一段程序:
![](/club/bbs/upload/image/20240521/6385191954476281914235128.png)
图6 PLC程序参考
程序说明:在FB285标准使用中,ConfigAxis输入16#003F,电机即可进行速度控制。这里因为需要单独增加抱闸打开功能,所以ConfigAxis的bit7需要关联HMI变量。