来源:本站
导读:目前正在解读《西门子STEP7编程软件如何创建块和库》的相关信息,《西门子STEP7编程软件如何创建块和库》是由用户自行发布的知识型内容!下面请观看由(
电工学习网 - www.9pbb.com)用户发布《西门子STEP7编程软件如何创建块和库》的详细说明。
选择编辑方法
根据创建程序时所使用的编程语言,在增量输入模式和/或自由编辑(文本)模式下都可输入程序。
用于梯形图(LAD)、功能块图(FBD)、语句表(STL)、或S7-GRAPH编程语言的增量编辑器
将在用于LAD、FBD、STL和S7-GRAPH的增量输入模式编辑器中,创建存储在用户程序中的块。如果希望立即检查刚才已输入的内容,应选择使用增量输入模式。该编辑模式尤其适用于初学者。在增量输入模式中,当每行或每个元素均输入完毕之后,将立即对其进行语法检查。在完成输入之前,将指出所有错误,且必须对其进行纠正。语法正确的输入项将自动进行编译,并存储在用户程序中。
在编辑语句之前,必须对所使用的符号进行定义。如果某些符号不可用,则不能完全编译块;但是可以保存该不一致的中间版本。
用于STL、S7 SCL、或S7 HiGraph等编程语言的源代码(文本)编辑器
在源代码编辑器中,将创建用于后续编译的源代码文件,以生成块。
建议使用源代码编辑器,因为这是一个非常有效的对程序进行编辑和监视的方法。
将在文本文件中编辑程序或块的源代码,然后进行编译。
文本文件(源文件)将存储在S7程序的源文件夹中,例如,存为STL 源文件或SCL 源文件。源文件可包含一个或多个块的代码。STL和SCL文本编辑器可以生成OB、FB、FC、DB、以及UDT(用户自定义数据类型)的源代码,这样,可使用它们来创建完整的用户程序。一个这样的文本文件可能包含完整的CPU程序(即所有的块)。
编译源文件时将生成相应的块,并写入用户程序中。在对其进行编译之前,必须定义所有使用的符号。且不报告数据错误,直到相应的编译器编译完源文件为止。
编译必须符合编程语言的规定语法。只有根据用户指令或在源文件被编译成块时,才执行语法检查。
使用SIMATIC管理器创建块
打开您希望在其中插入S7块的项目的"Blocks"文件夹。
选择菜单命令:
插入 > S7块 > 功能块(FB),如果您希望编写功能块
插入 > S7 块 > 功能(FC),如果您希望编写功能
插入 > S7 块 > 组织块(OB),如果您希望编写组织块
插入 > S7块 > 数据块(DB),如果您希望创建数据块
插入 > S7块 > 用户自定义数据类型(UDT),如果您希望创建用户自定义的数据类型
插入 > S7 块 > 变量表,如果您希望创建变量表(VAT),为了进行测试,而对用户程序中的变量进行监视和修改。
使用程序编辑器创建块
通过双击一个现有的块即可启动相应的编辑器。也可使用该编辑器创建更多的块。
在编辑器窗口中,选择菜单命令文件 > 新建。
在接下来出现的对话框中,选择块将要链接的S7用户程序。
输入希望创建的逻辑块的名称。
单击"确定",进行确认。
于是创建了块,并打开一个窗口用于编辑。窗口上半部分用于对变量声明表进行编辑,下半部分则包含您在其中编写新块的代码段。
|
注意
在创建功能块(FB)时,将对是否可以声明功能块中的多重背景进行设置。可根据"用户自定义"对话框内"编辑器"选项卡页中的设置,为每个新的功能块设置该属性(使用菜单命令选项 > 用户自定义)。
通过编译STL源文件也可创建逻辑块。
还可在SIMATIC管理器中,通过将逻辑块插入到相应的S7用户程序中来创建逻辑块。 |
创建数据块(DB)
正如其它块一样,在SIMATIC管理器或增量编辑器中都可以创建数据块。
在增量编辑器中,选择菜单命令文件 > 新建或单击工具栏上的相应按钮。#p#分页标题#e#
在对话框中,选择您希望将正在创建的块链接到其上的S7用户程序。
在对话框中指定您希望创建的数据块。由于DB0已为系统保留,所以您不能使用该编号。
在"新建数据块"对话框中,选择您希望创建哪一种类型的数据块:
- 数据块(共享数据块)
- 引用了用户自定义数据类型的数据块(共享数据块)
- 指向功能块的数据块(背景数据块)
对于第三个选项,您还必须选择背景数据块所属于的功能块。
当您在SIMATIC管理器中首次打开现有的块时,还将显示"新建数据块"对话框。
|
注意
STEP 7将使您能够随时都可以把用于各种不同功能块的数据存储在一个单独的数据块中(多重背景数据块,参见在变量声明表中输入多重背景。) |
块文件夹
可按下面的形式创建S7 CPU的程序:
块
源文件
可使用S7程序下的文件夹"Blocks"来存储块。
该块文件夹包含有完成自动化任务而需要下载给S7 CPU的块。这些可装载的块包括逻辑块(OB、FB、FC)和数据块(DB)。在块文件夹中将自动创建一个空的组织块OB1,因为在执行S7 CPU中的程序时将始终需要这个块。
块文件夹还包含有下列对象:
创建的用户自定义数据类型(UDT)。这些类型将使编程更容易,且不需要将其下载给CPU。
为在调试程序时对变量进行监视和修改而创建的变量表(VAT)。不需要将变量表下载给CPU。
包含有系统信息(系统组态、系统参数等)的对象"系统数据"(系统数据块)。在组态硬件时将创建并提供这些系统数据块。
在用户程序中需要调用的系统功能(SFC)与系统功能块(SFB)。您自己不能编辑SFC与SFB。
除了系统数据块(只能通过可编程控制器的组态对其进行创建和编辑),用户程序中的块都要使用各自的编辑器进行编辑。通过双击相应块即可启动对应的编辑器。
块属性
如果使用块属性,可以更容易地识别您创建的块,还可以保护这些块免受未授权的更改。
当块打开时,可以编辑块属性。除可以编辑的属性外,属性对话框还显示仅供察看的数据:不能编辑该信息。
块属性和系统属性也将显示在SIMATIC管理器中块的对象属性中。此处,只能编辑属性NAME、FAMILY、AUTHOR和VERSION。
当通过SIMATIC管理器插入块之后,可以编辑对象属性。如果使用某一不在SIMATIC管理器中的编辑器来创建块,则这些条目(程序语言)均将自动保存在对象属性中。
|
注意
在SIMATIC管理器中使用菜单命令选项 > 用户自定义和"语言"选项卡来设置用于S7块编程的那些助记符。 |
块属性表
在输入块属性时,应遵循下表中说明的输入顺序:
关键字/属性 |
含义 |
实例 |
[KNOW_HOW_PROTECT] |
块保护;使用此选项编译的块将不能视图其代码段。可以视图块的接口,但不能更改。 |
KNOW_HOW_PROTECT |
[AUTHOR:] |
作者名:公司名、部门名或其它名称 (最多8个不含空格的字符) |
AUTHOR:Siemens,但无关键字 |
[FAMILY:] |
块系列的名称:例如,控制器 (最多8个不含空格的字符) |
FAMILY:控制器,但无关键字 |
[NAME:] |
块名称(最多8个字符) |
NAME:PID,但无关键字 |
[VERSION:int1 . int2] |
块的版本号 (两个数都介于0和15之间,即0.0至15.15) |
VERSION :3.10
|
[CODE_VERSION1] |
指示功能块是否可以声明多重背景的ID。如果想声明多重背景,则功能块不应该具有此属性 |
CODE_VERSION1 |
[UNLINKED],仅适用于DB! |
具有UNLINKED属性的数据块只存储在装载存储器中。它们不占用任何工作存储器空间,并且不与程序链接。不能使用MC7命令访问它们。对于一些特定的CPU,此类DB的内容可以使用SFC 20B LKMOV或SFC 83 READ_DBL传送给工作存储器。 |
|
[Non-Retain] |
具有该属性的数据块在每次掉电和上电之后以及CPU的每次STOP-RUN转换之后均将复位成装载值。 |
|
[READ_ONLY],仅适用于DB |
数据块的写保护;其数据只能读取,不能修改 |
READ_ONLY |
Read-only block |
存储为只读状态,供引用的块副本。此属性只能在程序编辑器中通过选择文件 > 存储只读菜单命令设置。 |
|
块保护KNOW_HOW_PROTECT具有下列作用:
如果想在稍后阶段在STL、FBD或梯形图增量编辑器中视图已编译的块,将无法显示块的代码段。
块的变量声明表将只显示声明类型为var_in、var_out和var_in_out的变量。声明类型为var_stat和var_temp的变量保持隐藏。
分配:块属性给块类型
下表说明了哪种块类型可以声明哪种块属性:
属性 |
OB |
FB |
FC |
DB |
UDT |
KNOW_HOW_PROTECT |
● |
● |
● |
● |
- |
AUTHOR |
● |
● |
● |
● |
- |
FAMILY |
● |
● |
● |
● |
- |
NAME |
● |
● |
● |
● |
- |
VERSION |
● |
● |
● |
● |
- |
UNLINKED |
- |
- |
- |
● |
- |
READ_ONLY |
- |
- |
- |
● |
- |
Non-Retain |
- |
- |
- |
● |
- |
Read-only block |
● |
● |
● |
● |
● |
KNOW_HOW_PROTECT属性可以在对块进行编程时,在源文件中进行设置。它将显示在"块属性"对话框中,但不能进行修改。
用户自定义数据类型(UDT)
用户自定义数据类型是您自己创建的特定数据结构,一旦对其进行了定义,即可在整个S7程序中使用。
用户自定义数据类型既可像基本数据类型或复杂数据类型一样用于逻辑块(FC、FB、OB)的变量声明中,也可以用作数据块(DB)中的变量数据类型。其优点就是,您只需对特定数据结构定义一次,就能可以按照您的希望任意多次使用,并给它分配任意数目的变量。
用户自定义数据类型可当作一个模板,用于创建具有同一数据结构的数据块,这意味着您创建结构一次,以后就只需通过分配用户自定义数据类型来创建所需要的数据块(实例:配方:数据块的结构始终是相同的,仅使用的数量不同。)
正如其它块一样,在SIMATIC管理器或增量编辑器中都可以创建用户自定义数据类型。
|
注意
如果在程序编辑器中调用以S7-SCL编程语言创建的、包含UDT参数的块,会导致类型冲突。因此,如果使用UDT,应避免使用以SCL创建的块。 |
用户自定义数据类型的结构
在打开一个用户自定义数据类型时,将显示一个新的工作窗口,该窗口将以表格的形式显示该用户自定义数据类型的声明视图。
第一行和最后一行已经包含有用于用户自定义数据类型起始和结束的声明STRUCT和END_STRUCT。您不能编辑这两行。
从声明表的第二行开始,您即可通过在各列中输入您的条目来编辑用户自定义数据类型。
对用户自定义数据类型进行结构化,可根据:
基本数据类型
复杂数据类型
已存在的用户自定义数据类型
S7用户程序中的用户自定义数据类型将不下载给S7 CPU。即可直接使用增量输入编辑器先创建它们,然后进行编辑,也可在编译源文件时创建它们。
提醒:《西门子STEP7编程软件如何创建块和库》最后刷新时间 2023-07-10 04:09:18,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《西门子STEP7编程软件如何创建块和库》该内容的真实性请自行鉴别。