0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S7-1500有关组态控制的重要信息简析

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-08-21 18:17 次阅读

工作原理

可以使用组态控制来组态控制系统的结构(此处为S7-1500 的集中式组态)并使用不同于此组态的变型(选项)。

一系列相似设备单元或机器所需的所有模块都在具有最大组态的主项目(全站组态方式)中进行组态。

在主项目的用户程序中,包含有适用于不同设备单元或机器的各种站组态方式,以及站组态方式的选件。例如,某种站组态方式仅使用一部分已组态的模块,而且这些模块以不同的顺序插入。

操作员可根据现场特定的设备选择某种站组态方式。他们无需修改项目,因此也无需下载修改后的组态。

fcf24b26-400a-11ee-ac96-dac502259ad0.png

在启动程序中编程的控制数据记录会通知 CPU 哪些模块缺失以及哪些模块所在的插槽不同于预设组态。组态控制对模块的参数分配没有影响。

组态控制为用户提供了灵活性,只要实际组态不超过预设的最高组态,就可以改变集中式安装。

下文将介绍如何激活组态控制(CPU 参数分配)以及如何构造所需的数据记录。

要求

STEP 7 Professional 版本 V13 或更高版本

CPU S7-15XX 固件版本 1.5 或更高版本支持“组态控制”功能的模块还在硬件目录的说明(信息文本)中提供“组态控制”(Configuration control) 条目。

建议:在加载带有修改后的控制数据记录的新程序之前,需先复位为工厂出厂设置。此操作可以防止因存在不兼容的控制数据记录而造成状态不一致。

启动参数“比较预设组态与实际组态”设置为“即使不一致也启动 CPU”(默认设置)。

所需步骤

在“组态控制”(Configuration control) 区域组态 CPU 时启用“允许通过用户程序重新组态设备”(Allow to reconfigure the device via the user program) 参数。

fd0af75c-400a-11ee-ac96-dac502259ad0.png

根据以下描述的控制数据记录示例,按照当前组态创建控制数据记录(例如在数据块中)。控制数据记录的编号为 196。请注意,需要先创建一个包含控制数据记录结构的 PLC 数据类型,并将该数据块定义为 PLC 数据类型。

fd23935c-400a-11ee-ac96-dac502259ad0.png

在启动程序中将控制数据记录传输到 CPU。

对于集中插入的模块,仅当 CPU 的操作模式从 STOP 更改为 RUN 后,组态控制才会生效。因此,请在启动 OB 中调用扩展的 WRREC(写入数据记录)指令,将创建的控制数据记录传输到 CPU;请参见下一章节。

如果在启动 OB 中未传输有效的控制数据记录,则控制未做好运行准备。在这种情况下,CPU 从启动状态恢复到 STOP 状态。

在启动程序中传输控制数据记录

CPU 处理 WRREC 指令以便异步传输控制数据记录。因此,必须在一个循环内,在启动 OB 中重复地调用 WRREC,直到输出参数“BUSY”或“DONE”指出数据记录已传输。

提示信息:请使用 SCL 编程语言和 REPEAT ... UNTIL 指令编程此循环。

REPEAT

"WRREC_DB"(REQ := "start_config_control",

ID := 33,

INDEX := 196,

LEN := "conf_LEN",

DONE => "conf_DONE",

BUSY => "conf_BUSY",

ERROR => "conf_ERROR",

RECORD := "ConfDB".ConfigControl,

STATUS => "conf_STATUS");

UNTIL NOT "conf_BUSY"

END_REPEAT;

下表中列出了组态控制中需指定特定值的块参数。有关其它块参数,另请参见“WRREC”:

参数 说明
ID 硬件标识符,对于集中排列模块的组态控制,始终为 33(十进制)。
INDEX 数据记录编号,对于集中排列模块的组态控制,始终为 196(十进制)。
RECORD 要传输的控制数据记录。
参见“控制数据记录”部分的控制数据记录结构。
提示信息:WRREC 指令(V1.1 以及更高版本)块参数“RECORD”的数据类型为“VARIANT”,因此需要带数据类型的变量。如果将控制数据记录存储在数据块中,那么此数据块必须具有数据类型。所创建的数据块不得是“全局 DB”类型,更确切地说,它必须属于用户数据类型。
请按以下步骤操作:
首先创建一个具有控制数据记录结构的新 PLC 数据类型(用户数据类型),并为其命名,例如命名为“ConfDB”。
创建一个新数据块。选择新创建的用户数据类型(如“ConfDB”),作为该数据块的类型。

在图形编程语言中,使用程序控制指令实现循环。

FBD 中的示例:使用 LABEL(跳转标签)和 JMP(RLO=1 时跳转)指令编写循环。

fd442ec8-400a-11ee-ac96-dac502259ad0.png

模块的排列

下表列出了插槽号的分配:

插槽 模块 说明
0 电源模块(可选) CPU 左侧的插槽
1 CPU 插槽 1 中始终为 CPU
2 到 31 I/O 模块/系统电源模块(取决于具体组态) CPU 右侧的插槽

控制数据记录

将包含插槽分配的控制数据记录 196 定义为用于组态控制。

字节 元素 代码 说明
0 块长度 4 + 插槽数 标头
1 块 ID 196
2 版本 4 (用于集中式 I/O)
3 子版本 0
4 分配所组态的插槽 0 实际插槽 0 控制元素
每个元素分别为设备中与已组态插槽对应的实际插槽。下面说明了控制元素的结构。
5 分配所组态的插槽 1 实际插槽 1
(始终为 1,因为 CPU 始终位于插槽 1 中)
6 分配的已组态插槽 2 实际插槽或 16#FF
7 分配的已组态插槽 3 实际插槽或 16#FF
... ... ...
4+(最大插槽编号) 分配所组态的最大插槽编号 实际插槽或 16#FF

控制元素的结构

控制元素包含有关哪个模块插入哪个插槽的信息。

字节编号代表按升序排列的已组态插槽(参见上文):

字节 4 代表已组态的插槽 0

字节 5 代表已组态的插槽 1

字节 6 代表已组态的插槽 2

依此类推。

在相应字节中输入指定值,具体取决于以下规则:

如果模块在实际组态中存在,则输入模块的实际插槽编号。

示例 1:组态为插入插槽 2 的模块位于插槽 2。

在字节 6(= 组态的插槽 2)中输入值 2(= 实际插槽)。

示例 2:组态为插入插槽 3 的模块位于插槽 2。

在字节 7(= 组态的插槽 3)中输入值 2(= 实际插槽)。

如果模块在实际结构中不存在,则在所组态插槽的字节中输入 16#FF (255)。

规则

请遵守以下规则:

如果启用了组态控制,没有控制数据记录 CPU 将不工作。如果在启动 OB 中未传送有效的控制数据记录,则 CPU 将从启动模式返回到 STOP 模式。此时,不会对集中式 I/O 进行初始化。CPU 转入 STOP 操作模式的原因将保存在诊断缓冲区中。

要对 WRREC 指令寻址,请使用硬件标识符 33(十进制,适用于 ID 块参数)写入控制数据记录。

控制数据记录始终保存在 CPU 中,因此在重新启动时如果组态没有发生变更则无需重新写入控制数据记录 196。在调试前,建议对 CPU 执行存储器复位,以删除存在的任何控制数据记录。

CPU 将忽略不在预设组态中的控制数据记录中的插槽条目。

您可以缩短控制数据记录。但必须包含当前预设组态中最多到最后一个插槽的条目数。

在控制数据记录中,每个实际插槽只能记录一次。

只能将实际插槽分配给一个已组态的插槽。

使用 CP/CM:

对于组态控制,点对点 CP/CM 的工作方式类似于数字量和模拟量模块(无限制)。

固件版本为 V1.7 或更高版本的 CPU:
如果集中式组态包括 CP/CM,例如 CM 1542-5(DP 主站或 DP 从站),那么这些 CM/CP 将不受组态控制的影响。因此,这些模块必须保留在其组态的插槽中,并且其组态的插槽编号输入到控制数据记录中(“实际插槽 = 组态的插槽”)通过将 CM/CP 插入到紧挨着 CPU 的右边可实现最大灵活性。

固件版本为 V1.6 或更高版本的 CPU:
原则上,CM 和 CP 不能用于组态控制。

系统电源模块 (PS) 也应遵从组态控制。有关此主题的信息,请参见 S7-1500 系统手册。特别是对插槽 0 上的系统电源模块 (PS),建议避免重新组态。

说明
修改过的组态
将修改后的组态写入控制数据记录时,CPU 将自动重新启动为更新后的组态。
因此始终保存的原始数据记录 196 将被删除,并始终保存新的数据记录 196。

操作期间的行为

预设组态和实际组态之间差异的影响:

对于在线显示以及诊断缓冲区中的显示(模块正常或模块发生故障),始终使用硬件配置而并非不同的实际组态。

示例:模块提供诊断信息。此模块组态为插入插槽 4,但实际却插入到插槽 3 中(模块缺失,参见下一章节中的示例)。在线视图中,指示组态的插槽 4 发生故障。在实际组态中,插槽 3 中的模块通过 LED 显示屏指出出现错误。

如果模块在控制数据记录中记录为缺失,那么自动化系统将会执行以下操作:

在控制数据记录中指定为不存在的模块不提供诊断,其状态始终为“正常”(OK)。值状态为“正常”(OK)

对输出进行直接写访问,或者对不存在的输出过程映像进行写访问:仍然无效;不显示任何访问错误。

对输入进行直接读访问,或者对不存在的输入过程映像进行读访问:提供值“0”;不显示任何访问错误。

将数据记录写入不存在的模块:仍然无效;不显示任何错误。

从不存在的模块读取数据记录:显示错误,因为无法返回有效的数据记录。

错误消息

如果在写入控制数据记录的过程中发生错误,则将返回以下错误消息:

错误消息

错误代码 含义
16#80B1 长度无效;数据记录 196 中的长度信息不正确。
16#80B5 未分配组态控制参数。
16#80E2 数据记录在错误的 OB 中传送。该数据记录需在启动程序中传送。
16#80B8 参数错误;模块指示存在无效参数。

以下部分组态了一个包含系统电源、CPU 和 3 个 I/O 模块的组态。

插槽 3 中的模块在第一个组态扩展中不存在,被组态控制“隐藏”。

在第二个组态扩展中,最初隐藏的模块位于最后一个插槽中。CPU 通过一条修改后的控制数据记录获知增加插槽的信息。

缺少模块的实际组态

指定的组态包含所有可以在最后扩展阶段显示的模块。

在指定组态中插入到插槽 3 的模块在实际扩展组态中缺失。因此,插槽 3 必须在控制数据记录中相应地进行编码:"FF H" (= 不存在)。

fd58b1b8-400a-11ee-ac96-dac502259ad0.png

模块在实际组态中缺失

后继所添加模块的实际组态

在指定组态中插入到插槽 3 的模块作为最后一个模块插入到插槽 4,添加到实际组态之后。

控制数据记录会相应地进行调整。

fd71a2fe-400a-11ee-ac96-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5006

    文章

    13084

    浏览量

    461208
  • 电源模块
    +关注

    关注

    32

    文章

    1659

    浏览量

    92594
  • 组态控制
    +关注

    关注

    0

    文章

    4

    浏览量

    6448
  • S7-1500
    +关注

    关注

    3

    文章

    300

    浏览量

    6264

原文标题:西门子博途:S7-1500有关组态控制的重要信息(选件处理)

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门

    S7-1500 PLC需要通过TIA Portal博途软件进行组态配置,从TIA Portal V12SP1开始软件中增加了S7-1500的Modbus TCP块库,用于S7-1500
    发表于 11-21 17:05 5019次阅读

    S7-1500系列PLC+变频器+编码器组成位置控制系统设计原理

    S7-1500 Motion Control 支持轴的控制定位和移动,是各个 CPU S7-1500 和CPU S7-1500SP 的重要
    发表于 04-07 16:08 3414次阅读

    基于S7-1500的运动控制原理及实例

    S7-1500 的运动控制功能支持车由的定位和移动,是S7-1500 系列CPU 众多集成功能中的重要组成部分。 运动控制功能支持旋转轴、定
    发表于 09-26 08:32 93次下载
    基于<b class='flag-5'>S7-1500</b>的运动<b class='flag-5'>控制</b>原理及实例

    S7-1500连接V90实现的定位控制

    本文主要介绍了如何使用S7-1500PLC连接SINAMICS V90伺服系统实现位置闭环控制。其中对S7-1500相关模块的组态,工艺对象的组态
    发表于 09-26 18:12 53次下载
    <b class='flag-5'>S7-1500</b>连接V90实现的定位<b class='flag-5'>控制</b>

    基于S7-1500的数字量输出模块设计

    系统手册和入门指南中详细介绍了 SIMATIC S7-1500 和 ET 200MP 系统的组态、安装、接线和调试等信息。对于 CPU 1516pro-2 PN,可参见相应的操作说明。STEP
    发表于 09-26 19:13 12次下载

    基于S7-1500、ET 200MP的自动化系统

    系统手册和入门指南中详细介绍了 SIMATIC S7-1500 和 ET 200MP 系统的组态、安装、接线和调试等信息。对于 CPU 1516pro-2 PN,可参见相应的操作说明。STEP
    发表于 09-27 10:55 10次下载
    基于<b class='flag-5'>S7-1500</b>、ET 200MP的自动化系统

    基于S7-1500的运动控制功能介绍

    CPU S7-1500 的运动控制功能,运动控制功能作为每一个 CPU S7-1500 的组件,支持轴的控制定位和移动,可以使用 PROFI
    发表于 09-27 10:58 18次下载
    基于<b class='flag-5'>S7-1500</b>的运动<b class='flag-5'>控制</b>功能介绍

    S7-1500/ET200MP热电偶补偿方式及组态配置

    S7-1500/ET200MP热电偶模块使用内部参比端对热电偶进行温度补偿。组态方法是将测量通道的基准结参数设置为 “内部参比端” ,如下图。
    的头像 发表于 07-12 11:03 6251次阅读

    S7-1500S7-1500之间S7通信

    使用 STEP7 V14 在同一个项目中,新建两个S7-1500站点,然后做 S7 通讯。
    的头像 发表于 11-23 09:53 2846次阅读

    西门子S7-1500与PC机的OPC通讯组态

    本文将介绍西门子S7-1500与PC机的OPC通讯组态
    的头像 发表于 05-18 09:14 7816次阅读
    西门子<b class='flag-5'>S7-1500</b>与PC机的OPC通讯<b class='flag-5'>组态</b>

    西门子S7-1500 之间 S7 通信

    S7-1500S7-1500 之间 S7 通信 S7-1500 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端。
    的头像 发表于 05-29 14:04 5527次阅读
    西门子<b class='flag-5'>S7-1500</b> 之间 <b class='flag-5'>S7</b> 通信

    S7-1500之间S7通信实例

    S7-1500 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端。S7-1500 支持 S7单边通信,仅需在客户端单边组态
    的头像 发表于 06-01 09:25 3061次阅读
    <b class='flag-5'>S7-1500</b>之间<b class='flag-5'>S7</b>通信实例

    DCM与S7-1500 PN是如何进行通讯的?

    S7-1500与SINAMICS DCM之间通过 PROFINET IO可进行周期性通讯,通过TIA组态,该通讯可通过调用功能块“DPWR_DAT/DPRD_DAT”实现S7-1500对 SINAMICS DCM数据的周期性写入
    发表于 07-11 14:15 1186次阅读
    DCM与<b class='flag-5'>S7-1500</b> PN是如何进行通讯的?

    S7-1200有关组态控制重要信息介绍

    S7-1200 的固件版本为 4.1 或更高版本时,组态控制可用于组态控制系统的结构并且有助于使用与该
    的头像 发表于 08-21 09:50 2204次阅读
    <b class='flag-5'>S7</b>-1200<b class='flag-5'>有关</b><b class='flag-5'>组态</b><b class='flag-5'>控制</b>的<b class='flag-5'>重要</b><b class='flag-5'>信息</b>介绍

    基于S7-1500双边通信的组态编程步骤

    S7-1500 之间通过 BSEND/BRCV 方式进行双边通信的组态编程步骤,用于实现两台 S7-1500 都在同一项目中组态的场景。
    发表于 10-15 17:34 1508次阅读
    基于<b class='flag-5'>S7-1500</b>双边通信的<b class='flag-5'>组态</b>编程步骤