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。
习题与思考题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
设模拟量输入量为双极性输入,则转换公式为
1x?0.5 64000式中,x为转换前的模拟量对应的数字量,y是转换后的实数值。
根据以上转换公式编制的程序如答案图21所示。
y?习题与思考题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所示。
习题与思考题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