purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
楼主  发表于: 2014-06-06 22:10
高速中断的问题请教各位。信捷XC3高速定长切断。最高速120米每分钟。用的400线的编码器计数,1倍频。高速计数中断方式切断。当到达设定长度脉冲后,立刻进入中断,复位高速数器C630。现在的问题是发现复位C630时,丢脉冲导致计数不准。感觉复位时间太长导致编码器在走了不少距离才又归的零。几试过1024线的也差不多。低速误差还好,高速相差较大。编码器没问题,只要复位就有误差。
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
1楼  发表于: 2014-06-07 08:19
再说一下检测思路。编码器400线,1倍频。在编码器上设置一标志位,那么转一周刚好转回标志位对齐。比如80000个脉冲,那么刚好20转对齐标志位。但当设置比如40000个脉冲进入中断时,应该就是转10圈进入中断。立即对C630复位。第二个也40000个脉冲进入第二次中断,当第二,第三个……中断来的时候,就越来越偏离标志位了。按理说应该每转一圈400个脉冲都应该对得上标志位置,实际上复位就不行。不复位怎么都行,标志位上监控的数也都是400的整倍数。
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
2楼  发表于: 2014-06-07 18:27
机械没有问题的,PLC速度应该也不是问题。中断不就是立即处理不受扫描周期影响的么?就算是最高速度1ms也才是运行2mm而已。我现在关心的是C630进入中断后立刻复位C630,那么它是不是马上复位。复位后又是否马上计数。因为程序的思路就是C630到达设定的脉冲数(长度)后进入中断,复位C630。那么C630应该立即从0开始计数。到达设定脉冲数后进入中断,复位C630……如此循环。
purshro
级别: 略有小成
精华主题: 0
发帖数量: 108 个
工控威望: 228 点
下载积分: 8583 分
在线时间: 227(小时)
注册时间: 2014-05-07
最后登录: 2018-01-29
查看purshro的 主题 / 回贴
3楼  发表于: 2014-06-08 19:03
引用
引用第8楼niningtt于2014-06-08 15:42发表的  :
首先你要知道PLC的扫描周期。你使用的高速计数器计数不会丢(相信一般的PLC都可以做得到),那么就是你的程序的问题了,在告诉处理的程序,应该避免因为扫描周期造成的误差。比如本次扫描,读取告诉计数器值,小于目标值哪怕是1,也不会输出。但是当下一个扫描周期,这一个周期有可能过了数个,数十个,脉冲。原因大多是你这个指令用的不对。信捷的没用过,但是应该有个高速比较指令。这个就是高速计数器达到指定值就直接进入中断,就像高速计数后台处理,这样就可以避免一个扫描周期内的不确定性
r
谢谢指导。信捷好象没有类似HSCS,HSCR 这类指令。它的HSCR只是读取高速计数的值。所以才用的中断处理,所以第一根总是准的。当C630到达指定长度后进入中断。RST -C630,问题是只要一复位C630计数器,就不准了。RST是非高速指令,不知道会不会是这个问题。信捷好象也没有高速计数器比较复位HSCR这样的指令。