S7-PLCSIM仿真软件

1. 如何获取S7-PLCSIM仿真软件

2. 快速使用

3. 是否支持通讯仿真

4. 与实际PLC有什么区别?

如何获取S7-PLCSIM仿真软件

S7-PLCSIM是需要付费授权的软件。其订货号如下:
S7-PLCSIM V5.4 浮动许可证 :6ES7841-0CC05-0YA5


此外,如订购了STEP 7 Professional 2010,其中已包含S7-PLCSIM软件包及授权,无需再次购买。
STEP 7 PROFESSIONAL 2010浮动许可证、1 个用户:6ES7810-5CC11-0YA5

西门子提供S7-PLCSIM V5.4的升级包下载(SP5 Upd1):

升级授权订货号及详细信息请参看如下链接:
STEP 7 Professional 2010 现已供货
S7-PLCSIM V5.4 发布供货

快速使用

1 调用

可以通过STEP7菜单Options---Simulate Modules,激活S7-PLCSIM; 或者通过点击工具栏中的 图标,来激活S7-PLCSIM。

2 设置PGPC接口

打开STEP7菜单Options---Set PG/PC Interface。

                                        图1 Set PG/PC Interface

 

根据CPU的接口,选择合适的PLCSIM.XXX下载程序。如CPU有以太网口,则选择PLCSIM.TCPIP。

3 下载程序

点击下载按钮,将设备组态及程序下载到PLCSIM。

4 运行状态切换

如图2,将PLCSIM的CPU,由STOP状态切换为RUN-P状态,模拟CPU运行。

5 程序在线

点击在线按钮,将离线程序切换为在线。

6 S7-PLCSIM界面

下图为S7-PLCSIM工作界面

                                      图3 S7-PLCSIM 视图

7 S7-PLCSIM菜单

1) File菜单:

用户可以通过S7-PLCSIM菜单File > Save PLC As, 将当前模拟的PLC存储为一个文件,下次使用时可以通过File > Open PLC,直接打开此文件,而不需要下载过程,方便调试。对于S7-PLCSIM V5.4版本,可以在此设置多种下载方式,例如,MPI, DP, Ethernet。

2)View菜单:

用户可以通过View > Accumulators/Block Registers/Stacks来查看PLC内部的累加器/地址寄存器/状态字/堆栈资源

3)Insert菜单:

用户可以通过Insert >Input Variable插入变量(输入/ 输出/中间寄存器/定时器/计数器/数据块)方式来模拟各种工况。

4)PLC菜单:

用户可以通过PLC 菜单模拟真实PLC的上电/断电,内存复位操作,以及修改PLC的MPI地址(S7-PLCSIM V5.4版本以下)。

5)Execute菜单: (仅对部分内容作解释)

• Key Switch Position: RUN与RUN-P的区别,在RUN情况下,用户无法下载程序及修改S7-PLCSIM内部存储区;RUN-P情况下,用户可以下载程序及修改S7-PLCSIM内部存储区,在两者中任意一种情况下,用户程序都可以正常运行。
• Startup Switch Position: 用户可以选择当S7-PLCSIM由STOP模式转换到RUN模式时,执行的启动类型:Cold Start, 操作系统将调用OB102,用户程序从开始位置执行,存储在非保持区的用户数据被删除;Hot Start, 操作系统将调用OB101,并且用户程序从中断位置继续执行;Warm Start, 操作系统将调用OB100。
• Scan Mode: Single Scan S7-PLCSIM特有的扫描模式,程序仅执行一个周期,当用户通过Next Scan操作时,S7-PLCSIM 执行下一个扫描周期;Continuous Scan S7-PLCSIM 按照普通模式仿真真实PLC 扫描模式。
• Next Scan: 当用户可以使能S7-PLCSIM 执行下一个扫描周期
• Pause: 在不影响输出的情况下,中断当前仿真的程序,注意在暂停的情况下,可能会导致其它应用程序与S7-PLCSIM的超时或连接中断。
• Automatic Timers:定时器自动运行
• Manual Timers: 可以通过插入定时器窗口,手动设置定时器的值及时基。
• Reset Timers:用户可以复位所有/部分的定时器
• Trigger Error OB:
• Scan Cycle Monitoring: 用户可以在此设置允许的最大程序执行时间,如果程序执行超过此时间,S7-PLCSIM将进入停止状态。

6. Tools菜单:

• Record/Playback S7-PLCSIM主要用于模拟工况,而即使一个简单的工况也可能是由一定时间段内的各种触发事件组成的。如果重复调试某个工况,而完全依赖于手工操作模拟,是比较困难的。S7-PLCSIM可以解决这个难题:编程人员可以将手工模拟过程录制成一个事件文件,针对不同的工况,可以录制不同的事件文件。选择不同的事件文件,即可模拟不同的工况,而不必一次又一次地去手动输入。


详细信息请参看如下手册:

S7-PLCSIM使用入门

S7-PLCSIM 手册

怎样通过PLCSIM仿真程序来测试I/O?

是否支持通讯仿真

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

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


通讯过程中,有可能存在时间性问题,因为 S7-PLCSIM 不支持实时。 S7-300CPU的通信并未使用以上功能块,因此无法仿真。
详细信息及例程请参看如下链接:

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

PLCSIM仿真S7-400之间的S7通讯

与实际PLC有什么区别

与实际的PLC控制系统相比,PLCSIM不具备如下功能:

• 不支持通过CP的通讯
• 不支持实时。在实时通信中有时间限制性
• 诊断缓冲区部分不支持,如电池电量的消息或EEPROM错误无法仿真
• 在改变运行模式时(如从RUN切换到STOP),输入输出不会被置为"安全"状态
• 不支持FM模块
• 不支持点对点通信

如下表所示,S7-PLCSIM包含的存储区范围及支持的SFB功能块,SFC功能,OB组织块:

存储区

描述

定时器

T0到T2047

计数器

 Z0到Z2047

标志位

标志位存储区 131.072 位 (16 KB)

总输入输出寻址存储区

输入输出存储区 262.136位 (32 KB)

过程映像区(可调整;每个循环更新)

最大: 131.072 位 (16 KB)
默认设置: 131.072位 (16KB)

本地数据 (可调整)

最大: 32 KB
默认设置: 32 KB

数据块

2048 功能块 (FB) 和功能 (FC) 最大数:65534
4095数据块(DB)最大长度:65570

系统功能块(SFBs)

SFB0, SFB1, SFB2, SFB3, SFB4, SFB5, SFB8, SFB9, SFB12, SFB13, SFB14, SFB15, SFB19, SFB20, SFB22, SFB23, SFB31, SFB32, SFB33, SFB34, SFB35, SFB36, SFB37, SFB52, SFB53 and SFB54

系统功能 (SFCs)

SFC0, SFC1, SFC2, SFC3, SFC4, SFC5, SFC6, SFC9, SFC10, SFC11, SFC12, SFC13, SFC14, SFC15, SFC17, SFC18, SFC19, SFC20, SFC21, SFC22, SFC23, SFC24, SFC26, SFC27, SFC28, SFC29, SFC30, SFC31, SFC32, SFC33, SFC34, SFC36, SFC37, SFC38, SFC39, SFC40, SFC41, SFC42, SFC43, SFC44, SFC46, SFC47, SFC49, SFC50, SFC51, SFC52, SFC54, SFC55, SFC56, SFC57, SFC58, SFC59, SFC62, SFC64, SFC78, SFC79, SFC80, SFC82, SFC83, SFC84, SFC85, SFC87, SFC90, SFC105, SFC106, SFC107 and SFC108
 对于SFC26 and SFC27来说0是唯一支持的输入参数。

组织块(OBs)

OB1 (free cycle)
OB10 to OB17 (time-of-day interrupt)
OB20 to OB23 (delay interrupt)
OB30 to OB38 (cyclic interrupt)
OB40 to OB47 (process alarm)
OB55 (status interrupt)
OB56 (interrupt update)
OB57 (manufacturer-specific interrupt)
OB60 (multiprocessor interrupt)
OB61 to OB64 (synchronous cycle interrupt)
OB65 (Technology synchronization interrupt)
OB70 (IO redundancy error)
OB72 (CPU redundancy error)
OB73 (communication error)
OB80 (time error)
OB82 (diagnostics interrupt)
OB81 (power supply failure)
OB83 (remove/plug alarm)
OB84 (CPU hardware error)
OB85 (program execution error)
OB86 (subrack failure)
OB87 (communication error)
OB88 (processing alarm)
OB90 (background OB)
OB100 (restart)
OB101 (hot restart)
OB102 (cold restart)
OB121 (programming error)
OB122 (IO access error)

 

详细信息请参看如下链接:S7-PLCSIM 和一个"真实的"自动化系统有哪些不同?

 

S7-PLCSIM是否可以仿真定时器或定时中断功能?
回答:
S7-PLCSIM的本质是一个在Windows环境下运行的应用程序,所以其执行状态与计算机的性能及系统资源使用状态都有着密切的联系。其仿真程序的扫描周期也实时受计算机负荷的影响,程序扫描周期可能会延长到几十个毫秒或者几百个毫秒。因此,当S7项目中的定时器时基定义非常小(例如10 毫秒)时,或者定时中断周期非常小(例如几个毫秒)时,S7-PLCSIM(受Windows运行机制及计算机性能影响)是无法在这么短的时间内完成应有相应的。对于真实的PLC, 由于其实时功能是由硬件来保证的,所以不存在上述问题(如果程序量比较大,程序扫描周期大于定时器的预设时间,这种情况下应当使用定时中断功能代替定时器的使用)。所以对于时序逻辑要求不严格的程序逻辑,可以使用S7-PLCSIM仿真的;对于时序逻辑要求严格的程序逻辑,使用S7-PLCSIM仿真是不可靠的。

打开PLCSIM后无法将程序下载实际CPU?
回答
: S7-PLCSIM的优先级要高于真实PLC在线连接的优先级。也就是说,在S7-PLCSIM软件运行的情况下,所有的下载/上传/监控操作,都是针对S7-PLCSIM进行的,与真实PLC无关。有时计算机与真实PLC无法建立连接可能就是因为S7-PLCSIM正在运行,此时关闭S7-PLCSIM即可。