倍福TwinCAT(贝福Beckhoff)应用教程12.1 TwinCAT控制松下伺服 连接和试运行
首先是用松下伺服自带的软件可以测试运行(驱动器,电机都连接好,然后用USB线连接到松下伺服驱动器的X1口),打开调试软件会自动提示连接到伺服

一般需要对驱动器清除绝对值编码器数据(驱动器可能报错40错误),写入驱动器参数值等等,这里不再详细说明如何改参数之类的(可以参考我对松下伺服驱动器的文档),我把对应的参数文件放到了项目中,这里只演示了传入参数文件

然后就可以使用松下自带的软件测试运行,能够正常运行说明驱动器参数,接线都没有问题。相反如果用伺服自带的软件走不起来,就没有必要用TWINCAT控制,需要先解决伺服驱动器的报错

新建一个TWINCAT项目,右击IO下的Devices,执行scan(如果你的scan不可用,请在桌面右下角将TWINCAT切换到config模式),然后所有弹出窗口都选择是(最好保持工控机联网状态,会弹出来一个窗口询问是否使用在线的XML文件描述,如果联网了可以使用最新的XML文件,这样扫描出来的驱动器就都是正常图标,如果你扫描出来的硬件和XML文件描述不一致,后续会有其他古怪的问题)

如果知道驱动器型号,也可以自己从松下官网下载对应的XML文件并放到指定目录
http://industrial.panasonic.cn/ea/products/motors-compressors/fa-motors/ac-servo-motors

如果你已经连接了新的设备,但是在TWINCAT中无法找到这个设备,请确认在TWINCAT软件点击安装网卡驱动(TWINCAT-Show Realtime Ethercat Compatibel Devices,然后选中某个设备,点击Install,他会从Incompatible device变成 Installed and ready to use devices),网线连接了PC和驱动器,对应的本地连接也会变成连通的状态

此时不新建任何PLC程序,直接点击激活配置,让TWINCAT切换到运行模式

注意,当你换了硬件(换了网卡),需要修改项目的默认绑定的网卡(直接点击激活配置会报错),选中Device,然后点击Search,然后找到对应的网卡(可以打开网络看哪个网口实际连着硬件)

点击驱动器的图标,然后在Name一栏往下翻到Modes of operation,右击执行Online Write,写入数值8,并对Driver2也做同样的操作(数值写8是为了让驱动器进入位置模式,如果不写上电会报错,后续会在PLC中自动绑定变量,暂时先这样做)

点击Axis 1,TWINCAT已经自动将他和我们扫描出来的Driver1绑定,点击Set,All即可伺服上使能,然后点击F2和F3的按钮即可发现电机转了

如果按F1或者F4的快速点动,可能会报错(Error一栏出现了0x4550的错误),按下F8可以清除错误(这里的报错是TWINCAT的软件报错,驱动器是否报错还要去看驱动器的LED是否有错,如果驱动器报错是无法通过这种方式解决的,必须用伺服自带的软件清除错误,可能还需要重启伺服)

此外我们需要知道这个错误代码的含义,查询贝福的帮助文档(在TWINCAT的NC Error Codes中列举了0x40-0x4B的所有可能,我们可以定位到0x4550,发现是跟随误差的问题)

点击Axis1的Prameter页面,把Monitoring的几个TRUE都改成FALSE,不检测跟随误差(改完之后点击左上角的激活配置,即可把新的参数写入,Online Value一栏就会变成新的设定值,对Axis2也做同样的操作),再次执行快速点动就不会有问题了

其实还没有结束,可以修改轴的单位为度(如果是模组可以改成mm)

修改编码器分辨率(这个问题很重要,决定了你要求电机转动一圈电机实际上转几圈),选中每个轴的Enc,然后在Parameter中修改Scaling Factor Numerator(默认值是0.0001)

分辨率一般有如下几种可能(17位或者20位,那么对应的分辨率值就是360/2^17 , 360/2^20这样得出来的),只要你改完之后让电机转动360度实际上也是就说明正确了,否则也不会差一点点,会差10度以上,可以区分的出来。

更多教学视频和资料下载,欢迎关注以下信息:
我的优酷空间:
http://i.youku.com/acetaohai123

我的在线论坛:
http://csrobot.gz01.bdysite.com/

问题交流:
QQ:910358960
倍福TwinCAT(贝福Beckhoff)应用教程12.1 TwinCAT控制松下伺服 连接和试运行的更多相关文章
- 倍福TwinCAT(贝福Beckhoff)应用教程12.3 TwinCAT控制松下伺服 NC进阶
在前面一节,我们简单介绍了通过PLC+HMI实现完整控制松下伺服的上使能-运动,采集位置,速度等功能,这里我们会大量简化用到的贝福功能块(为了更加实用).首先依然是对单个轴的封装,我们之前的做法,例如 ...
- 倍福TwinCAT(贝福Beckhoff)应用教程12.2 TwinCAT控制松下伺服 NC初步
在前面我们已经学会了使用贝福自带的调试软件完成试运行,接下来是使用TWINCAT PLC实现这个功能,右击PLC添加一个PLC项目 在VISUs上右击添加一个HMI人机界面 目前PLC程序和人 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程1.2 TwinCAT安装配置
由于TC2和TC3都有可能用到,个人推荐都安装,但是注意必须是先安装的TwinCAT2,然后安装TwinCAT3,如果反了可能两个都没法用(打开TcSwitchRuntime提示Both TwinCA ...
- 倍福TwinCAT(贝福Beckhoff)基础教程1.1 TwinCAT背景知识
本节附件中有很多PPT介绍贝福TwinCAT和EtherCAT的相关技术,在此只做简单说明. 简单总结:EtherCAT就是一种总线技术,具有速度快,稳定性高,布线简单等优点,详细可以参考下面这个PP ...
- 倍福TwinCAT(贝福Beckhoff)应用教程13.1 TwinCAT控制松下伺服 NC高级
本节主要演示了使用自定义函数实现电机的运动(梯形曲线和S曲线都有实现),这里的JOG+和JOG-,针对单个关节实现了PTP的运动(跟贝福的MoveAbsolute功能块实现效果一致),在此没有介绍运动 ...
- 倍福TwinCAT(贝福Beckhoff)应用教程11.1 TwinCAT应用小程序1 如何读写数字量模拟量输入输出(DI,DO,AI,AO)
常见的模拟量模块(还有更高端和更低端的,使用方法都一样) EL3054和EL4024(4路模拟量输入和输出模块) 常见的数字量模块(还有更高端和更低端的,使用方法都一样) EL1809和EL280 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程6.1 TwinCAT如何与高级语言通讯
因为使用TwinCAT的人用途不同,重视点就不同.如果用来代替传统PLC+HMI做项目的,很少会需要用到跟高级语言通讯,但是如果是用来做运动控制平台如做机器人运动控制器的,就肯定会用到.不管是否用得上 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT如何执行系统命令
TwinCAT提供了一系列的执行Windows系统命令的方法 Name 描述 NT_Shutdown 关机操作系统 NT_AbortShutdown 取消关机操作系统命令 NT_Reboot 重启操作 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-3 读写注册表
读写注册表和读写文件一样,里面涉及的输入类型比较复杂,需要参考官方范例 sSubKey是指注册表的路径 sValName是指注册表要写入的名值对的名称 eValType是一个枚举类型(而且不是什么常规 ...
随机推荐
- [ Python - 12 ] 线程的信号量、标志位及队列
线程的信号量 线程的信号量是同时允许一定数量的线程更改数据,主要作用在于限制线程的并发. #!_*_coding:utf-8_*_ # Author: hkey import threading, t ...
- [ MongoDB ] 副本集的搭建及测试
Replica Sets 复制 (副本集) node1: 10.0.0.10node2: 10.0.0.11node3: 10.0.0.12 副本集结构图:
- JavaSript中数组方法是否对原数组产生影响
JavaScript中数组方法有很多.某次面试被问到,concat()方法会对影响到原数组吗.当时记得不牢,犹豫地说"会吧...".于是决定总结一下哪些数组方法会对原数组产生影响. ...
- MATLAB规划问题——线性规划和非线性规划
1.线性规划 求线性规划问题的最优解有两种方法,一种方法是使用linprog命令,另一种是使用optimtool工具箱,下面分别介绍这两种方法. ①linprog命令 一般情况下,Linprog命令的 ...
- 一个杀不死的小强,kill进程无效的原因 记录故障排查过程中kill进程无效的分析过程
今天在处理一个机器异常负载(1000+)的问题,碰到了一个从未碰到过的情况,遇到了一个异常顽固的分子.我使用了所能想到的所有杀进程的方法,却始终无法干掉这个顽固分子,最后终于在谷歌大神的指引下,干掉了 ...
- 树状数组【CF703D】Mishka and Interesting sum
Description 给你n( 1<=n<=1000000)个数,以及m(1<=m<=1000000)个询问,每个询问包括l和r,问你在这n个数中,区间l~r,出现偶数个数的 ...
- centos 7下查找大文件、大目录和常见文件查找操作
根据园子 潇湘隐者的文章 <Linux如何查找大文件或目录总结>结合实际运维需要整理出常用命令 目标文件和目录查找主要使用 find 命令 结合 xargs (给命令传递参数的一个过滤器, ...
- [BZOJ 2809] Dispatching
Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2809 Algorithm: 很容易看出此题贪心的思路: 只要在每个点的子树中贪心选取费用 ...
- 【贪心】Codeforces Round #402 (Div. 2) C. Dishonest Sellers
按照b[i]-a[i],对物品从大到小排序,如果这个值大于零,肯定要立刻购买,倘若小于0了,但是没买够K个的话,也得立刻购买. #include<cstdio> #include<a ...
- 【二分图】【最大匹配】【匈牙利算法】洛谷 P2071 座位安排 seat.cpp/c/pas
∵每个座位可以坐俩人,所以拆点最大匹配. #include<cstdio> #include<vector> #include<cstring> using nam ...