DYQ723823
求助各位大侠:本人工控新手一个,用海为PLC-S16S2R一台,奥托尼克斯E40S6-2000-3-T-24旋转编码器一个,测量运动距离。
联接方式是用联轴器与传动主轴联接。
计数方式:当Y0闭合,开始计数,设定脉冲值2133(根据周长等计算所得)。达到脉冲值后高速计数器输出M20断开Y0,并触发HCWR复位。等待下次计数触发。
实际调试时发现每次停止时的行程不一样。各种计数模式,数值比较开关,HHSC输出上升沿触发置位都已试过,还是不行。请各位大侠指点下,不胜感激!
文艺青年
海为PLC用过,也一直关注。高速计数也做过,建议楼主可以把你的“达到脉冲值后高速计数器输出M20断开Y0,并触发HCWR复位。等待下次计数触发。”这部分功能放在中断程序里,HSC0高速计数 设定值=测量值 的时候会产生一个I33的中断,以下是我根据你的要求写的一个程序,楼楼主可以试试。不足之处,还请大家多多指点:
主程序部分:
中断程序部分:
人老心未老
没用过这个品牌的PLC,所以不知道这个PLC的 指令,但有一点应该是一样的,即利用高速计数器,大部分要使用中断。如测量值等于设定值时中断、定时中断等。西门子PLC有专门用于各种中断事件的特殊继电器。我想你说的PLC也应该有。
DavidLuiz
1、设定值=测量值的时候会产生一个中断,PLC会立刻去执行中断程序。
2、通过M来触发或者脉冲个数比较受到扫描周期影响。
3、高速计数不受PLC扫描周期影响。
扎KAWEI
文艺青年好厉害
回复内容:
对: 文艺青年 海为PLC用过,也一直关注。高速计数也做过,建议楼主可... 内容的回复!
herochenzhao
引用 人老心未老 的回复内容: 没用过这个品牌的PLC,所以不知道这个PLC的 指令,...
AASKY
中断之类的来不及,中断响应时间一般也就1ms以内,而这1ms内的计数值就会丢掉
用循环计数 工作的时候不要清计数器,把计数值计下来,然后计算与上一次的差值,这样就不存在累积误差 当然,如果是干扰那就得另行处理了
强行清计数器只在回原点或不动的时候才去做的事情
董小姐
高速计数器计数与中断执行是并行的,在执行中断的时候,计数器的输入脉冲不会丢失。
打波kill
文艺青年好厉害!!!
linchend2397
引用 文艺青年 的回复内容: 海为PLC用过,也一直关注。高速计数也做过,建议楼主可...
我是刚上路的,学习参考。
引用 AASKY 的回复内容: 中断之类的来不及,中断响应时间一般也就1ms以内,而这...
CHENYAOYIN
我认为,还是主轴停止速度太高呀,你最好用多段速控制,当达到预设长度时候立即主轴减速到低速运行,达到设定长度停止
感谢各位大侠的热心帮助,经过海为技术人员陈工的热心指点,现在问题已经解决了。共享一点经验,就是把高速计数器的复位功能HCWR,放进中断时,高速计数器就不会输出,监视发现高速计数器不停的计数——复位——计数,到达设定脉冲后不能切断电机。个人认为是中断的响应速度是高于PLC的,所以导致高速计数器还没有输出,就已经被复位了。