电气控制与PLC应用-陈建明(第三版)习题解答 下载本文

内容发布更新时间 : 2024/5/19 15:45:36星期一 下面是文章的全部内容请认真阅读。

14. 用循环移位指令设计一个彩灯控制程序,8路彩灯串按H1→H2→H3→…→H8的顺序依次点亮,且不断重复循环。各路彩灯之间的间隔时间为0.1s。

答:用PLC输出端点Q0.0~Q0.7分别控制彩灯H1~H8。I0.0接启动按钮开关常开触点,I0.1接停止按钮开关常开触点,控制程序见答案图19。

习题与思考题5-14: 彩灯控制程序(循环点亮) 网络1 // 起动/停止 LD I0.0 O M0.0 AN I0.1 = M0.0 网络2 // 停止 LD I0.1 R Q0.0, 8 网络3 // 灯1亮 LD M0.0 EU

S Q0.0, 1 网络4 // 计时0.1s LD M0.0

AN M0.1 TON T33, 10 网络5

LD T33 = M0.1

网络6 // 计时到后,循环左移 //,下一个灯亮 LD M0.1 RLB QB0, 1

答案图19

15. 用整数除法指令将VW100中的(240)除以8后存放到AC0中。 答:编程见答案图20。

26

习题与思考题5-15 网络1

LD M0.1

MOVW 240, VW100 MOVW VW100, AC0 /I +8, AC0

答案图20

16. 将AIW0中的有符号整数(3400)转换成(0.0~1.0)之间的实数,再将结果存人VD200。 答:S7-200 PLC的模拟量输入模块将模拟量转换成数字量后的典型量程范围为:

单极性:0~32000

双极性:-32000~32000

设模拟量输入量为双极性输入,则转换公式为

y?1x?0.5 64000式中,x为转换前的模拟量对应的数字量,y是转换后的实数值。

根据以上转换公式编制的程序如答案图21所示。

27

习题与思考题5-16 网络1

LD M0.1

ITD AIW0, AC0

DTR AC0, AC0

/R 64000.0, AC0

+R 0.5, AC0

MOVR AC0, VD200

答案图21

17. 将PID运算输出的标准化实数0.75先进行比例换算,然后再转换成一个有符号整数(INT),结果存入AQW2。

答:PID运算的输出结果为规格化的实数,范围在0~1.0之间。在将PID指令计算得到的PID回路的输出作为实际的模拟信号用于驱动实际负载之前,需要先将PID指令计算得到输出换算到实际需要的成比例的16位整数值,然后输出到模拟输出模块。转换公式如下

RScal?(Mn?Offset)*Span 式中,RSca1是与PID环路输出成比例的实数值;Mn是规格化的环路输出的实数值;Offset是偏移量,对单极输出是0.0,对双极输出是0.5;Span是实际输出的最大可能的数值减去最小可能的数值,对单极输出,典型值为32000,对双极输出,典型值为64000。

设输出为双极性(输出的整数范围为-32000~+32000),程序如答案图22所示。

28

习题与思考题5-17 网络1

LD M0.1

MOVR 0.75, AC0 -R 0.5, AC0

*R 64000.0, AC0

ROUND AC0, AC0

DTI AC0, LW0

MOVW LW0, AQW2

答案图22

18. 用定时中断设置一个每0.1s采集一次模拟量输入值的控制程序。 答:编程见答案图23。

习题与思考题5-18:

定时(0.1s)中断采集模拟量 网络1 // 首次扫描调用子程序0 LD SM0.1 CALL SBR0

答案图23

29

子程序0

网络1 // 网络标题

LD SM0.0

MOVB 100, SMB34

//设置中断0的时间间隔.01秒

ATCH INT0, 10 //连接中断服务程序 ENI

//全局性允许中断

中断程序0 网络1 // INT_0

// 每100 ms读取AIW2的值 LD SM0.0

MOVW AIW2, VW100

答案图23续

19. 按模式6设计高速计数器HSC1初始化子程序,设控制字节SMB47=16#F8。

答:要对高速计数器编程,必须完成下列基本任务:定义计数器和模式;设置控制字节;设置当前值(起始值);设置预设值(目标数值);分配和启用中断例行程序;激活高速计数器。

编程见答案图24。

20. 以输出点Q0.1为例,简述PTO多段操作初始化及其操作过程。

21. 用TODR指令从实时时钟读取当前日期,并将“星期”的数字用段码指令(SEG)显示出来。

答:执行读实时时钟指令TODR后,得到连续8个字节中的最高字节是“星期几”的BCD码,其中“1”表示星期日,“7”表示星期六,“0”被禁用,所以得到的参数需要修正。编程见答案图26。

30