CFC的常用功能与操作
选择 CFC 图表任意位置单击F1,调出CFC帮助
选择具体的功能块,例如一个APL库功能块,单击 F1 键,将调出该库(如APL)的帮助文件
可以为CFC中的功能块关联的实际的IO地址、M区地址、DB块地址。
选中IO右键->Interconnection to Address,如果为数据定义了符号名并且数据格式与IO匹配,则自动出现在下拉列表中。否则需要手动输入绝对地址。
互联的数据可以是简单数据类型或结构体类型,不支持指针访问。
先选择一个块的输出,然后再选择另一个块的输入,将这两个参数进行互连。在进行互连时,无需考虑选择的顺序。要在两个图表之间建立互连,则需打开这两个图表。然后单击一个图中的输出,再单击另一个图中的输入(选择顺序可不同)。
双击功能块进行属性设置。
· 双击 I/O进行参数设置,不同IO的属性内容可能不同。
对于结构体格式的I/O,将弹出“选择结构元素”(Select Structure Element) 窗口;双击所需子元素,将弹出“属性 - 输入/输出”(Properties - Input/Output) 窗口。
· 也可以通过功能块的IO属性卡进行统一设置。
默认情况下,有些 I/O 不显示。但可通过调用块的对象属性,可以查找到所显示块的所有 I/O,然后再取消选中“隐藏”(Invisible) 框。双击相应块,并选择“I/O”选项卡,可选择相应属性。
双击表单中的任意空白区域,可实现单页视图和六页视图之间的切换。
CFC的运行组顺序即是CFC程序在CPU的OB中执行的真正顺序。
插入一个图时,将在OB中自动创建一个名称与图名称相同的运行组。之后拖入该图上的块将插到该图的运行组中。
在块实例的右上角,显示有组织块 (OB) 名称,如 OB32。这表明,该块将在CPU中循环执行。OB32 默认的循环时间为 1 s。即,OB32 中的块将每秒钟中执行一次。在 CPU 的属性中,OB30 到 OB38 的循环时间分别在 10 ms - 5 s 之间。在 PCS 7 中,通常使用循环时间为 100 ms - 5 s 的 OB30 到 OB35。
在默认情况下,从主数据库中新拖出的图以及相关块都将插入到 OB35 的运行系统组中。根据图表和块的插入先后顺序,CFC编辑器会在块右上角进行顺序编号。这个顺序有时候是不合逻辑的,需要进行运行组优化或者手动调整。双击每个块右上角的运行系统组,即可打开运行系统编辑器。在运行系统编辑器中,可以将运行系统组从一个 OB 中拖放到另一个 OB 中。在必要时,可通过这种方式更改运行顺序。
将图表作为程序进行编译时,可通过以下菜单路径:图表 à 编译 à 图表 (Chart à Compile à Charts)。首次编译时,需要编译整个程序。之后,可通过“仅更改”(Changes only) 选项只编译更改部分。
图 4.1 将图作为程序进行编译
选项“生成模块驱动程序”(Generate moudule drivers) 将根据所组态的硬件,自动生成所需的带有相应驱动器块的 CFC 图(系统CFC名称以@符进行标记)。而选项“生成 SCL 源程序”(Generate SCL source),则有助于进行函数块调试。
要将程序下载到 AS 中,则需在 CFC 中执行以下菜单路径:CPU à 下载 (CPU à Download)。
图 4.2 将程序下载到 AS 中
首次下载时,应使用“完整程序”(Entire program) 下载。下载完整程序时,CPU 将转入 STOP 模式,但在某些应用环境中不允许停止 CPU 运行。此时可以使用仅更改下载的方式。
可以通过中执行以下菜单路径:选项à自定义à编译/下载(OptionsàCustomizedàCompile/Download)调整CFC编译下载所占用的CPU资源。
常见的一个功能是释放CFC占用的FC和DB块号资源用于用户自定义编程。
要测试程序,则需在 CFC 编辑器中执行以下菜单路径:调试 à 测试模式 (Debug à Test Mode)。通过将 I/O 值加入至监控表中,即可进行监视。这些值将以黄色突出显示。右键单击一个 I/O,选择“将 I/O 添加到监控表中”(add I/O to Watch List)。如果要在线更改一个值,则可双击输入,如 OpenMan。将会打开“属性 - 输入/输出”(Properties - Input/Output) 对话框。在此,可以为该变量设置一个新值。
以下数据不能监控:
· 未存储在DB中的FB的输入输出
· 未连接的FC或BOP(如AND,OR)等的输入
· 数据类型为STRING/DATE_AND_TIME/ANY类型
可以对FB进行使能或禁用,FB的EN引脚默认是隐藏的。
可以对BOOL类型的输入直接右键取反。
具有S7_Archive属性的IO可以在IO属性选项卡中指定是否创建OS变量归档。
· No archiving:不归档
· Archiving:归档
· Longterm archving:如果有中央归档服务器(如PH站),则在OS和PH中均归档。
进行PCS 7/CFC工程时请一定保存原始项目。之后可以通过CFC Read back (回读)功能将CPU在线参数回读至离线程序,从而保证在线程序和离线程序的一致性。
每次执行CFC下载前,系统都会提示是否执行回读功能。也可以手动执行回读功能。
常见的应用场合为:工厂生产过程中操作人员通过OS 上位机对PID参数进行了调整,此后工程师微调了项目申请AS下载。为避免实际PID参数被离线AS程序中的初值替代,在下载前需要回读参数。
CFC图表与Block块文件夹内的对象并不完全一致时,可以通过菜单选项à 块类型(Options à BlockType)进行清理和更新,保持CPU程序的一致性。
块清理:Block块文件夹中有大量不再使用的块,可以清理释放CPU空间
块更新:对CFC中调用的功能块进行了结构、内容等的修改,需要将新块更新到CFC图表中。
在 CFC 内,使用菜单路径“选项 à 图引用数据”(Options à Chart Reference Data),可以使用有效格式显示并打印项目数据。关于“交叉引用”(Cross-reference) 的各种视图的详细信息见表。
视图 |
显示图引用数据 |
运行顺序 (Run Sequence) |
以图形方式显示 CPU 的整个运行顺序。 |
交叉引用图元素 à 地址 (Cross-References Chart Element à Address) |
该表显示项目所使用的所有共享地址以及访问它们的单元。 |
交叉引用 SFC à 图元素 (Cross-References SFC à Chart Element) |
该表显示 SFC 和 CFC 之间的现有连接。 |
块互连 (Block Interconnections) |
该表显示所有图元素的所有互连。 |
SFC 类型中的访问 (Accesses in SFC Types) |
列出了 SFC 类型对其接口的所有访问。 |
交叉引用图元素 à 运行组 (Cross-References Chart Element à Runtime Group) |
该表显示通过 CFC 或 SFC 控制的运行组交叉引用。 |
块类型 (Block Types) |
该表显示所使用的块类型及其使用位置 (CFC)。 |
S7 资源分配 (Resource Allocation) |
该表显示在 CFC 组态数据和 S7 资源之间的分配。 |
局部数据 (Local Data) |
该表显示程序中的所有组织块,带有计算得到的局部数据要求以及离线组态的和实际在线可用的局部数据大小。 |
块调用层级 (Block Call Hierarchy) |
以图形方式显示当前程序所有块的调用结构。 |
文本互连 (Textual interconnections) |
该表显示所有文本互连(对互连目标的路径引用),带有互连源的图名称和图元素。 |
统计信息 (Statistics) |
显示 CFC、SFC 所使用的全部对象和 S7 资源的数量,以及当前程序的时间戳和项目的过程对象。 |
强制块 I/O (Forced Block I/Os) |
该表显示 S7 程序添加了强制的所有互连的块 I/O。显示了强制值和状态。 |
AS 范围内的互连 (AS-wide interconnections) |
该表显示 S7 程序的跨 AS 互连。 |