【公告】

功能块库介绍

【基本功能块编辑器】

 新建基本功能块(Basic Function Block)的方式是,点击工具基本设置图片中的“文件”,然后在 出现的菜单中点击“打开功能块库”,点击“新建”按钮,在弹出的对话框中指定名字和命名空间后在'类型'下拉菜单中选择“基础功能块”,如下图所示,点击'确定'即新建完成。

  基本功能块的名称可以通过单击基本设置图片中所示的文本框修改(以下各编辑器相同)。菜单 分为四个部分:属性、接口、执行控制图(ECC)、算法,用户可以通过 Ctrl+1-4 快捷切换不同的菜单选项(以下各编辑器相同).

 属性菜单可以添加注释、认证信息,编译信息、版本信息。(以下各编辑器相同)如下图所示,接口菜单可以编辑功能块的 I/O,根据 IEC61499标准的定义,功能块左上方为事件输入(EventInput),左下方为数据输入(DataInput),右上方为事件输出(EventOutput),右下方为数据输出(DataOutput),正下方为内部变量(Internal Variable)。事件与数据 I/O可以通过各自方位的+按钮添加,如果需要删除一个 I/O,只需在相应的方 块上点击鼠标右键。I/O名称可以直接通过单击相应文本框实现。数据 I/O与内部变量还需选择数据类型(DataType),外侧文本框为数组大小(默认为 1,如果大小为1则无需填写),通过单击…按钮可以修改每个数据的初始值(InitialValue)。当事件发生时,仅与事件相关联的数据变量值将被更新。例如,当下图中的“MEETING”事件被相连接的前面的输出事件触发,“ManualValue”的值将被更新,更新为与之相连接的前面的输出变量的值;同样的,若STEPOUTPUT与StepTime关联,那么当 STEPOUTPUT 被触 发时 StepTime的数据可以被传输至下一个与之相连接的变量。注意:只有当输入数据和输出数据分别与相对于的被触发的输入事件和输出事件相关联数据传输才能够成功。事件与数据之间关联可以通过单击EVENT打开相应选项菜单,然后单击需要关联的数 据 I/O 即可。再次单击同一 EVENT 可以关闭打开的关联窗口。(以下各编辑器基本相同)输入事件的触发方式是由与之相连接的前驱事件(比如基础功能块的输出事件)来触发,输出事件是当某一个算法运行结束后相对应的输出事件会被触发(在执行控制图处会有说明),继而触发与之相连的后继事件。

 执行控制图(Execution Control Chart - ECC)是 IEC61499 标准提供的图形化状态 机。每一个状态由状态名、算法名和输出事件名组成(初始状态 Start 除外)。当两个状态 间的事件条件(Event Condition)与逻辑条件(Guard Condition)均得到满足时,状态机 将从当前状态跳转到下一个状态并触发相应算法。当该算法执行完毕一次后,就会触发对应 的输出事件。其中,事件条件是由前驱输出事件触发的,也就是说接口图左侧的一个输入事 件被触发时相应的事件条件即满足;而逻辑条件则是和整个基本功能块的变量相关,这些变 量可以是内部变量,也可以是外部变量,可以是由事件触发而更新的,也可以是由算法改变的,只要逻辑条件中的和变量有关的表达式成立,逻辑条件即满足。

 ECC 初始状态(START)由双边框标识,初始状态不能被删除。双击鼠标左键任意状态框可以修改状态的名称,在任意空白处双击鼠标左键添加一个新的状态。当某个状态被选中时,在状态名称上按住鼠标可以拖动状态位置。单击在每个状态条右上角的+符号可以添加一组新的逻辑与触发事件,逻辑或触发事件可以为空,但不可都为空。新建状态 之间跳转条件可以通过按住状态边框并拖动到其他状态上实现。当需要编辑时,只需在跳转条件上单击鼠标右键。在接口上在 IEC61499 第二版中,对状态之间跳转的优先级做出了定义,当有超过一个跳转条件得到满足时,优先级高的条件将先执行。在编辑状态跳转条件时,可以给予1-20不同的优先级,越小的数字拥有越高的优先级。

 用户可以通过 IEC 61131-3 ST 语言对基本功能块逻辑进行编程,支持所 有标准 ST 指令,支持复制、粘帖、剪切、Redo、Undo 等编辑功能。

 另外添加的扩展函数的函数如下:

【服务功能块编辑器】

 服务功能块(SIFB)是用来封装不同平台所需功能的基本单元,所使用的编程语言为ANSIC++。服务功能块的属性与界面编辑与基本功能块相同。服务(Service)菜单选项是 服务功能块的核心,每个服务功能块有一个或多个跳转(Transactions)组成。每个跳转可以有一个输入条件,以及一个或以上的输出条件,输出条件按照设计的顺序依次执行。当跳转被输入事件触发时,跳转按照设计的顺序执行直至下一个输入条件无法满足,并且跳转将停留在此状态直至满足下一个输入条件。当所有跳转完成时,服务功能块将回到初始状态并检查是否有其他交易被满足。

 输入输出条件分为功能块(FB)与资源(Resource)两种。当输入条件选择FB时,与基础功能块类似,服务功能块只有当输入事件由相连接的前驱事件触发时才会被激活,此时 “触发事件/函数”栏要选择需要被触发的输入事件;如果输入条件选择为Resource,这就意味着系统将会不断循环执行一个函数,这个函数名必须被填在“触发事件/函数”栏中。注意:当输入条件选择为Resource时,输出处应留空,无论输出条件是什么都不会被触发。当输出条件选择 FB 时,同样与基本功能块类似,在“输出事件/函数”栏中选择需要触发的输出事件即可;当输出条件选择 Resource 时,在“输出事件/函数”栏中选择需要选择希望执行的函数(算法名),那么当这个跳转的输入事件被触发时,这个函数就会被执行一次。当输入、输出均为FB时,当相应输入事件被触发时,输出事件也会随机被触发;当输入为 FB,输出为Resource时,相应输入事件被触发时,对应的算法将被执行。一个跳转必须有一个输入条件,可以有0个或以上输出条件。当输入输出条件为Resource时,所需参数可以通过Parameters项填入,Parameters 为在界面中定义的变量。

 服务功能块的逻辑编辑器与基本功能块相似,不同的是所使用的语言为C++。另外提供的扩展函数如下:

【人机界面功能块编辑器】

 人机界面功能块为人机界面专门设计,用户可以使用 HTML5 以及 JavaScript 语言对 HMI Panel进行编程。人机界面功能块属性与接口功能与其他功能块相同,面板(Panel)中可以对人机界面进行编辑。人机界面中的各种元件,比如按钮、文本框、输入框等称为控件,本软件已在'控制面板'中提供了大量的预置控件,控件的基本操作方式如下:

 创建:从'控制面板'中直接将需要的控件拖入面板中即可创建;

 配置:双击已存在面板中的控件即可打开其属性进行配置;

 删除:双击控件打开其属性,在属性框的尾部有“删除此控件”按钮。

 预置控件包括变量值、按钮(触发输出事件)、文字、直线、矩形、图像等等。在属性窗中可以修改模块的颜色、文字大小、边框颜色与粗细等内容。

 在映射(Mapping)菜单中,用户可以在对应表内添加变量值转换关系, 以实现人机界面动画(Animation)显示功能。对应的名字可以直接在面板编辑界面使用。 在接口界面中,和本章前两个功能块类似,需要定义事件和变量。一般来说,由于人机界面 的输入与输出之间无相互关系,而是与其它功能块有相应的联系,因此一般人机界面功能块 的接口模块只有输入事件&输入变量或输出事件&输出变量中的一个。在接口界面定义完事件 和变量之后,还需要将事件与变量和对应的人机界面的控件进行绑定。

 一般而言,按钮、指示灯等触发类控件绑定的是事件,而文本框、输入框等状态类控件 一般绑定的是变量。注意,如果该人机界面内的控件是为整个程序提供输入,那么这个人机界面的控件所需要绑定的事件或变量应为接口块的右侧,即输出事件或输出变量,因为虽然是人为的外部输入,但是实际上对于系统而言,该模块是负责将人为输入的内容输出至下一功能块以提供值;相应的,如果该人机界面内的控件是为整个程序提供输出,那么这些控件 就应该绑定至左侧,即输入事件或输入变量。

【复合功能块编辑器】

 复合功能块用来封装功能块网络以提高模块重复利用率,减少系统设计复杂程度。复合功能块的属性与界面设置与其他功能块相同,因此此处不再介绍。在网络(Network)菜单中,用户可以创建功能块网络。如下图所示,有两个浮动窗口:总览(OVERVIEW)以及控制面板(CONTROLPANEL)。通过总览窗口可以快速定位功能块网络设计,并且通过鼠标滚轮放大缩小。控制面板则提供新增加功能块以及隐藏数据连接线等功能。输入输出事件与变量 作为单独的节点自动生成且不能被删除,在任意空白处双击即可新增一个常数变量(ConstantVariable)。可以通过按住鼠标拖动输出端创建新连接到输入端,事件输出只能与事件输入相连,变量输出只能与变量输入相连。另外,变量输入仅能与一个其他输出相连。当数据连接线处于隐藏模式时,通过直接在输入端键入输出来源以创建新的连接。

【子应用程序编辑器】

 子应用程序与复合功能块基本功能相同,主要区别有以下两点:子应用程序不含内部变量;子应用程序在界面设置中没有事件与变量的关联关系,所有变量都将被更新。

【自定义数据结构编辑器】

 在 Function Block Builder 中用户可以自行定义数据结构类型,并且支持多层嵌套数据结构。自定义的数据可以直接在功能块界面编辑中选择使用。

【系统配置编辑器】

 系统配置是一个 IEC61499 系统中最顶层的设计环境。系统配置由属性(Properties)、应用程序(Application)、部署(Deployment)以及人机界面(HMICanvas)组成。属性与其他功能块属性设置相同,此处不再重复。在“部署”界面中,我们需要添加管理应用程序的设备,并最终将应用程序部署在这些设备上。用户必须为每个 IEC61499 设备设置相应的名称、类型、IP地址、以及所需的4个端口。而同一个IEC61499设备中可以有多个资源并行存在。设备名称不能重复,在同一个设备内的资源名称不能重复。具体步骤如下所述。首先,需要添加一个新设备,并在新设备 中输入该设备的 IP 地址。可以通过“查找”来查找网络上所有可用的设备的IP地址。添加完新设备并且填妥网络地址后,需要为这个设备添加新资源,应用程序须部署在设备的资源 上,整个过程如下图所示:

 一个 IEC61499 可以配置多个应用程序,每个应用程序编辑与子应用程序网络相同。在这个界面中,有一个总览浮动窗。通过总览窗口可以快速定位功能块网络设计,并且通过鼠标滚轮放大缩小。具体的应用程序构造过程如下:

 1、点击“控制面板”中的“插入功能块”按钮,将预编辑完成的所需的所有功能块插入到这个面板中;

 2、点击“控制面板”中的“映射”按钮将各功能块映射至设备的资源上,如果所有功 能块都映射至同一资源,可如下图所示一键映射;

 3、使用鼠标拖动方式将各事件(绿点)、各变量(黄点)相互连接。 其中,双击面板空白处可以新建一个常量,“控制面板”中的“刷新”按钮可以实时刷新至各零散功能块的最新状态,而无需在更新功能块后重新插入。

 在人机界面设置中,用户可以建立多个不同的显示屏幕(Screen),具体的构建方式与“人机界面功能块”的“面板”构建方式基本相同,只不过这里的“控件”变成了一个构建完成的完整“人机界面”面板。将人机界面放入显示屏幕的步骤如下:

 1、 首先要确保构建完成的“人机界面模块”已被插入应用程序的面板;

 2、从“控制面板”拖动一个“面板”到此编辑器中;输入面板ID,选择面板类型,面板类型是已经插入的“人机界面功能块”之 一。