您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 施耐德PLC 标准指令库
本章节描述标准库指令中的各种指令5.2标准库指令指令块如图所示:减计数器指令CTD输入:CD:布尔型(BOOL);该输入端的上升沿触发CV的递减计数。LOAD:布尔型(BOOL);当其为上升沿触发时,CV被置为上限值PV。PV:字型(WORD);上限值,也就是CV开始递减时的初始值。输出:Q:布尔型(BOOL);一旦CV达到0时,其值为TRUE。CV:字型(WORD);不断减1的值,从PV开始直至其达到0。当LOAD为TRUE时,计数变量CV被初始化为上限值PV。当CD端有一个从FALSE变为TRUE的上升沿时,若CV大于0时,它将减1(也就是说,它不会输出小于0的值)。当CV等于0时,Q返回TRUE。程序例:分析:程序执行时,将PV_WORD设为3,当X2由FALSE变为TRUE上升沿触发时,CV_WORD也变为3。此时输入端X1执行FALSE变为TRUE,上升沿触发,则CV_WORD自动减计数1;当X1第3次由FALSE变TRUE上升沿触发时,CV_WORD递减到0时,此时Q输出为1。加计数指令CTU指令块如下图所示:输入:CU:布尔型(BOOL);该输入端的上升沿触发CV的递增计数。RESET:布尔型(BOOL);当其为TRUE时,CV被复位为0。PV:字型(WORD);CV计数的上限。输出:Q:布尔型(BOOL);一旦CV达到其上限PV时,其值为TRUE。CV:字型(WORD);不断加1的值,直至其达到PV。当RESET为TRUE时,计数变量CV被初始化为0。当CU端有一个从FALSE变为TRUE的上升沿时,CV将加1。当CV大于或等于上限PV时,Q返回TRUE。程序例:分析:程序执行时,将PV_WORD设为3,此时CV_WORD是0。此时输入端X1执行FALSE变为TRUE上升沿触发,则CV_WORD自动加计数1;当X1第3次由FALSE变TRUE上升沿触发时,CV_WORD递增到3时,此时Q输出为1。此时如将RESET端X2执行FALSE变为TRUE上升沿触发,则指令重新复位数变量CV被初始化为0。计数功能块CTU:运行结果:加减双向计数指令CTUD指令块如下图所示:输入:CU:布尔型(BOOL);当CU端有上升沿时,触发CV的递增计数。CD:布尔型(BOOL);当CD端有上升沿时,触发CV的递减计数。RESET:布尔型(BOOL)当其为TRUE时,CV被复位为0。LOAD:布尔型(BOOL);当其为TRUE时,CV被置为PV。PV:字型(WORD);CV递增时的上限值,或CV开始递减时的初始值。输出:QU:布尔型(BOOL);一旦CV达到PV时,其值为TRUEQD:布尔型(BOOL);一旦CV达到0时,其值为TRUECV:字型(WORD);不断减1的值,从PV开始直至其达到0程序例:分析:当RESET为TRUE时,计数变量CV被初始化为0。当LOAD为TRUE时,计数变量CV被初始化为上限值PV。当CU端有一个从FALSE变为TRUE的上升沿时,CV将加1。当CD端有一个从FALSE变为TRUE的上升沿时,若CV不会降到0以下时,它将减1。当CV大于或等于上限PV时,QU返回TRUE。当CV等于0时,QD返回TRUE。延时断开指令TOF定时器功能块,完成关延时的功能。当定时器的输入端由TRUE变为FALSE时(下降沿),等过了一段时间后,定时器的输出端才变为FALSE。指令块如下图所示:输入:IN:布尔型(BOOL);该输入端的下降沿触发ET端的计时。PT:时间型(TIME);ET计时时间的上限值(延时时间)。输出:Q:布尔型(BOOL);一旦ET端计时达到上限值PT时,输出一个下降沿(延时时间过去了)。ET:时间型(TIME);时间的当前状态。程序例:分析:当IN为TRUE时,Q为TRUE,ET为0。一旦IN变为FALSE,定时器的输出端ET以精确到毫秒级别开始计时,直到它等于PT,随后它会维持不变。当IN变为FALSE且ET等于PT时,Q为FALSE。否则它为TRUE。在本例中,PT设为3s,当X1由TRUE变为FALSE下降沿触发时,定时器输出端ET开始计时,定时到达3s后输出Q由TRUE变为FALSE。延时导通指令TON定时器功能块,完成开延时的功能。当定时器的输入端变为TRUE时,等过了一段时间后,定时器的输出端才变为TRUE。指令块如下图所示:输入:IN:布尔型(BOOL);该输入端的上升沿触发ET端的计时。PT:时间型(TIME);ET计时时间的上限值(延时时间)。输出:Q:布尔型(BOOL);一旦ET端计时达到上限值PT时,输出一个上升沿(延时时间过去了)。ET:时间型(TIME);时间的当前状态。程序例:分析:当IN为FALSE时,Q为FALSE,ET为0。一旦IN变为TRUE,定时器的输出端ET以精确到毫秒级别开始计时,直到它等于PT,随后它会维持不变。当IN变为TRUE且ET等于PT时,Q为TRUE。否则它为FALSE。在本例中,PT设为3s,当X1由FALSE变为TRUE上升沿触发时,定时器输出端ET开始计时,定时到达3s后输出Q由FALSE变为TRUE。(1)通电延时TON:相应的时序图:利用通电延时TON设计一个通电后延时3S的梯形图t=880ms时的运行状态:t=3s时的运行状态:参考程序及运行结果:(2)断电延时TOF:相应的时序图:t=0s时的运行结果:t=1s100ms时的运行结果:t=3s时的运行结果:例:利用断电延时TOF设计一个断电后延时3S的梯形图PLC每隔2秒钟读取一次i)定时器及计数器组合用法单个定时器用法秒脉冲+计数器上述的三种方式都可以实现2s的定时功能,但是从编程的简便性和容许的误差角度来说,第二种方式可能更简单,产生的时间误差更小。在编程的过程中,考虑到PLC扫描周期的影响,应尽可能的简化程序的编写,以减小扫描周期可能产生的误差。触发定时器指令TP触发定时器功能块。定时器的输出值不断增加,直至其达到限值。在计时期间,“脉冲”变量为TRUE,其他时候为FALSE。指令块如下图所示:输入:IN:布尔型(BOOL);该输入端的上升沿触发ET端的计时PT:时间型(TIME);计时时间的上限值输出:Q:布尔型(BOOL);当ET端在计时的时候,其值为TRUEET:时间型(TIME);时间的当前状态程序例:分析:当IN为FALSE时,Q为FALSE,ET为0。一旦IN变为TRUE,定时器的输出端ET以毫秒精度开始计时,直到它等于PT,随后它会维持不变。当IN变为TRUE且ET小于或等于PT时,Q为TRUE。否则它为FALSE。在由PT值指定的时间到达时,Q返回了一个信号。在本例中,PT设为3时,X1为FALSE,Q1为FALSE,当X1为TRUE,Q输出变为TRUE,同时ET开始计数,当ET=3S时,Q输出变回为FALSE.脉冲指令BLINK功能块BLINK产生脉冲信号。输入由BOOL类型ENABLE,以及TIME类型TIMELOW和TIMEHIGH组成。输出OUT是BOOL类型。指令块如下图所示:如果ENABLE为TRUE,在时间周期TIMEHIGH,BLINK设置输出为TRUE;然后在时间周期TIMELOW,设置输出为FALSE。程序例:分析:在本例中,当ENABLEX1是TRUE时,BLINK开始工作,输出低电平2s高电平1s的脉冲,如下图。功能块BLINK的应用振荡电路:振荡电路的作用是产生交流电振荡来作为信号源。一般把大小和方向都随周期发生变化的电流叫振荡电流,能产生振荡电流的电路叫做振荡电路,那么如何使用PLC程序编制振荡电路呢?施耐德标准程序库中提供了这样的功能块来产生方波脉冲,即BLINK功能块。功能块介绍:(1)功能块BLINK产生脉冲信号。输入由BOOL类型ENABLE,以及TIME类型TIMELOW和TIMEHIGH组成。输出OUT是BOOL类型。(2)如果ENABLE为TRUE,在时间周期TIMEHIGH,BLINK设置输出为TRUE.然后在时间周期TIMELOW,设置输出为FALSE,程序和时序图如图所示。图中的程序实现了10s为真、10s为假的方波时序图:参考程序:下降沿触发指令F_TRIG该功能块检测一个下降沿。指令块如下图所示:输入:CLK:布尔型(BOOL);被检测其下降沿的布尔型输入信号输出:Q:布尔型(BOOL);当CLK上检测到一个下降沿时,其值为TRUE;只要输入变量CLK为TRUE,输出Q都保持为FALSE。一旦CLK为FALSE,Q会先返回TRUE,然后被置为FALSE。这意味着每次调用这个功能块时,Q会返回FALSE直到CLK在上升沿后有一个下降沿。程序例:分析:在本例中,当X1输入一个由TRUE变为FALSE的下降沿,则F_TRIG的输出Q也输出一个由FALSE变为TRUE的上升沿,然后再变为FALSE。上升沿触发指令R_TRIG该功能块检测一个上升沿。指令块如下图所示:输入:CLK:布尔型(BOOL);被检测上升沿的布尔型输入信号输出:Q:布尔型(BOOL);当CLK上检测到一个上升沿时,其值为TRUE只要输入变量CLK为FALSE,输出Q保持为FALSE。一旦CLK为TRUE,Q会先返回TRUE,然后被置为FALSE。这意味着每次调用这个功能块时,Q会返回FALSE直到CLK在下降沿后有一个上升沿。程序例:分析:在本例中,当X1输入一个由FALSE变为TRUE的上升沿,则R_TRIG的输出Q也输出一个由FALSE变为TRUE的上升沿,然后再变为FALSE。单按钮控制输出灯的程序功能块R-TRIG的应用:程序:时序图:功能介绍:(1)在程序中使用上升沿指令后,当输入点button的状态由OFF转为ON,仅在驱动输入ON后1个扫描周期内,内部软元件M3才动作。(2)在输入点button上,第一个脉冲信号到来时,M3产生一个扫描周期的单脉冲,使M3的常开触点闭合一个扫描周期。(3)第一个按钮脉冲到来一个扫描周期后,M3断开,输出线圈lamp接通,第二个支路使输出线圈lamp保持接通。(4)当第二个脉冲到来时,M3再产生一个扫描周期的单脉冲,使得输出线圈lamp的状态由接通变为断开。(5)通过分析可知,通过一个输入点的上升沿的次数可控制输出lamp的接通和断开。(6)由以上分析可知,这个程序同时也是一个二分频电路。如果将分频的脉冲信号加button上,则lamp的输出频率刚好是button输入频率的1/2.加运算指令ADD变量相加。允许的变量类型:BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、REAL和LREAL。指令块如下图所示:程序例:分析:在本例中,当X1为TRUE时,ADD执行把操作数X3和X4相加的运算,并把结果输出到X5中,如X3=3;X4=7;则X5=10。减运算指令SUB从某个变量中减去一个变量。允许的变量类型:BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、REAL和LREAL。指令如下图所示:程序例:分析:在本例中,当X1为TRUE时,SUB执行把操作数X3减去X4的运算,并把结果输出到X5中,如X3=3;X4=7;则X5=-4。变量相乘。允许的变量类型:BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、REAL和LREAL。指令如下图所示:乘运算指令MUL程序例:分析:在本例中,当X1为TRUE时,MUL执行把操作数X3乘以X4的运算,并把结果输出到X5中,如X3=3;X4=7;则X5=21。除运算指令DIV用一个变量除另一个变量。允许的变量类型:BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、REAL和LREAL。指令如下图所示:程序例:分析:在本例中,当X1为TRUE时,DIV执行把操作数X3除X4的运算,并把结果输出到X5中,如X3=10;X4=5;则X5=2。截尾取整指令TRUNC把实数类型(RE
本文标题:施耐德PLC 标准指令库
链接地址:https://www.777doc.com/doc-3534506 .html