三菱PLC入门必学知识点——功能块指令
在PLC的编程语言中,最简单的就是图形语言,如我们所学的梯形图与SFC,这两者在编程软件中都属于简单工程。
而我之前所分享的文章中,讲到的那些基本指令和功能指令,都是基于简单梯形图形式进行示例。其实,对于很多功能(函数),如四则运算、比较传送等,在PLC编程中还有另外一种形式,那就是功能块形式,它们在编程软件中为结构化工程类型。
除此之外,PLC的编程语言中还有比较复杂的文本语言,即ST语言。提及ST语言,简直令我等凡夫俗子望而却步,因为它就是传说中的纯打代码,为了我的头发,ST语言我还是直接放弃吧。
既然放弃了ST语言,那么我今天就来给大家简单分享一下功能块指令的内容吧!
什么是功能块(FB、FUN)
所谓功能块,如下图27-1所示,简单来说,就是可以实现某些特定功能或函数的块,即FB块或FUN块,一般情况下把功能块叫FB块,但其实在三菱PLC中,功能块除了FB块之外,还有FUN块,即函数块。
图27-1
类似于子程序,功能块可以将特定的且需要经常使用的功能打包成一个块,在程序中多次调用,另外还可以打包成一个库文件,用于多台电脑上拷贝使用。这个“经常使用的功能”可以是我们自定义的,也可以是编程软件自带的。
例如电机的起保停程序,我们可以把整个起保停程序打包成一个功能块,如下图27-2所示,该功能块的输入输出、起保停的启动、停止和电机都以标签的形式定义,直到被调用时再由用户指定具体的软元件,如起保停的启动用“X0”、电机用“Y0”等。
图27-2
这个“起保停”的功能块,对应梯形图如下图27-3所示。还是类似于子程序,功能块在调用之前,如果是用户自定义的,显然,用户还需自己先编好一个功能块。
图27-3
当然,和子程序不同的是,这个自定义的功能块,其中的一些触点、线圈等只是用标签命名,如图27-3中的“启动”、“电机”等就是用文字命名的标签。
功能块与功能指令的区别
功能块用于结构化梯形图中,可以自行调用,如下图27-4所示,可以看到,这个结构化梯形图中有很多的块状结构(功能块),除此之外还有一些触点和线圈。所以结构化梯形图和简单梯形图其实区别不大,都是为了实现特定功能的程序。
图27-4
但到底是选用简单梯形图还是结构化梯形图,这就看个人喜欢了。就像是在顺控程序中,你可以用SFC的形式编写,也可以直接编写梯形图,问题不大。
而功能块和功能指令,若是对于一般的功能而言,其实两者区别不大,例如我们要实现两个数的相加:当驱动条件X0成立时,把D0的当前值加上K10,结果保存到D10中。
它可以通过功能指令实现,也可以运用功能块实现。如下图27-5所示为功能指令形式,X0接通,(D0)=K20,执行ADD指令后,D10的当前值为“和”K30。
图27-5
而功能块形式如图27-6所示,依然是X0接通,(D0)=K20,执行程序后,D10的当前值为“和”K30。
图27-6
从以上实现加法功能来看,功能指令和功能块可以自行选择用哪个,但对于较为复杂的功能,显然两种的区别还是比较明显的。这是因为功能块可以自定义,而功能指令却不行。
例如我们要实现D0、D1的值相加,在乘以D2的值,这就要用上两个功能指令ADD、SUB,而功能块可以把加和乘集中到一个块中,直接调用。此时的功能块,其功能其实更倾向于类似子程序的作用。
但更深入的功能块知识,我在这里就不再展开讲解啦,大家如果感兴趣,可以观看我们官网的相关课程哦!我在这里只不过是给大家了解一下,PLC编程中还有功能块这个玩意就行了~
其实,对于初学者,例如我这种小白而言,功能块这部分知识还是有点难度的,所以我还需要更多的时间去深入学习它,所以我也就不在这里班门弄斧了。
最后,希望有更多的志同道合的人(在PLC知识海洋中挣扎的人)和我一起共同努力、共同进步吧!
(来源:技成培训网原创,作者:杨思慧,欢迎大家转发评论,如有不足之处或者建议可在评论区留言)
三菱FX PLC学习之功能块指令
在PLC的编程语言中,最简单的就是图形语言,如我们所学的梯形图与SFC,这两者在编程软件中都属于简单工程。
而我之前所分享的文章中,讲到的那些基本指令和功能指令,都是基于简单梯形图形式进行示例。其实,对于很多功能(函数),如四则运算、比较传送等,在PLC编程中还有另外一种形式,那就是功能块形式,它们在编程软件中为结构化工程类型。
除此之外,PLC的编程语言中还有比较复杂的文本语言,即ST语言。提及ST语言,简直令我等凡夫俗子望而却步,因为它就是传说中的纯打代码,为了我的头发,ST语言我还是直接放弃吧。
既然放弃了ST语言,那么我今天就来给大家简单分享一下功能块指令的内容吧!
一、什么是功能块(FB、FUN)
所谓功能块,如下图27-1所示,简单来说,就是可以实现某些特定功能或函数的块,即FB块或FUN块,一般情况下把功能块叫FB块,但其实在三菱PLC中,功能块除了FB块之外,还有FUN块,即函数块。
图27-1
类似于子程序,功能块可以将特定的且需要经常使用的功能打包成一个块,在程序中多次调用,另外还可以打包成一个库文件,用于多台电脑上拷贝使用。
这个“经常使用的功能”可以是我们自定义的,也可以是编程软件自带的。
例如电机的起保停程序,我们可以把整个起保停程序打包成一个功能块,如下图27-2所示,该功能块的输入输出、起保停的启动、停止和电机都以标签的形式定义,直到被调用时再由用户指定具体的软元件,如起保停的启动用“X0”、电机用“Y0”等。
图27-2
这个“起保停”的功能块,对应梯形图如下图27-3所示。还是类似于子程序,功能块在调用之前,如果是用户自定义的,显然,用户还需自己先编好一个功能块。
图27-3
当然,和子程序不同的是,这个自定义的功能块,其中的一些触点、线圈等只是用标签命名,如图27-3中的“启动”、“电机”等就是用文字命名的标签。
二、功能块与功能指令的区别
功能块用于结构化梯形图中,可以自行调用,如下图27-4所示,可以看到,这个结构化梯形图中有很多的块状结构(功能块),除此之外还有一些触点和线圈。所以结构化梯形图和简单梯形图其实区别不大,都是为了实现特定功能的程序。
图27-4
但到底是选用简单梯形图还是结构化梯形图,这就看个人喜欢了。就像是在顺控程序中,你可以用SFC的形式编写,也可以直接编写梯形图,问题不大。
而功能块和功能指令,若是对于一般的功能而言,其实两者区别不大,例如我们要实现两个数的相加:当驱动条件X0成立时,把D0的当前值加上K10,结果保存到D10中。
它可以通过功能指令实现,也可以运用功能块实现。如下图27-5所示为功能指令形式,X0接通,(D0)=K20,执行ADD指令后,D10的当前值为“和”K30。
图27-5
而功能块形式如图27-6所示,依然是X0接通,(D0)=K20,执行程序后,D10的当前值为“和”K30。
图27-6
从以上实现加法功能来看,功能指令和功能块可以自行选择用哪个,但对于较为复杂的功能,显然两种的区别还是比较明显的。
这是因为功能块可以自定义,而功能指令却不行。 例如我们要实现D0、D1的值相加,再乘以D2的值,这就要用上两个功能指令ADD、SUB,而功能块可以把加和乘集中到一个块中,直接调用。此时的功能块,其功能其实更倾向于类似子程序的作用。
但更深入的功能块知识,我在这里就不再展开讲解啦,大家如果感兴趣,可以观看我们官网的相关课程哦!我在这里只不过是给大家了解一下,PLC编程中还有功能块这个玩意就行了~
其实,对于初学者,例如我这种小白而言,功能块这部分知识还是有点难度的,所以我还需要更多的时间去深入学习它,所以我也就不在这里班门弄斧了。
最后,希望有更多的志同道合的人(在PLC知识海洋中挣扎的人)和我一起共同努力、共同进步吧!
注:本文章内容都是基于三菱 PLC 所写
(技成培训网原创,作者:杨思慧,未经授权不得转载,违者必究)
下面小编给大家分享『工控全套』 内含各类型PLC案例及源程序,还附上软件安装包+教程!
小白入门必懂PLC软件+干货包
重磅加餐,PLC入门学习全流程、电工基础大全、电工进阶PLC、PLC例程、西门子工程师地图……
这些曾经让你头秃、加班熬夜的技术干货,我们都为你准备好了!
软件汇总
学习步骤
如何0基础学习PLC?
获取更多工控案例与电气软件大全!
或许过去的你一直都在被质疑,而现在有这么好的机会能证明自己为什么不努力一把呢?
相关问答
PLC中sub指令的功能?
sub指令是减法指令.subd1d0k1m0表示将d1减去d2的运算结果,由起始位置为m0的4个连续中间继电器输出.三菱指令moved100k1m0转成欧姆龙指令该怎么转k.....
lgplc里的sub是什么命令?
sub指令是减法指令.SUBD1D0K1M0表示将D1减去D2的运算结果,由起始位置为M0的4个连续中间继电器输出。AND指令:单个常开接点的串联SUB指令:减法指令。su...
西门子300plc编程,div_R问题?
DIV_R,表示浮点数除法,IN1除以IN2,结果由OUT输出;西门子PLC的四则运算指令非常简单:ADD表示加法,SUB表示减法,MUL表示乘法,DIV表示除法;_I表示整数,...DIV....
三菱subp是什么指令?
三菱subp是三菱PLC的一种指令,用于实现数据间的运算操作。因为在工业自动化系统中,PLC控制器通常需要对不同的数据进行计算,便于实现对机器的控制和操作。而su...
西门子1500plc编程指令?
西门子1500PLC编程指令包括但不限于以下几种:LD指令用于加载数据,AND指令用于逻辑与运算,OR指令用于逻辑或运算,XOR指令用于逻辑异或运算,MOV指令用于数据...
三菱plc编程指令?
展开全部以下是三菱plc常用的指令,还有不懂的可以问我一程序流程控制指令—FNC00~0900CJ条件转移01CALL子程序调用02SRET子程序返回03IRET中断...
西门子plc的编码和译码指令?
编码指令:MOV,ADD,SUB,MUL,DIV,AND,OR,XOR,CMP,JMP,JMPC,CALL,RET,LOD,STO,IN,OUT,ANDI,ORI,XORI,ROTL,ROTR,BSL...
plc里ADD是什么?
plcadd指令用法这个指令就是2个值进行加法运算(A+B=C)后得出结果,很简单属于四则逻辑运算的一个,除了它还有减法运算SUB,乘法运算MUL和除法DIV。ADD指令有16...
不在同一个项目如何进行s7通讯?
步骤/方式一将PLC接通电源,注意将开关拨到STOP状态。步骤/方式二用SUB-PPI传输线将S7-200PLC与电脑连接,并将9针插头连接上。步骤/方式三打开电脑S7-200P...
三菱PLC指令。[SUBD200D202D204]?
[SUBD200D202D204]指的是D200内的值-D202内的值,所得结果存储到D204中。SUB为三菱PLC软件中的减法指令。[SUBD200D202D204]指的是D...