鹅卵石
广交天下朋友!!1
级别: 略有小成
精华主题: 0
发帖数量: 125 个
工控威望: 246 点
下载积分: 2075 分
在线时间: 61(小时)
注册时间: 2012-12-06
最后登录: 2024-09-20
查看鹅卵石的 主题 / 回贴
楼主  发表于: 2013-12-09 22:41
向各位大侠求教:
    背景:   用一电机控制设备上下位移,电机上的编码器根据上下运动,通过I0.0, I0.1发出脉冲信号,Q0.0正转,Q0.1 反转,Q0.2高速,Q0.3低速,此四个输出接到西门子变频器上,程序根据脉冲数和方向计算运动部件的位置,运动方向和运动距离
问题:1、 若采用HSCO,该用模式6(带有增减计数脉冲的双向计数器)还是改用模式9(A,B相正交计数)
             2、在控制字节设置中,SMB37.5 是允许写入初始值,此处若设置为1,是允许写入,但写入时需要条件,还是系统默认,不需条件,只是在计数器(重新)开始计数时用,计数过程中不再影响当前计数值;此处牵扯掉电后计数初值问题(设备已经调试几天,为掉电从零开始计数问题很头痛,我需要掉电后按掉电前的值继续往下计数)
3、再次提一下上面的问题,高速计数器掉电后我需要从掉电前的计数值开始计数,这个能实现吗,用的是S7-200 CPU 226 CN,我原来设置:smb37:1111 1100 16#FC,模式9(模式是不是不合适),初始值SMD38设置为0,设置完毕将计数值传送到VD200,可是掉电重启后发现VD200变为零且计数从零开始,我需要从原来计数值开始,如何解决,跪求!!!
  4、高速计数器可不可以不与中断同时用,即只用高速计数器的计数功能来获取计数值





   跪求各位高手大侠帮助!!!!!
广交天下朋友,三人行者必有我师 ,择其善者而从之
从事电气方案设计,做运动控制,惯用西门子、欧姆龙、基恩士
软件共享、技术互助、项目合作请关注公众号:fshshu
自动机器
级别: 略有小成
精华主题: 0
发帖数量: 176 个
工控威望: 288 点
下载积分: 1041 分
在线时间: 1130(小时)
注册时间: 2010-05-21
最后登录: 2024-09-16
查看自动机器的 主题 / 回贴
1楼  发表于: 2013-12-10 17:14
这个简单啊,你AB相的编码器用AB相计数器比较方便,计数值在电机正反转自动增减,这样就可以得到实时的位置值。S7-200的PLC在执行HSC指令时检查SMB37的每个位,不执行HSC指令时是不检查的SMB的位的,    
至于保持计数器的当前值,你VD200要设置成掉电保持。程序不停的将HSC的当前值传送到VD200里面,在PLC上电是将VD200里的值传回到计数器的当前值寄存器里面,SMB37里面要设置好更新当前值位,原后执行HSC指令就行了,当然你同时要注意这几个指令的执行顺序。