在FLProg程序中创建项目。第一课



在上一篇文章中,我介绍了FLProg项目。现在,我想告诉您如何在该程序中工作。

程序员通常以“ Hello World”作为第一堂课,微控制器程序员使LED闪烁,但电工和电子工程师则组装接触器控制电路。由于他们是该程序的主要用户,因此我们将在第一课中仅收集该方案。



标准接触器控制电路



用Arduino控制器替换该电路。我们将忽略抗扰性和屏蔽性问题。本主题用于单独的非常大的对话。我们的目标是在FLProg程序中创建适当的逻辑。因此,我们将放置一个测试连接图。



接触器在此测试电路中的作用由“接触器” LED来执行。现在,让我们尝试对控制器进行编程。
我们启动FLProg程序,单击“创建新项目”按钮。



将打开用于选择控制器和项目编程语言的窗口。



要创建项目,可以使用两种编程语言(FBD和LAD)中的任何一种,它们是工业控制器编程领域的标准。在本教程中,我们将使用两种语言创建项目。

请注意,使用一种语言创建项目后,将无法更改它!

按下控制器选择按钮时,将打开相应的窗口,其中将显示程序支持的板。


在此列表中,选择所需的控制器。

为项目选择的控制器可以随时更改。

首先,以LAD语言创建一个项目。

LAD语言
Ladder Diagram (LD, LAD, ) – () . , . , . , , . - , , . ( — ; — ). , . , — . , .




FBD语言的FLProg程序的工作窗口包含几个字段:
  1. 程序主菜单
  2. 项目树(本课程中未使用它,我们将在以后的课程中考虑它)
  3. 安装的设备树。它介绍了项目中使用的设备(中间继电器,时间继电器,发电机...)。在新项目中,它仅包含控制器的输入和输出。
  4. 块库。它包含可以在项目中使用的设备。在本课程中,我们只会对Base Blocks文件夹感兴趣。
  5. 电路本身将在其中绘制的电路区域。FLProg中的电路是一组带有设备的电路板。


首先,拔出电路区域上的按钮触点。这可以通过两种方式完成。

  • 将相应的输入从已安装设备树的“自由输入–控制器的输出”文件夹中拖动到电路区域
  • 将Contact块从块库的Basic Elements文件夹中拖动。


结果,该联系人的UGO(有条件的图形指定)出现在图表上。如果将其从已安装设备的树中拖出,则触点将立即与数字输入(板的输出)绑定在一起。如果将接触块从元素库中拉出,它将是没有任何绑定的抽象接触。



而且无论如何,必须对触点进行参数设置。为此,请双击该联系人。块编辑窗口打开。



首先,在“参数”选项卡上,选择触点与电路板输出的绑定(如果在块库中选择了触点)。
之后,出现新参数。 “防止反弹”和“上拉电阻”。由于按照该方案,按钮已连接到GND,因此请选中“上拉电阻”复选框。您无法安装“防止反弹”,在此方案中没有必要。



在“标签到块”标签上,输入按钮的名称,以使其在图表上显示。



在“信息”选项卡上,您可以查看有关此设备的信息。



同样,我们拉出过载继电器的其余按钮和触点。



之后,我们从块库中拖动“ Coil”设备。只需双击它,即可打开用于参数化线圈的窗口。



双击列表中的相应项目,将线圈分配给中间继电器“ K1”。
现在,您需要设置联系人的状态。
在FLProg程序中,触点的状态对应于板的连接输入端的电平。如果电路板的输入为0,则触点断开;如果为5V,则触点闭合。由于图中的按钮已连接至GND且内置上拉电阻器已打开,因此当按钮闭合时,电路板的输入将为0,而在释放按钮时,它将为5V。根据这些规则,我们公开了联系人的对应关系。这也可以通过两种方式完成。
  • 双击联系人,然后在块编辑器中选择所需状态
  • 右键单击联系人,然后在下拉菜单中选择所需的项目。

这应该是这样的触点状态(由于前面所述的原因,它与典型电路相反)



现在,您可以根据启动器的标准电路开始绘制电路了。通过将光标移动到元素的初始输出并按下左按钮来绘制连接,并且在不释放按钮的情况下,连接会延伸到第二个连接的输出。如果在游标跟随其连接处时,输出显示为橙色,则可以将该输出连接至该连接,



要创建接触器块触点,可以将触点K1从已安装设备树中拖到电路上。



结果应该是这样的方案。我认为任何电工都可以理解她的工作(考虑到与Arduino开发板的输入相关的触点状态的反转)。



因此,第一局结束了。我们将其称为管理委员会。为了给木板分配一个名称,双击其标题。



将打开一个用于编辑板标题的窗口。



标题中的绿色圆圈表示板子正确无误。如果有这样的块,它将为红色。
现在,我们将通过单击“添加



”按钮创建另一个板,我们将控制其上Arduino板的输出。为此,将四个线圈从模块库拖动到第二块板上,并将它们绑到Arduino板的输出上。这张图



看起来应该像是与板子的输出连接的线圈相关,如下所示:在项目中打开线圈时,关闭时Arduino板的输出将为5V 0
然后,从安装的设备树中拖动必要的触点(中间继电器的两个触点,以及过载继电器的输入触点),然后绘制所需的电路,并将板称为“输出控制”。



电路板标题中的箭头可以使电路板最小化,从而节省了工作空间,并加快了大型方案的编程速度。当您单击箭头时,木板会折叠或展开。



两种语言都将加载到控制器中是相同的,因此我们将在课程结束时进行介绍,但是现在,我们将使用FBD语言创建一个类似的项目。

FBD语言
FBD (Function Block Diagram) – 61131-3. , . . () — , (, , , , , , , .). , . , . . .


让我们用FBD语言创建一个新项目。



程序窗口中的字段1、2、4、5与LAD语言中的字段相似。此处的字段3包含标签树(输入,输出和变量)。没有预先创建的输入,必要时需要创建它们。要创建新输入,需要单击“添加输入”按钮或双击标签树中的“添加输入”项。



将打开一个用于创建条目的窗口,



我们选择数字,出现新参数。我们记下输入的名称,选择Arduino板所需的输入,然后选中“启用上拉电阻”复选框。



以相同的方式,添加所有必要的输入。



然后,我们创建一个负责接触器状态的变量。为此,请单击“添加变量”按钮或双击标签树中的“添加变量”项。



变量设置窗口打开,



选择布尔变量的类型并填写参数



,FBD语言的输入块与电路板的实际输出相对应,如下所示。当在实数输入处时0-在块的输出处-False,当在板5B的输入处在块的输出True时。
为了记住接触器的状态,我们使用RS触发器。必须将其从块库的Triggers文件夹中拖动到电路的工作字段中。



RS触发
RS-, SR- — , .
S ( . Set — ) . R ( . Reset — ) .
. RS , SR .


为了接通接触器,必须将来自“启动”输入的信号施加到输入S。为此,将“ START”输入从标签树拖到电路的工作区域。如果您还记得当您按下“开始”按钮时,向开发板输入了逻辑0,那么很显然您需要将来自按钮的信号反相。为此,将光标移至触发器的输入S并单击鼠标右键。在打开的菜单中,选择项目中的“反转”,



然后将触发输入S连接到“开始”输入块的输出。以与LAD语言相同的方式创建连接。



如果发生以下情况,接触器将停止:
按下STOP按钮(停止输入块上的日志1)按下紧急停止按钮(紧急停止输入块上的log.1)热继电器跳闸(输入块“ KT1”上的日志1)。因此,我们需要一个具有三个输入的OR块。

将其从“基础块”文件夹中的块库中拖动。



默认情况下,OR块具有两个输入。为了添加第三个,选择块并单击“添加输入”按钮。



我们从标记树中传输必要的输入,然后连接到OR块的输入。 OR块的输出连接到触发器的输入R。
然后,我们从标签树中获取“接触器状态”变量,并将触发器输出连接到该变量的输入。这样的方案应该是:



在此,我们完成了第一块板,并将其称为LAD上的“控制板”。
之后,创建一个新板,并立即将其称为“输出管理”。
接下来,根据方案创建板的输出。为此,请单击“添加退出”按钮,然后双击标签树中的“添加退出”项。我们创建数字类型的输出。





将创建的输出,输入1和变量“接触器状态”拖到第二块板上,然后根据图连接这些块。我们反转必要的水块。



请注意,将输入,输出或可变块拖动到电路上时,它们最初没有输入或输出。当您将光标移到其将来位置的块时,它们就会出现。
随着方案的创建完成。现在,您需要将程序填充到控制器中。为此,单击“编译项目”按钮。



结果,Arduino-IDE窗口打开,并带有打开的草图,将创建的电路转换成该草图。



在Arduino-IDE程序中,选择了板,端口,并将草图填充到控制器中。

Source: https://habr.com/ru/post/zh-CN389727/


All Articles