想利用S7-300 CPU313(自带DI24/DO16)实现三个计数通道分别对三台电机的编码器

已锁定

liuliwh

  • 帖子

    10
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2009-04-24

普通 普通 如何晋级?

想利用S7-300 CPU313(自带DI24/DO16)实现三个计数通道分别对三台电机的编码器

591

0

2009-05-06 11:37:03

你好!我是初学S7-300,遇到困难,请各位老师多多指教!
我想利用S7-300 CPU313(自带DI24/DO16)实现三个计数通道分别对三台电机的编码器(EH 88 P 1024 Z 8/24L 25 X 3 P R)进行计数功能,来完成对运动物体移动的控制(实现在总长度一定的情况下,移动到若干个设定的区间都有一个输出信号,移动完全程长度后,计数值自动复0,周期重复),另设一个手动按钮,进行计数值复0。
我想做到:
一、 计数器0、1通道分别计数二台设备,编码器输入,计数从0----1000。不考虑正反转运行(一个方向)
要求:1:在计数的过程中能输出当前实际计数值,供比较器使用。计数大于和等于100时输出一个信号,大于和等于500时又输出一个信号,大于和等于900时输出一个信号,到1000时输出一个信号,同时将当前实际计数值置0。还要设置一个外部输入信号,可将当前实际计数值置0。
二、计数器3通道编码器输入,计数从0----5000。不考虑正反转运行(一个方向)
要求:1:在计数的过程中能输出当前实际计数值,供比较器使用。计数大于和等于200时输出一个信号,大于和等于1500时又输出一个信号,大于和等于4500时输出一个信号,到5000时输出一个信号,同时将当前实际计数值置0。还要设置一个外部输入信号,可将当前实际计数值置0。
现我的困惑是:
一、硬件配置中计数器的属性中,计数器通道,我不能一次将0-2通道设置完成,设置完0通道后,再设置1通道时,机架上只有1通道,没有0通道。
二、输入/输出地址的问题:
A:CPU默认输入输出地址为I124-126,O124-125;B:手册中对0通道的输入使用DI0.0—0.2(实物接线位置);C:手册中5.4节《在用户程序中实现功能》中,介绍:要在计数模式下读取实际值,可调用“计数”子模块中设置的输入地址。在SFB47中,LADDR是在“HW CONFIG”中指定的子模块I/O地址,如果I/O地址不同,必须指定二者中较低一个,这句话怎样理解?HW CONFIG”中子模块I/O地址有默认值,是否对0-2通道将要分别设置?
缺省值=300HEX,300HEX和I124-126,O124-125是什么关系?

手册中5.4节《在用户程序中实现功能》中,介绍:要在计数模式下读取实际值,可调用“计数”子模块中设置的输入地址。0通道I地址为n+0,1通道I地址为n+4,2通道I地址为n+8,n是多少?
COUNTVAL是实际计数值,如SFB47的数据块设定DB20,其实际计数值存放在DB20.DBD14中,程序中能否直接将它,在任何一个FC或FB中同某一个具体数值(比方500)进行大小比较?
三、SFB47的背景数据块
在“HW CONFIG”中,分次对0-2通道进行设定,分别对SFB47指定数据块DB20、DB30、DB40,是不是DB20.DBD14、DB30.DBD14、 DB40.DBD14分别存放0—2通道的实际计数值?
手册中5.4节《在用户程序中实现功能》中,提示注意:对于每个通道均必须始终通过同一背景数据块调用SFB,因为该背景数据块包含SFB内部处理过程所需要的状态。上述做法对不对?这句话怎样理解?
四、COUNTVAL、LADDR都能读出实际计数值吗?

真诚感谢!



想利用S7-300 CPU313(自带DI24/DO16)实现三个计数通道分别对三台电机的编码器 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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