如何基于TwinCAT3实现伺服电机控制(一)

先说一下硬件,伺服电机采用定制的关节无框力矩电机,带力矩传感器,EtherCAT通讯,想用在康复机器人上做运动控制研究。

软件方面采用TwinCAT3,这个到倍福官网https://www.beckhoff.com.cn/zh-cn/上搜索下载即可,前置需要安装Visual Studio,我用的是2017版本,具体软件安装我就不具体讲了。

如果软件配置完毕,重启后右下角应该有一个绿色的齿轮图标,这个代表TwinCAT3已经启动了,而在配置模式下则会变为蓝色。

然后打开Visual Studio 2017(TwinCAT3没有单独的应用,是基于VS做的,可以理解为游戏的DLC),会发现新建项目下多了三个TwinCAT的项目,我们选择TwinCAT Projects→TwinCAT XAE Project新建即可,记得不能有中文。

如何基于TwinCAT3实现伺服电机控制(一)_第1张图片

至于TwinCAT3如何操作,我建议大家参考一下倍福官方提供的培训教材,操作有问题或者教材找不到可以联系我。

如何基于TwinCAT3实现伺服电机控制(一)_第2张图片

接下来基于我的课题,简单讲一下如何基于TwinCAT3实现伺服电机控制。

项目新建后会自动生成一堆子目录,其中常用的有MOTION、PLC、I/O这三个。

如何基于TwinCAT3实现伺服电机控制(一)_第3张图片

首先对MOTION右键添加新项,选择NC/PTP NCI Configuration后Ok。

如何基于TwinCAT3实现伺服电机控制(一)_第4张图片

然后对Axes右键添加新项,这个轴对应你要控制的电机轴,我这里只添加了一个,如果是多个电机,这里就应该添加多个。

如何基于TwinCAT3实现伺服电机控制(一)_第5张图片

假设我们已经完成后面PLC和I/O的配置,找到Axis 1下的Settings,首先要Link To I/O并Link To PLC,Axis Type也要根据实际情况修改,我用的是EtherCAT通讯,所以这里选的是CANopen DS402/Profile MDP 742,通讯有问题就可以去找DS402通讯协议手册。因为电机的原因我这里Unit是以°为单位,大家根据实际电机种类修改。

如何基于TwinCAT3实现伺服电机控制(一)_第6张图片

PLC目录下也先右键添加新项,然后就是在References下添加依赖库,在DUTs下创建功能块,在GVLs下定义全局变量,在POUs下编写MAIN主控程序,在VISUs下编写可视化人机交互界面,这些我就不具体说了,大家只要好好看倍福提供的教材一定都能学会。

如何基于TwinCAT3实现伺服电机控制(一)_第7张图片

如何基于TwinCAT3实现伺服电机控制(一)_第8张图片

I/O目录下对Devices右键添加新项,我是用的EtherCAT通讯,大家根据实际通讯协议添加。

如何基于TwinCAT3实现伺服电机控制(一)_第9张图片

然后对Device 1右键添加新项,Type也要根据实际情况选择,我默认选的EK1100这个。

如何基于TwinCAT3实现伺服电机控制(一)_第10张图片

除了上面这些,我还新建了YT NC Scope Project,该项目能对电机的多个运动参数进行实时监控,比如位置、速度、加速度。

如何基于TwinCAT3实现伺服电机控制(一)_第11张图片

如何基于TwinCAT3实现伺服电机控制(一)_第12张图片

PS:新手刚开始接触TwinCAT3难免会遇到下面两个问题

一个是运行时报错AdsWarning:4120

如何基于TwinCAT3实现伺服电机控制(一)_第13张图片

说明电脑VT-X配置不对,此时应找到Real-Time→Settings→Set on Target

如何基于TwinCAT3实现伺服电机控制(一)_第14张图片

把W/O设置为N:1,Set后电脑会重启

如何基于TwinCAT3实现伺服电机控制(一)_第15张图片

重新打开TwinCAT3,点击Read from Target,只勾选CPU Limit为100%的

如何基于TwinCAT3实现伺服电机控制(一)_第16张图片

然后把所有TASK都分配到该内核中,重新运行应该就不会报错了

如何基于TwinCAT3实现伺服电机控制(一)_第17张图片

一个是运行时报错AdsError:1823

如何基于TwinCAT3实现伺服电机控制(一)_第18张图片

说明网卡配置不对,此时应找到I/O→Device→Adapter→Compatible Devices

如何基于TwinCAT3实现伺服电机控制(一)_第19张图片

将实际用到的设备Install一下

如何基于TwinCAT3实现伺服电机控制(一)_第20张图片

再点击Search选择Install的设备即可,重新运行应该就不会报错了

如何基于TwinCAT3实现伺服电机控制(一)_第21张图片

这篇文章只是分享我的经验,不一定能解决所有人的问题,希望大家还是多看看倍福提供的教材,基本问题都能解决!

你可能感兴趣的:(TwinCAT3,电机控制,visual,studio,经验分享)