研选课堂
HOME
研选课堂
正文内容
块编程PLC 三菱PLC入门必学知识点——功能块指令
发布时间 : 2024-10-16
作者 : 小编
访问数量 : 23
扫码分享至微信

三菱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程序

1、程序结构统一

OB1:主程序;

OB100:初始化程序(无需主程序调用);

OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;

OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);

FC1:系统模式;

FC2:输入处理;

FC3:输出处理;

FC4:运行处理;

FC5:停止处理;

FC6:手自动切换;

FC100:之后用来建立一些可以循环调用的子程序;

FC105:系统自带,模拟量输入子程序(可以循环调用);

FC106:系统自带,模拟量输出子程序(可以循环调用);

modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;

通讯CP340:FB2:P_RCV,FB3:P_SND;

一般PID:用FB41;

温、湿度PID:用FB58;

如果程序块与系统块重复,请避让。

2、数据块

DB1:AI数据,类型:REAL,与上位机接口;

DB2:AO数据,类型:REAL,与上位机接口;

DB3:DI数据,类型:BOOL,与上位机接口;

DB4:DO数据,类型:BOOL,与上位机接口;

DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;

DB6:报警消息,类型:BOOL,与上位机接口;

DB7:类型:REAL,中间寄存器;

DB8:类型:INT,中间寄存器;

DB9:类型:WORD,中间寄存器;

DB10:类型:BOOL,中间寄存器;

DB11:之后用作与设备通讯用,例如:MODBUS通讯等;

DB100:之后用作调用FB块时的背景数据块;

M区:也作为中间变量。

3、DP从站故障诊断

DP从站必须做故障诊断,故障报警,用FB125即可。

控制模式

1、系统设置远程/本地/手动按钮

1.1、远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;

1.2、本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;

1.3、手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。

2、单台设备控制

单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

3、单台设备

(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;

编程技巧

1、程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;

2、如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;

3、对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;

4、程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;

5、定期做程序备份,最好以工程名称+系统名称+当天日期;

6、程序加密,防止别人窃取。

西门子PLC按照控制规模来分类

可以分为大型机、中型机和小型机。

西门子PLCS7-300系列

小型机:小型机的控制点一般在256点之内,适合于单机控制或小型系统的控制。

西门子小型机有S7-200:处理速度0.8~1.2ms;存贮器2k;数字量248点;模拟量35路。

中型机:中型机的控制点一般不大于2048点,可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控,它适合中型或大型控制系统。

西门子中型机有S7-300:处理速度0.8~1.2ms;存贮器2k;数字量1024点;模拟量128路;网络PROFIBUS;工业以太网;MPI。

大型机:大型机的控制点一般大于2048点,不仅能完成较复杂的算术运

西门子PLCS7-400系列

算还能进行复杂的矩阵运算。它不仅可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控。

西门子大型机有S7-400:处理速度0.3ms/1k字;

存贮器512k;I/O点12672。

相关问答

西门子PLC功能块编程怎么用?

西门子PLC(可编程逻辑控制器)的功能块编程是PLC编程的一种方法,通过预定义好的功能块,来完成复杂的控制任务。以下是使用西门子PLC进行功能块编程的一般步骤...

plc怎么在程序段插入功能块?

在PLC编程中,通常可以通过以下步骤在程序段中插入功能块:1.打开编程软件,选择需要编写程序的PLC型号和类型。2.在编程软件中打开需要进行编程的程序段。程...

西门子PLC写程序块?

回答如下:西门子PLC写程序块的步骤如下:1.打开西门子PLC编程软件(如Step7)并创建一个新的工程。2.在工程中创建一个程序块。可以选择创建一个新的程序块...

OMRON的PLC功能块这么编写呢?

这个问题,我在omrog-CX-programmer里边看了一下,和西门子一边建立自定义块还是很相似的。直接上图来看说吧:新建一个项目,里边是没有功能块的,如下图:如...下...

西门子plc怎么把子程序做成块?

要自己创建FB块或FC块。在FB的局部变量表中,建立块内使用的各种变量,INPUT,OUTPUT,TEMP,等。还需要自建一些UDT类型,变量引用。自己做块程序,需要一些实际编...

s7-1200plc编程程序块类型分为哪四种?

S7-1200中程序块分为组织块(OB),函数块(FB),函数(FC),数据块(DB)。不严谨的说,组织块(OB)可以相当于主程序,函数块(FB)和函数(FC)可以相当于...S7-1200中程序....

plc块名称怎么填写?

1.PS模块---PowerSystem电源模块(PLC主站、I/O从站用)2.I/O电源---Input/Output电源模块(I/O模块及外部信号用)3.DI模块---Digital...

PlC的程序怎么编写?

编写PLC程序需要遵循一定的步骤。首先,需要进行需求分析,确定系统的功能和操作流程。然后,根据需求设计程序结构,包括输入输出模块的配置和信号处理逻辑。...

西门子PLC提示块大小为0是什么意思?

西门子PLC提示块大小为0表示在用户程序中定义的指定块的长度为0,这可能意味着未正确定义或配置该块。在PLC编程中,块大小通常代表指令或数据的数量,如果块大小...

plc组织块的工作原理?

当PLC启动运行后首先执行一个启动组织块,再开始循环监视时间,在输入采样阶段读取输入设备的状态并存储到I/O映像区中,之后再执行用户程序阶段按照从上到下、从...

 周杰伦 科比  HCR慧辰 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部