您现在的位置是:首页 > PLC技术 > PLC技术

用2位数码管显示灯发光时间的变化值(减计数)

来源:艾特贸易2017-06-04

简介1 .内容与要求 启动后,绿灯发光, 15s 后熄灭。要求: 1) 用 2 位数码管实时显示绿灯发光的时间(以秒为单位作减计数显示)。 2) 用按钮 SB1 作灯闪烁启动控制,用按钮 SB2 作灯熄灭

    1.内容与要求    启动后,绿灯发光,15s后熄灭。要求:    1)2位数码管实时显示绿灯发光的时间(以“秒”为单位作减计数显示)。    2)用按钮SB1作灯闪烁启动控制,用按钮SB2作灯熄灭控制。    3)当灯熄灭后数码管显示为“15”,按下SB2后数码管回复显示“0”,再按SB1才可以重新启动绿灯发光和数码管的显示。    2.学习重点    1)学习用数码管显示定时器以“秒”计时的实时变化值。    2)认识高级指令“F32(%)”并学习其运用。    3.实训步骤    (1)定时器的设定值区(EV) 定时器的设定值区(EV)和计数器的设定值区(EV)是一样的。在定时器运算操作的过程中,经过值被储存放在与定时器具有相同编号的经过值区。当经过值达到0时,与定时器具有相同编号的触点变为ON。定时器的经过值区(EV)是一个16位数据,可以储放从K0~ K32767的十进制数。    定时器的经过值区(EV),如图7-12所示。
定时器的经过值区(EV)
    7-12    定时器的经过值区(EV)    (2)如何用数码管显示定时器以“秒”计时的实时变化值用数码管以“秒”为单位显示定时器运行时的实时值,就必需要考虑到定时器计数单位有1s0.1s0.01s0. 001s。因此,只需用数码管直接显示以“秒”为单位TMY型定时器的变化值,就可以实现以“秒”为单位的减计数显示。    (3) PLCI/O分配与接线 PLCI/O分配表与7.1.3节实训任务相同,因此PLCI/O接线(见图7-6)不用改变。    (4) PLC程序的编写PLC的控制程序(供参考)如图7-13所示。
PLC的控制程序
    7-13     PLC的控制程序    (5) PLC程序的调试与检验请将编写好的程序传送到PLC执行,进行程序调试,直至满足以下的控制要求:送电后,数码管显示“0”;按下启动按钮SB1,绿灯发光,15s后熄灭;数码管显示灯发光时间的实时值(0~15),每次完成“0~15”的显示后就停止在“15”不变。运行时若按下停止按钮SB2,灯熄灭,数码管回复显示“0”。再按SB1可重新启动。    4.分析与思考    (1)数码管用“秒”为单位显示定时器经过值的方法这其实是比较简单的,但是以“分”为单位显示,则就要进行处理才能实现了。因为只有1s0.1s0.01s0.001s的定时器,所示数码管要将定时器的实时值以“分”为单位显示,就必须要用除法算法,将计时值变为1min显示单位,具体方法如下:    1)若使用1s单位的定时器TMY,就应将经过值(EV)÷60。例如:若使用1s为单位的定时器,当定时器实时值为120时,就应将120÷60 =2,显示为2min    2)若使用0. 01s为单位的定时器,当定时器实时值为3000时,就应将3000÷600=5,显示5 min,依此类推。    (2)高级指令“F32(%)”的运用 F32(%)”是具有BIN码除法运算功能的应用指令,其应用格式与运用举例见表7-7    7-7    F32(%)”的应用格式与运用举例
“F32(%)”的应用格式与运用举例
    操作数:    [S1.]:WXWYWRWL(*1)SVEVDTLD(*1)FL*2)、IX(*3)IY*4)、KH、索引变址。    [ S2.]:WXWYWRWL(*1)SVEVDTLD(*1)FL(*2)IX(*3)IY*4)、KH、索引变址。    [D.]:WYWRWL(*1)SVEVDTLD(*1)FL(*2)IX*3)、IY*4)、索引变址。    执行“BIN除法运算”的16位指令连续执行型为F32(%),脉冲执行型为P32(P%),指令执行步数为7步;32位指令连续执行型为F33(D%),脉冲执行型为P33(PD%),指令执行步数为13步。指令的除数[S2]不能为零,否则会发生运算错误,使指令不能执行。此外,若得数有余数,指令中的[ D]是反映不出的。而当被除数或除数一方为负数时,商则为负。    (3)实现以“分”为单位显示减计时的控制用2位数码管实时显示绿灯发光的时间(前2min以“分”为单位作减计时显示,最后1min以“秒”为单位作减计数显示)。其PLC控制程序如图7-14所示(供参考)。    如图7 -14所示程序,由于程序中使用了“秒”为单位的定时器“TMY”,所以程序中要先用BIN码的除法指令“F32(%)”将T的实时值除以“60”,并传送给DT0,再使用指令“BCD”将DT0值转换为BCD码输入数码管显示。因此,对应定时器实时值“0180”的变化,数码管显示“0~3min,到最后1min时切换成以“秒”为单位显示,用定时间器T12min后的切换控制,把“分”为单位显示切断,接通用“秒”为单位显示。
“分”为单位作显示的PLC控制程序
    7-14    “分”为单位作显示的PLC控制程序    (4)静态时数码管显示值的设定从以上几个实训中可知,静态时数码管可根据控制要求显示运行数据的最大值(如“15”),或显示运行数据的最小值(如“0”)。设定数码管静止的显示值有三个要点:    1)送电但未启动前的显示。若要显示“0”,即不用设置,因为数码管非工作情况下静止显示就是“0”(数码管芯片指定),但若要显示非零的数字,就要用“M8002”的送电初始脉冲将要显示的数字通过相关的数据元件传送给数码管。    2)停止后的显示。不管显示什么数字(包括“0”),都要在停止时先将相关数据软元件复位,然后再将要显示的数字通过相关的数据软元件处理后输出到数据管。    3)对可反复运行的程序,每次反复前的显示。不管显示什么数字(包括“0”),都要用执行运行完成的元件的动作脉冲触点,先将相关数据元件复位,然后再将要显示的数字通过相关的数据软元件处理后输出到数据管。