
把西门子PLC和汇川伺服接到一起速度模式脉冲控制这套方案在非标设备和改造项目里出现频率相当高。不少工程师的第一反应是“不就是发脉冲嘛”结果真到现场电机要么不转、要么乱转最后卡在接线和参数上。这篇文章就把我从选型、接线、参数设置到联调排障的实操过程完整写出来全是实际项目里验证过的做法适合准备做速度控制又不想上总线的工程师参考。这套方案本质上是用PLC的高速脉冲输出口给伺服驱动器提供频率指令伺服在速度模式下自己闭环速度环。它解决的问题很明确当设备只需要“稳定调速”不需要“精确到位”的时候用脉冲方式就可以替代模拟量抗干扰能力更好调试也更直观。下面按我实际踩过的顺序来拆解。1. 先想清楚速度模式脉冲连接真正适合哪些场合1.1 速度模式与位置模式的边界我对刚开始学伺服的工程师经常打一个比方位置模式像是驾校教练坐在副驾你打多少方向、走多少路教练都给你纠偏速度模式像是自己开车上高速只管油门踩到多少、车速稳定在多少至于车在哪条车道伺服不管。具体到指令上位置模式下PLC每发一个脉冲伺服就带着电机走一个固定增量脉冲个数对位置、脉冲频率对速度速度模式下PLC发的脉冲频率直接对应电机转速脉冲个数没有意义你发个10kHz电机就稳定在某个转速发个20kHz转速就翻倍。这个区别决定了两种模式根本不能混用——想定位的结果用了速度模式停下来全靠人为发零频位置精度几乎没法保证。所以第一步不是接线而是确认你的工艺到底要什么。我见过有人把飞剪剪切定位做成速度模式现场调试了三天最后换回位置模式半小时搞定。方向错了后面全是白费。1.2 速度模式项目的常见特征在实际项目里适合用速度模式脉冲控制的场景有几类很典型。输送线同步算一个。两条输送线速度需要保持一致或者按比例匹配比如包装线的前段和后段速度差不能超过2%这时候给两条线的伺服发相同频率的脉冲速度就天然同步省去了模拟量通道的标定误差。收放卷类设备也算一个。收卷和放卷的速度跟随主轴变化工艺要求的是线速度稳定而不是精确的位置速度模式加张力摆杆反馈就能满足。还有辊筒驱动、离心机、搅拌设备这类只需要调速的场合速度模式比位置模式简单得多。这类项目的共同特征是电机转速是核心控制量位置是次要因素甚至根本不关心。你问现场工人“这个电机转到哪里”他们答不上来但你要问“这个辊筒一分钟转多少转”他们门清。这就是典型的速度模式需求。1.3 什么时候不该用速度模式反过来如果设备有原点回归、需要精确停在某个位置、需要做插补运动这些要求一出现速度模式就该直接出局。位置模式下伺服自己完成位置闭环PLC只管发位置指令定位的精度和稳定性有伺服保证用速度模式手动去逼近位置你不仅要控制速度还要自己算位置误差和调试成本都会成倍增加。另外还有一个容易误判的点有些设备要求“低速运行”加上“精确停车”比如印刷机的点动对版。这种场景看起来速度不高但停车要求极高实际上应该用位置模式下的点动功能或者用速度模式加外部抱闸加编码器反馈做成半闭环复杂度远超普通位置模式。我的建议是能用位置模式解决的定位问题永远别用速度模式硬扛。2. 选型与接线先把脉冲通道的“握手”方式定下来2.1 西门子PLC脉冲输出端口的基本常识接线之前得先确认一个硬件前提PLC本体是不是晶体管输出。西门子S7-200 SMART里ST系列比如ST40是晶体管输出SR系列是继电器输出。高速脉冲只能从晶体管输出口走继电器输出响应时间几毫秒到十几毫秒根本没法做到稳定发脉冲。这个坑我见过不止一次货都到场了才发现选错型号只能加扩展模块或者换主机。以S7-200 SMART为例晶体管输出型的高速脉冲输出点是Q0.0和Q0.1对应两个脉冲发生器PTO0和PTO1。输出电路是源型输出就是输出点导通时从公共端L到输出点这一路形成高电平输出。接线时公共端1L/2L接外部24V电源正极负载的另一端接0V。S7-1200的情况类似板载高速输出点常见的有Q0.0到Q0.3但需要在设备组态里把对应点配置成脉冲输出Pulse/PWM不配置的话它就是普通数字量输出频率上不去。这点容易漏搞过S7-200 SMART的人转S7-1200时经常在组态环节卡住。还有很多工程师喜欢问“能不能用定位模块或者运动控制功能”。能用但对于速度模式脉冲控制来说S7-200 SMART的向导加PLS指令已经足够没必要为了一个简单的调速功能上运动控制模块。2.2 汇川伺服脉冲输入端子全貌汇川伺服的脉冲输入接口IS620N系列和SV660N系列都在CN3端子上常见引脚含义如下表具体以随货手册为准信号名含义典型引脚位PULSE脉冲输入正端CN3内部引脚PULSE-脉冲输入负端CN3内部引脚SIGN方向输入正端CN3内部引脚SIGN-方向输入负端CN3内部引脚这里最关键的是输入接口类型。汇川伺服脉冲输入通常同时支持差分输入5V和集电极开路输入24V但两种方式的接法完全不一样。差分输入是给编码器接口那种5V差分信号用的线路抗干扰能力强集电极开路输入就是直接用PLC输出点去驱动光耦接线简单适合短距离柜内接线。很多工程师在这里翻的第一个跟头就是没看手册以为脉冲输入都一个接法把24V直接怼到差分端口上轻则信号丢失重则烧输入侧的光耦或电阻。所以我接到项目的第一件事永远是找手册里的CN3引脚定义页确认我用的这个型号支不支持集电极开路输入支持的话有没有推荐的接线电阻。2.3 接线方案与防烧端口要点如果确认汇川伺服支持集电极开路输入PLC又是源型输出接线就按下表来PLC侧输出点伺服侧输入端子说明Q0.0高速脉冲PULSE脉冲频率信号Q0.1方向输出SIGN方向电平信号公共端0VPULSE-、SIGN-信号回零线这套接线的前提是PLC输出导通时输出的是24V高电平所以PULSE和SIGN接PLC输出点PULSE-和SIGN-接0V形成完整回路。如果你的PLC输出是漏型低电平有效或者伺服输入需要NPN驱动线序要反过来本质是保证光耦两侧有足够的正向压差让光耦能可靠导通。我实际做项目时会在伺服侧并联一个2kΩ左右的电阻信号线用屏蔽双绞线屏蔽层单端接到控制柜的地排上。这样做是为了提高抗干扰能力脉冲信号频率高了之后普通平行线串扰会很严重电机转速会莫名其妙地波动。注意如果伺服手册里明确写着脉冲输入仅支持差分5V信号就不要用24V直驱。可以加一个脉冲转接板或者选用PLC的高速输出模块做差分输出。图省事的后果往往就是烧端子返工成本比加模块高得多。接线完成之后上电前用万用表量一遍PULSE和PULSE-之间的电阻确认没有短路再用万用表的频率档或者示波器在PLC输出端确认有脉冲输出。这些检查看起来基础但能省下后面大量的排障时间。3. 汇川伺服参数整定速度模式下的关键设置项3.1 用InoDriverShop完成基础配置汇川伺服现在基本都用InoDriverShop这个软件来做配置比老式面板按数字参数高效太多。搜索不到伺服的问题也常见大部分情况是USB驱动没装好、网口网段不对或者伺服之前被配置成了非默认通讯参数。先强制复位一下通讯参数再重新搜索一般能解决。连接上之后第一步先读取伺服固件版本和数据然后新建一个配置工程。InoDriverShop界面上会直接列出当前伺服的全部参数你可以在线修改也能离线编辑好再下载。强烈建议在联调前用软件的“参数导出”功能保存一份默认参数万一后面改乱了可以直接恢复。3.2 控制模式与脉冲指令形式汇川伺服的核心控制模式参数在“基本控制”分组里把控制模式选择改成“速度控制模式”。注意有些系列型号和固件版本里速度模式又分为“速度控制模式”和“速度/位置切换模式”我们这里选单纯的速度控制避免切换逻辑引入意外。接下来是脉冲指令形式。速度模式下脉冲指令形式和位置模式的设置是分开的常见选项有“脉冲方向”“双脉冲CW/CCW”“A/B相正交脉冲”。我们PLC程序是按照脉冲方向来写的所以伺服侧必须选“脉冲方向”。如果选成双脉冲那就需要再引一路反方向脉冲接法完全不同电机只会单向转或者根本不转。这个参数在InoDriverShop里通常直接给下拉框界面上写着“脉冲指令形式”或者“指令脉冲类型”。选完之后可以顺手确认方向取反参数如果方向反了不用改线直接软件里取反就行。注意取反只对方向信号生效不要和编码器方向混淆。3.3 电子齿轮比的初值和修正策略电子齿轮比是速度模式下绕不过去的一道坎。它的作用是对输入的脉冲频率做缩放你把电子齿轮比设成5:1输入的10kHz就相当于内部的50kHz指令电机转速也会相应变化。说白了它是PLC脉冲频率和电机实际转速之间的换算系数。很多工程师在这里纠结于公式推导但现场调试更实用的做法是先设初值、再按实测修正。具体操作流程是这样的先根据PLC最高输出频率和电机额定转速估算初值。假设PLC高速输出最高100kHz电机额定转速3000rpm如果希望100kHz对应3000rpm那么每转需要的脉冲数就是100000 /3000/60 2000个脉冲/转电子齿轮比按编码器分辨率与2000的比值设初值。设好初值后PLC发一个固定频率比如10kHz用转速表或者伺服驱动器面板上的实际转速监视功能读出电机稳态转速。用实测转速与目标转速的比例关系修正电子齿轮比。比如10kHz输入时实测转速是300rpm而你希望10kHz对应600rpm电子齿轮比就要在当前值基础上乘2。这个方法不依赖于精确的编码器线数公式完全以实测为准规避了不同伺服系列参数定义差异带来的脑子疼问题。我自己的习惯是写进调试记录表里日期、输入频率、电子齿轮比、实测转速、修正动作每一步都有据可查。还要留一个心眼电子齿轮比不要设得过分激进导致很小的输入频率变化就造成转速突变。速度控制追求的是稳定不是放大倍数。一般让PLC最高输出频率对应的转速略高于工艺最大速度留10%到20%的余量就够了。4. PLC侧程序与速度曲线让电机加减速有章法4.1 PLC端的基础程序框架PLC侧的程序我以S7-200 SMART ST40为例来写这是现场存量最大的设备之一。核心思路是用高速脉冲输出点Q0.0输出连续脉冲Q0.1输出方向信号然后用PLS指令控制和修改脉冲频率。如果用运动向导生成轴配置向导会帮你把特殊寄存器处理好然后你只需要调用向导生成的子程序设定目标频率并触发启动。用手动PLS指令的方式也可以核心是修改对应PWM或PTO的周期寄存器周期和频率是倒数关系改了周期就等于改了电机转速。基础程序框架大致是初始化 配置PTO0为连续模式 设置初始频率为0Hz 调用PLS指令启动 运行阶段 工艺条件满足 - 计算目标频率 - 写入频率寄存器 - 更新方向输出 停止阶段 目标频率置0 - 执行斜坡降频 - 输出保持注意一点很多人在速度模式下会忘记“停止”这个动作。位置模式下发完指定脉冲数伺服自己停速度模式下你频率一直发着电机就一直转着。所以程序里必须有明确的停止逻辑把目标频率归零并且执行完减速斜坡之后再切断脉冲输出否则电机就会惯性滑行。4.2 加减速斜坡的实现这是速度模式脉冲控制里最容易被忽视、也最容易出事的地方。位置模式下PLC发脉冲个数和频率变化伺服位置环自己处理轨迹速度模式下伺服只闭环速度如果你把频率从0瞬间变到10kHz伺服会全速去追这个速度指令电流冲击很大机械系统容易哐当一声。解决方法是PLC端自己做频率斜坡让脉冲频率从当前值逐步过渡到目标值。以S7-200 SMART为例通常用定时中断SMB34中断周期设为10ms在中断服务程序里做频率递增或递减中断服务程序每10ms执行一次 IF 目标频率 当前频率 THEN 当前频率 当前频率 加速步长 ELSIF 目标频率 当前频率 THEN 当前频率 当前频率 - 减速步长 END_IF 限制当前频率在上下限之间 根据当前频率计算周期值并写入频率寄存器加速步长的计算逻辑是步长 目标频率 - 起始频率 / 加速时间 / 中断周期。比如电机从0加速到100kHz要求2秒加速完成中断周期10ms那么每一步增加100000 /2000 / 10 500Hz。这样算出来的斜坡是线性的适合大多数输送类应用。想把加速曲线做得柔和一些可以在中断里加一个简单的S形算法头尾步长减半中间步长全速。S形曲线对机械冲击的抑制效果很明显尤其在重载设备上值得花十几分钟写进去。4.3 急停与方向控制的处理急停和方向切换是速度模式最容易损坏设备的两个操作。急停的正确做法是先快速降频到0再切断脉冲输出最后断开伺服使能。直接从100kHz瞬间切到0Hz电机会急减速如果负载惯量又大很容易出现过压报警或者联轴器损坏。我在变频器上看到过类似处理伺服也一样讲究这个。方向切换的逻辑更要注意必须在频率已经降到0之后才允许改变Q0.1的电平状态。如果还发着脉冲就翻转方向相当于指令从正向转速瞬间变成反向转速伺服会以最大力矩反向制动冲击电流和机械冲击都非常大。程序里做一个互锁当前频率≠0时方向切换无效等斜坡降频结束后再切。伺服使能信号千万不要省略。用Q0.2或者中间继电器控制伺服驱动器的DI使能端PLC上电之后先不发脉冲等伺服使能OK信号返回再开始频率控制。有些现场为了省信号线直接把伺服使能短接常开一上电伺服就通电此时如果PLC输出口有残余脉冲或者干扰信号电机会突然窜动一下非常危险。5. 联调与排障几个高频问题的完整排查链路5.1 电机只振不转这是我遇到最多的现象。PLC看起来在发脉冲电机却只嗡嗡响、微微抖动就是不转圈。这时候不要急着怀疑伺服坏了按下面顺序排查先用伺服面板或InoDriverShop的监控界面看输入脉冲监视值。如果监视值一直为0说明信号根本没进到伺服内部问题在电气环节去查线序、查光耦是否导通、查PLC输出点是否真的在翻转。如果监视值有脉冲但电机不动下一步查指令形式是否选成了“差分输入”与“集电极开路输入”不匹配或者电子齿轮比分母太大导致输入100Hz的脉冲被缩到内部只有零点几赫兹电机自然不动。还有个冷门原因伺服的速度指令来源参数没改干净。有些系列默认速度指令来源是“内部速度给定”你发了脉冲它也不理你。要确认速度指令源明确指向“脉冲频率”并且内部给定速度为0。5.2 转速与设定偏差巨大转速偏差问题要么是电子齿轮比不对要么是PLC输出频率没有达到预期值。先确认PLC侧的实际输出频率。很多PLC程序里写的频率是设定值但实际因为寄存器格式、频率上限参数、向导配置等因素输出会打折。在输出点用万用表频率档量一下或者用运动向导监控界面的当前频率确认PLC真实输出的频率是多少。确认PLC输出没问题后再检查伺服实际转速是不是按齿轮比换算后的理论值。偏差是整倍数关系的基本就是电子齿轮比配错偏差不是整数倍优先怀疑驱动器的速度环增益或者速度指令滤波设置不当。我遇到过一次转速波动但平均速度偏高的情况最后发现是动力线上的变频器干扰导致脉冲光耦误触发加了屏蔽线重新接地后恢复正常。5.3 上电自转和方向失控PLC一个脉冲没发电机一上电就自己转起来这个问题通常在伺服内部参数上。原因主要有两个一个是速度模式下的内部速度给定值不是0伺服默认分配的指令源可能是面板电位器或者内部寄存器先检查内部速度给定参数另一个是外部端子悬空导致自动运行信号被触发比如某个DI被配置成了“正转使能”且默认常闭上电就闭合。方向失控的表现通常是能转、能调速但方向反了或者想反向时根本不动。先在伺服参数里找“方向取反”相关项软件里改一下就能解决如果只能单向转大概率是SIGN方向信号线没接好程序输出方向和实际电平不匹配用万用表在伺服端子量一下高电平状态确认输出点翻转是否到位。5.4 运行抖动和噪音设备能转但抖得厉害或者伺服啸叫这个问题涉及机械和驱动的匹配。先区分是低频抖动还是高频啸叫。低频抖动常见于速度环增益过高电机在反复修正转速试试降低速度环比例增益或者增加速度指令滤波时间高频啸叫常见于机械刚性不足或者联轴器间隙大伺服和机械系统共振先调低刚性等级再看机械安装。还有一个容易忽略的是接地和布线。脉冲信号线和动力线走同一个线槽伺服编码器线屏蔽层没有接地都会让速度模式下的转速实际值产生波动最终表现为电机一顿一顿。规范的做法是脉冲线单独走金属线槽屏蔽层单端接地伺服和PLC的控制柜共用一个接地点避免形成地环流。这份内容里所有排查步骤我都按实际项目的顺序写过一遍又一编。做速度模式脉冲控制耐心比技术重要得多——先把信号链路确认通再谈参数精调先把接线和接地做扎实再怀疑伺服本身有问题。如果你完全理解了这个流程调试一台新设备就是流水线作业。