• «
  • 1
  • 2
  • »
  • Pages: 2/2     Go
职业特工0
级别: 探索解密
精华主题: 0
发帖数量: 62 个
工控威望: 101 点
下载积分: 1018 分
在线时间: 26(小时)
注册时间: 2021-12-08
最后登录: 2022-12-30
查看职业特工0的 主题 / 回贴
12楼  发表于: 2022-03-31 11:03
引用
引用第10楼zhangqi_1234于2022-03-30 19:45发表的  :

我看你发的程序,我个人认为,程序设计者使用C251意思是:用它来接收X0和X1端的脉冲。当X0的脉冲超前X1脉冲90度时,进行加计数,当X0脉冲滞后X1脉冲90度时,进行减计数。当计数值等于1时,表明X0端和X1端各自输入了一个脉冲,两个脉冲相差90度,X0端超前X1端90度。然后C251常开触头闭合,C251闭合的第一个扫描周期使D31自加1,然后C251复位,C251常开触头断开。C251重新从零开始计数,计数值等于1又开始上述动作,如此周而复始。然后把D31转存D33,D33转换成实数存D55,D55又经过一系列实数运算,得出的结果可能是某零件的长度。那么你说的C251不断累加计数,而没有复位的这种故障,很有可能是X0端输入的脉冲不是超前X1端脉冲90度,而是滞后X1端90度,结果导致C251减计数,计数结果为负数,始终不等于1,无法实现复位。这个属于PLC的X0端和X1端接编码器的故障 ,不是PLC的故障。还有一种可能,就是这样编程使用C251有个前提条件:X0和X1端输入的脉冲周期不能小于PLC的扫描周期,否则会导致C251不断累加计数而不会复位。另外,需要指出的是,你开始只拿部分程序出来,而不说明PLC的X0和X1端接的什么,别人也很难作出判断。

出问题时候,一直正计数,您说的没错,可能是编码器故障,另外一种情况不会出现,因为出问题前一直这样使用没问,现在用比较指令复位C251,使用没问题,谢谢解答。
zhangqi_1234
级别: 略有小成
精华主题: 0
发帖数量: 336 个
工控威望: 487 点
下载积分: 4001 分
在线时间: 246(小时)
注册时间: 2013-03-22
最后登录: 2024-05-13
查看zhangqi_1234的 主题 / 回贴
13楼  发表于: 2022-03-31 11:51
引用
引用第12楼职业特工0于2022-03-31 11:03发表的  :

出问题时候,一直正计数,您说的没错,可能是编码器故障,另外一种情况不会出现,因为出问题前一直这样使用没问,现在用比较指令复位C251,使用没问题,谢谢解答。

你只是解决了C251不能复位的问题,但是没有彻底解决问题!首先要搞清楚用C251和编码器是干什么的,那是用来作测量的,如果编码器出了故障,或者运动物体运动速度加快,导致计数脉冲频率上升,很可能就会影响测量精度。当然,如果只是用来作粗略测量,不考虑误差,那么还是可以采用区间比较指令代替C251常开触头使C251复位。
士林台安电气
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 106 点
下载积分: 528 分
在线时间: 10(小时)
注册时间: 2011-03-18
最后登录: 2022-06-10
查看士林台安电气的 主题 / 回贴
14楼  发表于: 2022-06-10 00:40
这个很大可能是编码器的问题
  • «
  • 1
  • 2
  • »
  • Pages: 2/2     Go