"本文档详细介绍了如何在西门子S7-PLCSIM软件中仿真两个CPU之间的通信,适用于S7-300 PLC。从S7-PLCSIM V5.4+SP3版本开始,用户可以在一个STEP7项目中同时仿真多个CPU,并实现它们之间的通讯。文档提到了多种用于仿真通讯的系统功能块(SFB),如USEND、URCV、BSEND、BRCV、PUT、GET、START、STOP、STATUS、USTATUS等。由于S7-PLCSIM不支持实时,可能在通讯过程中遇到时间性问题。此外,当运行多个Windows程序时,可能需要调整操作系统设置以避免内存问题。同时,不能同时使用实际的CPU和S7-PLCSIM进行程序测试,需要先断开与实际CPU的连接。步骤包括在SIMATIC Manager中启动S7-PLCSIM,选择适当的接口类型,如MPI、PROFIBUS、TCP/IP、ISO或Local,并确保在同一个网络中避免站地址冲突。"
在西门子S7系列PLC中,仿真两个CPU之间的通信是通过S7-PLCSIM这一仿真工具来实现的。这个工具允许用户在不使用实际硬件的情况下测试和验证多CPU系统的通讯功能。S7-PLCSIM V5.4+SP3及其更新版本提供了这个特性,使得用户可以在一个工程项目中同时仿真多个CPU模块,并配置它们之间的通讯链路。
在仿真通讯时,可以使用一系列的系统功能块(SFB),这些SFB专门设计用于数据的发送和接收,如SFB8 "USEND"用于发送用户数据,SFB9 "URCV"用于接收数据,SFB12 "BSEND"和SFB13 "BRCV"用于块传输,SFB15 "PUT"和SFB14 "GET"用于数据交换,而SFB19 "START"、SFB20 "STOP"、SFB22 "STATUS"和SFB23 "USTATUS"则分别用于启动、停止、查询状态和获取更详细的状态信息。这些SFB在编程时需要正确地插入到程序中,以实现预期的通讯行为。
值得注意的是,由于S7-PLCSIM不支持实时性,所以在仿真通讯时可能会出现时间相关的不准确问题。这可能影响到某些需要精确时间同步的通讯过程。另外,如果计算机上运行着大量程序,可能会导致内存问题,这时可能需要调整Windows操作系统的桌面堆栈内存设置,以保证S7-PLCSIM能够正常工作。
在设置仿真环境时,用户需要在SIMATIC Manager中选择合适的PG/PC接口类型,例如MPI、PROFIBUS、TCP/IP或ISO,根据实际的网络配置来确定。在多CPU环境中,确保每个CPU有唯一的MPI地址,以防止地址冲突。例如,站1可以设置为MPI地址2,站2为MPI地址3,以此类推。
最后,为了确保仿真CPU的独立性,需要在使用S7-PLCSIM之前断开与实际CPU的所有连接。这样可以保证仿真环境的纯净,避免与实际设备的交互干扰到仿真结果。
通过S7-PLCSIM,用户可以有效地测试和调试西门子S7-300 PLC系统的多CPU通讯,从而提高系统设计的可靠性和效率。