[CodeSys] 为什么说高创伺服算是高端?台达Codesys控制器带高创伺服测...

[复制链接]
查看88164 | 回复0 | 2024-9-11 09:10:09 | 显示全部楼层 |阅读模式
伺服驱动器交由谁来控制?



接口模式分为:

串行/脉冲/模拟                   EtherCAT
当我们通过高创伺服调试软件经由USB调试线来控制伺服时,接口模式需要选择为“串行/脉冲/模拟”,当我们通过倍福控制器台达Codesys控制器AX8经由EtherCAT总线来控制伺服时,接口模式需要选择为“EtherCAT”。

1.只有伺服处于EtherCAT接口模式下,该伺服才能在PLC的EtherCAT总线系统中运行起来。
2.该伺服在PLC的EtherCAT总线系统中运行起来后,通过MC_Power指令上使能后,在伺服调试软件可以看到“启用”指示为绿色,在CODESYS软件轴页面中可以看到轴状态为“standstill”




3.由于伺服此时是处于使能状态,故无法通过调试软件切换到串行/脉冲/模拟接口模式。我觉得这体现了高创伺服的严谨性。由于此时伺服处于EtherCAT接口模式下,故无法通过调试软件下使能,这是合乎常理的,因为此时伺服的控制权交由EtherCAT总线系统

3.1通过PLC运动控制管理指令“MC_Power”下使能后,在伺服调试软件中可以看到“禁用”指示为红色,在CODESYS软件轴页面中可以看到轴状态为“power_off”




4.伺服系统下使能状态,方可切换接口模式。此时我们可以通过调试软件切换到“串行/脉冲/模拟”接口模式


4.1此时我们看到轴页面,轴报FB错误“SMC_ERROR.SMC_RP_REQUESTING_ERROR”,表示向驱动设备传递时出错 。这个错误就是因为我们把伺服的接口模式切换到了“串行/脉冲/模拟”接口模式。PLC系统与伺服的EtherCAT通讯中断,无法与伺服驱动交换信息。




4.2此时我们继续通过运动控制管理指令“MC_Power”上使能,轴状态机转为stopping。(显然现在已经不能通过PLC系统经EtherCAT接口模式控制伺服了。)



我发多少个脉冲,伺服电机能转一圈?

5.此次测试的高创伺服电机编码器为多摩川17位单圈绝对值编码器,也就是一圈反馈131072个脉冲。
6.当然对于上位控制系统关心的是:我发多少个脉冲,你伺服电机能转一圈
举例:
6.1 在松下MINAS-A6B(B:EtherCAT )系列伺服里面准确描述如下图:


6.2 此时我们的电子齿轮比为编码器分辨率/Feed(6092-01h)。例如我们将Feed(6092-01h)设为8388608,那么上位系统发送8388608个脉冲经电子齿轮比变换后刚好为编码器分辨率,故电机能转一圈。所以可以简单的将Feed(6092-01h)作为[电机每转1圈的指令脉冲数]
6.3 在高创伺服系统中亦是如此,可以简单的将Feed(6092-01h)作为[电机每转1圈的指令脉冲数]



6.4 在“终端”界面可以直接输入pnum 360000,相当于将Feed(6092-01h)设为360000,那么就是接收360000个脉冲转一圈。当然我们也可以把PNUM设为其他的值,例如1048576、8388608等,那么就是接收1048576、8388608个脉冲转一圈。输入pnum 后面不带数字直接回车为查询功能,返回当前Feed(6092-01h)的设定值。




伺服系统脉冲计数位置与用户指令位置的烧脑转换!

7.对于此次测试的高创单圈绝对值的伺服,它知道此刻它在一圈中的什么位置(0-131072)

8.我们给一个伺服断电后重新上电它知道此刻它在一圈中的什么位置( 如图一:比如23380 )。由于当前伺服系统设定为接收360000个脉冲转一圈,所以会对应出一个缩放后的值64215( 如图二:64215=360000/131072*23380 ,此为我们在台达Codesys控制器AX8中监视轴的diActPosition



图一



图二

9.那么进一步会对应一个用户单位的值64.215,因为我们“告诉”台达Codesys控制器AX8,你发360000个脉冲,高创伺服电机会转360°(如图三:64.215=360/360000*64215) 。这就是我们的初始位置。



图三

10.这就解释了为什么我们在程序代码中给定用户指令位置台达Codesys控制器AX8知道发多少脉冲给高创伺服,而最终伺服电机转动的角度也是能和我们发的用户指令位置对应上的。

碰index信号高精度回零!

11.接下来我们用高创伺服调试软件控制伺服用34号回零方式测试。回零完成后我们再次监控伺服的位置,可以看到下图中三个位置都为0,表示回零完成。





12.在实际应用中我们一般采用先碰限位再碰index信号的回零方式,例如视频中的1号回零方式:离开负限位后,第一个index标记回零


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3233354148998283265OverOver

!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则