在我们实际设备应用中,有时候会遇到轴机械参数会改变的情况。比如说客户更换了减速机,减速比发生了变化。又或者是更换了丝杠,丝杠螺距发生变化。这些机械参数改变时,我们是否可以通过程序修改S7-1500轴工艺对象的值呢?
下面我们以修改定位轴轴工艺对象丝杠螺距为例,来做个简单测试。
首先,从工艺对象的DB中,查看丝杠螺距对应参数Mechanics.LeadScrew可知,其“设定值”为勾选状态(见图1),那我们是否可以直接将新的轴工艺参数,直接MOVE传送至轴的Mechanics.LeadScrew中呢?
图1 轴工艺对象DB
我们直接在主程序OB1中写入如图2程序,下载测试;
图2 直接写入测试程序
我们直接将数据由10.0更改为15.0后,CPU直接停机了。查看CPU的诊断缓冲区,CPU是由于工艺功能写保护错误,导致CPU停机。由此可见,Mechanics.LeadScrew不可以被MOVE直接写入。
图3 轴工艺对象直接写入测试过程
那如果不可直接写入,我们应该怎么处理呢?让我们去博途的帮助里面找找原因吧。
在博途的帮助中,展开“使用工艺对象”--“运动控制”--“运动控制(S7-1200,S7-1500,S7-1500T)”--“附录”,找到对应的轴工艺对象参数(如图4所示),我们能看到参数所对应的“W”类型。我们展开Mechanics.LeadScrew,可以看到其“W”类型为“RES”。“RES”的含义可以通过点开“图例”找到答案,见图5。“RES”需要通过扩展指令“WRIT_DBL”对起始值进行修改,并重启轴工艺对象,更改即生效。
图4 帮助中轴工艺参数介绍
图5 Mechanics.LeadScrew参数说明
按照帮助里的介绍说明,我们做了如下程序处理,如图6所示。
图6 WRIT_DBL程序代码
下载程序,让我们来验证一下是否能实现我们的要求。
图7 WRIT_DBL程序运行结果
从结果可看出,新的轴参数已经成功写入到了工艺对象中。