技术论坛

SMART200 PTO 异常停止

作者 主题
侠士

经验值: 1333
发帖数: 257
精华帖: 4
主题:【求助】SMART200 PTO 异常停止


只看楼主 楼主 2018-10-04 20:20:55

最近在调试一套SMART200的设备,使用可设定多段每段又可变速。

我使用了PTO 脉冲的多段管道化

设备模具一定周期会回到原点,回到原点后重新启动一段多管道脉冲串。但是偶尔会停止脉冲串输出,没有任何规律。

莫名停止脉冲输出,但是监控 SMB66 =0

就是说系统显示脉冲输出并无空闲状态。

进入原点重新启动脉冲串指令如下。

LD     原点:I0.3

EU

A     变速模式:V400.5

A      运行:V400.7

R      PLS0_Enable:SM67.7, 1

PLS    0

MOVB   16#E0, PLS0_Ctrl:SMB67

PLS    0


有人碰到类似情况吗?

是否系统级别的BUG?

如果程序问题的话每次都会挺,然而现在是没有任何规律,有的时候几个小时也不会停。有的时候几分钟停一次。


www.hzhengkong.com
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1509990&b_id=64&s_id=0&num=22

至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 1楼 2018-10-05 11:10:10

v400.x是什么逻辑?是否会与原点逻辑冲突,形成边缘到达的时候并没有接通。

你停止了脉冲,改E0,又启动的意图是什么?

题目所说的异常停止,是指正在运行而停止还是根本没有继续下去?

请不要怀疑plc有漏洞,有漏洞的话还轮不到由你才发现出来。

如果真的是某个按钮的边缘要遇上某个电眼的边缘碰到了一起才出现的问题,那这个问题可能永远都不会碰到。即使你想制造这种可能,也非常困难。

建议你做这样的一个检查:

在上述程序的最后加上一个加一指令,观察每次不成功的时候,该指令是否经历了加一的动作,就知道到底是你的指令 没有执行 还是 执行过但是不成功。

至于不能人肉跟踪的话,就编程跟踪。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 2楼 2018-10-05 20:05:45
以下是引用芳季在2018-10-05 11:10:10的发言 >1楼

v400.x是什么逻辑?是否会与原点逻辑冲突,形成边缘到达的时候并没有接通。

你停止了脉冲,改E0,又启动的意图是什么?

题目所说的异常停止,是指正在运行而停止还是根本没有继续下去?

请不要怀疑plc有漏洞,有漏洞的话还轮不到由你才发现出来。

如果真的是某个按钮的边缘要遇上某个电眼的边缘碰到了一起才出现的问题,那这个问题可能永远都不会碰到。即使你想制造这种可能,也非常困难。

建议你做这样的一个检查:

在上述程序的最后加上一个加一指令,观察每次不成功的时候,该指令是否经历了加一的动作,就知道到底是你的指令 没有执行 还是 执行过但是不成功。

至于不能人肉跟踪的话,就编程跟踪。

v400.7就是触摸屏的启动停止标志。开启后始终保持的。

我就是发5段的脉冲,在最后一段里面肯定会碰到原点,碰到原点后重新开始第一段,不断循环。

有的时候开几个小时就会莫名停止发脉冲。没有规律可循。




www.hzhengkong.com
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 3楼 2018-10-05 20:09:34

前面以为原点开关信号抖动,加了延时滤波,问题依旧。



www.hzhengkong.com
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 4楼 2018-10-06 00:12:14
以下是引用饼够在2018-10-05 20:05:45的发言 >

v400.7就是触摸屏的启动停止标志。开启后始终保持的。

我就是发5段的脉冲,在最后一段里面肯定会碰到原点,碰到原点后重新开始第一段,不断循环。

有的时候开几个小时就会莫名停止发脉冲。没有规律可循。



ok明白。

请务必回答以下两个问题,如实作答,不要绕。你敢回答,问题就解决:

上升缘时,还有几个脉冲未发完?

脉冲发完,还有多远没到达原点?


两条问题你只能正确回答其中一条。不可能同时能回答正确两条。希望你可以明白我内里的意义。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 5楼 2018-10-07 19:58:57
以下是引用芳季在2018-10-06 00:12:14的发言 >4楼

ok明白。

请务必回答以下两个问题,如实作答,不要绕。你敢回答,问题就解决:

上升缘时,还有几个脉冲未发完?

脉冲发完,还有多远没到达原点?


两条问题你只能正确回答其中一条。不可能同时能回答正确两条。希望你可以明白我内里的意义。

以下是引用饼够在2018-10-05 20:05:45的发言 >:v400.7就是触摸屏的...

引用详细内容:

v400.7就是触摸屏的启动停止标志。开启后始终保持的。

我就是发5段的脉冲,在最后一段里面肯定会碰到原点,碰到原点后重新开始第一段,不断循环。

有的时候开几个小时就会莫名停止发脉冲。没有规律可循。



谢谢关注!

你问的很好!

一圈走完理论上正好设置长度的脉冲走完。我担心机械误差可能还达不到原点,所以我在最后一段就是第五段里加了20000000个脉冲,所以在发送完脉冲肯定是会碰到原点的。

就是说上一个PLS命令脉冲串没走完,碰到原点重新开始走这5段脉冲。


现在发现很奇怪的现象。白天出现这个故障现象多,晚上生产就很少会出现。感觉有点像干扰或者电源不稳定类的现象。问题是为什么每次停都在原点位置。没有其它规律可循。




www.hzhengkong.com
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 6楼 2018-10-07 20:13:54

NETWORK 5    //速度检测为0自动重新开启保护记录

LDR=   HC0减记忆:VD746, 0.0

EU

A      自动运行:V400.7

AN     定速:V400.5

MOVB   PTO0_Status:SMB66, SMB67记录:VB734

MOVW   PTO0_Profile_Offset:SMW168, SMB168记录:VW732

MOVW   PTO0_Profile_Offset:SMW168, VW736

R      PLS0_Enable:SM67.7, 1

PLS    0

MOVW   +1999, PTO0_Profile_Offset:SMW168

MOVB   16#E0, PLS0_Ctrl:SMB67

PLS    0

INCW   次数记录:VW730


NETWORK 6  //检测脉冲空闲停机保护记录

LD     PLS0_Idle:SM66.7

EU

A      自动运行:V400.7

AN     定速:V400.5

MOVB   PTO0_Status:SMB66, VB754

MOVW   PTO0_Profile_Offset:SMW168, VW752

MOVW   PTO0_Profile_Offset:SMW168, VW756

R      PLS0_Enable:SM67.7, 1

PLS    0

MOVW   +1999, PTO0_Profile_Offset:SMW168

MOVB   16#E0, PLS0_Ctrl:SMB67

PLS    0

INCW   VW750

问题依旧。

现在,我通过高速编码器检测反馈速度,当检测到开机情况下速度为0时重新启动脉冲发出。

同时也检测脉冲空闲位,当运行状态下,停机马上重新开始发脉冲,勉强可以用。

还是没搞明白为什么脉冲有时会停。当停机时溢出位SM66.6也是0


www.hzhengkong.com
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 7楼 2018-10-07 21:16:57
以下是引用饼够在2018-10-07 19:58:57的发言 >

谢谢关注!

你问的很好!

一圈走完理论上正好设置长度的脉冲走完。我担心机械误差可能还达不到原点,所以我在最后一段就是第五段里加了20000000个脉冲,所以在发送完脉冲肯定是会碰到原点的。

就是说上一个PLS命令脉冲串没走完,碰到原点重新开始走这5段脉冲。


现在发现很奇怪的现象。白天出现这个故障现象多,晚上生产就很少会出现。感觉有点像干扰或者电源不稳定类的现象。问题是为什么每次停都在原点位置。没有其它规律可循。



在程序里面多加一点自我记录的程序,就像你上面的vw730 。只是好像加得不到位。你为何没有在自动发脉冲的地方增加记录?你也可以在一串指令的能流输出处写记录,当指令处理失效的时候就不会记录,这样会比你现在这种放置方式要好。

加得到位的话,你会……例如:两个应该一致的值,为何一个是53,一个是54呢?像这样的现象,你就把问题范围缩小了。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13023
发帖数: 1815
精华帖: 22
回复:SMART200 PTO 异常停止


只看楼主 8楼 2018-10-08 09:01:53

看来碰到原点时脉冲未发完。如果碰到这个事,我会在重新开始前做好能想到的所有初始化工作,还有延迟一段时间比如20ms。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 9楼 2018-10-08 10:18:58
以下是引用holdkcsxyz在2018-10-08 09:01:53的发言 >8楼

看来碰到原点时脉冲未发完。如果碰到这个事,我会在重新开始前做好能想到的所有初始化工作,还有延迟一段时间比如20ms。

这样就人为的产生一小段的无脉冲输出的卡顿现象,设备不允许中间停顿,哪怕是很小时间段的。

我前面通过100MS定时检测反馈速度编码器,速度到0马上重新启动,卡顿完全无法接受。

现在通过脉冲空闲位检测,一旦空闲马上重新PLS ,相当于一个扫描周期大约1-4ms的无脉冲发出,基本还能用。


www.hzhengkong.com
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 10楼 2018-10-08 10:30:36
以下是引用芳季在2018-10-07 21:16:57的发言 >7楼

在程序里面多加一点自我记录的程序,就像你上面的vw730 。只是好像加得不到位。你为何没有在自动发脉冲的地方增加记录?你也可以在一串指令的能流输出处写记录,当指令处理失效的时候就不会记录,这样会比你现在这种放置方式要好。

加得到位的话,你会……例如:两个应该一致的值,为何一个是53,一个是54呢?像这样的现象,你就把问题范围缩小了。

以下是引用饼够在2018-10-07 19:58:57的发言 >:谢谢关注!你问的很...

引用详细内容:

谢谢关注!

你问的很好!

一圈走完理论上正好设置长度的脉冲走完。我担心机械误差可能还达不到原点,所以我在最后一段就是第五段里加了20000000个脉冲,所以在发送完脉冲肯定是会碰到原点的。

就是说上一个PLS命令脉冲串没走完,碰到原点重新开始走这5段脉冲。


现在发现很奇怪的现象。白天出现这个故障现象多,晚上生产就很少会出现。感觉有点像干扰或者电源不稳定类的现象。问题是为什么每次停都在原点位置。没有其它规律可循。



实际是加了,我前面是为方便理解把那部分程序没放上来。

就是每过一个原点我做了一个产量计数。

如果怀疑接近开关有时检测不到而导致脉冲发完了停机。这个可能性是存在的。如果这样的话,设备是以最后一段包络的速度一直恒速运行。但这样不会每次停在原点。

如果一段脉冲没发完。在同一个扫描周期里取消脉冲发出,马上有启动脉冲发出,是不是系统有时会吃不消。 现在做1万个出现40次左右这个现象,白天比晚上稍频繁一点。

LD     原点:I0.3

EU

A     变速模式:V400.5

A      运行:V400.7

R      PLS0_Enable:SM67.7, 1

PLS    0

S      PLS0_Enable:SM67.7, 1

PLS    0

INCD   总个数:VD448



www.hzhengkong.com
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 11楼 2018-10-08 10:40:47

我建议不要去想什么监视到停了就再发的。想想为什么会停了。发脉冲是很微妙的程序接得好,不会有缝。pls指令可以有一段脉冲的缓冲,发完正在发的这段,可以立即发出缓冲中的一段。这个接续由硬件完成。缓冲,则是由再次执行pls指令达成。而这个再次,意味着这是全新的另一个脉冲串。(我是指单段)


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 12楼 2018-10-08 10:49:51

同一个周期执行10次100次都可以。你敢写,它就敢执行。

知道什么是追剪吗?可以跟你这么说,我就是用这个原理发脉冲到伺服的。每2至10毫秒定时中断刷新一次脉冲,哪里会有缝?总会有一些周期执行了两三次pls指令。你担心啥?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 13楼 2018-10-08 11:22:56

多段包络也可以立即终止立即再发。多段也是正在发当然段,缓冲下一段。再下一段未缓冲到的仍然可以修改。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13023
发帖数: 1815
精华帖: 22
回复:SMART200 PTO 异常停止


只看楼主 15楼 2018-10-08 11:49:08
以下是引用芳季在2018-10-08 10:49:51的发言 >12楼

同一个周期执行10次100次都可以。你敢写,它就敢执行。

知道什么是追剪吗?可以跟你这么说,我就是用这个原理发脉冲到伺服的。每2至10毫秒定时中断刷新一次脉冲,哪里会有缝?总会有一些周期执行了两三次pls指令。你担心啥?

我的理解管道缓冲敢写寄存器且执行PLS前提是要判断出管道空余,最初始的第一个PLS发出后紧接着写寄存器发第二个PLS,但第三个要在第一个发完(脉冲完成标志或中断计数判断)且第2个(脉冲正在发送标志计数判断)已经发出后才能写寄存器再执行PLS,不对地方请指正。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 16楼 2018-10-08 16:44:28
以下是引用芳季在2018-10-08 10:40:47的发言 >11楼

我建议不要去想什么监视到停了就再发的。想想为什么会停了。发脉冲是很微妙的程序接得好,不会有缝。pls指令可以有一段脉冲的缓冲,发完正在发的这段,可以立即发出缓冲中的一段。这个接续由硬件完成。缓冲,则是由再次执行pls指令达成。而这个再次,意味着这是全新的另一个脉冲串。(我是指单段)

是的。理论上我发完第五段设置长度的脉冲应该正好又回到原点。

但是,我考虑模具机械误差,抖动,累积误差的因素,把第五段脉冲加多了。为了保证发完前碰到原点。

我的速度曲线必须和模具对应尺寸通过零点校准。如果不通过零点校准肯定会产生误差。



www.hzhengkong.com
以下网友喜欢您的帖子:

  
至圣

经验值: 13023
发帖数: 1815
精华帖: 22
回复:SMART200 PTO 异常停止


只看楼主 17楼 2018-10-08 16:59:34
以下是引用饼够在2018-10-07 20:13:54的发言 >6楼

NETWORK 5    //速度检测为0自动重新开启保护记录

LDR=   HC0减记忆:VD746, 0.0

EU

A      自动运行:V400.7

AN     定速:V400.5

MOVB   PTO0_Status:SMB66, SMB67记录:VB734

MOVW   PTO0_Profile_Offset:SMW168, SMB168记录:VW732

MOVW   PTO0_Profile_Offset:SMW168, VW736

R      PLS0_Enable:SM67.7, 1

PLS    0

MOVW   +1999, PTO0_Profile_Offset:SMW168

MOVB   16#E0, PLS0_Ctrl:SMB67

PLS    0

INCW   次数记录:VW730


NETWORK 6  //检测脉冲空闲停机保护记录

LD     PLS0_Idle:SM66.7

EU

A      自动运行:V400.7

AN     定速:V400.5

MOVB   PTO0_Status:SMB66, VB754

MOVW   PTO0_Profile_Offset:SMW168, VW752

MOVW   PTO0_Profile_Offset:SMW168, VW756

R      PLS0_Enable:SM67.7, 1

PLS    0

MOVW   +1999, PTO0_Profile_Offset:SMW168

MOVB   16#E0, PLS0_Ctrl:SMB67

PLS    0

INCW   VW750

问题依旧。

现在,我通过高速编码器检测反馈速度,当检测到开机情况下速度为0时重新启动脉冲发出。

同时也检测脉冲空闲位,当运行状态下,停机马上重新开始发脉冲,勉强可以用。

还是没搞明白为什么脉冲有时会停。当停机时溢出位SM66.6也是0

      估计你用空闲位来启动下一段PLS接近最优用法了,官方说明好像要延迟上一个有效脉冲最大周期时间Tmax,也有推荐一个定时中断法,但你的Tmax应该约等于0.18ms(定时中断貌似不好用,能用什么呢难道要在原点的I/O中断中开启自身收发固定周期的高速计数输入中断来点数自己发送的脉冲个数中断来捕捉这0.18ms再发PLS,没在SMART上试过貌似走不通),但是总感觉这0.18ms很容易就被几条指令(比如原点的普通上升沿指令还有移动指令等)消耗掉的(难道SMART快到真的要仔细关注这0.18ms)。不知上述理解是否有误。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:SMART200 PTO 异常停止


只看楼主 18楼 2018-10-08 17:17:34

楼主;hold二位,我猜这个问题与楼主摆出来的程序没有多大关系。我反复斟酌了一下楼主的程序,没有什么意外的动作,都是正确的。脉冲确实是可以随叫随到,招手即停。可能楼主还要看看其他相关的事情了。

还强调一下,最好不要去弄那个检测到停了又马上发脉冲的事。没用的。这样做只能是小伤疤用一个补丁去遮盖。然后这个补丁有漏洞了,又用另一个更大的补丁去掩盖。没完没了……。

目前我觉得我没有什么地方可以介入了。我的smart程序沿用了200的那套方针,证实是没有问题的。200顺利改型成smart,你大可以放心使用。(当然了,这仅仅是脉冲这范围的经验)

还是看看别的原因吧。看看吧。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13023
发帖数: 1815
精华帖: 22
回复:SMART200 PTO 异常停止


只看楼主 19楼 2018-10-09 11:14:50


应该不是固件版本的事吧。


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1333
发帖数: 257
精华帖: 4
回复:SMART200 PTO 异常停止


只看楼主 楼主 20楼 2018-10-09 17:47:58
以下是引用holdkcsxyz在2018-10-09 11:14:50的发言 >19楼


应该不是固件版本的事吧。

在线看了固件版本:V02.03.01_00.00.00.00

发现一个非致命错误:PTO 包络段的数量设置为 0 (时间戳不匹配)


www.hzhengkong.com
以下网友喜欢您的帖子:

  
收起
SMART200 PTO 异常停止
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。