bhqt
级别: 论坛版主

精华主题: 6 篇
发帖数量: 254 个
工控威望: 5338 点
下载积分: 8391 分
在线时间: 57(小时)
注册时间: 2007-04-11
最后登录: 2023-11-24
查看bhqt的 主题 / 回贴
楼主  发表于: 2007-08-22 22:31
西门子S7-200的相关问题都可以在此提出。我会尽我最大能力去,用最快的时间帮兄弟们解决。我只是起一个抛砖引玉的作用,很多的时候,希望大家积极参与,一个人的力量是有限的。人多思路就开阔,方法就多,更容易解决问题。提问题的时候,请注意以下几点:

【1】请写明您使用的200系列PLC的具体型号,最好是订货号!例如:6ES7 214-2BD23-0XB8

【2】请详细,具体写明您要我给解答的问题,不要将技术问题升级到学术问题,也不要将点问题牵扯到面上。

【3】请留下您的联系方式,邮箱、QQ、电话等
[ 此贴被bhqt在2008-01-18 14:05重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(防弹武僧) 热心助人!
  • 下载积分:+1(xyiq01) 热心助人!
  • 下载积分:+1(ludongji151) 热心助人!
  • 下载积分:+1(wang7111233)
  • 下载积分:+3(wuwm_1974)
  • 下载积分:+2(zhoufeihero) 真是好人!
  • 下载积分:+1(bettyl) 热心助人!
  • 从明天起,做个幸福的人,骑马劈柴周游世界;
    从明天起,关心粮食和蔬菜,有一所房子,面朝大海,春暖花开
    lyrun
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看lyrun的 主题 / 回贴
    1楼  发表于: 2008-09-01 13:35
    我的PLC是 216-2AD23-OXB8。由于程序扫描周期比较长(大于10MS),不能直接在主程序里面用定时器T来实现,现在考虑到用中断,但听说在中断程序里面是不能用时间定时器的。请问斑主,这个程序该如何实现呢?不胜感激!
    邮箱:lyrun1120@163.com;   QQ:262823396
    lyrun
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看lyrun的 主题 / 回贴
    2楼  发表于: 2008-09-08 16:06
    主程序区:
    LD     SM0.1                 //首次扫描时调用一次
    CALL   SBR_1:SBR1
    //
    LD     SM0.0                 //一直调用
    CALL   SBR_0:SBR0
    //--------------------------------------------------
    子程序区:

    子程序0(一直调用,计时用):
    LD     M0.0
    AN     T32
    TON    T32, VW0   //此寄存器的值即为可调的定时时间(0-10MS),我是通过屏来实现的
    子程序1(首次扫描调用,初始化程序用):
    LD     SM0.0
    R      M0.0, 1
    ATCH   INT_0:INT0, 1               //在I0.0 的下降沿触发的中断事件
    ATCH   INT_1:INT1, 21              //定时器T32,CT = PT 中断时触发的中断事件
    ENI
    //----------------------------------------------------------
    中断程序区:

    中断0(在I0.0 的下降沿时触发):
    LD     SM0.0
    S      M0.0, 1                     //检测到I0.0的下降沿,置位M0.0到子程序0开始计时
    R      Q0.1, 1                     //并复位控制输出
    中断1(定时器T32,CT = PT 中断时触发的中断事件):
    LD     SM0.0
    S      Q0.1, 1                     //定时时间到,输出控制
    R      M0.0, 1                     //并复位定时器执行条件(M0.0),为后面再次计时做准备

    以上是小弟做的一个0-10MS可调定时器程序,是通过检测交流电的过零点(由I0.0输入),然后延时输出控制振机的振动强度用的(由Q0.1输出)。但在测试过程中感觉还是有点问题,就是输出控制不是很准确。再说这还只是一个小程序,扫描周期是很短的,而实际项目的程序是很长的,扫描周期应该会在10MS以外,这样输出控制的准确性就更难保证了。
        希望斑主或是各位给能点意见,或是修改我上面的程序,或是干脆重写一个都行,哪怕是给点思路,也非常感激!!

    俺的联系方式:lyrun1120@163.com    QQ:262823396
    [ 此帖被lyrun在2008-09-10 08:56重新编辑 ]