西门子CPU1511-1PN
6ES7511-1AK02-0AB0SIMATIC S7-1500, CPU 1511-1 PN, CENTRAL PROCESSING UNIT WITH WORKING MEMORY 150 KB FOR PROGRAM AND 1 MB FOR DATA, 1. INTERFACE: PROFINET IRT WITH 2 PORT SWITCH, 60 NS BIT-PERFORMANCE, SIMATIC MEMORY CARD NECESSARY |
如何对 S7-1500 CPU 和 S7-1200 CPU 之间的 Modbus/TCP 通信进行编程和参数化 ?
S7-1500 CPU 和 S7-1200 CPU 之间可以实现 Modbus/TCP 的通信。在 S7-1500 CPU 和 S7-1200 CPU 中调用 “MB_CLIENT” 和 “MB_SERVER” 指令并参数化。
“MB_CLIENT” 指令通过 CPU 的PROFINET接口实现 Modbus/TCP 客户机通信。使用 “MB_CLIENT” 指令在客户机和服务器之间建立连接,发送请求和接收响应,和控制连接断开。“MB_CLIENT” 指令在独立的功能块"ModbusClient"中被调用。
"MB_SERVER" 指令通过 CPU 的PROFINET接口实现 Modbus/TCP 服务器通信。使用 "MB_SERVER" 指令处理 Modbus/TCP 客户端的连接请求,接收来自 Modbus/TCP 客户端的请求并发送响应消息。"MB_SERVER" 指令在独立的功能块"ModbusServer"中被调用。
在这个例子中,通过两个Modbus/TCP连接演示了一个Modbus功能。
S7-1500 CPU 的个连接作为Modbus TCP 客户机。S7-1200 CPU 作为 Modbus TCP 服务器。
S7-1200 CPU 的第二个连接作为Modbus TCP 客户机。S7-1500 CPU 作为 Modbus TCP 服务器。
一个Modbus/TCP 连接是要通过一对功能块建立的 (MB_CLIENT 和 MB_SERVER). “MB_CLIENT” 和 "MB_SERVER"指令分别在独立功能块(("ModbusClient" 和 "ModbusServer“)中调用。
图 01
文档描述如下:
在 S7-1500和S7-1200 CPU 的用户程序中调用 "ModbusClient"指令并参数化,该功能块内部调用"MB_CLIENT" 指令。
在 S7-1500和S7-1200 CPU 的用户程序中调用 "ModbusServer"指令并参数化,该功能块内部调用"MB_SERVER" 指令 。
在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表 01 所示: 标准 DB 优化 DB ......
在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表 01 所示:
标准 DB | 优化 DB | |
---|---|---|
数据管理 | 取决于变量的生明。用户可以生成用户定义或一个内存优化的数据结构。 | 数据被系统管理和优化。用户可以生成用户定义的数据结构,系统进行优化以节省内存的空间。 |
存储方式 | 每个变量的存储地址在 DB 块中每个变量的偏移地址可见 | 每个变量的存储地址由 CPU 自动分配,无偏移地址。 |
访问方式 | 可通过符号地址、地址以及指针方式寻址 | 仅可通过符号地址访问 |
无需初始化功能 | 不支持 | 支持(仅 S7-1500) |
访问速度 | 慢 | 快 |
数据保持性 | 以整个 DB 块为单位设置保持性 | DB 块内的每个变量均可单独设置保持性 |
兼容性 | 与 S7-300/400 PLC 兼容 | 与 S7-300/400 PLC 不兼容 |
出错几率 | 地址访问 (例如 HMI 或间接寻址 ),声明修改后可能导致数据的不一致。 | 缺省为符号访问,不会造成数据的不一致,例如 HMI 只与符号名称对应。 |
表 01.
S7-300/S7-400 与 S7-1200 以及 S7-1500 DB 参数的对比如下表 02 所示:
S7-300/S7-400 | S7-1200 | S7-1500 | |
---|---|---|---|
DB 的容量 | 64 KB | 64 KB | 标准 DB 64KB,优化 DB 16 M。 |
DB 的块号 | 16000 | 65535 | |
DB 块类型 | 标准 DB | 优化 DB、标准 DB(取决于DB块的属性) |
表 02.
可通过修改 DB 块的属性将 DB 块修改为标准 DB 块或优化的 DB 块,如下图 01 所示:
图 01.
如 DB 块属性为标准 DB 块,该 DB 块内变量的偏移地址(offset)被编译后会出现,标准 DB 块与优化的 DB 块对比如下图 02 所示:
图 02.
S7-1200 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图 03 方式存储。
图 03.
S7-1500 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图 04 方式存储。
图 04.
在 S7-1500 CPU 中,相比于标准的 DB 块,优化的 DB 块提供更快的访问速度,其根本原因与 CPU 的编码方式有关,如下图 05 所示:
图 05.
与标准的 DB 块相比,优化的 DB 块有以下优势:
提供更快的访问速度;
以符号寻址,编程者无需考虑 DB 块中每个变量存储的具体地址,每个变量在 CPU 中存储的位置由 PLC 的系统自动进行分配;
CPU 与 HMI (如 Panel)连接时,由于优化的 DB 是靠符号寻址,所以当 PLC 变量连接到 HMI 后,PLC 侧对变量做的修改,HMI 无需重新;
对 DB 块内的任意位置对变量进行添加及删除,或对变量的类型进行修改(如将Tag_1的属性由 byte 修改为Word),不会引起该 DB 块其它变量的使用;
S7-1200/S7-1500中如有以下应用,必须使用标准 DB 块:
与其它 CPU 建立 S7 单边通信时(PUT/GET),用于存储发送区数据和接收区数据的 DB 块;
与 Wincc V7.2 进行 HMI 连接时,Wincc V7.2 访问的 S7-1200/S7-1500 CPU 的 DB 块只能是标准的 DB 块;
使用Simatic Net V8.2 与S7-1200/S7-1500 PLC进行 OPC 连接时,OPC 服务器访问 S7-1200/S7-1500 CPU 的 DB 块只能是标准的 DB 块。
S7-300 和 S7-1500 的连接资源
连接资源 | CPU 1516-3 PN/DP 1) | CPU 317-2 PN/DP2) |
---|---|---|
资源 (总数) | 256 | 32 |
资源 (预留) | 10 (PG/HMI/Web) | 2 (PG/OP) |
用于 S7 和 HMI 可用资源数 | 246 3) | 30 |
用于 OUC (开放的用户通信) 可用资源数 | 16 | |
通过本体集成接口资源数 | 128 | 32 4) |
用于每个被连接的 HMI 设备的连接资源数量 | 3 | 1 |
1) | 其中包括 S7-300/S7-1500 的 web 通信连接,以及 S7-1500 的 OPC UA 连接。 |
2) | S7 通信的 32 个资源中有 2 个预留给 PG/OP。此外,使用 S7-300 16 个连接,包括 OUC 和多 80 个 web 通信连接。 |
3) | 在 246 个资源中,所有通信类型都被考虑在内,包括 OPC UA 和的 80 个 web 连接。 |
4) | 在 S7-300 中,OUC、S7 和 web 通信的资源是分开管理的。 |
对于 CPU,每个通信连接都需要一个连接资源作为连接期间的管理要素。每个 CPU 都有特定数量的连接资源,它们被不同的通信服务占用 (PG/OP、S7 通信、OUC)。
使用 S7-300,CPU 确定合理的连接资源的数量。连接的资源数量可以通过添加的 CP 进行扩展。在 S7/OP 通信中,CP 在 S7-300 CPU 中占用资源。在 CPU 中,多路复用资源被一个 CP 占用。如果没有多路复用,连接将从 CPU 配额中 1:1 获得。PG 连接总是占用 CPU 中的一个资源。
使用 S7-1500,CPU 为完整的自动化系统定义了有效的连接资源的上限。CPU 本身贡献了这些连接资源的一部分。更多的资源来自 CP 和 CM。无论添加的 CP 和 CM 的数量如何,连接资源的总数量不能超过 CPU 类型设置的上限。
这三个示例基于 CPU 317-2 PN/DP (订货号:6ES7317-2EK14-0AB0) 和 CPU 1516-3 PN/DP (订货号:6ES7516-3AN01-0AB0)。
示例 1: 用 S7-300 组态连接
图 1
1) | 用 CP2 的 S7 连接 用 CP1 的 OUC (开放的用户通信) PROFINET 连接 HMI 连接 |
当通信服务登录时,CPU 连接资源按时间顺序保留。
为了避免对通信资源的占用,仅按时间顺序对各种通信服务进行管理,对于某些服务,可以选择保留连接资源。
S7 和 OP 连接使用复合模式共享连接资源,这就是为什么图 1 中的 CP2 的 3 个 S7 连接在表中没有显示出来的原因。对于 PG 连接,总是需要一个资源。当通过 CP 创建 S7 连接时,可以自动启用多路复用。
示例 1 显示了创建连接所需的可用资源和所需的资源。
通过CPU,可以配置多 16 个 S7 连接。其他 16 个资源是为其他通信类型提供的,但并不是真正保留的。
另外,通过两个 CP,每个可以配置 16 个 S7 连接。
一个资源被 HMI 通信占用。
在 CP1 中,有 4 个资源被用于 OUC。
组态 | 已占用资源 | 资源类型 | 剩余的 S7 通信资源 | 剩余的 OUC 资源 |
---|---|---|---|---|
CPU 317-2 PN/DP | 2 | 其他 | 32 - 3 | 16 |
1 | 操作面板 | |||
CP1 (CP 343-1) | 4 | OUC | 16 | 16 - 4 |
CP2 (CP 343-1) | 0 | S7 通信 | 16 | 16 |
使用通信指令 "AG_SEND" 和 "AG_RCV",可以在 CP 和一个已组态的连接之间进行数据传输。在这里,通过背板总线可以多有 16 个连接。
示例 2: 用 S7-300 组态连接和非组态连接
Fig. 2
1) | 使用 CP2 非组态的 S7 连接 使用 CP1 组态的 S7 连接 PROFINET 连接 |
示例 2 表中显示了创建连接所需的可用资源和所需的资源。
通过 CPU,可以配置多 16 个 S7 连接。其他 16 个资源是为更多的通信类型提供的,但并不是真正保留的。
通过两个 CP,每个可以配置 16 个 S7 连接。
使用 CP1,为 S7 通信占用了 3 个资源。
组态 | 已占用资源 | 资源类型 | 剩余的 S7 通信资源 | 剩余的 OUC 资源 |
---|---|---|---|---|
CPU 317-2 PN/DP | 4 | Other | 32 - 4 | 16 |
CP1 (CP 343-1) | 3 | S7 communication | 16 - 3 | 16 |
CP2 (CP 343-1) | 0 | S7 communication | 16 | 16 |
示例 3: 用 S7-1500 组态,非组态和程序化连接
连接资源的占用时间取决于连接的设置方式。在 CPU 中占用一个连接资源
一旦在 STEP 7 (TIA Portal) 软件中将 PG 在线与一个 CPU 连接起来。
只要在浏览器中打开 CPU 的 web 服务器。
只要在 OPC UA 服务器的 CPU 和 OPC UA 客户端之间有一个会话 (无组态的连接)。
只要在 CPU 的用户程序中调用建立连接 (TSEND_C/TRCV_C 或 TCON) 的指令,或者通过这些块 (编程的连接) 建立连接。
如果已经在 STEP7(TIA Portal) 中组态了一个连接,那么当硬件组态被到 CPU 时,连接资源就会被占用。在使用组态的连接进行数据传输之后,连接不会断开连接。连接资源仍然被占用。要再次释放连接资源,您必须删除 STEP7(TIA Portal) 中的组态连接,并将修改后的组态到 CPU 中。
下面的网络包括两个子网 "PN/IE_1" (用 CPU 1516-3 PN/DP) 和 "PN/IE_2" (用 CM 1542_1) 和它们组态的 S7 连接。在子网 "PN/IE_1" 中组态了两个 HMI 连接。
Fig. 3
在 CPU 1516-3 PN/DP 的 “属性” 中,在 “连接资源” 下的区域导航中,将显示 CPU 的保留和可用的连接资源。
特定站的连接资源的列提供关于该站的保留和动态连接资源的信息。
多达 256 个特定的连接资源可供自动化系统使用:
10 个保留的连接资源仍然可用。
182 个动态连接资源,其中 169 个仍然可用。已有13 个资源用于 S7 的通信。
特定模块的连接资源的列提供了关于如何在一个自动化系统的 CPU、CP 和 CM 中占用资源的信息。
CPU 提供多 128 个连接资源。
这些资源中有 6 个已经用于 S7 通信,还有 122 个仍然可用。
CM 提供了 64 个资源,其中 7 个已经使用了。
还显示了用于 PG、HMI 和 web 服务器通信的预留连接资源。不管有多少其他通信服务已经占用了连接资源,与 PG 之间的在线连接总是可能的。
图 4
连接资源的数量和预留连接资源的数量之间的区别是动态连接资源的数量。以下通信服务包含在动态连接资源的数量中:
PG 通信
HMI 通信
S7 通信
开放的用户通信
Web 通信
其他通信 (OPCUA, 例如)
注意
在线视图显示了自动化系统中所有已被占用的连接资源,包括带有编程的连接资源的列,以及当前在该站中所占用的自动建立的连接。
描述
如果往一个格式化过的 SIMATIC 存储卡中一个组态好的 S7-1500 SIPLUS(6AG1*)设备,并将 CPU 调整为“ 运行 ”模式,那么 CPU 会无错误运行。但当电源关闭再打开,或者执行存储器复位(MRES)后,CPU S7-1500 SIPLUS 将会报如下错误信息并进入停止模式。
“存储卡评估错误:存储卡不能接收或无法安装,功能完成/被放弃,新的启动禁止设置:-外部装载存储区已损坏(在博途中删除或移除存储卡)-硬件组态没有装载或装载/改变没有成功完成”
如果在SIMATIC存储卡上首次一个典型S7-1500标准CPU(6ES7 *)的组态,然后由具有相同SIPLUS CPU(6AG1 *)的组态替换,则不会发生此现象。如下的操作步骤可以避免在博途中发生该类错误。
操作
在 CPU S7-1500 SIPLUS 上插入一张有足够空间并且格式化过的存储卡。
在 STEP 7 (TIA Portal)组态中添加一个同类型的 CPU S7-1500 标准产品(6ES7*)。
将配置为标准CPU的组态到 CPU S7-1500 SIPLUS 中。目前尚不需要组态其它外围设备。
在 STEP 7(TIA Portal)中,使用 CPU S7-1500 SIPLUS (6AG1*) 型号替代标准类型的 CPU ,同时完成扩展模块与分布式设备的组态配置。
将修改过的组态到 CPU S7-1500 SIPLUS。
注释
这个操作仅在在线 CPU 时起作用。如果 SIMATIC 存储卡是通过外部读卡器进行的编程操作,那么这种错误保持不变。