龙空技术网

结构体变量与功能块的综合使用,带你体会PLC结构化编程的实现

傅工Engineer 1060

前言:

此时同学们对“结构体例题详解”大概比较着重,大家都需要学习一些“结构体例题详解”的相关资讯。那么小编在网络上汇集了一些有关“结构体例题详解””的相关文章,希望各位老铁们能喜欢,我们快快来学习一下吧!

前面几篇文章小编给大家介绍了三菱FX系列PLC的结构化编程,介绍了结构体变量和功能块的使用,对于习惯了三菱PLC简单工程的朋友们可能很不适应,而且文章写的都比较笼统,今天就介绍一个简单的实例。

现在有十个三相异步电动机,要求编程实现电机的启动停止。

传统的控制方式一定是这样的

图一

相信大家对这样的三菱PLC一定不会陌生,限于篇幅,我只写了四个电机的控制。三菱PLC的这种简单工程模式,直观易懂,非常傻瓜化,只要智商正常,都能看得懂,因此被冠以直观易懂,符合东方人思维的特点(但小编我觉得这是在侮辱国人的智商)。这种编程方式繁琐,而且浪费纸,对于大型工程或是复杂工艺计算,以及运动控制,那可是要死人的。那么用结构化编程怎么实现呢?

分析: 控制十台电机的启停,那么启停控制就是十台电机都要用到的,我们可以做成功能块,反复调用。

每台电机都有启动,停止两个操作,我们可以定义为结构体变量。

首先,我们先创建一个电机控制的功能块 Motot_Control

图二

如 图二所示,就是创建好的功能块Motot_Control。在这里,小编是用ST语言编写的。关于ST语言在PLC编程中的好处,小编不再重复,希望大家多多体会。

接下来,我们就要在程序中调用功能块了,由于是十台电机,因此需要调用十次

图三

如图三所示,这就是我们在程序中调用的功能块,同样限于篇幅,小编我就只调用了四个。和图一的简单工程梯形图相比,是不是简洁多了?注意看黄色荧光笔部分,这部分称之为功能块的实例名,是什么意思呢?因为在IEC61131-3标准中,功能块也当做是一种变量类型,也是需要定义的,也就是俗称的功能块型变量,在西门子博途中称之为背景数据块。

图四

如图四所示,我们在程序中插入的四个功能块,都被自动定义成了变量。

接下来,我们就建立结构体变量了

图五

如图五所示,这就是建立好的结构体变量Motor,注意看,它是支持中文的!是不是很赞!

建立好了结构体变量,我们就可以在全局变量中定义并使用了

图六

如图六所示,我们定义了四个结构体型变量,名字分别为 电机1,电机2,电机3,电机4.注意看它们的类型,都是Motor型。接下来,我们就可以直接使用定义好的变量了

图 七

如图七所示,这就是最终的程序,和使用简单工程相比的图一,是不是更简单明了,而且更加的高效?

总结:本文所举的例子比较简单,可能还体现不出结构化编程的优势,本文旨在让大家体会结构化编程的思维方式。毕竟,基于IEC61131-3标准是PLC的发展方向,是大势所趋。台达PLC,欧姆龙PLC,松下PLC,三菱PLC,富士PLC这些日系PLC都推出了基于ICE61131-3标准的PLC产品,可见,连小日本都觉得简单工程的方式已经没了前途,如果你还抱残守缺,故步自封,不思进取,天天以入门简单来麻醉自己,你也就基本看不懂手表了。

标签: #结构体例题详解 #结构体例题详解及答案