PLC指令入门 三菱FX5U PLC通用FB功能块指令
熟悉三菱GX软件的朋友,应该知道在GX软件中有个部件选择窗口,在这个窗口中我们可以看到通用函数/FB,其中就包括了双稳态功能块、边缘检测功能块、定时器功能块和计数器功能块,那么今天就给大家介绍一下通用FB功能块指令的内容。
双稳态功能块:
双稳态功能块分为两个,置位优先SR和复位优先RS。置位优先功能块是当S1和R都为1时,优先执行置位的操作。复位优先功能块是当S和R1都为1时,优先执行复位的操作。
举个最简单的程序例子,我们可以用置位优先和复位指令实现单按钮控制启停功能。
边缘检测功能块:
边缘检测功能块分为两个,上升沿边缘检测R_TRIG和下降沿边缘检测F_TRIG。上升沿边缘检测是检测信号的上升沿后输出一个扫描周期的脉冲信号。下降沿边缘检测是检测信号的下降沿后输出一个扫描周期的脉冲信号。
其实这两个指令也很简单,上升沿边缘检测功能块R_TRIG与PLS、LDP指令功能是一样的,下降沿边缘检测功能块F_TRIG与PLF、LDF指令功能是一样的,我们看下图的程序,接通X0和接通X1,接通X2实现的效果是一样的。
还是前面的例子单按钮控制启停功能,我们用边缘检测功能块指令也可以实现。
计数器功能块:
计数器功能块包括有加计数器CTU、减计数器CTD、加减计数器CTUD和计数器功能块COUNTER_FB_M。如果有用过西门子PLC的朋友,会发现跟西门子PLC的计数器指令类似。
CTU/CTD/CTUD功能块管脚定义:
CU是加计数脉冲输入,CD是减计数脉冲输入;
R是计数值复位,LD是装载计数值;PV是计数的设定值,CV是计数的当前值;
Q是计数完成标志;
QU是加计数完成,QD是减计数完成;
只有PV和CV是INT的数据类型,其余都是BOOL类型。
加计数器CTU:
如果CU变为OFF→ON,对CV进行加计数(+1)。当CV=PV时,则Q变为ON,加计数停止。如果将R置为ON,则Q变为OFF,CV被设置为0。
减计数器CTD:
如果CD变为OFF→ON,对CV进行减计数(-1)。当减到CV=0时,则Q变为ON,减计数停止。如果将LD置为ON,则Q变为OFF,CV被设置为PV。
加减计数器CTUD:
如果CU、CD同时变为OFF→ON,优先进行加计数(+1)。如果将R、LD同时置为ON,优先将当前值复位为0。
COUNTER_FB_M功能块管脚定义:
Coil是指令执行的驱动条件;
Preset是计数器的设定值;ValueIN是计数器初始值,ValueOut是计数器当前值;
Status是输出;
其中Coil和Status是BOOL类型,Preset和ValueIN是INT类型,ValueOut是ANY16类型。
COUNTER_FB_M功能块:
检测Coil的上升沿进行计数,计数从ValueIN的值开始,如果变为Preset的值,则Status变为ON。当前的计数值被存储到ValueOut中。
我们再比较一下CTU和COUNTER_FB_M功能块之间有什么区别,我们看下面的程序,CTU指令用R管脚进行复位,而COUNTER_FB_M是没有复位的管脚的,我们需要另外的编写复位的程序。
以上先介绍了双稳态功能块、边缘检测功能块、计数器功能块的内容,因为篇幅有限,我们在下一篇文章继续介绍定时器功能块指令的使用!
此外,还会讲几个定时器和计数器功能块的编程案例哦,欢迎大家继续关注更新~
(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)
第3章 PLC编程中的计数器全面解析
计数器是常用和通用的功能之一。
3.1 计数器指令
如图3.1所示,a为加计数器指令,b为减计数器指令,c为加减计数器指令。
图3.1 计数器指令
3.1.1 加计数器
如图3.2所示,程序段1为加计数器的简单应用。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始计数的条件引脚CU;
c为计数器的复位引脚R;用于将计数器清零
d为计数器的目标值引脚PV;加计数器要达到的数值
f为计数器的当前值引脚CV;
e为计数器的输出引脚Q,当计数器的当前值大于等于设定值时,该引脚输出信号。
g为计数器输出时接通的信号,本段程序中使用的是DB201.DBX0.2。
图3.2 加计数
大致工作原理
当DB201.DBX0.0接通时,计数器C[21]开始计数,CU引脚每接通一次,计数器数值加一。一直加到CV值等于PV值时,DB201.DBX0.2接通。
当DB201.DBX0.0还继续重复接通时,计数器C[21]不超过限值的话就会一直计数,CV值会增加。
当改变PV值时,依然满足CV值大于等于PV值时,计数器的Q引脚才会输出。
当DB201.DBX0.1接通时,计数器C[21]清零。
计数器背景空间
a处可以是调用指令后,自动生成的DB块,也可以是自己在某一DB块建立的数据类型为IEC_COUNTER的数据类型。如图3.3所示我们建立了一个C数组,数量为1000个,编号从0-999,数据类型都是计数器的数据类型IEC_COUNTER,这样以后再使用计数器的时候都可以选择使用,没有用过的计数器变量,用于当做某一计数器的背景块。
图3.3 计数器数组
计数器清零
如图3.2所示,当计数器的R引脚接通时,计数器就会被复位,计数器的当前值就会为0,本案例中使用的地址为DB201.DBX0.1。
计数器清零还有另外一种方法就是直接令计数器的当前值CV=0,如图3.4所示,当M220.0接通时,将0赋值给DB11.DBW130,这样该计数器的CV值就变成了0,该计数器是咱们上边用到的计数器。需要给哪个计数器清零,就把它的计数器的CV值给0就可以了。这种方法与引脚R接通复位效果是一样的。
图3.4 计数器数组
3.1.2 减计数器
如图3.5所示,程序段3为减计数器的简单应用。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始计数的条件引脚CD;
c为计数器的装载引脚LD;接通时将PV值重新装载到计数器
d为计数器的目标值引脚PV;减计数器用于装载的数值
f为计数器的当前值引脚CV;
e为计数器的输出引脚Q,当计数器的当前值小于等于0时,该引脚输出信号。
g为计数器输出时接通的信号,本段程序中使用的是DB201.DBX6.2。
图3.5 减计数
大致工作原理
当DB201.DBX6.0接通时,计数器C[22]开始计数,CD引脚每接通一次,计数器数值减一。一直加到CV值等于0时,DB201.DBX0.2接通。
当DB201.DBX6.0还继续重复接通时,计数器C[22]不超过限值的话就会一直计数,CV值会减少。
当CV小于等于0时,计数器的Q引脚才会输出。
当DB201.DBX6.1接通时,计数器C[22]装载PV值。
3.1.3 加减计数器
如图3.6所示为加减计数器的简单应用。加减计数器是将加计数器和减计数器集合在了一起,对应的功能引脚功能如下,具体用法参照加计数和减计数的单独使用的方法即可。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始加计数的条件引脚CU;接通时开始加
c为计数器开始减计数的条件引脚CD;接通时开始减
d为计数器的复位引脚R;用于将计数器清零
e为计数器的装载引脚LD;接通时将PV值重新装载到计数器
f为计数器的目标值引脚PV;减计数器用于装载的数值
g为计数器的输出引脚QU,当计数器的当前值大于等于设定值时,该引脚输出信号。
h为计数器的输出引脚QD,当计数器的当前值小于等于0时,该引脚输出信号。
i为计数器的当前值引脚CV;
k为计数器QU引脚输出时接通的信号,本段程序中使用的是DB201.DBX12.4。
同一计数器具备了加和减的两种功能,加减相对独立,各自实现各自的功能,总体数值体现在一个计数器上。
图3.6 加减计数
3.2 计数器做定时器使用
有时候需要用到通过计数器做定时器的程序。如图3.7所示,做的是一个定时器。当(开始计时条件M220.1)接通时,通过1秒的脉冲时钟,每过1秒,计数器C[24]就会加1,这样C[24]就变成了秒级别的定时器,定时器的时间存放在DB201.DBW4中。
当(开始计时条件M220.1)断开时,计数器停止计数。M220.1的常闭触点接通,通过R引脚复位计数器,达到给定时器清零的目的。
图3.7 加减计数
3.3 问题思考
如果计数条件是一个信号,一个信号的通断能正常反应通断问题。如果计数条件如图3.8所示,我们应该做成置复位的形式。当满足计数条件时,置位计数条件信号,不需要计数时,复位该信号就行了。如果不采用置复位的话,当M30.0,M30.1,M30.2和M30.3中,有任何一个信号出现晃动,或者短时间内多次接通的情况,就会导致虚假计数的发生。因此在实际编程过程中,计数原来很简单,但是做好计数就不简单了!需要甄别选用哪些信号作为实用,如何过滤晃动信号,又该何时复位计数条件等。
图3.8计数条件案例
1、加计数最大能加到多少?为什么?如果想加到更大,如何操作?
2、减计数时,能产生负数吗?如果不想让减计数产生负数,怎么操作呢?
3、减计数能直接装载一个负数吗?如果在计数向负数的方向越变越小,那么减计数的线圈输出使用该怎么办呢?
4、加减计数同时用的时候,如果加计数和减计数同时发生了,怎么办?编程时是否需要把加减计数接通的条件完善一下,不让加减计数条件同时接通。
还在犹豫什么,抓紧时间实操一下吧,或者仿真操作也可以的!
喜欢的请收藏和转发!希望能帮到更多的朋友!
相关问答
PLC中(R)这个符号什么意思?
复位输出,就是复位这个符号上所显示的位地址,即把该地址置零。复位输出,就是复位这个符号上所显示的位地址,即把该地址置零。
plc中的S和R指令是怎么回事?
plc中的S和R指令:S:置位指令,只要是置位了不管其梯形图电路中是否接通,被置位的Q/M状态都为1,即使当前梯形图状态是断开的Q/M状态也还是为1,直到被复...plc...
西门子300plc编程,div_R问题?
DIV_R,表示浮点数除法,IN1除以IN2,结果由OUT输出;西门子PLC的四则运算指令非常简单:ADD表示加法,SUB表示减法,MUL表示乘法,DIV表示除法;_I表示整数,...DIV....
设备运转速率如何在PLC中编程?
设备运转速度如何在PLC中编程,如果你采用的变频器控制电机调速的话,要求不高的话可以直接将变频器的实际输出频率经过计算转换成转速。现在的变频器矢量控制模...
三菱plc中r是什么意思?
三菱PLCR代表的是一个程序模块。其实不管是哪个PLC都是大同小异了,R指的是plc的输出继电器了,如果是R0那就不会有输出,如果是R1的话在满足条件后会有输出的...
T区别是什么?PLC输出R?
R:是继电器,不能发脉冲T:是晶体管,可以发脉冲只要不控制伺服,步进,等发脉冲的,都可以使用带R的PLCR:是继电器,不能发脉冲T:是晶体管,可以发脉冲只要不控制伺...
plc滤波程序详解?
lpv//输入信号lk//滤波系数0。0~1.0*rtld0l1.0lk-rlout//滤波后的数据*rlld0rtoutout=(1-k)*outpv*k,k越大,滤波功能...
PLC如何把瞬时信号变成永久信号?
PLC(可编程逻辑控制器)通常被用于控制和监控工业自动化系统。如果你希望将瞬时信号(触发信号)转变为永久信号(持续状态),可以使用以下两种常见的方法:1....P...
如何修改PLC输出点?
操作如下:1、把C18改成C1时,你先用HPP联机PLC,把PLC的运行开关拔到STOP位置,按INS/DEL键进入插入模式,以顺序按HPP上的键OUT/C显示OUT,OUT/C显示C,MPS/1显...
plc计数器指令怎么用?
计数器使用:每次向上计数输入CU从关闭向打开转换时,向上计数(CTU)指令从当前值向上计数。当前值(Cxxx)大于或等于预设值(PV)时,计数器位(Cxxx)打开。...达到...