如何仿真两个 CPU 模块间的通讯。


n

说明:
从 S7-PLCSIM V5.4+SP3 开始,用户可以使用 S7-PLCSIM 在一个 STEP 7 项目中同时仿真多 CPU并建立 CPU 间的通讯。下面的通讯块可用于仿真通讯:n

  • SFB8 "USEND"n
  • SFB9 "URCV"n
  • SFB12 "BSEND"n
  • SFB13 "BRCV"n
  • SFB15 "PUT"n
  • SFB14 "GET"n
  • SFB19 "START"n
  • SFB 20 "STOP"n
  • SFB 22 "STATUS"n
  • SFB 23 "USTATUS"

通讯过程中,有可能存在时间性问题,因为 S7-PLCSIM 不支持实时。n

也可参考 S7-PLCSIM 自述文件中 7.3 节的信息。 如果运行大量 Windows 程序时,用户不能启动任何其它程序或不能打开任何窗口,那么必须改变计算机操作系统的 “ 桌面堆存储器” 属性。 一种解决方法在表 02中描述。n

用户不能用实际 CPU(PLC) 和 S7-PLCSIM 同时测试一个 STEP 7 项目中的程序。如果用户希望用 S7-PLCSIM 仿真 CPU,那么必须首先断开和实际 CPU的所有连接。n

下面的表 01 描述了同时仿真多CPU的过程。

No. 步骤:
1 在 SIMATIC Manager 中打开S7-PLCSIM ,或者通过菜单命令 “ Options > Simulate Modules ” 或者点击菜单工具条中 “ Simulation on/off ” 图标。带有实例标签 “ S7-PLCSIM1 ” 的第一个被仿真 CPU 的对话框被打开。
2 在“ S7-PLCSIM1 ” 对话框中,用户从下拉框中选择被组态的接口类型作为 PG/PC 接口。 默认为 MPI 接口。然后,S7-PLCSIM 以最后使用的接口启动。然而,根据硬件组态,也可以设定为 “ PROFIBUS ”,“ TCP/IP ”( 通过 IP 地址 ),“ ISO ”( 通过 MAC 地址 ) 或者 “ Local ” ( 通过虚拟背板总线 ) 接口。 n

注意:
用户必须避免在同一网络中的站地址重复。如果通过 MPI 接口装载所有站的程序,例如,那么不同的MPI地址可参考如下:n

  • 站1:MPI地址: 2n
  • 站2:MPI地址: 3n
  • 等等。
3 在SIMATIC Manager 中, 选中第一个 S7 站的块文件夹并装载块到 S7-PLCSIM1 中,通过菜单命令 “ PLC > Upload ”。
4 在 S7-PLCSIM 的“ CPU ”子窗口中,改变操作模式从“ STOP ”到 “ RUN-P ”。通过 “ 添加”菜单,可以增加输入、输出、标志等子窗口来监视并控制程序。
5 为了仿真其它CPU,用户在 S7-PLCSIM 中执行菜单命令“ Simulation > New PLC ”。“ S7-PLCSIM2” 对话框打开。
6 为了仿真第二个 CPU,选择在硬件组态中配置的接口参数 ( PG/PC interface )。 图. 01 展示了仿真两个 S7-400 CPU 通讯的例子。在 S7-PLCSIM1 (仿真站 1)中, EB1控制计数器 Z1 然后发送计数值到 S7-PLCSIM2 (仿真站 2) 的 AW1 中。 n

如何仿真两个 CPU 模块间的通讯。
图. 01n

注意:
如果在两个CPU 中使用相同的接口和地址,那么下拉菜单的选项将是灰色的,S7-PLCSIM 将不能通过这个接口被访问。通过 PG/PC 接口的下拉菜单选择这个接口即使它已经被选择。然后颜色从灰色改变为黑色并且 S7-PLCSIM 可以通过这个接口被访问。

7在 SIMATIC Manager 中,选择第二个 CPU 的块文件夹并装载所有块到实例“ S7-PLCSIM2” 中。在装载之前必须选择实例 “ S7-PLCSIM2 ”。现在同样添加输入、输出、标记等子窗口。 n

注意:
仅当接口颜色为黑色时执行下载功能 ( 见第 6 步所述 )。 更多信息参考 S7-PLCSIM 自述文件第 7.3.2 节.n

如要仿真其它 CPU 则重复 4到 7 步。

表 01 n

改变操作系统属性“桌面堆存储器”
当运行大量 Windows 程序时,即使用户电脑中有足够的主存储器和虚拟内存,也可能得到错误信息“ 没有足够的主内存”或程序可能冲突。 一种解决方法在表 02 中被描述。

No. 步骤:
1 开启注册表通过“ 开始 〉运行...”并在命令行输入“ Regedt32.exe ”。
2 打开路径: n

  • HKEY_LOCAL_MachineSystemCurrentControlSetControlSession ManagerSubSystems
3 在“ Windows ” 上点击鼠标右健并在弹出的菜单中选择“ Change”功能。“Edit String” 对话框将被打开。
4 “ SharedSection ” 参数有值 1024 ( 系统堆的最大值 )和 3072 ( 每个桌面堆的值 )。通过添加值 512 到 “ SharedSection” 参数来增加 512 KB 桌面堆存储器,如下图 图. 02 所示。 然后点击 “ OK ” 来保存设定。 n

如何仿真两个 CPU 模块间的通讯。
图. 02n

SharedSection 带有附加值 512 KB 的桌面堆的大小被定义到每个桌面,用来连接一个“非交互式”工作站。上面涉及的错误信息或程序冲突应该不再发生。

5用户必须重启计算机使桌面堆存储器的改变生效。

注意:
更多信息请关注互联网 Microsoft 帮助和支持页面下的文章 ID: KB126962。

表 02

下载:
下载附件"S7_PLCSIM_CPU_Communication" 包含了有如上描述的通讯程序 的 STEP 7 V5.4 项目。 复制"S7_PLCSIM_CPU_Communication.zip" 文件到独立目录并双击打开该文件。 自动解包含所有相关子目录的STEP 7 项目。然后可以使用STEP 7打开并处理解压后的项目。

如何仿真两个 CPU 模块间的通讯。 S7_PLCSIM_CPU_Communication.zip ( 431 KB )

创建环境
表 03 列出了用于创建该条目并验证如上功能的部件。

测试环境 版本
PC 平台 Intel(R) Core(TM)2 Duo CPU P8700 2.53 GHz
PC 操作系统 MS Windows XP SP3
STEP 7 V5.4+SP5
S7 PLCSIM V5.4+SP3

表 03

关键词:
Out of memory, Multi-instance

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论