更改编程语言的规则 规则 如果要更改块的编程语言,请遵守以下规则: • 所有 CPU 系列: – 只能更改整个块的编程语言。 不能更改单个程序段的编程语言。 – 不能更改以编程语言 SCL 或 GRAPH 编程的块。 但对于 GRAPH 块,可以更改 LAD 和 FBD 作为程序段语言。 • S7-300/400: – 只能在编程语言 LAD、FBA 和 STL 之间切换。 – 可以使用其它编程语言在块内创建程序段,然后将其复制到所需的块中。 – 如果无法更改块的个别程序段的语言,这些程序段将以其原来的语言显示。 • S7-1200/1500: – 可以在编程语言 LAD 和 FBD 间切换。 • S7-1500: – 可以在 LAD 和 FBD 块中创建 STL 程序段。 但是,无法在 STL 和 LAD/FBD 之间复制程 序段。或者: 1. 在巡视窗口中使用“信息” >“语法”打开错误列表。 所有语法错误都在该表格中列出,并带有错误的简短描述。 2. 如果存在错误,则单击错误文本旁的蓝色问号可获得有关解决该问题的信息。 3. 双击要更正的错误。 相应的错误将高亮显示。
查找程序中的语法错误 步骤 要查找程序中的语法错误,请按以下步骤操作: 1. 在程序中选择要查找错误的位置。 2. 单击工具栏上的“转到下一个错误”。 所选位置后的第一个错误将作标记。 可以使用工具栏上的“转到下一个错误”和“转到上一个错误”查找和更正块中的所有错误。排除程序中的语法错误语法错误 语法错误 下面是几个语法错误举例: • 丢失了间隔符或使用的间隔符太多 • 关键字拼写不正确 • 跳转标签拼写/注释不正确 • 与助记符设置不匹配的注释(例如,“I2.3”而不是“E2.3”) • 使用关键字作为操作数 语法错误的标识 语法错误以红色标出。 这样可一眼看出不正确的输入,直接一个一个地查找,并排除错误。 在巡视窗口中的“信 息”选项卡中有一个语法错误列表 ,包括错误消息。更改设置 步骤 要更改设置,请执行如下操作: 1. 在“选项”菜单中,选择“设置”命令。 将在工作区中显示“设置”窗口。 2. 在区域导航中,选择“PLC 编程”组。 3. 更改设置。 结果 可直接装载设置更改,无需显式保存。更改编程语言 步骤 要更改编程语言,请按以下步骤操作: 1. 在项目树中右键单击该块。 2. 在快捷菜单中,选择“属性”命令。 将打开包含块属性的对话框。 3. 在区域导航中选择“常规”条目。 4. 在“语言”下拉列表中选择新的编程语言。 5. 单击“确定”确认选择。软件单元简介 (S7-1500) 使用软件单元进行编程 通过软件单元,可将用户程序细分为各个的程序部件,分别进行编辑和下载。为此,项目树 中需包含有“软件单元”(Software units) 文件夹,在此创建和编程用户自定义的软件单元。 下图显示了项目树中的“软件单元”(Software Units) 文件夹。 各软件单元中都使用虚线形式的括号括起,并包含以下主要元素: • 关系:通过关系表,可设置从当前软件单元对以下对象的访问方式: – 其它软件单元(存在关联关系)中已发布的块、PLC 数据类型和 PLC 变量表。 – 软件单元之外的全局数据块 – 工艺对象 • “程序块”(Program blocks) 文件夹:在该文件夹中,可创建各种程序块(组织块、函数块、 函数、数据块)。 • “外部源”(External sources) 文件夹:将外部 SCL 源程序导入该文件夹,生成相应块或 PLC 数据类型。 • “PLC 变量”(PLC tags) 文件夹:在该文件夹中,可创建 PLC 变量表、PLC 变量和常用常量。 • “PLC 数据类型”(PLC data types) 文件夹:在该文件夹中,可创建 PLC 数据类型。• PLC 监控和报警:可打开报警和监控编辑器。 • PLC 报警文本列表:可打开文本列表编辑器。 如果是已发布的程序元素,则虚线上会显示一个小的绿色/白色方块。 说明 使用软件单元时,需注意以下信息: • 软件单元可与所有型号的 S7-1500 CPU(固件版本 V2.6 或更高版本)一同使用。 • 每个 CPU Zui多可使用 255 个软件单元。 • 如果支持软件单元的设备已创建有一个在线备份,则不支持软件单元的设备无法使用该备份。 • 程序消息中包含所有块的信息,而与这些块是否在软件单元中创建无关。 • 在监控表和强制表中,可访问所有 PLC 数据,而无需考虑这些数据的位置或发布状态。 • 软件单元中的数据块和变量也将显示在设备代理中,因此可以导入和导出。数据的导入和导 出与这些块是否已发布无关。 程序结构 无论是将现有程序拆分为多个软件单元,或是启动新项目,都应该在开始时对程序结构进行 规划。基于以下规则,可将用户程序拆分为多个软件单元。例如: • 功能单元和工艺单元 在软件单元中,可创建多个功能单元或工艺单元,用户可对这些单元进行编辑和单独加 载。如果现有程序中的这些块已分为多个组,则这些组也可分为不同功能的软件单元。 • 指定的更改频率 此外,也可按照程序段中指定的更改频率对程序进行拆分。如需创建相互独立加载的单 元,应按照不同的更改时间间隔为各程序段创建自己的软件单元。在一个软件单元中,可 创建具有基本功能且几乎无需更改的块,也可包含其它软件单元中用于调试目的而经常 需要更改的块。与此同时,程序拆分也可用于故障排除。 • 编辑器 基于编辑器进行程序拆分,可显著减少协调所需工作量。要进一步优化项目成员之间的 相互协作,可在多用户工程组态中使用软件单元。 • 尽可能封装软件单元 为了确保软件单元可独立编辑与加载,各软件单元间不应存在交叉关系。为此,仅在确 实需要时,才使用已发布的程序元素和关系。因此,请尽可能地封装各软件单元。 在进行程序拆分时,可混合使用不同的标准,也可创建用户的标准。但需将软件单元封装标 准作为主要标准,以充分利用软件单元的优势另请参见 “带有软件单元的程序结构。软件单元中的命名空间 在软件单元中,可以将命名空间分配给程序元素,例如块。命名空间和程序元素的名称组合 在一起生成一个唯一的名称,用于在 CPU 内标识相应的程序元素。这样,位于不同命名空 间内的不同程序元素可使用相同的名称。 另请参见“对命名空间中的程序元素进行分类 (页 9503)” 使用软件单元进行 Team Engineering 使用软件单元构建 PLC 程序可以简化多用户操作时程序的创建和调试。结构化模块可以划分 为不同的责任区。对不同软件单元的更改可以分别下载到 PLC 上。TIA Portal 可确保其他用 户所做的更改不会被覆盖。在大多数情况下,使用软件单元时无需通过 PLC 进行程序同步。 因此,可加快 PLC 的下载过程。请注意,下载软件单元时的有关要求。 如果多名用户对同一个软件单元中的块进行了更改,则可在加载时进行数据同步。 更多信息,请参见以下章节: • “Team Engineering 的使用概述” • “Multiuser Commissioning 简介” • “下载软件单元 (页 9532)” 说明 同步软件单元 执行“同步 PLC”(Synchronize PLC) 时,与该软件单元相关的关系和属性(如,名称和作者) 无法自动同步。 这将导致在下载到设备和从设备中下载时,某个用户已更改的关系和属性被旧版本覆盖。 因此,软件单元属性和关系的更改只能在主项目中执行。 另请参见“执行 PLC 同步操作的规则” 数据访问 要访问其它软件单元中的函数块、函数、全局数据块、PLC 变量表和 PLC 数据类型,则需先 对这些程序元素进行发布,而且相应软件单元间需存在关系。但组织块不适用,组织块只能 在所定义的软件单元中访问。 在软件单元外创建的程序段,无法访问软件单元内创建的程序段。软件单元内编写的块也无法访问软件单元外的其它块;但是,可专门指定某个软件单元访问 软件单元之外的数据块和工艺对象。 下图显示了从程序中到软件单元外的数据访问:在软件单元中创建 PLC 程序 (S7-1500) 在软件单元中创建程序时,同样采用常规编程机制。在程序编辑器中,以常规操作方式创建 用户程序。此时,可使用与软件单元之外相同的功能。如,“指令”(Instructions) 任务卡中 的拖放指令以及输入数据类型与操作数名称时的自动填充功能。 在软件单元内进行编程时,需注意以下事项: 编程语言 在软件单元中,可使用以下编程语言: • LAD • FBD • CEM • SCL • GRAPH • ProDiag符号化编程 在软件单元内,仅支持符号化编程方式。具体而言,这表示: • 该软件单元的所有程序块均选择“优化块访问”(Optimized block access) 属性,且无法禁 用。即,将软件单元之外的块移动到软件单元中时,需启用该属性。因此,请勿执行带 有需juedui寻址参数的指令,如“PUT”或“GET”。 • 除了组织块 (OB) 之外,其它所有块均为系统自动编号。自动分配的块编号在系统中不显 示,但可在块属性中查看。 • 块接口中,不支持参数类型“TIMER”、“COUNTER”、“BLOCK_FB”和“BLOCK_FC”。 • PLC 变量表中,不支持位存储器、“Timer”函数和“Counter”函数。此时,可使用 IEC 定时 器和计数器。 • 无法使用系统和时钟位存储器。对此,可从西门子工业在线支持网站中下载现有功能进 行替代。软件单元的名称 软件单元的名称需遵循以下规则: • 允许使用的字符为所有字母数字字符和下划线。 • Zui多支持 125 个字符。 • 软件单元的名称在整个 CPU 范围内需唯一,且 CPU 中不得包含同名的块。 程序元素的名称 软件单元内的程序代码包含在整个用户程序中。因此,在没有使用命名空间时,块名称必需 在整个 CPU 内唯一。但可使用命名空间,对用户程序进行进一步细分。即,名称在一个 CPU 中可重复出现,但在命名空间中需唯一。 另请参见“对命名空间中的程序元素进行分类 (页 9503)” ProDiag 每个软件单元都包含有自己的 ProDiag 概览编辑器,可通过项目树中的“PLC 监控与报警”(PLC supervisions & alarms) 条目打开。在该编辑器中,可添加各种软件单元监控。在一个软件 单元中创建的监控不会显示在其它软件单元中;而 ProDiag 概览编辑器位于软件单元之外, 因此可显示所有 PLC 监控(含软件单元中的监控)。