在某个轴的Enc上双击,可以修改Scaling Factor Numerator     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线论坛: http://csrobot.gz01.bdysite.com/   问题交流: QQ:910358960 邮箱:acetaohai123@163.com      …
双击某个驱动器(以松下伺服驱动器为例),在Process Data中,注意默认显示了PDO mapping1的数据(Error code, status word等)   注意左侧,2和3分别表示了与驱动器的所有数据输入和输出,如果我选中2 Output之后,勾选四个选项,那么就会有PDO mapping1到4,当然如果3 Input只勾选了第一项,那么就只会有Receive PDO mapping1   在PDO mapping2中可以找到Torque actual value   我们还是输…
该参数是包含六个数字类似于IP地址的字符串形式,例如"1.1.1.2.7.1",如果为空字符串,则默认使用本机的AmsNetID 你可以右击贝福的图标,然后点击About查看当前本机的ID   TC3修改TwinCAT AMS NET地址: 右击任务栏中TwinCAT图标,Router,Change AMS NetId,然后重新输入   TC2修改TwinCAT AMS NET地址: 右键任务栏中TwinCAT图标,选择"Properties". 在控制器及电脑的&…
对于相对编码器类型轴(包括虚拟轴),可以使用贝福提供的找原点功能块MC_Home.   HomingMode是指机器在往前跑的时候(30单位/s的默认速度),当碰到阻挡,则会有一个布尔值从FALSE改成TRUE,此时认为超过了零点.然后该轴反向运动,一定能捕捉到TRUE改成FALSE,然后就停下,认为当前位置是原点(不一定是0位置,你Position是多少就将当前位置设置为多少)   在虚拟的轴测试中,可以做一个按钮,按下为TRUE,松开为FALSE.当点击HOME之后,该轴的位置马上变成很小的…
首先确认驱动器没有报错(如果驱动器报错,请先解决绝对值编码器的清除多圈数据问题) 报错一般上使能就会报错,没法测试运转,而且不管是用贝福自带的NC功能还是自己写的都会一样的效果   请删除在贝福的EtherCAT目录下的松下的XML文件(可能就是这个XML文件的问题)   然后按照"松下伺服如何与TwinCAT3连接使用1"的说明(只是不放XML文件,重新扫描一遍出来),虽然扫出来的Drive1是问号,但是是能用的.   对于已有的项目,可以删除所有的Devices的东西和Mappin…
有时候,让电机从0度转到绝对的360度,有时候会出现电机实际转动更多或者更少的情况.   一般是电机的编码器的Scaling Factor Numerator数值不对导致的,数值越小,则同比转过角度越多,例如我数值是0.0001的时候,360度实际对应了720度以上,我改成0.00035之后,就差不多了.   那么如何精确的设置这个参数呢?参考讲义说一圈对应的脉冲数和一圈对应的长度(注意TwinCAT默认单位是mm,可以改成角度,那么一圈对应就不是360mm而是360度,同样可以360/一圈对应…
由于TC2和TC3都有可能用到,个人推荐都安装,但是注意必须是先安装的TwinCAT2,然后安装TwinCAT3,如果反了可能两个都没法用(打开TcSwitchRuntime提示Both TwinCAT are activated,这样你一个也无法禁用),如果是这种情况请先把两个都卸载了,如果已经安装了TwinCAT2,则在安装TwinCAT3的时候,会自动检测是否存在TwinCAT2,如果有就自动禁用,可以发现桌面右下角图标变成灰色(此外需要注意,TC2有64位的版本,但是不能运行runtim…
本节主要演示了使用自定义函数实现电机的运动(梯形曲线和S曲线都有实现),这里的JOG+和JOG-,针对单个关节实现了PTP的运动(跟贝福的MoveAbsolute功能块实现效果一致),在此没有介绍运动控制算法的具体原理,不理解的可以网上搜索梯形曲线和S曲线的文章,并不只是非标自动化需要用到控制电机的PTP运动,比如升降机,电梯,或者凡是需要匀滑启停的电机控制,都逃不过要用到这方面的知识,读者也可以自己测试5次或者7次等其他自定义加速曲线,每一种运动给出的位置,速度,加速度都会有不同的效果.  …
在前面一节,我们简单介绍了通过PLC+HMI实现完整控制松下伺服的上使能-运动,采集位置,速度等功能,这里我们会大量简化用到的贝福功能块(为了更加实用).首先依然是对单个轴的封装,我们之前的做法,例如伺服上使能,使用了MC_Power模块,这个模块的输入和输出引脚都是自己定义的变量,比如是否上电成功我们是靠AxisPowerReady的信号来判断的,如果有两个甚至多个伺服的时候,这样做就很不方便管理了,所有的同类型变量都应该用数组统一管理.   改变之后的上使能,就变成了调用一个模块(我们把Ax…
在前面我们已经学会了使用贝福自带的调试软件完成试运行,接下来是使用TWINCAT PLC实现这个功能,右击PLC添加一个PLC项目   在VISUs上右击添加一个HMI人机界面   目前PLC程序和人机界面都是空的,我们要通过这两个实现我们自定义的点动.首先右击Reference添加TC2_MC2的类库(这个类库是Motion Control的类库)   右击GLVs,添加两个全局变量,注意类型为AXIS_REF(比较特殊的类型,是跟NC轴交互的变量),在TWINCAT2中不太一样,一个AXIS…