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

发布者:平和的心情最新更新时间:2024-06-14 来源: elecfans关键字:S7-1500  组态控制 手机看文章 扫描二维码
随时随地手机看文章

工作原理

可以使用组态控制来组态控制系统的结构(此处为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 左侧的插槽
1CPU插槽 1 中始终为 CPU
2 到 31I/O 模块/系统电源模块(取决于具体组态)CPU 右侧的插槽

控制数据记录

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

字节元素代码说明
0块长度4 + 插槽数标头
1块 ID196
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


关键字:S7-1500  组态控制 引用地址:S7-1500有关组态控制的重要信息简析

上一篇:变频器控制面板图解 变频器操作面板的使用方法
下一篇:变频器到底对电机有什么作用?

推荐阅读最新更新时间:2024-11-12 20:47

SIMATIC S7-1500 PLC应用实例
【实例】有一个控制系统,控制器是CPU 1511C-IPN,压力传感器测量油压力,油力的范围是0~10MPa,当油压力高于8MPa时报警,请设计此系统。 【解】CPU 1511C-1PN集成有模拟量输入/输出和数字量输入/输出,其接线如图1所示,模拟量输入的端子1和2分别与传感器的电流信号+和电流信号-相连。 图1 数值转换(FC105)SCALE 函数接受一个整型值(IN),并将其转换为以工程单位表的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。 ①新建项目。新建一个项目“报警”,在TIA博途软件项目视图的项目树中,单击“添加新块”,新建程序块,块名称为“压力采集”,把编程语言选中为“LAD”,块的类型是“函数F
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC应用实例
SIMATIC S7-1500 PLC梯形图编程的原则
尽管梯形图与继电器电路图在结构形式、元件符号及逻辑控制功能等方面类似,但它们又有许多不同之处,梯形图有自己的编程规则。 ①每一逻辑行总是起于左母线,最后终止于线圈或右母线(右母线可以不画出),如图1所示。 图1 ②无论选用哪种机型的PLC,所用元件的编号必须在该机型的有效范围内。例如CPU1511-1PN最大I/O范围是32KB。 ③触点的使用次数不受限制。例如,辅助继电器M0.0可以在梯形图中出现无限制的次数,而实物继电器的触点一般少于8对,只能用有限次。 ④在梯形图中同一线圈只能出现一次。如果在程序中,同一线圈使用了两次或多次,称为“双线圈输出”。对于“双线圈输出”,有些PLC将其视为语法错误,绝对不允许(如三菱FX系
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC梯形图编程的原则
SIMATIC S7-1500 PLC错误处理组织块说明
错误处理组织块 (1)错误处理概述 SIMATIC S7-1500 PLC具有很强的错误(或称故障)检测和处理能力,是指PLC内部的功能性错误或编程错误,而不是外部设备的故障。CPU 检测到错误后,操作系统调用对应的组织块,用户可以在组织块中编程,对发生的错误采取相应的措施。对于大多数错误,如果没有给组织块编程,出现错误时CPU将进入STOP模式。 (2)错误的分类 被S7 CPU检测到并且用户可以通过组织块对其进行处理的错误分为两个基本类型。 ① 异步错误 是与PLC的硬件或操作系统密切相关的错误,与程序执行无关,后果严重。异步错误OB具有最高等级的优先级,其他OB不能中断它们。同时有多个相同优先级的异步错误OB出现,将按出现的
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC错误处理组织块说明
S7-1200与S7-1200/S7-1500不同项目下UDP通信
S7-1200 与 S7-1200/S7-1500 不同项目下 UDP 通信 S7-1200 与 S7-1200 之间的以太网通信可以通过 UDP 协议来实现。本列中使用TSEND_C,TRCV_C指令建立双方的UDP通讯。TSEND_C,TRCV_C指令在两台PLC间必须成对存在。 此外S7-1200 与 S7-1500 在不同项目下UDP通信也可以参考本文档。 一、硬件及软件环境 硬件: ① 两台 S7-1200 CPU V4.4 ② PC(带以太网卡) ③ TP电缆(以太网电缆) 软件: STEP7 V16 二、PLC_1 CPU配置 1. 通讯关系 图1. 连接关系 2. 组态CPU的硬件配置 1. 打开 ST
[嵌入式]
S7-1200与S7-1200/<font color='red'>S7-1500</font>不同项目下UDP通信
SIMATIC S7-1500 PLC与ET200MP的PROFIBUS-DP通信
用CPU1516-3PN/DP作为主站,分布式模块作为从站,通过PROFIBUS现场总线,建立与这些模块(如ET200MP、ET200S、EM200M和EM200B等)通信,是非常方便的,这样的解决方案多用于分布式控制系统。这种PROFIBUS通信,在工程中最容易实现,同时应用也最广泛。 【例1】有一台设备,控制系统由CPU1516-3PN/DP、IM155-5DP、SM521和SM522组成,编写程序实现由主站CPU1516-3PN/DP发出一个启停信号控制从站一个中间继电器的通断。 【解】将CPU1516-3PN/DP作为主站,将分布式模块作为从站。 (1)主要软硬件配置 ① 1套 TIA Portal V13 SP1;
[嵌入式]
SIMATIC <font color='red'>S7-1500</font> PLC与ET200MP的PROFIBUS-DP通信
PLC编程案例:S7-1500与两台S7-1200 Profinet IO通讯
1. 新建项目,添加CPU 1511C-1 PN。添加新子网 PN/IE_1,设置IP:192.168.254.150 2.切换到网络视图,从右边 硬件目录 中添加控制器 CPU1217 。 3.选中CPU1217切换到 设备视图 。双击CPU网口,选中 以太网地址 ,在 子网 中选择 PN/IE_1 ,设置IP:192.168.254.152 。选中 操作模式 勾选 IO设备 ,在 已分配的IO控制器 中选择 PLC1.profinet 接口_1 ,设置 智能设备通讯 如图: 切换到 网络视图 发现已建立好 PLC1.profinet IO 连接。 4.在 网络视图 中,从右边 硬件目录 中添加控制器 CPU121
[嵌入式]
PLC编程案例:<font color='red'>S7-1500</font>与两台S7-1200 Profinet IO通讯
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved