5-14、用循环指令编写一段输出控制程序,假设有8个指示灯,从左到右0.5秒速度依次点亮,
保持任一时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮,每按一次启动按钮,循环显示20次。
解:按照题意,所编梯形图程序如下:
LD
I0.0
MOVB 1, QB0 S M0.0, 1 MOVW 1, C0 LD
M0.0
FOR C0, 1, 9 LDN T32 TON T32, 100 LD NEXT LD T32 LDN CTU LDW
结论:1.依次点亮1-8个灯,循环20次
2.参数还需进一步调整
M0.0 C1, 20 >= C1, 20 T32
R0L-B QB0, 1
R M0.0, 1
16
第六章、S7-200系列PLC功能指令
6-1、用数据类型转换指令实现100英寸转换成厘米
解:按照题意,所编梯形图程序如下:
LD
I0.0 MOVW 100, AC1 MOVR 2.54, VD4 LD
I0.1
DTR AC1, VD0 MOVR VD0, VD8 *R
结果:(VD12) = 254
17
VD4, VD8
ROUND VD8, VD12 //实数转换到字整数
6-2、编程输出字符A的七段显示码 解:按照题意,所编梯形图程序如下:
LD
I0.0
MOVB 10, VB0 //将“A”先送到VB0 SEG VB0, QB0 //再将VB0中数据转换成ASCII码
结果:在QB0端输出字符“A”
6-3、编程实现将VD100中存储ASCII码字符串37,42,44,32转换成十六进制数,并存储到
VW200中。
解:按照题意,所编梯形图程序如下:
LD MOVB MOVB MOVB MOVB LD
18
I0.0
16#37, VB100 16#42, VB101 16#44, VB102 16#32, VB103 I0.2 VB100, VB200
ATH
MOVB MOVB
运行结果:(VB201)= 210 (VB200)= 123 16
6-4、编制实现定时中断,当连接在输入端I0.1的开关接通时,闪烁频率减半;当连接在输入端
I0.0的开关接通时,又恢复原来的闪烁频率。
解:按照题意,所编梯形图程序如下:
LD
I0.0 //当I0.2=“1”,
//调用子程序
CALL SBR_0, SBR0 // 子程序 LD 置
定时中断(中
MOVB 100, SMB34 //的时
间间隔100ms,即100ms产
ATCH
INT_0, INT0 //生一个定时
断。
EIN //连接:中断事件(定时中断为0) LD SM0.0 //为10号事件 MOVW
19
VB200, VB300 VB201, VB301
进制数为:
1000010000000100100011
SM0.0 //SMB34为设
中
AIW4, VW100 //∵SM0.0上电后
为“1”
LD SM0.5
//∴每隔100ms读一次
A
IW4的值
A I0.1
//∵SM0.5周期为1秒
脉
冲的脉冲串
LD C1
//
STD C1, 1 //当I0.1=“1”,C1计
数
产生方波
LD A
SM0.5 //输出.F=
12f
I0.0 //当I0.0=“1”,C0计
数器产生方波
// 输 出,F=1f
LD
C1 //用C0,C1去置位、
复位Q0.1
20