S7 TCP

简介

S7 TCP-IP 接口提供与西门子硬件控制器的直接连接,包括 S7-300、400、1200、1500 以及 Simotion 和 Sinumerik 控制器。

S7 接口在单独的线程中运行以实现最大性能。

S7 TCP-IP 接口基于 Davide Nardella 的 Snap7,更多信息请参见 http://snap7.sourceforge.net/。感谢 Davide 在特殊许可条件下为我们提供 Snap7。

ℹ️

请确保 PLC 上配置的真实硬件 PLC 输入与您的虚拟调试设置输入之间没有冲突。您无法使用 realvirtual.io 写入 PLC 上的物理配置输入。您需要更改硬件配置以防止这种情况。

以下是一个简短的哔哩哔哩教程,展示了该接口的实际操作:

配置 PLC

要允许访问 PLC,您需要在 TIA Portal 中设置属性,在 CPU 项目下左侧窗格的 Properties 中将 Protection 项设置为 Full access。您还需要勾选 permit access with PUT/GET …

接口配置

通过选择 Tools > realvirtual > Add Object > Interface > S7 或将脚本 S7interface 添加到空 GameObject 上,将 S7 接口添加到场景中。

您将看到如下的 Inspector 窗口:

对于 PLC,您需要在 Adress 下配置 IP 地址以及 RackSlot 编号。

要导入符号,需要添加符号表(.sdf 格式)的路径。

通过按下 Check Connection 按钮,您可以检查 PLC 是否可达。如果一切正常,您将在 Connection Status 中看到 OK,在 PLC Status 中看到 Running

导入信号

使用 Import symbol table 可以导入表中的所有符号,并创建带有 realvirtual.io 信号对象(PLCInput…、PLCOutput…)的 GameObject。

GameObject 的名称将是符号名称。信号脚本(PLCInput.. 和 PLCOutput..)的名称将是绝对 PLC 地址。此地址是接口信号的基本标识。

也可以手动添加信号并自行配置地址(在信号脚本的 Name 属性中)。

接口配置完成并检查 PLC 可达后,您可以启动仿真。您将看到所有信号自动更新。

手动添加信号

可以手动添加信号。在这种情况下,您必须确保在信号中提供信号地址作为名称,并在 Origin Data Type 中提供信号的数据类型(见下表):

支持以下数据类型:

数据类型描述
BOOL布尔值,1 位
BYTE字节,8 位
WORD字,16 位
DWORD双字,32 位
SINT有符号整数,8 位
INT有符号整数,16 位
DINT有符号整数,32 位
USINT无符号整数,8 位
UINT无符号整数,16 位
UDINT无符号整数,32 位
REAL实数,32 位

请查看 Realvirtual.io 类参考 获取有关此组件属性和方法的更多信息。

读写 DB

也可以读写 PLC 上的数据块 (DB)。DB 变量不是信号表的一部分,您需要根据其在 PLC 中的物理地址手动配置对 DB 值的访问。

要能够访问 DB 值,需要在 DB 属性中关闭 Optimized Block Access

以下是如何访问 DB 内字节的示例。PLCOutput 或 Input 的 Name 需要是 DB 值的绝对地址:

以下是如何访问 DB 内 Real 的示例:

使用 Area Read Write 模式提升性能

如果您想在 PLC 的连续内存区域中传输大量信号,Area Read Write 模式可以提升性能。您可以通过开启 Area Read Write Mode 选项来实现。

对于 M 区域和 DB 区域,您需要定义输入和输出的最小和最大内存位置,因为根据区域不同,两者都可能。非常重要的一点是,输入和输出必须在内存区域中位于两个完全分离的块中。对于 DB,有一个 DB 作为输入、另一个 DB 作为输出的限制。

© 2025 realvirtual GmbH https://realvirtual.io - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.