资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,本章节描述CFC语言的编程方法,5.5,CFC 连续功能图,1,CFC连续功能图是IEC61131-3 标准编程语言的扩展,是基于功能块图的图形化编程语言,但它没有网络限制,可任意放置元素,例如允许插入反馈回路,如下图。,CFC-连续功能图语言,2,CFC元素,输入,输出,选中?文本,然后修改为变量或者常量。通过输入助手可以选择输入一个有效标识符。,3,CFC元素,运算块,运算块可用来表示操作符,函数,功能块和程序。选中运算块的?文本框,修改为一个操作符名,函数名,功能块名或者程序名。通过输入助手可以选择输入一个有效的对象。,在例子中,当插入一个功能块,随即运算块上出现另一个?,这时要把“?”修改为功能块实例名。,若运算块被修改为另一个运算块(通过修改运算块名),而且新运算块的最大输入或输出引脚数,或者最小输入或输出引脚数与前者不同。运算块的引脚会自动做相应的调整。若要删除引脚,则首先删除最下面的引脚。,4,CFC元素,跳转,跳转用来指示程序下一步执行到哪里,这个位置是由标签定义的(见下)。插入一个新标签后,要用标签名替代“?”。,5,CFC元素,标签,标签标识程序跳转的位置(见上文“跳转”),在在线模式下,标识POU结束的返回标签会自动插入.,6,CFC元素,返回,注意:在线模式下,return自动插入到编辑器第一列的最后那个元素之后。在单步调试中,在离开该POU之前,会自动跳转到该return。,7,CFC元素,编排器,编排器用于结构体类型的运算块输入。编排器会显示结构体的所有成员,以方便编程人员使用它们。使用方法是:先增加一个编排器到编辑器中,修改“?”为要使用的结构体名字,然后连接编排器的输出引脚和运算块的输入引脚。,8,CFC元素,选择器,选择器用于结构体类型的运算块输出。选择器会显示结构体的所有成员,以方便编程人员使用它们。使用方法是:先增加一个选择器到编辑器中,修改“?”为要使用的结构体名字,然后连接选择器的输出引脚和运算块的输出引脚。,9,CFC元素,注释,用该元素可以为图表添加注释。选中文本,即可以输入注释。用户可以用+在注释中换行。,10,CFC元素,输入引脚,有些运算块可以增加输入引脚。首先在工具箱中选中Input Pin,然后拖放到在CFC编辑器中的算法块上,该运算块就会增加一个输入引脚。,11,CFC元素,输出引脚,有些运算块可以增加输出引脚。首先在工具箱中选中Output Pin,然后拖放到在CFC编辑器中的算法块上,该运算块就会增加一个输出引脚。,12,CFC编辑器由“CFC编辑器”插件提供,用于编写CFC(连续功能图)。CFC语言是对IEC 61131-3编程语言的扩展。点击“工程”菜单下的“添加对象”,可以增加以CFC为编程语言的POU。CFC编辑器是一个图形编辑器。,在编写CFC POU时,窗口的上半部分是声明编辑器,下半部分是CFC编辑器。,与网格编辑器不同,CFC编辑器允许把元素放在任何位置,例如,允许直接插入反馈回路。CFC 编辑器内部有一个链表,包含了所有已经插入的元素,链表的顺序决定了CFC元素的执行顺序,但是用户可以改变元素的执行顺序。,如下图所示,CFC编辑器,13,14,工具箱中包含下列元素:运算符(包括操作符、功能、功能块和程序),输入、输出、注释、标签、跳转、编排器和选择器;可以把这些元素插入到CFC编辑器中。,拖动鼠标,连接元素的输入和输出,会自动创建最短连接线。当元素移动的时候,连线也会自动调整。请参看:插入和排列元素。,用户可以通过缩放工具改变编辑窗口的尺寸:点击编辑窗口右下角的按钮,在打开的菜单中选择一个缩放倍数;还有另外一个方法,在打开的菜单中选择.打开一个对话框,然后可以输入任意缩放倍数。,当CFC编辑器处于激活状态时,通过右键菜单或者“CFC”菜单,可以使用CFC命令。,15,16,CFC 是连续功能块图(Continuous Function Chart)的简称。,CFC 是一种图形化的编程语言。CFC 基于FBD 语言,但没有“节”的限制,摆放元素更加灵活。元素可以摆放在编程区任意位置。用鼠标拖拽在元素之间连线,当元素移动位置时,编辑器会自动调整连线长度。如果连接线因为缺乏空间不能画出,在输入和相关的输出之间出现一个红线,这个红线只有当空间充足时才转化为连接线。,17,装入指令,18,可以通过缩放工具改变编辑窗口的尺寸:点击编辑窗口右下角的按钮 ,在打开的菜单中选择一个缩放倍数;还有另外一个方法,在打开的菜单中选择.打开一个对话框,然后可以输入任意缩放倍数。,在CFC 语言里元素的右上角的数字,显示了在线模式下CFC 中元素的执行顺序。执行流程从编号为0的元素开始。移动元素时,它的编号仍保持不变。添加一个新元素时,按照拓扑序列(从左到右,从上到下),该元素将自动获得一个编号。,19,3.5.1CFC当前光标的位置,每个文本都是光标可能的位置,选中的文本渐变为蓝色并且可以被修改。,在其它的情况下当前鼠标的位置通过虚线矩形框来显示,下面是光标可能位置的例子:,1.当光标在文本时,文本的背景色为蓝色,且可以编辑。点击 按钮打开输入助手。当插入一个元素后,开始显示的是?,用于提示用户输入一个有效的标识符。然后,光标置于变量名或运算块参数名位置,并给出运算块参数或变量的类型提示。如果已经被定义,符号注释将显示在第二行。,20,21,2.当光标在元素(运算块,输入,输出,跳转,标签,返回,注释)上时,该元素显示为红色,且可用鼠标移动。,22,3.当光标指在元素的输入或输出连接线上时,连接点变红,可以对该连接线进行取反,复位或置位操作。,23,3.5.2 操作说明,CFC 的元素包括块、输入、输出、跳转、标记、返回和注释等。其中块分为操作符、函数、,功能块和程序四种形式。,24,1.选中元素,在元素中继线处点击鼠左键,可以选中元素。,如果想同时选中几个元素,按住 键并选中单个元素。也可以用鼠标左键在编辑,器中画矩形区域选中其中几个元素。“其它”/“全选”选中所有元素,25,2.移动元素,当光标在位置a 时,或按住 键同时选中,移动元素,到合适的位置后释放左键。如果释放位置处已有其它元素或超出编辑区,被移动,元素会跳回原位置,移动失败,26,3.连线,一个元素的输入引脚只能连一个输出引脚(本元素的输出引脚或其它元素的输出引,脚),而一个元素的输出引脚可以连几个输入引脚(本元素的输入引脚或其它元素的输入引,脚)。在连线时,编辑器会检查双方的数据类型是否匹配,如果不匹配,光标会变为“禁止”,样式,连线失败。若连接线为浅灰色,则表明元素之间有位置重叠,27,连线操作:,把鼠标放在,E1 的输出引脚上,按下左键,拖拽到E2 的输入引脚上,释放左键,把鼠标放在E2 的输入引脚上,按下左键,拖拽到E1 的输出引脚上,释放左键,4.删除连线,如上图所示,有三种方式删除E1(a)和E2(ADD)之间的连线。选中E1的输出引脚,按下 键或“编辑”“删除”,如果E1 的输出引脚有几条线,则会同时删除。选中E2 的输入引脚,按下 键或“编辑”“删除”。,29,5.插入元素,CFC 的元素包括块、输入、输出、跳转、标记、返回和注释等具体参考下表:,31,3.5.3 CFC元素的执行顺序,CFC 语言中运算块、输出、跳转、返回和标签元素的右上角的数字,显示了在线模式下CFC中元素的执行顺序。执行流程从编号为0的元素开始。考虑到执行顺序会影响到结果,在一定情况下可以改变执行顺序。操作在菜单“CFC”下的“执行顺序”中的子菜单命令可以改变元素的执行顺序。,执行顺序包含的命令有:置首、置尾、向上移动、向下移动、设置执行顺序、按数据流排序、按拓扑排序。,32,33,1.置首,把选中元素移到执行顺序的首端。如果选中多个元素执行这个命令时,选中元素的原有的内部顺序保持不变;未选中元素的内部顺序也保持不变,下图说明此功能:,如选中图7中3号元素执行置首命令后执行顺序如下:,命令执行完成后,原3号元素标号变为了0号。其他元素的序号也做了调整,但依旧保持了原先的执行顺序。,如果选中图7中的1号和3号元素执行置首命令后执行顺序如下:,原1号和3号元素标号变成0号和1号,但这两个元素依旧保留原先内部执行顺序。其他未选中的元素也做了标号调整,但也保留这原先的内部执行顺序。,2.置尾,把所有选中元素移到执行顺序的末端。选中元素的内部顺序保持不变;未选中元素的内部顺序也保持不变。具体操作可以参照上述“置首”功能,37,3.向上移动,把所有选中元素(如果某个元素已在执行顺序的首端,除去该元素)在执行顺序上向前移动一位。如选中图,7中的3号元素执行“向上移动”命令,结果是2号元素与3号元素的执行顺序互换了一下,其余都不变。如下:,如果把图7中2号和3好元素都选中执行“向上移动”命令后,其结果是原2号、3号元素变成1号和2号元素,原1号元素编程3号元素。其余不变。如图示:,4.向下移动,把所有选中元素(如果某个元素已在执行顺序的末端,除去该元素)在执行顺序上向后移动一位。具体操作参考“向上移动”。,40,5.按数据流排序,数据流排序表示各个元素按照数据流顺序执行,而不是按照元素所在位置(拓扑)决定执行顺序。执行数据流排序命令后,编辑器内部做了如下一些操作:首先按照拓扑对所有元素进行排序;然后创建一个新的执行顺序链表;找到那些输入值已知,下一步可以被执行但还没有放入到链表中的元素。数据流排序的优点是:一个算法块执行后,连接到它的输出引脚上算法块会立刻执行;但是在拓扑排序中却不一定是这样。拓扑排序的执行结果可能和数据流排序的执行结果不同。如图示:,41,42,图12是一个拓扑结构顺序,选中全部元素后执行“按数据流排序”后结果如下:,元素的编号按照数据流的流向来编排的。,6、按拓扑排序,拓扑排序表示各个元素按照拓扑顺序执行,而不是按照元素数据流决定执行顺序。,拓扑排序后,元素按照从左到右,从上到下的顺序执行;左边的元素的执行顺序编号小于右边的,上边的小于下边的。拓扑排序依据的是元素的位置坐标,与连线位置无关。,44,举例说明,下图打乱元素标号的程序:,选中全部元素执行“按拓扑排序”命令后结果如图示:,拓扑排列的顺序就是:从左到右,从上到下的顺序执行;左边的元素的执行顺序编号小于右,边的,上边的小于下边的。,7、设置执行顺序,该命令可以对选中元素重新编号,调整元素的执行顺序。,执行“设置执行顺序”命令后,会打开设置执行顺序”对话框。在当前执行次序区域显示当前单元编号,用户可以在新执行次序中输入需要单元编号。括弧中值为可选值,
展开阅读全文