您现在所在的是:

PLC论坛

回帖:4个,阅读:1313 [上一页] [1] [下一页]
1194
star7953
文章数:95
年度积分:50
历史总积分:1194
注册时间:2005/4/28
发站内信
发表于:2005/8/30 16:17:00
#0楼
大家好, 我现在做的项目要输出能有个定时的输出高电平脉冲, SMB34,SMB35的时间都短了, 用定时器老是弄不出来?
我的是个自由口通信程序,在PLC 里面比较完数据之后,如果不合,那么输出Q1要2秒钟.

MAIN:
LD     SM0.1
MOVB   16#09, SMB130
MOVB   16#E0, SMB187
MOVB   16#54, SMB188
MOVB   16#0A, SMB189      //通信初始化
MOVB   50, SMB194
ATCH   INT_1, 24
ATCH   INT_0, 26
ENI
LD     SM0.1
MOVD   16#03510D0A, VD0

INT0:                            //发送中断
LD     SM0.0
RCV    VB80, 1                

INT1:
LD     SM0.0
MOVB   5, SMB34              //电缆切换时间
ATCH   INT_2, 10

INT2:                                //数据处理
LDB>   VB102, 16#0A
XMT    VB0, 1
=      Q0.1
CRETI

LDB<=  VB102, 16#0A      //数据小于16#0A, 则调用SBR_0,输出一个2秒脉冲
XMT    VB4, 1
CALL   SBR_0
CRETI

SBR-0:            ??????前面通信没问题,就是这里让输出Q1.0亮2秒再灭就不行了,
                  下面这段定时程序有问题,大家帮我看看哪里有问题啊, 谢谢!!!!
LDN    M0.0
TON    T32, 1000
LD     T32
=      M0.0
S      Q1.0, 1                     //Q1.0输出
CALL   SBR_1
CRET

SBR_1:
LDN    M0.1
TON    T33, 200                 //2秒
LD     T33
=      M0.1
R      Q1.0, 1                      //复位Q1.0
CRET
963
紫薇自控
文章数:28
年度积分:50
历史总积分:963
注册时间:2004/3/7
发站内信
发表于:2005/8/30 17:07:00
#1楼
T32时间到后就一直为1,这样就总是在SET Q0.1,T33计时到T33导通,复位Q0.1,M0.1通复位T33,T33关闭并重新开始计时停止复位Q0.1,这样Q0.1也只能停止一个扫描周期。
其实程序不麻烦,没必要子程序,只要两个计时器TON,当条件满足时,TON T32 开始计时,计时到置位Q0.1,并启动T33 开始计时,T33计时到复位Q0.1和T32计时器让其重新计时,T32为停止时间T33为运行时间
LDN    Q0.0
TON    T32, 200
LD     Q0.1
TON    T33, 200
LD     T32
EU
S      Q0.1, 1
LD     T33
EU
R      Q0.1, 1
1194
star7953
文章数:95
年度积分:50
历史总积分:1194
注册时间:2005/4/28
发站内信
发表于:2005/8/30 20:26:00
#2楼
楼上的兄弟,我试了你的程序,也不行啊,输出没反应
1478
zhaofeng_518
文章数:349
年度积分:50
历史总积分:1478
注册时间:2001/12/4
发站内信
发表于:2005/8/31 10:15:00
#3楼
兄弟,对不住了,第一个Q0.0常闭应该为Q0.1,T32为1mS单位,以下程序试过
NETWORK 1       //网络题目 (单行)
//
//网络注释
//
LDN    Q0.1
TON    T32, +2000

NETWORK 2
LD     Q0.1
TON    T33, +200

NETWORK 3
LD     T32
EU
S      Q0.1, 1

NETWORK 4
LD     T33
EU
R      Q0.1, 1
1194
star7953
文章数:95
年度积分:50
历史总积分:1194
注册时间:2005/4/28
发站内信
发表于:2005/8/31 12:44:00
#4楼
谢谢了, 这样是发出很多脉冲,
我的是要发出一个脉冲, 而不是一系列的脉冲啊, 有办法吗????

还有个问题, 如果程序跳到了STOP指令 , 那要怎么样才能重新启动程序,要重新启动机器才行吗????

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005