yangliu
一笑而过
级别: 家园常客
精华主题: 0
发帖数量: 465 个
工控威望: 569 点
下载积分: 35425 分
在线时间: 1935(小时)
注册时间: 2006-11-12
最后登录: 2024-11-23
查看yangliu的 主题 / 回贴
楼主  发表于: 2008-10-08 11:41
请大家帮忙:
   有一台清洗设备,从进料口放产品(每次放一片,连续放),然后经过清洗烘干后从出料口出来,现在进出口各有一检测传感器,用来检测有无产品。产品从进料口放料到出料口大约为2---5分钟,产品在清洗过程中有可能被卡住,且不能确定被卡的位置,所以只能利用进出料的传感器来判断有无产品堵塞,如果有堵塞,则报警。请问如何编程?
一笑而过
勇闯天涯
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看勇闯天涯的 主题 / 回贴
1楼  发表于: 2008-10-08 14:02
站长说用定时器只是给你一个思路
实际应用中,因为你传送带速度是不确定的,所以用时间来控制当然行不通

我的思路如下:
用一个感应器感应马达(类似于编码器的安装方式),接到PLC输入点上(比如说X0)
以检测一个物料为例
入口感应器感应到,X0计数(马达转一圈,内部计数器值加1)
由于马达转到圈数和传送带行走的路程成正比
所以,计数器到某值后,如果出口感应器还没有感应到产品时,则说明发生堵塞

打个比方
假设物料从入口到出口需要马达转10000转
那么,放入一个物料后,马达转10000转之后必须出来,
这样是比较可靠的,马达的转速不会影响控制

请各位高手指点
勇闯天涯
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看勇闯天涯的 主题 / 回贴
2楼  发表于: 2008-10-08 18:51
鉴于大家对这个问题浓厚的兴趣,我仓促的编了一个程序,请各位高手指点:





怕图片上传失败,干脆把指令表发过来算了
0 LDP X000
2 WSFL D202 D210 K30
11 RST D202
14 INC D203
17 LDP X001
19 DEC D203
22 SUB D203 K1 V0
29 SUB D203 D210V0 D201
36 LD> D203 K0
41 MPS
42 INV
43 ZRST D201 D202
48 MRD
49 AND> D201 D200
54 SET Y000
55 MPP
56 ANDP X002
58 INC D201
61 INC D202
64 END

X0 入口感应器
X1 出口感应器
X2 马达感应器

Y0 蜂鸣器

D200 总值
D201 当前值
D202 位差值
D203 当前内部产品个数
本帖最近评分记录:
  • 下载积分:+2(huguoqi) 热心助人!
    勇闯天涯
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看勇闯天涯的 主题 / 回贴
    3楼  发表于: 2008-10-08 18:56
    此程序若要用到实际中,还需要做适当修改
    比如说:D200是总值(意思是从入口到出口处,马达转到圈数),但三菱PLC最大才30000多,当然不够用
    解决方法有很多种,例如:用X2驱动一个计数器,每100次就溢出一次,用这个计数器的上升沿取代程序中的X2

    漏洞还不止一处,在此声明,这个程序只是给个思路而已
    勇闯天涯
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看勇闯天涯的 主题 / 回贴
    4楼  发表于: 2008-10-08 20:33
    楼主,你在5楼的发言我仔细的看了一下

    才知道,你的疑惑是怎样依次记录各个产品的状态

    这个问题只是其次,很简单就解决的,重点应放在如何保证位差精度

    这也是难点,站长的方法是用时间来控制,这样会受马达转速不稳定的影响,将有可能会引起误判

    我上面传的那个程序还是用我在3楼发表的思路来实现的。

    所以的寄存器全都选掉电保持的,这是为了防止意外断电导致数据清零

    再补充说明:D200(总值)是给你设定一个常数,一定要给定,不然这个程序没法用

    仔细体会一下这个程序吧,看懂了之后你就知道我的思路了
    勇闯天涯
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看勇闯天涯的 主题 / 回贴
    5楼  发表于: 2008-10-08 22:39
    顶11楼,我的想法亦是如此

    详细说明一下用到的内部软元件的功能吧:
    X0 入口感应器:安装在入口处
    X1 出口感应器:安装在出口处
    X2 马达感应器:安装在马达转轴处,用于感应转子转的圈数,类似于编码器的装法

    Y0 蜂鸣器:当程序判定内部堵塞时,输出报警信号

    D200 总值:此参数为常数,根据实际需要来进行设定,代表的意义是:从入口到出口,马达转所的圈数
    D201 当前值:当前离出口最近的产品所运行的位置
    D202 位差值:每个产品的位置的间隔
    D203 当前内部产品个数:设备内部当前的产品数量

    本程序最多支持内部同时有30个产品,可根据实际需要修改