倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3

这一节我们介绍简单的NC运动(前面所讲的所有内容都是PLC编程和HMI的界面,算是基础知识),这里NC就是控制伺服电机的部分(当然还不是实际的NC轴,是虚拟轴,但是用到的函数都是一样,可以为后面的实际应用做准备),既然用到了贝福的NC功能,就要添加对应的库

 

首先添加一个让轴上使能的PRG(注意是FBD格式)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第1张图片

 

在第一个空行后面插入空运算块,然后在中间的???里面输入运算块的名称(NC的函数名,NC的函数就是控制轴运动的函数,无非是上使能,下使能,位置,速度等等运动,跟运动控制卡提供的函数类似),输入MC_Power之后,该块直接变成了指定的形式(左侧的都是输入,右侧的都是输出)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第2张图片

 

NC的函数本质是一个FB的功能块,而且注意TC2和TC3的不太一样,最大的区别就是TC3把跟轴交互的输入输出变量做成了一个(这个以后会讲到),我们只要记住在TC3中一个轴跟NC交互的就是一个AXIS_REF类型变量,这里把所有变量都定义成10个元素的数组,是为了方便(假如有多个轴要绑定就不需要再声明这么多变量了),左侧的BufferMode和Options也可以不管照抄即可(前面讲了很多贝福的模块很复杂,而实际上我们用到的部分很简单,所以不需要每个细节都掌握)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第3张图片

 

右侧如果没有输出符号,可以右击引脚,然后插入输出即可

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第4张图片

 

我们既然定义好了这样一个功能块,如何使用呢?首先添加一个NC的配置项目(PLC的配置和NC的配置本质上是分开的,因为NC就是对所有IO输入输出的配置,而PLC程序怎么写跟外部设备怎么配没关系)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第5张图片

 

在Axis上右击添加一个新的轴(所有参数保持默认即可)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第6张图片

 

双击Axis 1,然后在Settings中把Link To PLC设置成一个PLC中的对应变量(注意前面创建完了AXIS_REF变量之后要点击激活配置,否则这里不会自动弹出来有效变量)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第7张图片

 

如果是实际的轴还需要配置其他参数,比如编码器分辨率,但是虚拟的就无所谓了,只需要把Monitoring中的跟随误差检测这些设置为FALSE即可,设置完了还是点击左上角的激活配置,确认Online value也是FALSE才说明真的写进去了

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第8张图片

 

NC的简单配置完成之后,我们继续写程序要实现的功能,为了简单只使用一个绝对运动功能块,输入还是一个上升沿触发,注意输出仅当已经到达目标位置的时候Done才是TRUE,否则为FALSE,一个绝对运动模块需要位置,速度,加速度,减速度,加加速度这些参数(S曲线的PTP运动),我们还是使用数组来对应

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第9张图片

 

这些都有了之后,程序就很好写了,在0状态的情况下,将绝对运动模块复位,点击按钮将可以上使能和下使能,也可以让虚拟轴按照给定的运动参数运动到指定的位置,注意为了在人机界面中可以看到程序的执行情况,还是做了一个字符串表示是否上使能成功,是否运动完成

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第10张图片

 

注意打开Axis 1的Online页面对照,点击上使能,下使能,绝对运动执行的时候,都可以在这个页面看到轴的数据变化(当然这里只是测试了最简单的两个模块,实际上轴运动的时候可能会报错,会需要采集错误的模块,清除错误的模块,还需要停止运动的模块等等,都将在实际应用案例中讲解)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第11张图片

 

理论上,获取轴的位置,速度都是有指定方法的(如MC_ReadActualPosition),这里为了简单,还是只是用了轴的自身的属性(可以对AXIS_REF类型加深理解,一个AXIS_REF类型包括了FromPLC和ToPlc的两部分数据,PLC程序可以从一个AXIS_REF类型中获取到指定的数据或设置AXIS_REF的数据,在本节的另一篇文章中将介绍在TC2中同样的内容的做法,TC2是讲两部分数据分开的,需要分别绑定到同一个轴上)

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第12张图片

 

事实上,在配置好一个虚拟轴(实际轴也是一样)之后,激活配置,不运行PLC程序,也可以通过每个Axis页面的Online测试这个轴,比如Set-All可以伺服上使能,F2,F3可以慢速点动,F1,F4可以快速点动

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第13张图片

 

可以在Function中测试绝对运动,相对运动,往复两点等

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第14张图片

 

可以新建一个轴,并将轴设置为丛动轴(以一些贝福自带的从动方式跟随主动轴的运动),注意需要两个轴都手动Set-All上使能。但是这些功能都不太常用,所以只要了解即可。

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第15张图片

 

 

更多教学视频和资料下载,欢迎关注以下信息:

我的优酷空间:

http://i.youku.com/acetaohai123

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第16张图片

 

我的在线论坛:

http://csrobot.gz01.bdysite.com/

倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3_第17张图片

 

问题交流:

QQ:910358960

邮箱:[email protected]

 

 

 

你可能感兴趣的:(倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3)