我学习PWM时,在书上找了一个例子,按照例子编写了程序后,运行发现Q0.0始终为1,请各位大侠指点一下,先谢谢了。
例子要求如下:
程序注释设计一段程序,从PLC的Q0.0输出一组脉冲。该串脉冲脉宽的初始值为0.5s,周期固定为5s,起脉宽每周期递增0.5s,当脉宽达到设定值的4.5s时,脉宽改为每周期递减0.5s,直到脉宽减为零为止,以上过程重复执行。
程序如下:
主程序:
LD SM0.1
CALL SBR_0:SBR0
LDW>= SMW70, VW0
R M0.0, 1
LDW= SMW70, 0
CALL SBR_0:SBR0
LD I0.0
A M0.0
ATCH INT_0:INT0, 0
LD I0.0
AN M0.0
ATCH INT_1:INT1, 0
SBR_0子程序:
LD SM0.0
S M0.0, 1
MOVB 16#DA, SMB67
MOVW 500, SMW70
MOVW 5000, SMW68
ENI
PLS 0
MOVW 4500, VW0
INT_0中断程序内容
LD SM0.0
+I 500, SMW70
PLS 0
DTCH 0
INT_1中断程序内容
LD SM0.0
-I 500, SMW70
PLS 0
DTCH 0
硬件中,把Q0.0的输出给了I0.0
程序测试结果是Q0.0与I0.0一直亮着,不出现任何变化,请各位大神指点一下。