发表于:2005/8/30 16:14: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
我的是个自由口通信程序,在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