做自动化项目的人应该都有同感:有时候客户控制端指定了倍福,而伺服侧又不能全部上原厂AX系列,预算和交期都卡得难受。我今年就碰到一个这样的装配线改造项目,最后定下的方案是TwinCAT3做主站,伺服驱动用汇川SV660N。SV660N本身带EtherCAT从站口,支持标准的CIA402协议,理论上完全可以挂到倍福总线上,实际跑下来的成本却比原厂方案低不少。整个项目从选型到跑通花了差不多三天,其中真正配置时间其实不到一天,剩下的时间全在跟各种小问题较劲。
这篇文章就把完整的配置流程整理出来,内容包括TwinCAT3环境准备、SV660N参数设置、EtherCAT从站添加、NC轴建立、使能和点动调试,最后把我踩过的坑、排查过的问题也一并写出来。哪怕你不是用汇川伺服,只要是用TwinCAT3去带第三方EtherCAT驱动器,流程基本都是这一套,跑通以后就能触类旁通。
1. 项目背景与方案选型思路
1.1 为什么选这个组合
先交代背景。客户原有设备是PLC发脉冲控制伺服,现在要改成总线控制,控制端指定倍福TwinCAT3。如果伺服也全部用倍福AX系列,成本会直接超预算,而且原厂驱动器的订货周期也不太乐观。国产伺服里,汇川SV660N是市面上用得很普遍的EtherCAT从站驱动器,很多非标设备、包装设备和机械手项目都已经验证过它挂在倍福总线下的通讯稳定性,所以最终选了SV660N。
这里有一个很容易被忽略的点:汇川SV660系列里,只有SV660N是EtherCAT通讯型,后缀P的是脉冲型,两个型号外观都很像,但硬件接口和内部固件完全不同。采购时一定要看后缀,这是我第一次选型时的教训,如果买了SV660P,EtherCAT方案完全无法落地,只能退回脉冲控制或者换货,非常耽误时间。
1.2 搞懂EtherCAT通讯的基本逻辑
正式配置之前,先花几分钟把EtherCAT的工作原理捋清楚,这能帮你在后面省下一半的排查时间。
EtherCAT是一种实时工业以太网协议。主站发出来的数据帧像一列火车,依次经过各个从站,每个从站从帧里读取发给自己的数据,同时把要反馈的数据写入帧对应位置,然后传给下一个从站。因为数据在从站之间是硬件级处理,延迟非常低、抖动很小,这也是它适合伺服控制的原因。
具体到TwinCAT3和SV660N的配合:TwinCAT3是主站,SV660N是从站。主站通过EtherCAT的CoE机制、按照CIA402协议来操作伺服——也就是说,你最终控制的是标准对象字典里的控制字、状态字、目标位置、实际位置这些对象。搞懂这一点,你就明白为什么NC轴能跟驱动器对上:NC轴其实就是主站侧对CIA402设备做了一层封装,底层通讯原理已经被TwinCAT处理掉了。
1.3 配置前要核对的事项
动手配置之前,我建议先把下面这个检查清单过一遍,避免做到一半卡壳:
- 控制器或工控机是否支持TwinCAT3实时环境,系统是否为Windows专业版/企业版
- SV660N是否带EtherCAT接口(后缀是N而不是P)
- 电机和驱动器是否配套(最好支持电子铭牌自动读取)
- 调试用的网卡是否为TwinCAT兼容网卡(Intel系列优先)
- 网线是否完好(建议用带屏蔽的工业以太网线,不要用普通跳线)
- 现场是否预留了急停和抱闸控制回路
- 是否已经从汇川官网或技术支持拿到对应版本的ESI文件
这个清单看起来简单,但现场调试时经常就是某个细节没核对,导致后面查半天问题。我见过有人拿一条普通非屏蔽网线去接EtherCAT,通讯时断时续,换条屏蔽网线马上就好。
2. TwinCAT3环境准备与硬件接线
2.1 TwinCAT3软件环境怎么装
TwinCAT3本身不是独立软件,它基于Visual Studio的Shell,所以安装TwinCAT3之前,先确认电脑上装了合适的Visual Studio版本(VS2019或VS2022都可以,社区版一般够用)。安装顺序是先装VS,再装TwinCAT 3.1版本,千万不能反过来。
安装过程中有几个注意点:
- 系统版本:Windows 10/11专业版、企业版通常没问题,家庭版会提示不满足实时性要求。很多朋友问“Windows10不能安装TwinCAT3吗”,大部分情况是版本不支持,升到专业版或者换一台专业版电脑就好。
- 管理员权限:安装和激活Configuration都需要管理员权限,建议全程用管理员账号操作。
- 关闭其他实时程序:TwinCAT装好后,系统会加载倍福的实时扩展,跟其他实时控制软件会有冲突,所以调试工作机尽量做到专用。
安装完成后,打开VS就可以看到TwinCAT的菜单项,新建项目时类型选择TwinCAT XAE Project就行。首次新建项目会弹出一个环境激活确认框,选择同意即可。
2.2 网卡与实时驱动的坑
TwinCAT3与伺服通讯要求网卡具备较好的实时性,所以不是任意网卡都能用来跑EtherCAT。最稳妥的选择是Intel网卡,尤其是工控机上常见的Intel I210、I211、I219这些型号,都能被TwinCAT直接识别。Realtek板载网卡偶尔也能跑,但稳定性差一些,在正式项目里不建议赌。
在TwinCAT3界面左边的树形菜单里,展开SYSTEM,找到Real-Time,右侧可以看到Compatible devices列表。你要把目标网卡的驱动安装成倍福实时驱动:点击网卡那一行,让系统添加出来后,点Install,然后重启电脑。重启之后这张网卡就不再走Windows普通网络协议,只作为TwinCAT的EtherCAT口使用。所以建议主机至少准备两张网卡:一张跑EtherCAT实时通讯,另一张走普通以太网,用来连接HMI、上位机或者做远程调试。
还有一个常见现象:装完TwinCAT后,某个网段Ping不通了,很多人以为电脑坏了。其实是因为实时驱动接管了网卡。只要在Real-Time里把网卡驱动卸载,或者重新安装一遍系统网卡驱动,就能恢复正常。操作前记得先保存项目。
2.3 硬件接线和安全回路
硬件接线分为两块:EtherCAT通讯线,以及伺服驱动主回路、编码器线、抱闸线。
EtherCAT通讯线:从工控机的TwinCAT网卡出来,接SV660N的EtherCAT IN口。如果有多个从站,按顺序往下串,最后一台从站的OUT口不用再接回主站,空着或者加终端电阻看手册要求即可。现场走线时,EtherCAT网线与动力线保持至少20cm的距离,不要捆扎在一起,否则很容易出现干扰导致的通讯抖动。
主回路:SV660N的L1、L2接220V电源,L1C、L2C是控制电源,U、V、W接伺服电机动力线,CN2口接编码器反馈线。特别注意动力线绝对不能和编码器线绞在一起走,这在很多现场都是血的教训。
安全回路的关键点:
- 急停回路要能在上位机失控时真正切断伺服使能或动力电源,做项目时必须先把急停逻辑考虑清楚,不要让电机在一个没有急停保护的环境下反复测试。
- 抱闸控制:如果电机带电磁抱闸,抱闸控制线需要单独接,并不是所有驱动器都自动控制外部抱闸。要查SV660N的接线图,确认抱闸输出端子和对应参数。
我当时调试时因为急着看电机转,把一些保护环节忽略了,结果第一次使能差点把治具撞了。从那以后我总结出一条经验:凡是上电调试,先把急停回路、正负限位信号、抱闸释放逻辑检查完,再碰使能按钮。这一条放在任何伺服系统上都适用。
3. SV660N伺服驱动器参数准备
3.1 第一次上电和面板操作
SV660N采用数码管面板,按键不多,主要是M、上下键和OK键的组合。第一次上电时,如果配的是汇川自家电机,驱动器会从电机电子铭牌里自动读取电机参数,确认电机型号和额定参数显示正确就可以。换过电机的朋友应该有体会,手动输入电机参数特别容易出错,自动读取这个特性真的能省很多事。
面板操作逻辑大致是这样:按M进入参数组,用上下键切换功能码组号(比如H02、H09),按OK进入某一组,再用上下键选具体参数索引,修改数值后按OK保存。SV660N的详细操作建议以手册为准,我只强调几个在EtherCAT模式下必须确认的参数。
3.2 EtherCAT模式下必须设置的参数
控制模式:在SV660N中对应H02组里的控制模式选择,要切到EtherCAT总线控制模式。SV660N上常见的是把控制模式设置为7(不同固件版本可能不一样,老系列IS620N是设为8,以你拿到的固件手册为准),保存并重启驱动器生效。
恢复出厂设置:如果拿到的是二手驱动器,或者不确定参数被改过什么,建议先恢复出厂设置再重新配置。恢复出厂一般在H06组里,找到恢复出厂相关索引执行即可,执行完驱动器会自动重启。
通讯相关设置:EtherCAT的站地址和通讯速率通常由总线主站自动管理,驱动器面板上基本不需要设置。多从站场景下,站地址由主站按拓扑自动分配,不需要手动配置,这一点比老式CANopen设备要省心很多。
电子铭牌确认:查看驱动器监控组里反馈的电机型号、编码器分辨率、额定电流等信息,确保与实际电机一致。如果编码器类型不对,后面NC轴的单位换算就会出错。
参数这块我不打算把功能码表格全贴出来,因为每个固件版本有差异,照搬反而会误导人。我的经验是:先把恢复出厂、控制模式设为总线、确认电子铭牌这三件事做完,剩下的参数基本都可以通过总线来配置。这样能最大程度减少驱动器端的人为错误。
3.3 获取ESI文件
下一步去汇川官网或者联系技术支持,下载对应SV660N型号、固件版本匹配的EtherCAT ESI文件。
默认压缩包解压后会有XML后缀的从站描述文件,偶尔还会带一个PDF说明文档。XML文件就是TwinCAT导入用的,不需要加工修改。这里要注意版本匹配:如果驱动器之前固件版本旧、后来升级过固件,ESI也要跟着更新,否则会出现设备能识别、但PDO映射不匹配的问题。
关于ESI文件,我多说一句:下载下来后先把文件名字看清楚,不要改错再导入。我之前碰到过供应商把多个型号的XML打包在一个文件夹里,结果我选错了型号的XML导入,从站识别出来Vendor ID对、Product ID不对,折腾了半小时才发现是文件用错了。
4. TwinCAT3中添加EtherCAT从站实战
4.1 导入ESI设备描述文件
找到TwinCAT3安装目录下的配置文件夹,常见路径是:
C:\Program Files (x86)\Beckhoff\TwinCAT\3.1\Config\Io\EtherCAT
把下载的XML文件复制到该目录。如果目录不存在就自己创建一个。还有一种方式:在TwinCAT的Device Editor界面中,右键EtherCAT设备,通过设备列表刷新来导入。把XML放入目录并刷新后,设备列表里就能看到汇川SV660N。
4.2 扫描EtherCAT从站
接下来是重头戏。在解决方案管理器里新建项目,在IO下面右键Devices,选择扫描设备,TwinCAT会列出当前可用于EtherCAT的网卡接口。这里最关键的步骤就是选对网卡:选择之前安装了倍福实时驱动的那张卡,而不是Windows普通网卡。如果不确定,可以一张一张试,TwinCAT会自动探测哪个网卡下有从站。
扫描过程中,系统会提示检测到的设备。如果没问题,就能看到SV660N被识别为EtherCAT从站。如果没有扫描到,就从网卡是否被占用、从站是否上电、从站是否接线正常这几个方向排查。
扫描完成后,项目树里会多出一个EtherCAT主站设备和从站设备。此时从站显示的状态可能是INIT或PREOP,还没进入OP。我们需要先配置PDO映射,再激活配置。
4.3 PDO映射该怎么配
双击从站设备,进入Process Data页面,可以看到SV660N的默认PDO配置。SV660N的ESI里一般提供了好几组默认映射,最常用的是位置控制这组。以CIA402为例,这组映射通常包含:
- RxPDO:控制字0x6040、目标位置0x607A、模式0x6060等
- TxPDO:状态字0x6041、实际位置0x6064、实际速度0x606C等
如果你的应用只需要位置模式,用默认映射就能直接跑通。但如果要做速度控制、转矩控制,就要新建PDO映射或者增加映射项。最稳妥的做法是在Process Data页面里选择SV660N自带的PDO映射包,直接选跟你的控制模式匹配的那组,不需要手工一个一个勾对象,这样最不容易出错。
我个人建议,第一次跑通项目,不要贪多,位置控制的PDO映射就够用。等确认启动、停止、定位、回零都OK之后,再去加速度、转矩的映射,减少变量,出问题好排查。
4.4 同步模式与循环周期
EtherCAT主站和从站之间的数据交换方式有Free-Run、SM同步和DC同步这几种。对于伺服轴,推荐使用DC同步,这样才能保证所有轴的控制周期严格一致,多轴联动时不至于出现相位偏差。
在从站设备的DC选项卡里,可以配置是否启用DC、是否使用内部或外部从站作为同步源。如果系统里只有一台SV660N,可以让这台驱动器的DC时钟作为同步参考;如果有多台,一般让第一台作为同步源,其余从站跟随。
循环周期的选择也很有讲究。单轴定位控制,250us到1ms都能跑;多轴联动或要求高动态响应的场合,建议500us以内。周期越短,CPU占用越高,要根据控制器性能来权衡。我习惯先把周期设置为1ms把功能跑通,再逐步降低周期验证稳定性,这样底噪少、问题暴露得清楚。
4.5 激活配置与在线观察
PDO和周期配置完成后,点击Activate Configuration激活配置,系统会提示重启TwinCAT运行环境,确认后进入Run模式。这时去设备列表里看从站状态,如果正常,从站会进入OP状态,在Online页面可以看到周期性的TxPDO数据已经在变化。
如果这一刻从站成功进入OP,说明整个EtherCAT底层通信已经通了,接下来就是NC轴配置。
常见的进不了OP的原因:PDO映射不匹配、DC同步配置异常、从站需要某种初始化命令但未正确下发。排查方式统一放到后面避坑章节说。
5. NC轴配置与使能调试
5.1 创建NC任务和轴
EtherCAT底层通讯只是基础,伺服真正要运动,需要在TwinCAT里建立一个NC轴,然后把NC轴和EtherCAT从站驱动关联起来。
NC轴不是直接挂在PLC点位上,它本身由TwinCAT的NC任务(NC Task)管理。如果项目里还没有NC Task,在SYSTEM下面找到Nc Task,右键添加一个新任务。然后在NC任务下面右键添加轴,选择Continuous Axis(连续轴)。
添加完成后,双击轴,在Settings里的General页面可以看到位置、速度等参数;在Settings里的Driver页面,把EtherCAT从站驱动关联到这个轴。具体操作是选择从站设备、填写轴编号(通常是Axis 1),应用后TwinCAT会自动把控制字、状态字、目标位置、实际位置等通道关联上。
5.2 单位换算:让电机转一圈变成你想要的物理量
轴配置里最容易搞错的就是单位换算。默认情况下,NC轴的位置单位是用户自定义单位,常见的有mm、inch、degree,速度单位是用户单位每秒。
怎么换算?先搞清楚电机转一圈是多少个编码器脉冲、丝杠导程是多少。
比如你用2500线增量编码器,驱动器四倍频之后就是10000脉冲每圈;如果用17位编码器,一圈就是131072个脉冲;如果是23位,一圈就是8388608个脉冲。这个数值要依据SV660N的电子铭牌或参数页来读取,不同电机配置差别很大。
假设电机直连滚珠丝杠,导程10mm,电机转一圈,工作台走10mm。那么Increments per Revolution填编码器每转脉冲数,User Units per Revolution填10(mm),速度也按用户单位每秒或每分计算。配置完成后,你写定位指令时直接输入目标位置为50,它就会准确走到50mm处,不需要自己再做任何换算,非常方便。
这里有一个细节:SV660N的编码器分辨率有时显示的是电机转一圈的物理脉冲数,有时又会写成分频后的值,不同固件情况不同。如果发现走的距离差很多,比如目标50mm结果走了2倍或4倍,优先检查单位换算里的数值是否填对。
5.3 抱闸、限位与回零配置
NC轴相关的安全参数别跳过。在轴配置的Settings里找到Limits,设置正负软件限位;在General里找到Homing,配置回零方式。
回零方式的选择取决于机械和编码器类型:
- 绝对值编码器:这种最常见也最舒服,上电后位置已知,可以不回零,直接指定当前位置为原点,或者通过NC的Home position设定零点。
- 增量式编码器:必须回零。可以用正负限位开关作为回零参考,也可以找编码器Z脉冲作为参考点。在NC轴里把Home Input关联到限位开关输入,回零时轴先找开关,再找Z脉冲,回到固定原点。
如果你是第一次调SV660N,建议先用“当前位置设为零”的方式验证运动,等基本运动正常了,再根据现场需求配置规范的回零方式。这样分开验证,问题好定位。
5.4 使能、点动与定位测试
现在来到最激动人心的一步:给轴使能。
你可以用PLC程序调MC_Power,也可以在NC轴的在线界面直接操作。在项目树里找到NC轴,双击打开,切到Online页面,点击Enable按钮。如果一切正常,轴状态会变成使能中,电机会锁定。这时在Online页面的Set Position里输入一个目标位置,给一个速度值,点击Start,就能看到轴开始运动。如果方向反了,不用改编码器方向,在NC轴参数里把Invert User Units勾上就行。
用PLC程序控制也是常规路径。简单写一段ST代码在PLC里映射:
MC_Power_1.Enable := TRUE; MC_Power_1.bRegulatorOn := TRUE; MC_Power_1.bDriveStart := TRUE; MC_Power_1.Axis := Axis1; MC_Power_1();然后在状态支持下调用MC_MoveAbsolute、MC_Home等标准运动控制指令。这些指令在Tc2_MC2和Tc3_MC2库里都有,使用方式跟IEC 61131-3标准运动控制功能块一致,学会一个,其他都能触类旁通。
第一次使能我强烈建议:
- 把速度给定设得很低,比如10%额定速度
- 手不要离开急停按钮
- 电机侧不要带负载,最好空载测试
这样即使方向反了或者参数有问题,后果也容易控制。
6. 常见问题排查与避坑指南
6.1 TwinCAT3安装与实时环境的问题
Windows10家庭版装不了TwinCAT3怎么办? 换专业版或企业版,或者重装系统。TwinCAT的实时驱动需要系统版本支持,家庭版无法满足实时性标识。网上有些强行绕过的方法,但在专业自动化项目里不建议冒险,稳定性永远是第一位。
安装后网卡没有出现在兼容设备列表里 先确认是不是Intel网卡。如果是Realtek网卡,TwinCAT有时会识别为不支持设备,需要换网卡。如果确认是Intel网卡还是没出现,看看是否被其他程序占用,或者更新一下网卡驱动再试。
TwinCAT激活配置后电脑蓝屏或卡死 多数是网卡驱动与系统或者TwinCAT版本不兼容,试试更换网卡,或者换一个TwinCAT版本。比如从4024.30换到4024.12,又或者升级到更新版本,这个问题经常能解决。
6.2 EtherCAT通讯问题
扫描不到SV660N 按顺序排查:网卡是否安装了倍福实时驱动;是否正确选择了网卡;SV660N是否上电;从站IN和OUT口是否接反;网线是否正常;从站面板是否有报警。
从站能扫描到,但进不了OP状态 这一步我踩过最多的坑。进不了OP一般有几种原因:
- PDO映射不对:从站设备页面的PDO与NC轴需要的对象不一致,先把PDO恢复到供应商默认,再重试。
- DC同步配置异常:先在DC配置里关掉DC,用Free-Run模式测试,能进OP说明是DC的问题,再回头查DC时钟和同步参数。
- ESI版本与固件不匹配:重新下载对应固件版本的ESI文件,覆盖后刷新设备。
- 多从站站号冲突:检查每个从站的站号是否重复分配。
运行一段时间后通讯断开 这种掉线问题大多跟干扰有关。查看EtherCAT网线与动力线的走线,保持至少20cm距离,不要捆在一起;检查网线是否符合标准,建议使用带屏蔽的工业以太网线;检查接地点是否可靠,避免形成接地环路。如果还是掉线,试试降低通讯速率。
6.3 SV660N与NC轴相关的问题
使能后电机不转,没有电机锁定声 检查SV660N面板有没有报警,比如急停信号、抱闸信号。同时看NC轴有没有真正使能成功,很多情况是NC轴已经使能,但控制字没有成功下发到驱动器,这就要检查PDO映射里控制字通道是否关联正确。
电机一使能就猛烈抖动 如果编码器线没问题、电机参数正确的前提下出现抖动,多半是伺服增益设置过高或过低。可以先恢复出厂,再用驱动器自学习功能做惯量辨识,把速度环、位置环参数整定一遍。SV660N有在线自整定功能,可以让驱动器根据负载自动算出一组合适的参数,比手动调快得多。
定位不准或方向反了 方向反了在NC轴里勾选Invert User Units即可。定位不准先查单位换算,尤其是每转脉冲数这类比例因子是否填对;再查跟随误差是否过大,如果跟随误差持续积累,定位精度肯定受影响。
回零找不到原点 检查回零开关接线、回零方向、回零速度是否合理;如果用了Z脉冲回零,确认编码器反馈线连接可靠。回零失败时SV660N面板会有报警,对照报警代码表排查很快。
6.4 现场调试经验总结
- 调试时从最基本的位置控制模式开始,别一上来就把位置、速度、转矩、回零和各种保护全组合在一起,一旦出错问题很难定位。我习惯先跑通“位置控制加点动”这一条链路,确认整条链路没问题,再逐步往上加功能。
- 参数改动不要盲改。每次改完一个参数就记录一下,改完之后不管成功失败都回填记录。项目进行到一半,最容易出的问题就是大家都不知道现场参数被改成了什么样。
- 多读错误日志。TwinCAT的Windows事件查看器、SV660N面板的报警代码,都是最快定位问题的入口,比对着现象猜原因快得多。
- 备份是基本功。TwinCAT项目可以直接另存一份带日期的文件夹;SV660N的参数也支持导出到电脑,具体路径查一下手册,一定要养成习惯。
最后再说几句个人体会。这套TwinCAT3加汇川SV660N的组合,我在跑通第一次之后,又陆续用在了两个小项目上,整体感受是通讯稳定、调试方便、成本可控,很适合预算敏感但又需要总线控制的自动化设备。真正需要认真对待的反而是前期准备——系统版本、网卡兼容性、ESI文件匹配、机械参数确认这些,只要这些底子打好,现场调试一天内跑通完全正常。希望这篇配置全流程能帮你少走点弯路,不同经验也欢迎随时交流。