首页 > 全部分类 > 技术问答 > 帖子内容

项目遇到了非常古怪的硬件时序问题: 西门子 V90 伺服,用控制器发 200kHz 脉冲控制。 原本用 PLC 的 24V 单端‘脉冲+方向’接口,换向和定位完全正常,一点误差都没有。 改装升级:

联系人:15628606434593

电话/手机:联系客服

发布时间:2026-08-05 23:16

浏览:36次

项目遇到了非常古怪的硬件时序问题: 西门子 V90 伺服,用控制器发 200kHz 脉冲控制。

  1. 原本用 PLC 的 24V 单端‘脉冲+方向’接口,换向和定位完全正常,一点误差都没有。

  2. 改装升级: 为了抗干扰,我改用运动控制卡输出的 5V 差分(RS422)信号。奇葩的事情来了:正向跑完全正常,但是只要指令一变换方向(从正转切反转),电机在反转瞬间必多走或少走十几个脉冲

  3. 用示波器抓 5V 差分波形,脉冲和方向信号幅值非常标准,没有过冲。 同样的硬件和光耦,为什么 24V 高电压时换向没有时序延迟,改用 5V 差分信号反而会导致方向信号的响应延时(Setup Time)变长引发失步?

明扬工控技术客服2026-08-06 00:05:04
答复内容:亲,这个不是 5V 差分天生比 24V 慢,而是你把“脉冲链路”换了以后,换向瞬间的 DIR 建立时间没有被保证。

最像的真实原因是:

运动控制卡在 DIR 翻转后,第一批反向脉冲来得太快;V90 在这几个脉冲边沿采样到的还是旧方向,所以反转瞬间就多走/少走十几个脉冲。

西门子 V90 本来就有两套脉冲输入通道:p29014=0 是高速 5V 差分脉冲输入,p29014=1 是 24V 单端脉冲输入;p29010 用来选择 Pulse + Direction、AB track 以及正/负逻辑形式。也就是说,你不是简单把同一个端子从 24V 换成 5V,而是换了输入通道、输出卡和时序策略。

一、200kHz 下,“十几个脉冲”其实就是几十微秒

200kHz 的脉冲周期是:

1 / 200kHz = 5µs

所以:

10 个脉冲 ≈ 50µs
20 个脉冲 ≈ 100µs

你反转瞬间固定多走或少走十几个脉冲,特别像:

DIR 方向信号实际晚了 50~100µs

前 10~20 个反向脉冲仍被 V90 按旧方向计数

位置就偏了十几个脉冲

正向连续跑没问题,说明脉冲幅值、计数能力、电子齿轮大方向都没问题;只在换向错,核心就是 DIR 与第一颗 PUL 的时序关系。

二、24V 单端为什么反而没问题?

这不一定是 24V 输入更快,而是原来的 PLC PTO 可能天然留了换向死区。

很多 PLC 高速脉冲在换向时会这样处理:

停止脉冲

先切方向位

等一个硬件间隔或扫描间隔

再发反向脉冲

你以前没感觉,是因为 PLC 自动帮你满足了方向建立时间。

换成运动控制卡后,可能变成:

上一颗正向脉冲刚结束

DIR 马上翻转

下一颗反向脉冲立刻发出

运动卡追求的是高速连续输出,它未必默认给你留 Direction Change Delay。
所以不是“5V 差分差”,而是原来 PLC 帮你慢了一点,现在运动卡太快,换向没有空档。

三、示波器看幅值标准,不能证明 setup time 合格

你现在看到:

PUL 差分幅值正常
DIR 差分幅值正常
无过冲

这只能说明电气幅值好,不能说明时序对。

要这样抓:

示波器触发:DIR 翻转边沿

CH1:PUL+ - PUL- 差分波形
CH2:DIR+ - DIR- 差分波形

位置:V90 输入端子处
时间窗:DIR 翻转前后 200µs

重点看这两个时间:

最后一颗旧方向脉冲 → DIR 翻转

DIR 翻转 → 第一颗新方向脉冲

如果 DIR 翻转后不到几十微秒第一颗 PUL 就来了,V90 就可能来不及稳定采样方向。

四、还有一个坑:PUL 和 DIR 通道延时不一致

你说“同样的硬件和光耦”,这反而更要查。

如果中间有转换板、隔离板、光耦板,可能出现:

PUL 通道传播延时:2µs
DIR 通道传播延时:60µs

那在示波器看运动卡输出端,DIR 很漂亮;但到 V90 输入端,DIR 已经慢了几十微秒。

所以要分段测:

运动控制卡输出端 DIR

隔离/转换板输出端 DIR

V90 输入端 DIR

尤其要看 PUL 通道和 DIR 通道的相对延迟,不是只看单个信号幅值。

五、差分线配对也要查

5V 差分必须按差分信号来接:

PUL+ / PUL- 一对双绞
DIR+ / DIR- 一对双绞
屏蔽层正确接地
必要时连接 SG / 0V 参考
终端匹配按手册处理

错误接法常见是:

PUL+ 和 DIR+ 一对
PUL- 和 DIR- 一对

这样波形静态看着也像正常,但换向瞬间串扰和共模跳变会非常明显。

六、现场最快验证

你先不要大改,直接做一个测试:

换向前停止发脉冲
等待 100µs
切换 DIR
等待 100µs
再发反向脉冲

如果这样立刻不丢脉冲,根因就坐实了:DIR setup/hold 时间不够。

然后再逐步缩短:

200µs
100µs
50µs
20µs

找出安全余量。

同时做频率对比:

50kHz
100kHz
200kHz

如果频率越高,错的脉冲数越多,但换算成时间差差不多,比如一直约 50µs,那就是固定方向延迟。

七、参数也要核对

确认:

p29014 = 0
高速 5V 差分脉冲输入

p29010 = 0 或 2
Pulse + Direction 正逻辑 / 负逻辑

不要把运动卡输出的 Pulse + Direction 接法,配成了 AB track 或逻辑反了。V90 的脉冲输入形式由 p29010 选择,输入通道由 p29014 选择,这两个参数切到 5V 差分后必须重新确认。

八、长期整改建议

比较稳的方案:

1. 在运动控制卡里设置 direction change delay。
2. 换向前后加入无脉冲窗口。
3. 保证 DIR 在第一颗新方向 PUL 前稳定。
4. PUL/DIR 差分线分别成对双绞。
5. 如果经过光耦/隔离板,选高速、通道延迟一致的器件。
6. 在 V90 端子处确认时序,而不是只在控制卡端确认。

如果设备频繁高速正反转,更建议考虑:

CW/CCW 双脉冲

AB 相正交脉冲

Pulse + Direction 的天然弱点就是方向信号必须满足 setup/hold;AB 相的方向由相位关系决定,对频繁换向更友好。V90 支持通过 p29010 选择不同脉冲形式。

最可能原因排序
第一:
运动控制卡没有留 DIR 建立时间,第一批反向脉冲被按旧方向计数。

第二:
原来 PLC 24V PTO 自动带换向死区,换成运动卡后这个死区消失。

第三:
PUL 和 DIR 经过光耦/转换板后的传播延迟不一致,DIR 慢了几十微秒。

第四:
示波器只看幅值,没有在 V90 端子处抓 DIR 翻转到第一颗 PUL 的时间差。

第五:
p29010 / p29014 / 正负逻辑 / AB 或 Pulse+Dir 模式没有重新核对。

第六:
差分线配对、终端、SG 参考处理不规范,导致方向边沿在接收端实际变慢。

一句话:

5V 差分不是比 24V 差,而是你换了输出卡和输入通道后,换向时序变了。200kHz 下十几个脉冲只对应几十微秒;只要 DIR 比第一颗反向 PUL 晚一点,V90 就会按旧方向吃掉这些脉冲。先在 V90 端子处抓 DIR 与第一颗 PUL 的时间差,再给换向前后加 50~200µs 无脉冲窗口,基本就能破案。
对不起,请登录后再发表评论!

触屏端
扫一扫手机也能发信息
明扬工控商城-工控网-工控自动化真品,一站式专业服务!