>软件部件简介 使用软件单元进行编程 通过软件单元,可将用户程序细分为各个的程序部件,分别进行编辑和下载。为此,可在项目树中的新“软件单元”(Software units) 文件夹,创建用户自定义的软件单元并进行编程。 下图显示了项目树中的“软件单元”(Software Units) 文件夹。
各软件单元中都使用虚线形式的括号括起,并包含以下主要元素: 关系:通过关系表,可设置从当前软件单元对以下对象的访问方式: “程序块”(Program blocks) 文件夹:在该文件夹中,可创建各种程序块(组织块、函数块、函数、数据块)。 “外部源”(External sources) 文件夹:将外部 SCL 源程序导入该文件夹,生成相应块或 PLC 数据类型。 “PLC 变量”(PLC tags) 文件夹:在该文件夹中,可创建 PLC 变量表、PLC 变量和常用常量。 “PLC 数据类型”(PLC data types) 文件夹:在该文件夹中,可创建 PLC 数据类型。 PLC 监控和报警:可打开报警和监控编辑器。 PLC 报警文本列表:可打开文本列表编辑器。
如果是已发布的程序元素,则虚线上会显示一个小的绿色/白色方块。 在软件单元内创建用户程序,是对现有编程方式的一种扩展。即,用户可灵活选择在软件单元之内或之外创建程序段。
程序结构 无论是将现有程序拆分为多个软件单元,或是启动新项目,都应该在开始时对程序结构进行规划。基于以下规则,可将用户程序拆分为多个软件单元。例如: 功能单元和工艺单元 在软件单元中,可创建多个功能单元或工艺单元,用户可对这些单元进行编辑和单独加载。如果现有程序中的这些块已分为多个组,则这些组也可分为不同功能的软件单元。 指定的更改频率 此外,也可按照程序段中指定的更改频率对程序进行拆分。如需创建相互独立加载的单元,应按照不同的更改时间间隔为各程序段创建自己的软件单元。在一个软件单元中,可创建具有基本功能且几乎无需更改的块,也可包含其它软件单元中用于调试目的而经常需要更改的块。与此同时,程序拆分也可用于故障排除。 编辑器 基于编辑器进行程序拆分,可显著减少协调所需工作量。要进一步优化项目成员之间的相互协作,可在多用户工程组态中使用软件单元。 尽可能封装软件单元 为了确保软件单元可独立编辑与加载,各软件单元间不应存在交叉关系。为此,仅在确实需要时,才使用已发布的程序元素和关系。因此,请尽可能地封装各软件单元。
在进行程序拆分时,可混合使用不同的标准,也可创建用户的标准。但需将软件单元封装标准作为主要标准,以充分利用软件单元的优势。
程序结构 - 示例 1 在示例 1 中,通过中央单元“UnitMain”执行中央控制任务。该单元中包含一个进行程序循环处理的组织块和一个协调两个站的“LineControl”函数块。 这两个站分别映射在一个软件单元中。系统将对两个软件单元中的程序段进行封装,以便两个不同的程序员进行处理。 “UnitStandard”中的库功能可提供各种常用功能。在该示例中,还使用了一个函数块“PartCount”进行数量计算。这两个站将对此函数块执行一次实例化。实际上,这种“标准软件单元”中包含大量可重复使用的程序段,用户可根据需要进行调用。
程序结构 - 示例 2 在示例 2 中,同样是通过各个封装的软件单元对这两个站进行控制。但每个站都有自己的循环组织块。如果一个程序包含多个组织块,则操作系统将按照 OB 编号顺序依次调用。 与示例 1 相同,本示例中同样将“UnitStandard”用作包含可重用程序段的功能库。除“PartCount”函数块之外,在本示例中还包含一个 PLC 数据类型 (UDT),用于映射某工件的生产数据。在每个程序块的接口中,可使用 PLC 数据类型,对工件数据进行标准化存储。 “UnitGlobalMachineData”用于中央数据存储和处理。其中,包含一个全局数据块,用于每个软件单元存储工件数据。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |