1. 为什么说S7-1200控制步进/伺服是运动控制的“最低门槛”
先讲一个场景。去年给客户改造一台小型自动锁螺丝机,Z轴原来用的是步进电机加一块专用脉冲控制卡,PC端软件一崩溃整个轴就要重新回原点。后来换成了S7-1200直接控制步进电机,保留原机械结构,从拆接线到程序跑通只用了两天。这件事让我意识到一个事实:S7-1200的脉冲控制能力,比很多人想象中要成熟得多,它完全可以同时扛起步进电机和伺服电机的控制任务。
这篇博文,我会把S7-1200控制伺服/步进电机的完整链路讲透,包括硬件选型、接线方法、轴组态、电子齿轮比计算、驱动器参数匹配,以及现场调试时最容易踩的坑。适合三类人看:正在用1200但还没碰过运动控制的PLC工程师、想把老设备从脉冲控制卡迁移到PLC上的设备维护人员,以及刚入行做自动化集成、需要快速上手伺服控制的新手。
1.1 步进与伺服在控制层面的本质区别
很多人一提到伺服就紧张,觉得比步进复杂很多,但从PLC的角度看,两者的控制接口其实是同一种东西:脉冲加方向。
步进电机本质上是开环控制。PLC每发一个脉冲,驱动器就让电机转过一个固定的角度,比如1.8度,实际走没走到位,PLC不知道。它的优势是便宜、结构简单、低速扭矩大,缺点是高速容易失步,一旦丢步没有反馈,位置就偏了。
伺服电机不同,它自带编码器,驱动器内部有完整的位置闭环。PLC发脉冲,驱动器收到指令后驱动电机转动,同时编码器实时反馈实际位置,如果没到位就继续补,到位就停。换句话说,伺服是闭环的,它知道自己走没走够。
但有趣的是,对S7-1200来说,不管步进还是伺服,它只做一件事:按照你设定的频率和个数往外发脉冲。方向信号也只是一个开关量。至于电机是开环还是闭环、编码器分辨率是多少、电子齿轮比怎么设,那是驱动器的事,PLC并不关心。
所以,只要搞清楚S7-1200的高速脉冲输出怎么用、接线怎么接,你就能同时驾驭步进和伺服。
1.2 S7-1200的哪些型号能发高速脉冲
不是所有S7-1200都能控制伺服和步进电机,这是第一道门槛。
S7-1200分成继电器输出型和晶体管输出型两种。继电器型的输出点是机械触点,动作频率顶多几赫兹,根本扛不住脉冲输出,所以只能用来控制接触器、指示灯这类慢速负载。想要发高速脉冲,必须选DC/DC/DC的晶体管输出型号。
以最常用的CPU 1214C DC/DC/DC为例,它自带4个高速输出点,分布在Q0.0到Q0.3。这4个点可以组态成PTO(脉冲串输出)或者PWM(脉宽调制输出)模式。如果用作PTO,通常是两个点一组,一个发脉冲,一个发方向,这样最多可以控两路轴。
如果你需要控制3台或者4台电机,就要考虑CPU 1215C或者1217C这类高速输出点更多的型号,也可以用1214C配合信号板,或者干脆加一节额外的数字量输出模块。但要注意,普通数字量输出模块是不能发高速脉冲的,必须用CPU本体或者信号板上的高速输出点,这一点在选型时特别容易忽略。
1.3 为什么整篇文章都围绕“脉冲加方向”接口
S7-1200控制伺服和步进,常见的方式有三种。第一种就是本篇讲的脉冲加方向,PLC发脉冲指定位置和速度,方向信号决定正转还是反转,这是最通用、最直观的方式,几乎所有品牌的伺服驱动器和步进驱动器都支持。
第二种是PROFINET总线方式,通过以太网直接给伺服驱动器下发位置指令,比如西门子的V90 PN版本,这种接线简单,一条网线搞定,但前提是你的伺服要支持PROFINET,成本也高一些。
第三种是EtherCAT、CANopen这类现场总线,S7-1200本体不支持EtherCAT,需要加通信模块,实际项目里很少用1200去干这个活。
所以我写这篇文章,选择了一整套在各种品牌驱动器上都能落地的方法。即使你手里的伺服驱动器是台达、松下、三菱或者别的品牌,只要支持脉冲输入,这篇文章里的接线逻辑和参数思路就基本通用。这也是“全”字的含义:不是只讲西门子自家V90,而是把不同品牌混用的情况也覆盖进来。
2. 接线:PLC端子到驱动器端口的全映射与常见误区
接线是整个项目里最容易翻车的环节。程序写错了可以改,组态配错了可以重配,但线接错了,轻则电机不转,重则烧毁PLC输出点或者驱动器输入端。我见过太多人拿着手册对着接,结果还是因为公共端搞错、PNP和NPN没分清,折腾了大半天。
2.1 步进驱动器的接口定义:PUL/DIR/ENA到底怎么接
先看步进驱动器。市面上绝大多数步进驱动器的控制信号区都有三组端子:PUL(脉冲)、DIR(方向)、ENA(使能/脱机)。每一组通常有两个脚,带+号和-号。
PUL就是脉冲输入端,每来一个上升沿,电机就走一步。DIR是方向电平,高电平和低电平对应两个旋转方向。ENA是使能端,很多驱动器在ENA接通时会让电机处于脱机自由状态,这时候你用手可以拧动电机轴。正常工作时ENA要悬空或者接成无效状态,如果这个信号接错了,电机会表现为“有脉冲也不动,电机轴可以随手转动”,排查时要先想到它。
S7-1200的晶体管输出属于源型输出,也就是高电平有效。PLC的Q点输出24V,低电平时为0V。所以接步进驱动器时,最稳妥的是共阴极接法:
| PLC端子 | 步进驱动器端子 | 说明 |
|---|---|---|
| Q0.0(脉冲输出) | PUL+ | 脉冲正端 |
| PLC电源0V(M) | PUL- | 脉冲负端 |
| Q0.1(方向输出) | DIR+ | 方向正端 |
| PLC电源0V(M) | DIR- | 方向负端 |
这里说的PLC电源0V,是给PLC供电的那个24V电源的M端,不是大地的地线,也不是信号地。很多驱动器内部在光耦输入端有串电阻,24V电平直接对接是没有问题的。
至于ENA,我的习惯是在项目启动阶段先不接,等整机调试完成后再考虑是否需要通过PLC来控制脱机。如果必须接,同样按照共阴极性,把ENA-接0V,ENA+接某个开关量输出点,平时输出低电平让使能无效,需要脱机时输出高电平。
2.2 伺服驱动器的脉冲输入:以台达B3与西门子V90为例
伺服驱动器的脉冲接口和步进驱动器大同小异,但端子标法各家不一样。这里我拿两款国内项目里最常见的驱动器做例子:台达B3系列和西门子V90。
台达B3伺服的CN1控制端子上,脉冲输入标为PULSE和PULSE反,方向标为SIGN和SIGN反,通常采用高速光耦输入。台达驱动器可以通过参数把输入端设置为差动输入或者集电极开路输入。用S7-1200控制时,一般选集电极开路输入方式,接线为PLC的Q0.0接PULSE,Q0.1接SIGN,电源0V接PULSE反和SIGN反。这种接法和步进驱动器的共阴极接法思路完全一致。
西门子V90伺服要看硬件版本。脉冲型V90的X8端子排上,P5是内部输出的24V电源,M是0V,还有PULSE、PULSE反、SIGN、SIGN反。如果你用V90自带的24V电源给脉冲输入供电,接法是PLC的Q点接到PULSE和SIGN,M端接到PULSE反和SIGN反。注意V90的X8接口里P5和M是辅助电源输出,不要拿它去给别的大功率负载供电,否则会影响脉冲信号质量。
无论哪个品牌,接线前务必确认三件事:第一,驱动器是否支持集电极开路/源型输入,如果只支持差动输入,需要加转换板或者改用线驱动方式;第二,脉冲信号电压是否兼容24V,有些小功率伺服为了追求高速响应,输入口只支持5V,这时候要加电阻限流或者用中间继电器/光耦转换;第三,方向信号和脉冲信号的公共端各接各的,不要串在一起,否则驱动器容易误动作。
2.3 原点、限位、急停的接线规范
除了脉冲和方向,一个完整的运动控制系统还需要原点开关、正负限位开关和急停回路。这些开关接到PLC的输入点,而不是接到驱动器上。
以NPN型三线制传感器为例,棕色线接24V正,蓝色线接0V,黑色线是信号线,接到PLC的输入点。S7-1200的输入点分漏型和源型两种接法,实际处理时把传感器的信号线和24V正、0V负接正确就行。如果PLC输入端公共端接的是24V正,那就是源型输入,适合接PNP传感器;如果公共端接0V,那是漏型输入,适合接NPN传感器。很多人在这里栽跟头,其实记住一句话就够了:信号线决定接哪个点,公共端决定能接哪种传感器类型。
原点开关我建议用常闭型。这样如果传感器线断了,PLC检测到的状态是“没有原点信号”,但实际处于原点位置,程序上更容易做报警判断。用常开型的话,线断了系统会误以为一直有原点信号,回原点直接冲过限位。
急停回路必须用硬件控制,绝对不能只写在程序里。我的做法是急停按钮串接在伺服驱动器的使能回路里,同时把急停状态也接入PLC输入点做程序连锁。这样即使PLC程序跑飞了,急停按下后驱动器也会立刻失去使能,电机急停抱闸,安全性才有保障。
3. 硬件组态与轴对象:把PTO脉冲从PLC里“放”出来
接线接对了,下面就要让PLC“开口”发出脉冲。这里涉及到博途软件里的两个核心操作:在硬件组态中分配高速输出点的功能,以及创建运动控制轴工艺对象。很多人程序写了半天电机不动,回头才发现根本没在硬件组态里把Q0.0设置成PTO,这种情况下MC指令调用得再多也没用。
3.1 高速输出点分配:Q0.0/Q0.1/Q0.2/Q0.3
打开博途,在设备视图里选中CPU,找到“属性”面板里的“数字量输出”或者“高速输出”选项。这里会把Q0.0到Q0.3这些点列出来,默认是DO标准输出。你要做的,是把要用于脉冲输出的点,从“数字量输出”改成“PTO/PWM”。
具体来说,PTO1组需要Q0.0作为脉冲输出、Q0.1作为方向输出。PTO2组用Q0.2发脉冲、Q0.3发方向。如果你只需要控制两路轴,1214C正好够用。如果还要第三路、第四路,就得用1215C或者通过信号板扩展。
在组态界面里,脉冲输出点要设置成“PTO”,方向输出点要设置成“方向输出”。有些早期固件版本还要求设置脉冲类型为“Pulse A Direction”,也就是脉冲加方向模式。如果你不小心选成A/B相正交模式,那么电机能不能动、方向是否正确都会变得不可预知,所以这里一定要检查仔细。
另外,高速输出的最大频率一般能到200kHz这个级别,实际组态时建议预留20%到30%的余量,不要把频率跑到极限。后面算电子齿轮比时,也要把最大脉冲频率作为一个约束条件考虑进去。
3.2 新建轴工艺对象与关键参数
在项目树里找到“运动控制”节点,右键新建轴,会弹出一个轴配置向导。这里的核心选项包括:
- 驱动类型:选“PTO”
- 脉冲输出:选前面配置好的高速输出点
- 方向输出:选对应的方向点
- 位置单位:建议直接选mm,后面程序里写位置就不用再从脉冲数换算了
- 电机每转脉冲数:按驱动器参数填,比如步进16细分就是3200
- 机械减速比:如果有减速机就填写,比如5:1
- 每转行程:比如丝杆导程5mm就填5
这些参数设定完之后,轴工艺对象会自动帮你把“用户单位(mm)”和“脉冲数”之间换算好。这也是S7-1200控制运动控制项目时比老式PLC省心的地方,你不用在程序里每次手动把毫米换算成脉冲数,只需要在MC指令里填位置值和速度值就行。
轴组态里还有一组很重要的参数:加减速时间。博途里可以设置加速度、减速度和急停减速时间。我的习惯是刚开始调试时先把加速度设小一些,比如0.2秒从静止加速到目标速度,等机械跑顺了再逐步优化。加速度设得太大,电机启动瞬间容易过冲,机械结构也容易产生冲击和噪音。
3.3 一个顺起逆停的点动控制思路
很多人搜“西门子S7-1200顺起逆停”,其实指的就是最简单的正转启动、反转启动、停止控制。在运动控制项目里,可以先用这种方式验证电路和组态是否正确,再做自动定位。
用MC_MoveVelocity指令可以实现连续速度运动。顺起:一个按钮接通后,调用MC_MoveVelocity,速度设为+100mm/s,方向为正;逆起:同时按下另一个按钮,速度设为-100mm/s,方向为负。停止就是调用MC_Halt指令,让轴按设定的减速度停下来。
在程序结构上,我用两个互锁的中间变量来控制正反转,避免两个按钮同时按下时,速度指令被反复覆盖导致轴乱跑。另外启动前先调用一次MC_Power使能轴,使能状态用一个M点保持住。这样整段逻辑很简单,却很实用,适合作为任何运动控制项目的起点。
顺起逆停跑通之后,再换成MC_MoveRelative做定长控制。MC_MoveRelative的参数里有Distance距离和Velocity速度,Distance填正数就是正方向走,填负数就是反方向走。对于锁螺丝机、点胶机这种需要定长定位的设备,这条指令就够用了。
4. 让位置算得准:电子齿轮比与脉冲当量的完整计算
接线和组态都做完,程序也能让电机转了,接下来最磨人的就是精度问题。很多现场故障看起来像是“定位不准”,十个有八个是电子齿轮比或者脉冲当量算错了。这一节我把步进和伺服的情况分开讲,一步一步算给你看。
4.1 步进场景:细分、丝杆导程与脉冲当量
先明确一个概念:步进电机走一步对应的角度,取决于电机本身的步距角和驱动器设置的细分。常规两相步进电机的步距角是1.8度,即转一圈需要200个整步。如果驱动器设置成16细分,意味着每来一个脉冲,电机只转1.8度的十六分之一,也就是转一圈需要3200个脉冲。
假设设备上用的是57步进电机,配一个导程5mm的丝杆。电机转一圈,丝杆带着负载移动5mm。那么每个脉冲对应的位移量就是:
5mm ÷ 3200脉冲 = 0.0015625mm/脉冲
也就是说,脉冲当量是0.0015625mm。如果你想让它走10mm,PLC需要发的脉冲数是:
10mm ÷ 0.0015625mm/脉冲 = 6400脉冲
如果要求最大运行速度是60mm/s,那么所需脉冲频率是:
60mm/s ÷ 0.0015625mm/脉冲 = 38400Hz,约38.4kHz
这个频率对S7-1200的200kHz高速输出来说,余量非常充足。这套计算的本质就是把机械位移、驱动器细分、丝杆导程三者串起来,任何一项变了,脉冲当量就要重新算。
4.2 伺服场景:编码器分辨率、电子齿轮比反推
伺服的算法类似,但多了一个电子齿轮比。
以常见的一款伺服电机为例,编码器是2500线增量式,驱动器内部通常做4倍频处理,所以电机转一圈反馈脉冲数是10000。如果用PLC直接发脉冲,每10000个脉冲电机转一圈。
接着加入机械参数。假设用了导程10mm的丝杆,电机直连。那么PLC每发10000个脉冲,负载走10mm,即1mm对应1000个脉冲。这个比例在速度不高的情况下没问题,但如果设备要求高速运动,比如电机要跑到3000rpm,也就是每秒50转,那么PLC需要的脉冲频率为:
50转/秒 × 10000脉冲/转 = 500000Hz,也就是500kHz
S7-1200的高速输出最大只能到200kHz,撑不住。这时候就要用电子齿轮比。
电子齿轮比的作用,是让驱动器“把收到的脉冲数乘以一个比例,再换算成实际运动脉冲数”。比例大于1时,PLC发的脉冲少,电机照样转得多。上例中,如果希望PLC发3000个脉冲就让电机转一圈,那电子齿轮比就是:
10000 ÷ 3000 = 3.33,约等于3.3333
设好这个齿轮比之后,电机转一圈需要的PLC指令脉冲数就从10000降到了3000。最高速度变成:
200kHz ÷ 3000脉冲/转 ≈ 66.7转/秒,即4000rpm
不仅够用,还留了余量。所以电子齿轮比的核心作用,是在PLC脉冲频率有限的前提下,让伺服电机转得足够快,同时保证位置分辨率还能接受。
4.3 程序里位置值拿什么单位与PLCopen指令对应
在实际编程时,我个人强烈建议在轴组态里把位置单位设为mm,而不是用脉冲数去写程序。
原因有两个。第一,设备维护人员阅读程序时,看到的是“走20mm、速度50mm/s”,马上能判断出对错;如果用脉冲数,除非手里拿着计算器,否则根本看不出10万脉冲对应多少毫米。第二,博途的MC指令虽然底层用的还是脉冲,但经过轴对象换算,你在程序里填的位置和速度值都是用户单位,出了问题排查起来直观得多。
举个例子,使用MC_MoveRelative时,Distance填25,单位就是25mm,Velocity填80就是80mm/s。当你在轴组态里设置了每转脉冲数、减速比、每转行程之后,这些参数会自动换算好。如果发现自己程序里填的位置值和实际走的距离对不上,不要急着怀疑PLC,先回轴组态里检查“每转行程”和“电机每转脉冲数”这两个值填对了没有,八成是这里出了问题。
5. 伺服驱动器侧没有配好,程序再对也白搭
PLC侧的组态和程序只是运动控制的一半,伺服驱动器本身的参数如果没配对,你会遇到各种莫名其妙的现场问题。比如电机嗡嗡响但不转、正方向命令反方向走、低速爬行、高速过冲,这些大概率都在驱动器侧。
5.1 台达B3/A4伺服的基础参数设置
台达B3在国内中小型设备上用得非常广泛,性价比高,售后资料也全。用脉冲方式控制时,几个关键参数必须设对。
第一,控制模式要设置为位置模式。台达驱动器面板上通常用P1-00这类参数来选择控制模式,位置模式对应的数值一般为1。如果设成了速度模式或者扭矩模式,你给脉冲它也不会按位置走。
第二,脉冲输入形式要设成“脉冲加方向”。有些驱动器默认是“A相B相正交”输入,这时候即使接线正确,电机也可能不按你预期的方式运动。脉冲形式一般通过P1-01这类参数设置,要选“Pulse/Direction”这一项。
第三,电子齿轮比参数。台达B3的电子齿轮比由两个参数组成,分子和分母。计算方式我在前面已经讲过,这里只提醒一点:分子分母都要约分到整数范围内,不要让数值太大,否则驱动器内部运算可能出现舍入误差。另外,调试完成之前不要开启“自动增益调整”,等位置控制稳定后再根据实际运行效果微调增益,否则机械还没磨合好,增益自适应容易激化振动。
5.2 西门子V90伺服怎么设成脉冲模式
西门子V90分为两种型号:一种是PN总线版,一种是PTI脉冲版。用S7-1200控制,如果选PTI版本,接线和参数设置的逻辑与台达类似,但操作路径不同。
V90的调试一般使用BOP操作面板或者V-ASSISTANT软件。需要设置的核心项是运行模式,要选“外部脉冲位置控制”,英文缩写是PTI。设置完模式后,再设置脉冲输入形式和电子齿轮比。
V90的电子齿轮比设置比较特别,它分成“负载齿轮比”和“电机齿轮比”,实际效果等同于其他品牌的分子分母。你直接把前面算好的电子齿轮比换算成“每指令单位对应的负载行程”这类组态参数即可。V-ASSISTANT里可以直接输入“齿轮比分子”“齿轮比分母”,设置完成后它会在主界面显示当前负载转速与指令频率的对应关系,方便你验证是否设置正确。
还有一点值得注意,V90的PTI版本在首次调试时,建议使用JOG模式先在面板上试转一下电机。如果JOG能转,说明驱动器本身没问题,再切到外部脉冲模式排查PLC侧的问题,可以节省大量排查时间。
5.3 增益、惯量与加减速时间的匹配逻辑
伺服调得好不好,不仅仅取决于位置参数,还取决于增益和惯量是否匹配。
增益调整的本质,是设置驱动器对位置偏差的响应强度。增益太小,电机像“没睡醒”,位置跟随慢;增益太大,电机容易在到位时反复振荡,表现为尖锐的“嗡嗡”声或者轴端明显的抖动。
调试时我的顺序是这样:先用低增益把基本运动跑通,确认正反向、速度、位置都没问题;然后逐步提高位置增益,每次让设备执行同一定位动作,观察响应和到位时间;直到出现轻微振荡,再往回调低一档。
惯量比参数也很重要。它告诉驱动器“你带的负载有多重”。如果负载惯量比设置严重偏小,驱动器会产生过冲和振铃现象。很多现场问题看起来像增益太高,实际是惯量比不对。V90和B3都有自动惯量辨识功能,建议在机械装配完成后先让驱动器跑一遍自动辨识,再用辨识结果作为手动调整的基准。
加减速时间我建议在PLC的轴组态里设置,而不是在驱动器里做斜坡。这样做的理由是,PLC端的加减速对电机来说属于“指令规划”,驱动器只负责执行,两者叠加也不会产生冲突。如果在PLC和驱动器两端都设置了较长的斜坡,指令响应会变得很迟钝,反过来两头都设得很短,机械冲击又大,这是双端设置最容易踩的坑。
6. 现场调试实录:从“电机不动”到“位置漂移”的排查链路
最后这部分,我把自己在现场跑过的排查路线完整写出来。故障排查最忌讳的就是东查一下西查一下,没有章法。下面这些场景是我遇到最多的,按顺序排查,基本都能在半小时内定位问题。
6.1 电机一动不动,先查这五处
第一处,看驱动器的状态指示灯。步进驱动器一般有电源灯和使能灯,伺服驱动器多半有七段数码管显示状态或者报警码。如果伺服面板上出现报警,先记录报警代码,对照手册处理,不要盲目复位后继续运行。
第二处,查使能信号。伺服驱动器只有收到使能信号后,电机才处于“锁定”状态。用手拧电机轴,如果感觉很松,说明使能没生效;如果拧不动,说明使能正常。步进驱动器则可以看ENA端子的接线,如果ENA接了信号,试着断开再运行一次。
第三处,在软件里强制输出脉冲点。将Q0.0强制为1再恢复为0,用手持式万用表或者示波器看Q0.0对0V之间是否有电压跳变。如果没有跳变,问题在PLC输出点或者硬件组态配置;如果有跳变但电机不动,问题在接线或者驱动器侧。
第四处,查公共端。这是接线阶段最容易被忽略的问题,尤其是把PLC电源0V和设备机壳地混在一起时,驱动器光耦输入端可能无法形成有效回路,导致脉冲信号根本传不到驱动器内部。
第五处,查急停和限位。很多程序里做了硬限位连锁,哪怕限位开关只是接触不良,轴也会被锁住不动。排查时先看程序里轴相关状态字的当前值,或者直接监控MC_Power指令的Enable输出状态。
6.2 抖动、异响、丢步与位置漂移
电机能转,但转得不好,这类问题的排查层级要更高一层。
如果是步进电机低速抖动,先检查驱动器细分设置。细分太低时,步进电机在低速段会产生明显的步进感和共振。一般建议低于200rpm运行的场合,细分数不低于16。
如果是伺服电机到位后振荡,先看增益和惯量比,这个我前面已经讲过调整顺序。除此之外,还要看脉冲当量设置。当电子齿轮比设得过大时,意味着PLC发一个脉冲,电机要走很多个编码器计数单位,系统分辨率下降,位置控制容易在小范围内反复修正,表现出来就是高频抖动。
位置漂移则要分两种情况。一种是每次都往同一个方向偏,比如走10mm实际走10.3mm,这多半是电子齿轮比或者脉冲当量算错了。另一种是随机漂移,今天偏明天不偏,优先怀疑脉冲信号受到干扰,或者机械连接处存在间隙,丝杆螺母松动、联轴器打滑都会造成随机性位置不准。
这里有一条经验:排查位置问题时,先用慢速运行几次,如果低速正常、高速才出错,优先怀疑加减速时间太短导致的机械冲击,而不是参数错误。高速丢步在步进电机上最常见,遇到这种问题,要么降低运行速度,要么换大一档的电机,不要指望通过修改电子齿轮比来硬撑。
6.3 抗干扰和接地:现场最常见的隐性故障
很多运动控制项目稳定运行很久之后,突然在某一天出现偶发性位置偏移,这种问题最让人头疼,而且多半出在干扰上。
脉冲线必须使用双绞屏蔽线。屏蔽层在PLC侧单端接地,不要在驱动器侧也同时接地,否则会形成接地环路,反而引入干扰。
脉冲信号线要和动力线分开走线槽,间距至少20cm。如果现场空间受限必须交叉,尽量保持垂直交叉,不要平行走长距离。这个细节我吃过亏,一台设备脉冲线从变频器输出线旁边平行走了1米,伺服电机在变频启动瞬间必丢脉冲,后来把线分开就好了。
电源方面,给PLC、步进驱动器、伺服驱动器供电的24V开关电源,建议不要和其他大功率负载共用。PLC的24V电源和伺服控制电源最好分开,如果实在要共用,在脉冲线的公共端加一个100nF的陶瓷电容到0V,能滤掉一部分高频干扰。
接地也要统一原则:驱动器PE端子、电机PE端子、PLC的24V电源负极,全部在同一点接地,不要形成多点接地回路。这个“单点接地”原则是很多现场干扰问题的终极解决方案,做运动控制的工程师一定要养成这种布线习惯。
最后再分享一个我个人的习惯:每次调试完成后,把整套接线端子全部重新拧一遍。因为热胀冷缩和现场振动,很多接触不良都是隐藏的,表面上看起来一切正常,但端子松半圈就足以让信号时有时无。运动控制系统里,接触可靠性和参数正确性同样重要,这一点往往要吃过亏才能记住。