Think&Do软件基本入门—创建一个项目(三)
Think&Do软件基本入门—创建一个项目(三)
八、创建流程图 现在我们开始的内容或许是项目中最有趣儿的部分了:创建流程图(Flowchart)。大多数读者将会认识到,Flowchart是使用符号描述控制过程的图形的一种简单形式。Flow意思是顺序, chart意思是图形。流程图中的符号描述两类功能块,动作块(action block)和转移块(branching blocks)。它们被定义如下:
仅仅使用这两种主要的结构单元,就可以创建一个流程图,它可以具有I/O子系统的完整命令,来控制一台机器或一个过程。一个项目可以由一个或几个流程图组成,这取决于你决定如何来组织它们。下面的方块图表示了你所创建的流程图是如何与其它系统部件相联系的(一些运行目标没有HMI)。
1、流程图和子流程图 Think&Do软件中的流程图程序进一步分成两种图形类型以适用于分层结构:标准流程图(Standard flowcharts)和子流程图(Subcharts)。它们的关系类似于BASIC语言程序中的主程序和子程序。一个流程图控制功能块可以调用(call)一个子流程图,即将执行过程转移到子流程图。子流程图执行返回(return)回到原流程图,即将执行过程再转移回来。 对于这个项目我们将使用一个非常简单的流程图将输入Switch 1和输出Relay 1连接起来。换句话说,流程图将输入和输出逻辑性地连接起来。因此,只要Switch为on,Relay也总是为on。一旦你掌握了创建和运行一个流程图的过程,你就可以创建自己的项目了。
2、一个新流程图 要创建一个新流程图,选择ProjectBinder中的Flowcharts标签。然后单击流程图列表框右边的New,见下图。当我们创建并命名(Save as…)流程图以后,它将显示在列表窗口的上部。列表窗口上部的标签和下部以及右边的按钮都会帮助你管理具有多个流程图的项目。 单击New创建一个新流程图后,FlowView应用窗口就出现了。请花一点时间了解这个窗口中资源的大致情况。FlowView是你在创建流程图时需要使用的,因此它是Think&Do开发系统的中心部分。
3、设计网格区 设计网格区是一个由水平和垂直线分割成单元的区域。各种功能块以沿着网格窗口左边的行编号为参考放置在行中。现存的网格可以帮助你,使你知道将功能块放置在哪儿。顺便说一下,Think&Do可以自动调整你放在网格中的功能块,这样网格之间的连结做起来就比较容易了。 全部的设计网格区域比我们可见的窗口大的多,它象一个棋盘式的表格。你可以使用zoom系数设置看到更多的网格。对于这个练习,请将zoom系数改为75%,如下图所示。你也可以使用滚动条扫视网格区以看到其他区域。
4、Enable功能块 你在网格中看到的缺省功能块"Enable",当运行系统第一次开始执行时,它可以使流程图处于使能状态。我们将在它的下面放置流程图功能块(正常流程为顶部接底部)。 首先,我们使用下图所示的工具条得到判断功能块(decision block)。我们将使用这个判断功能块来测定Switch 1是off还是on。
5、Decision功能块 在你选择了判断功能块工具以后,一个块位置光标将会出现(如下图所示)。这是在流程图中使用的一个特殊的光标,它用来在你指定的网格单元中放置功能块。 现在,将块位置光标放于Enable功能块正下方的网格中。然后单击鼠标,判断功能块就出现了!注意到在它的顶部有一个输入点,我们以后要对它进行连接的。两个输出点标明"Y"和"N",表示功能块的Yes和No路径。 6、Control功能块 要使程序正确运行,我们还需要在判断Yes为真时使输出Relay 1处于ON,并且,在判断No为真时使输出Relay 1处于OFF。流程图需要使用控制功能块来完成这个功能。 要放置控制功能块,从工具条中选择Control Block 。光标即会变成块位置光标。 在判断功能块下单击块位置光标。然后重复该步骤(单击Control Block光标),在第一个控制功能块右边的网格单元中单击块位置光标。已经放置的功能块的排列如下图所示。 在所有的流程图功能块都放置在适当的位置后,需要把它们连起来了。从工具条中选择连接工具(Connect),如图所示。光标变为连接光标,见图。 让我们开始使用连接工具连接(单击)Enable功能块的输出点到Decision功能块的输入点。一条黑色的垂直线出现了,它证实连接确实存在。 下一步,用同样方法连接Decision功能块的Yes出口到在它正下方的Control功能块的入口。连接No出口时,在连接路径上会碰到一个直角拐弯。可以在拐弯点单击然后再一直向下。或直接单击要连接的两个端点,Think&Do会自动为你的连接设置路径。 流程图还剩下两个连接…首先,在最右边的Control功能块的出口开始连接,引导路径向右,然后向上,再向左正好到达Decision功能块的顶部输入点。然后完成连接于Decision功能块。完成后的连线为黑色。 最后一个我们必须要做的连接是将(下部左边)Control功能块的出口点与Decision功能块的输入点相连。只需在Control功能块的底部开始连接并引导其路径直到它接触到最右边的Control功能块的底部连线。然后单击光标,新的路径变为红色(表示正处于悬而未决状态)。由于黑线已经有了终点,因此只需右击鼠标得到如图所示的菜单框。选择Auto-Complete,则Think&Do能够自动布线将悬空的连线连接到已存在连线的终点!(你也可以使用F3)。到此,布线完成! 注意:如果你习惯于使用CAD程序画图,你可能在这条线与另一条线交叉的地方终止这条线。而在这里,你必须引导它(或自动布线)到终点,在我们的例子中是到Decision功能块的输入点。
7、得到选择(Select)工具 流程图已经接近完成了--我们只需要在判断功能块和控制功能块中添加适当的指令。但首先,为了编辑功能块的内容,你需要将光标从刚使用的Connect工具改回到通常的Select工具(箭头)。只需单击Select工具,如下图所示。
8、你自己的表达式 流程图功能块的内容是一个表达式,因为它表达了我们设想让功能块所做的事情(象数学表达式一样)。我们将要编辑判断功能块中的表达式以回答"Switch 1是否为ON?"这个问题。表达式类似于流程图功能块的特性(Property)。所以,只需把光标放在判断功能块上并右击鼠标即可从菜单中访问表达式(Expression),或者直接双击功能块进入Expression。
9、判断表达式 此处,FlowView将为你提供一个如下图所示的判断表达式对话框。该功能块必须关联Switch 1。我们先手动填写,然后再展示快捷方式。 首先从图示的下拉式列表中选择Switch 1的数据类型(这里是"Input")。然后单击Data Item区域。此处的输入要参考DataView。键入"0"或"I-0",表示输入I-0 Switch 1。 快捷方式式单击Find按钮,或双击编辑区域。这将自动打开DataView,从中直接选取数据项。 在数据类型和数据项区域填写(你可以使用上述两种方法)完成后,单击Add Data Item按钮。此时,对话框将Switch 1这一项添加到对话框下部的Expression列表中,见下图。(用这种方法,你可以将更多的数据项或逻辑算符添加到列表中以开发出更复杂的表达式)。 当判断表达式对话框编辑完成后,单击OK关闭对话框。编辑后的判断功能块如下图所示。正象我们在编辑时提出的 "Switch 1是否为ON?"的问题一样,流程图在运行时判断功能块会提出相同的问题并选择Yes或No路径。
10、控制表达式 同样地,我们现在分别为两个控制功能块编辑表达式。左边功能块的动作是将Relay 1置为ON,而右边的功能块是将Relay 1置为OFF。让我们先来编辑左边的功能块,将光标置于其上并右击鼠标,见下图。
开始编辑控制表达式对话框。从下拉列表中选择我们需要的动作,选择"Turn ON Bit",如本例所示。(注意列表中的这些可以实现的动作类型只有这有限的几条)。 然后,你必须选择位(Bit)的类型"Output"或"Flag",此处选择Output。
在Tagname区域单击。这次,我们使用快捷方式,单击Find按钮进入DataView(也可以双击标记名区域)。在DataView中,只需将数据项"Relay 1"所在的单元格点成高亮即可。然后单击下图所示的小的Select Data Item对话框中的OK自动返回到DataView。
完成了Action和Tagname的填充后,我们准备在表达式列表中添加有关参数。单击Add Action按钮,则动作"Turn ON Bit O-0 Relay 1"将添加到下图所示的列表中。
当你单击OK时,我们在这个对话框中所建立的表达式列表就成为了控制功能块的动作。如果需要的话,将来修改这些动作是很容易的。 编辑右边的功能块是我们流程图编辑的最后一步。它的表达式作出为"Turn OFF Bit O-0 Relay 1"(用OFF代替ON)。遵循与前面控制功能块的编辑相同的步骤:
11、流程图执行 在每一个扫描中,除非遇到在本次扫描中已经被执行的功能块(例如,判断功能块循环回到它自己,或一个等待功能块),流程图将执行所有的功能块。我们刚刚完成的流程图有一个如下图所示的循环连接点。在循环连接点,流程图执行的路径与前面执行过的路径相交。 注意:Think&Do运行系统以递增的方式执行全部流程图的过程叫做扫描,正象大部分可编程控制器(PLCs)所做的那样。在任意一个给定的扫描中,流程图一直执行下去,直到它遇到如上边定义的循环连接点,此处停止执行并转到下一个流程图。在下一个扫描中,该流程在连接点处恢复。
12、欢迎使用Comment功能块 当我们完成流程图时,让我们再花一点时间来为它加上一点文档资料。FlowView将允许使用网格单元区域做注释(Comment)功能块。仅需使用工具条上的Comment功能块按钮即可(见下图)得到熟悉的块放置光标。 单击Enable功能块的左边的位置,单元格中现在出现了缺省文字"Comment block"。 要创建或编辑一条注释,选择注释功能块单元后右击鼠标,然后选择Expression。或者直接双击注释功能块。注释对话框出现,见下图。在编辑窗口中,键入"This flowchart connects Switch 1 to Relay 1"。然后单击OK,流程图完成了。
13、为流程图命名 继续下去之前,确认保存你的流程图。从File菜单选择Save(如果没有存储,在ProjectBinder中则不会出现流程图)。 注意:对于一个单一的项目,最终可以有许多相关的流程图。因此,每一个流程图都有自己的名字并且独立运行。你没有必要将流程图的名字起的和其所属的项目名字一样。让我们把第一个流程图的名字命名为"Connect",因为它是输入和输出的逻辑连接。键入名字单击OK即可,见下图。
14、编译项目 现在我们准备运行项目了。注意,我们不说"运行流程图"。对于Think&Do来说,运行项目的意思是运行项目所含的所有的流程图,HMI画面,和其它(选项)有关的程序。使用工具条按钮回到ProjectBinder。 当我们回到ProjectBinder时,注意到流程图"Connect"现在已经列出了(必须选中FlowView标签)。项目现在识别出流程图的存在,但还没准备运行。 选择Build或Rebuild All工具条按钮。Build仅仅编译变化的部分,而Rebuild All则编译整个项目。 回过头再看对项目的编译,你将看到Project Build状态框的出现。这个框将对编译过程中出现的任何错误和问题给出提示和警告。它还会列出已经编译了的流程图数量和画面数量。 要浏览项目编译的输出列表,单击View。如果需要,你可以浏览和打印编译过程中的统计量。浏览窗口中应该没有错误和警告。如果有的话,在错误出双击,Think & Do将带你回到FlowView中出现错误的功能块处。 单击Cloce退出输出列表,再单击Cloce退出Project Build对话框。 |
![](http://src.gongkong.com/website/gongkong/images/news/icon.png)
提交
超越传统直觉,MATLAB/Simulink助力重型机械的智能化转型
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会