- V20变频器带一个高惯性的搅拌机。 因为减速总是报过压,特意配了一个原装的制动单元和制动电阻(电阻阻值和功率都是严格按照手册选型的)。 参数也改了:P1240(直流母线电压控制器)设为了 0(关闭),
- 求助各位师傅:现场用富士 Alpha5 Smart 伺服走位置模式。 参数里设置了外部转矩限制功能。 在手动点动(JOG)或者用软件试运行的时候,转矩限制很正常,用力顶住机构,到设定的转矩(比如 5
- 精调求助:S120 驱动器,CU320-2PN 控制。轴走 EPOS 模式。 设置了主动回零,寻找参考点开关(接近开关)。 轴以 100mm/s 的速度往回走,当机械滑块刚刚压到接近开关(信号从 0
- 求助!200Smart PLC 走 Modbus RTU 控一台安川 V1000 变频器。 写入频率的寄存器地址是 0002H。 平时给它写 2500(对应 25.00Hz),运行都很正常。 偶尔(大
- 请教老师傅:富士 FRENIC-MEGA 变频器带一台永磁同步电机(矢量控制模式)。 工艺需要用到多段速:X1端子对应 15Hz,X2端子对应 45Hz。 单独跑 15Hz 或者单独跑 45Hz 的
离奇问题,怀疑遇到 Smart 的底层 Bug 了。 程序里用了一个 TON(接通延时定时器)T37,设定值 PT 是 30000(30秒)。 监控的时候发现:它的使能端 IN 信号一直是稳定的绿色(
联系人:15621144901603
电话/手机:联系客服
发布时间:2026-06-03 18:55
浏览:183次
离奇问题,怀疑遇到 Smart 的底层 Bug 了。 程序里用了一个 TON(接通延时定时器)T37,设定值 PT 是 30000(30秒)。 监控的时候发现:它的使能端 IN 信号一直是稳定的绿色(ON 状态),当前值 ET 也在正常往上涨。 但是涨到差不多 18 秒(18000 左右)的时候,ET 值突然自己蹦回了 0,然后重新开始往上涨! 导致这个定时器永远没办法到达 30 秒,后面的输出点一直不动作。
-
全程序搜索,绝对没有对 T37 做任何复位(R)或者清零指令。
-
定时器号没有重复使用。 IN 信号没断,定时器自己‘流产’重启,这物理上说得通吗?



















































尤其你说“监控里 IN 一直是绿色”,这个不能完全证明它从未断过。PLC 在线监控刷新速度远低于 PLC 扫描周期,一个扫描周期的 OFF,监控画面很可能根本抓不到。而 TON 只要 IN 变成 OFF,当前值就会清零。西门子 S7-200 手册里也明确写到:TON 的 IN 为 ON 时计时,IN 为 OFF 时定时器位关断、当前值清零;IEC TON 也是 IN 变 OFF 后输出复位,达到预置后停止计时。
还有一个非常关键的点:**T37 是 100ms 时间基准的定时器。**在 S7-200 体系里,T37 到 T63、T101 到 T255 是 100ms 分辨率,最大值 3276.7 秒;手册例子里也写了 T37 的 PT=10 才是 1 秒。
所以如果你用的是 SMART 的 S7-200 风格定时器,T37 的 PT=30000 不是 30 秒,而是 30000 × 100ms = 3000 秒,也就是 50 分钟。
30 秒应该写:
T37,PT = 300
这个地方亲一定先核对一下:你的定时器块下面是不是显示 100ms。如果是,那 PT=30000 本身就不是你想要的 30 秒。
至于“ET 到 18000 左右突然归零”,最常见有这几种原因:
1. IN 实际瞬断了一扫,但监控没看到
比如 IN 前面串了某个条件:
急停复位中间位
通讯正常位
运行允许位
手自动状态位
上位机心跳位
某个报警取反位
某个工艺步骤位
某个比较结果
这些位在程序里可能只掉一拍,在线监控仍然看着是绿的,但 TON 已经被清零了。
建议你不要只看绿色,直接加一个“掉电捕捉位”:
如果 定时器IN条件 = 0
置位 M10.0
或者更准确一点:
定时器IN条件 的下降沿
计数器 C 加 1
如果 C 增加了,说明 IN 确实断过,只是监控没抓到。
2. T37 被同一个程序路径重复执行了
你说“定时器号没有重复使用”,但还要查一种情况:
同一个子程序被调用了两次;
同一个网络复制后 T37 藏在另一个程序段;
中断程序里也用了 T37;
同一个 T37 一个地方 IN=1,另一个地方 IN=0;
T37 同时被 TON、TOF、TP 混用。
西门子手册明确提示,同一个定时器号不能在 TON、TOF、TP 之间共享;另外,100ms 定时器要保持正确计时,定时器指令应保证每扫描周期只执行一次。
所以不是只搜索 R T37,而是要搜索:
T37
TON T37
TOF T37
TP T37
LD T37
= T37
R T37
还要看子程序和中断。
3. 定时器 IN 前面有“自复位逻辑”
有些程序不是直接 R T37,但会通过逻辑让 IN 断掉。
比如:
启动条件 AND NOT 某完成位 -> TON T37
而某完成位可能被 T37 的当前值、比较值、输出点、步骤状态间接触发。
这种不是“复位 T37”,但效果等同于让 TON 的 IN 断一下,ET 立刻清零。
4. 程序段没有每一扫描都执行
如果 T37 放在:
子程序里
跳转 JMP 后面
SCR 顺控段里
某个条件调用的程序块里
就要确认这个程序段是不是每一扫描都被执行。100ms 定时器本身的更新和指令执行有关,手册也特别提醒 100ms 定时器要确保执行规则,否则计时会不可靠。
5. PT 参数本身被变量改写
如果 PT 不是常数,而是 VW、MW、变量地址,就要看这个字有没有被别处写入。
有时候表面上看到 PT 是 30000,但实际运行中某个 MOV、通讯写入、触摸屏参数、配方下载,把 PT 或相关变量改掉,也可能造成异常表现。
亲,我建议你现场这样改,最容易定位:
第一,把 T37 的 PT 从 30000 改成 300,确认是不是 30 秒需求。
第二,不要直接用复杂条件进 TON,先做一个中间位:
M100.0 = 原来的全部启动条件
TON T37, PT=300
第三,加掉线捕捉:
如果 M100.0 = 0
置位 M100.1
第四,再加一个下降沿计数:
M100.0 下降沿 -> C10 + 1
如果 M100.1 被置位,或者 C10 增加,就说明不是定时器自己清零,而是 IN 断过。
第五,全程序查 T37,重点查子程序、中断、SCR、TOF/TP、重复调用。
我的判断是:99% 不是 Smart 底层 Bug。
最可疑的是两个点:T37 的时间基准用错了;或者 IN 有一拍瞬断,监控没抓到。