三菱ST语言教学(4)——功能块的封装与调用
在第一篇教学中我们举了一个电机控制的例子,3个按钮控制电机正反转和停止。
单个电机控制
只是一台电机程序看上去挺简洁的,那如果是5台电机呢?10台呢?如果直接复制程序的话先不说程序篇幅,单就建立变量就够费事的了吧。而且实际项目中电机的自动控制程序很可能很复杂,复制程序修改变量名称也是一项庞大的工作量,再加上变量与设备地址的对应和赋值。。。不敢想象。
这时如果把单个电机的控制程序封装成块,按照电机的数量去调用就可以极大的减轻我们的工作量,而这个块就是今天要讲的内容功能块(FB).
功能块的封装
三菱的软件在左侧的导航栏有专门建立功能块的空间:
与建立程序段一样右键后新建数据,也会出现一个标签声明窗口和程序编辑窗口,这里要注意的是,功能块只能使用局部标签,不能使用全局标签和地址,毕竟功能块是要重复调用且互相不发生干涉的,符合这个特性的只能是局部标签。
声明标签
与普通程序的局部标签相比,功能块标签的类多了几个选项,分别是输入变量(input)、输出变量(output)和输入输出变量(in_out),而这几个变量类型也是功能块与外界程序的接口。例如这个程序的按钮变量需要与外界的按钮地址进行连接,而且按钮对于这段程序来说属于控制者,因此把按钮变量声明为input类型;而正反转变量要传递给电机是执行者,因此把正反转声明为output类型;in_out类型即可输入也可输出,本人用的也不多,以后找找资料为大家分享。
其他类型的变量在这里只用来服务功能块内部程序,例如使用for或者case,需要一个数字型的中间变量(var)来让程序执行,调用后不会在外部程序中显示。
然后在程序编辑窗口将最上面的程序复制到这里,功能块建立完成。
调用功能块
功能块有了,在ST下如何使用功能块呢?三菱的拖拽法是比较方便的:
点击部件选择窗口 按钮,可以在右侧出现部件列表:
部件列表
找到刚刚建立的功能块,用鼠标左键拖拽至程序编辑窗口中:
拖动FB
这时出现标签登录/选择窗口,这是由于功能块想要使用是需要声明标签的,就像普通的变量一样,改好标签名称,点击应用即可自动声明完成。如果生成的FB标签需要更改,也可以在标签表里编辑。
功能块想要使用,需要对他的接口引脚进行赋值,上图可以看出,拖动过来的功能块会自动将所有接口引脚列出,我们只需要将引脚后面赋值就可以。为了便于观看,稍微整理下格式:
实际上三菱的引脚赋值符号与标准的ST语言是由差异的,标准的输入引脚赋值用":=",而输出引脚使用"=>"符号,三菱的ST并没有进行区分。
如果一个功能块有一些引脚用不到,比如一个电机只要正转也停止就行了,用这个功能块也没有问题,只要将用不到的引脚删掉就好了:
模拟运行,验证一下功能块是否可用:
将第一个电机正转,第二台电机并没有影响。
习惯梯形图的人可能会觉得ST对于功能块的展现并不直观,我们可以使用FBD(结构化梯形图)来调用功能块:
FBD
左侧为输入引脚,右侧为输出引脚,相对ST来说清晰一点,你们更喜欢哪种方式呢?
常用的功能块
除了自建的功能块,三菱提供了很多直接可用的功能块,常用的比如上升沿(R_TRIG),下降沿(F_TRIG),延时启动(TON),延时关闭(TOF)等。与自建的功能块相比,这些功能块功能比较单一,需要与其他程序配合,所以用FBD就不是很方便了。我们修改一下上面电机控制的例子,来感受这些常用块的用法。按钮的输入检测下降沿执行,正反转启动要延时1秒执行:
在这里可以看到,功能块的输入端口采用括号的形式引出,而输出端口即可以用括号,也可以用类似结构体调用元素的方式,在FB标签后面加符号点"."引出,并且可以直接使用。
当然后加的这些功能完全可以写进我们封装好的功能块内部程序中,这样外面的程序就不用变化了:
在这里可以还可以看到,功能块的所有引脚不一定非要在同一个括号内赋值,可以在需要的单独赋值某一个引脚。调用的系统功能块的标签也可以根据实现的功能起名,文章里是为了体现功能块本身选择的自动生成。
西门子PLC编程详细讲解及案例分析
编程语言种类很多,各有各的优势,语句表和指令表类似,是编程语言的一种,在PLC中应用比较普遍,也是一种高级编程语言,PLC中语句表、梯形图、SCL等编程语言的特点:
1、顺序功能图(SFC-Seauential Fuction Chart)
2、梯形图(LAD-LAdder Diagram)
3、语句表(STL-STatement List)
4、功能块图(FBD-Function Block Diagram)
5、结构化文本(ST-Structured Text)
今天大牛就用PPT的形式为大家讲解西门子PLC编程以及分析案例。
▼
相关问答
西门子plc双联开关怎么编程?
西门子PLC双联开关编程的步骤如下:在PLC编程软件(如Step7)中,创建一个新的程序,并选择相应的PLC型号和通信接口。定义双联开关的输入和输出端口。...
plc基本编程模式?
PLC编程有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。最常用的是梯...PLC...
三菱PLC结构化梯形图/FBD中的TON怎么用?谢谢?
IN为使能端,PT时间设置端,Q,输出端。ET为当前时间。IN为使能端,PT时间设置端,Q,输出端。ET为当前时间。
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...
plc的编程方式有几种?
PLC的编程方式有梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、连续功能图(CFC)、结构化文本语言(ST)。但现目前在工业运用...
欧姆龙cp1e编程方法?
欧姆龙CP1E是一种可编程控制器(PLC),用于自动化控制和机器人控制等应用。以下是欧姆龙CP1E的编程方法概述:1.软件选择:首先,您需要选择适合欧姆龙CP1E的...
三菱plc编程arws怎么用?
三菱PLC编程软件ARWS(AutomationRuntimeWorkbench)是用于编写和调试PLC程序的工具。使用ARWS,您可以创建逻辑控制程序、配置输入输出、设置通信参数等。首...
西门子PLC提供的编程语言有哪几种?
西门子PLC(可编程逻辑控制器)提供的编程语言有以下三种:LadderDiagram(梯形图)、InstructionList(指令表)和StatementList(语句表)。其中,Ladde...
如何安装三菱PLCUSB驱动我有光盘-懂得
你如果安装了三菱软件,在C盘有一个三菱软件安装包,在里面有一个一个SOCET文件夹下有一个USB-DIRVER。安装方式在我的电脑右击。出现设备管理器,在里...
plc程序设计语言?
目前为便于各类型的工程技术人员都能使用PLC,PLC厂商都增加了它的编程语言。国际电工组织也制定与几次修订了plc编程语言国际标准。共涵盖6种编程语言,除了指...