S7-200PLC编程与应用(廖常初第2版)习题集参考答案解析 下载本文

内容发布更新时间 : 2024/12/26 12:08:14星期一 下面是文章的全部内容请认真阅读。

7.用I1.0控制接在QB0上的8个彩灯是否移位,每1s移1位。用IB0设置彩灯的初始值,在I1.1的上升沿将IB0的值传送到QB0,设计出梯形图程序。

8.用实时时钟指令设计控制路灯的程序,20:00时开灯,06:00时关灯。

LD TODR

SM0.0 VB0

// 读实时钟,小时值在VB3

// 20点~0点(日期、时间值用BCD码表示) // 0点~6点 // 点亮路灯

LDB>= VB3, 16#20 OB< =

VB3, 16#06 Q0.0

9.用实时时钟指令设计控制路灯的程序,在5月1日~10月31日的20:00开灯,06:00关灯;在11月1日~下一年4月30号的19:00开灯,7:00关灯。

LD

SM0.0

TODR

LDW>= VW1, 16#1031 OW< VW1, 16#0501 = M0.0

LDB>= VB3, 16#20 OB< VB3, 16#06 AN M0.0

//夏季

// 19点~7点开灯 // 20点~6点开灯

//冬季ON

VB0

// 读实时钟,小时值在VB3,月日在VW1

LDB>= VB3, 16#19 OB< VB3, 16#07 A M0.0 OLD = Q0.1

//冬季

10.半径(<10000的整数)在VW10中,取圆周率为3.1416。编写程序,用浮点数运算指令计算圆周长,运算结果四舍五入转换为整数后,存放在VW20中。

LD ITD DTR *R

SM0.0 VW10, AC1 AC1, AC1 3.1416, AC1 AC1, VW20

// 整数转换为双整数

// 乘以3.1416

// 乘积四舍五入转换为双整数 // 低16位送VW20

// 双整数转换为实数

ROUND AC1, AC1 MOVW

第11题 编写语句表程序,实现运算VW2–VW4 = VW6。

LD I0.2 MOVW VW2, VW6 -I VW4, VW6

12.AIW2中A/D转换得到的数值0~32000正比于温度值0~1200?C。在I0.0的上升沿,将AIW2的值转换为对应的温度值存放在VW10中,设计出梯形图程序。 公式: T = 1200*N/32000

LD I0.3 MOVW AIW2, AC0 AENO

MUL 1200, AC0 AENO

/D 27648, AC0 AENO

MOVW AC0, VW10

13.以0.1度为单位的整数格式的角度值在VW0中,在I0.0的上升沿,求出该角度的正弦值,运算结果转换为以10?6为单位的双整数,存放在VD2中,设计出程序。

LD I0.0

EU LPS

ITD VW0, AC0 AENO

DTR AC0, AC0 AENO

/R 10.0, AC0 LRD

*R 0.01745329, AC0 AENO

SIN AC0, AC0 LPP

*R 1000000.0, AC0 AENO

ROUND AC0, VD2

16.编写程序,用字节逻辑运算指令,将VB0的高4位置为2#1001,低4位不变。 LD V0.4 MOVB VB0, LB0 AENO

ANDB 16#0F, LB0 AENO

MOVB LB0, VB0 ORB 16#90, VB0

17.编写程序,前后两个扫描周期VW4的值不变将M0.2复位,反之将M0.2置位。 LD I0.4 MOVW VW4, AC0 AENO

XORW VW6, AC0 AENO LPS

AW= AC0, 0 R M0.2, 1

LRD

AW<> AC0, 0 S M0.2, 1 LPP

MOVW VW4, VW6

18.设计循环程序,求VD20开始连续存放的5个浮点数的平均值。

19.在I0.0的上升沿,用循环程序求VW100~VW108的累加和。为了防止溢出,将被累加的整数转换为双整数后再累加。用VD10保存累加和。

20.编写程序,求出VW10~VW28中最大的数,存放在VW30中。

21.用子程序调用编写图5-3中两条运输带的控制程序,分别设置自动程序和手动程序,用I0.4作自动/手动切换开关。手动时用I0.0和I0.1对应的按钮分别点动控制两条运输带。

主程序

自动程序

手动程序

22.设计程序,用子程序求圆的面积,输入参数为直径(小于32767的整数),输出量为圆的面积(双整数)。在I0.0的上升沿调用该子程序,直径为10000mm,运算结果存放在VD10中。