S7-PLCSIM使用入门
1. 前言
本章节可以作为 S7-PLCSIM软件的使用参考资料,希望读者通过对本章的阅读,能够更快更好地学习S7-PLCSIM软件的使用。西门子提供了S7-PLCSIM软件的详尽手册,在安装S7-PLCSIM软件包后,通过点击Windows菜单 开始->Simatic->Documentation->English可以阅读到名称为“S7-PLCSIM - Testing Your S7-CPU Programs - manual”的PDF手册。一切关于S7-PLCSIM使用的问题请以此手册为准。
2. 软件的基本信息
2.1. S7-PLCSIM简介 使用S7-PLCSIM具有以下优点:  在PG/PC上进行不依赖于硬件的S7程序测试
 在程序开发早期消除错误
 降低开发成本,加速开发进程,提高程序质量
 适用于 LAD, FBD, STL, S7-GRAPH, S7-HiGraph,S7-SCL, CFC, S7-PDIAG, WinCC (本地安装)
2.2. S7-PLCSIM与真实PLC的差别:
S7-PLCSIM 并不能完全代替真实的PLC, 它与真实的硬件PLC有着如下的差别:  当对S7-PLCSIM进行“STOP”操作后,程序再开始时,从中断处开始执行
 当对S7-PLCSIM进行“STOP”操作时,不影响输出状态
 当在子窗口修改变量时,其修改立刻有效,而不会等到下个周期
 你可以手动修改或复位定时器的值
 可以实现单周期操作模式
 你可以触发中断OB块
 对过程映像区的修改立刻生效
 不支持所有的诊断信息,例如EEPROM错误
 不支持多CPU模式
 S7-PLCSIM 提供高档 CPU 才拥有的系统资源(例如定时器范围为 T0-T2047, M 范围为16KB), 所以当使用S7-PLCSIM 模拟通过的程序(假设使用了定时器 T2000),可能会无法下载到低档CPU上运行(例如CPU315-2AG10-0AB0定时器范围为T0-T255,)。
 不支持FM功能模块
 不支持通信功能
 S7-PLCSIM类似于400有4个累加器,所以不同于仅有2个累加器的300CPU
 对于调用以下块,S7-PLCSIM 执行空操作: • SFB12, SFB13, SFB14, SFB15, SFB16, SFB19, SFB20, SFB21, SFB22 , SFB23, SFB41, SFB42, SFB43, SFB44, SFB46, SFB47, SFB48, SFB49, SFB60,SFB61, SFB62, SFB63, SFB64, and SFB65
• SFC7, SFC11, SFC12, SFC25, SFC35, SFC36, SFC37, SFC38, SFC48, SFC60, SFC61, SFC62, SFC65, SFC66, SFC67, SFC68, SFC69, SFC72, SFC73,SFC74, SFC81, SFC82, SFC83, SFC84, SFC87, SFC102, SFC103, SFC105,SFC106, SFC107, SFC108, SFC126 and SFC127
• OB55, OB56,OB57, OB61, OB62, OB63,OB64, OB81, OB84, OB87, OB88 and OB90
特别提示:此问题是每个S7-PLCSIM使用者都会关心的问题,使用者务必要牢记以上的差别。 2.2.1. S7-PLCSIM安装与使用:
STEP7标准版并不包括S7-PLCSIM软件包及授权,需单独购买,STEP7 Professional 版包括了S7-PLCSIIM的软件包及授权,安装即可。在菜单Options中,可以激活S7-PLCSIM,此时再进行上传/下载/监控等操作就是针对S7-PLCSIM了,而不会对真实PLC进行操作(不论PLC是否联机)。
西门子 S7-PLCSIM使用入门
图2 1S7-PLCSIM 调用 2.3. S7-PLCSIM软件兼容性
不同S7-PLCSIM 软件版本与STEP7及操作系统之间的兼容性:图中的 X 表示兼容,- 表示不兼容
西门子 S7-PLCSIM使用入门
图2 2S7-PLCSIM 软件兼容性 3. S7-PLCSIM的使用 3.1. S7-PLCSIM特性
S7-PLCSIM 可以模拟一个S7控制器,并且具备以下资源: 内存区域 | 描述 | 定时器 | T0-T2047 | M 存储器 | 131,072 BIT(16K BYTE) | I/O地址范围 | 131,072 BIT(16K BYTE) | 过程映像区(可设置,每个扫描周期更新) | 最大131,072 BIT(16K BYTE) | 预设值:8192 BIT(1024 BYTE) | 本地数据区(可设置) | 最大64K BYTE | 预设值:32K BYTE) | 逻辑块和数据块 | 2048 FB/FC, 4095 DB | SFB | 除SFB12, SFB13, SFB14, SFB15, SFB16, SFB19, SFB20, SFB21, SFB22 , SFB23, SFB41, SFB42, SFB43, SFB44, SFB46, SFB47, SFB48, SFB49, SFB60,SFB61, SFB62, SFB63, SFB64, SFB65 以外的SFB | SFC | 除SFC7, SFC11, SFC12, SFC25, SFC35, SFC36, SFC37, SFC38, SFC48, SFC60, SFC61, SFC62, SFC65, SFC66, SFC67, SFC68, SFC69, SFC72, SFC73,SFC74, SFC81, SFC82, SFC83, SFC84, SFC87, SFC102, SFC103, SFC105,SFC106, SFC107, SFC108, SFC126, SFC127 以外的SFC | OB | 除OB55, OB56,OB57, OB61, OB62, OB63,OB64, OB81, OB84, OB87, OB88 and OB90以外的OB |
另外,S7-PLCSIM 还具备以下特性: • 可以插入视图来访问:PLC的输入/ 输出/中间寄存器/定时器/计数器/数据块,支持符号地址访问方式
• 可以使定时器自动运行或手动控制它们,可以分别或统一复位定时器
• 可以更改CPU操作模式 (STOP, RUN, RUN-P)。并且S7-PLCSIM 提供了暂停模式,用户可停止程序的执行,而不影响仿真CPU中的状态
• S7-PLCSIM 提供了单周期扫描模式,可以方便调试
• 可以使用中断 OB 来测试程序逻辑
• 可以记录一系列事件(操作输入/输出/M存储器/定时器),并且可以回放记录的事件,可以用于自动程序测试
• 可以使用所有的 STEP 7 工具来监视和调试S7-PLCSIM所仿真的PLC(而不需要实际的硬件)
3.2. S7-PLCSIM调用
可以通过STEP7菜单Options-> Simulate Modules,激活S7-PLCSIM; 或者通过点击工具栏中的 图标,来激活S7-PLCSIM。 3.3. S7-PLCSIM简单示例 3.3.1. S7-PLCSIM界面:
下图为S7-PLCSIM工作界面,
西门子 S7-PLCSIM使用入门
图3 1: S7-PLCSIM 视图 3.3.2. 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可以解决这个难题:编程人员可以将手工模拟过程录制成一个事件文件,针对不同的工况,可以录制不同的事件文件。选择不同的事件文件,即可模拟不同的工况,而不必一次又一次地去手动输入。
1) 录制事件:此时操作者的每一步操作都会被记录下来
西门子 S7-PLCSIM使用入门
图3 2: 录制事件 2) 回放事件:此时操作者的每一步操作会依次被重现(现在为第2 个操作)
西门子 S7-PLCSIM使用入门
图3 3: 事件回放 • Options 在此菜单下S7-PLCSIM可以先使用 Attach Symbols,导入step7项目的符号表,然后在监控的情况下使用。 3.4. S7-PLCSIM的常见问题 3.4.1. 问题:S7-PLCSIM与在线连接的优先级
问题:当S7-PLCSIM已经运行,并且计算机已经与真实PLC有正确的编程连接方式,此时点击在线监控或者下载程序,STEP7所访问的节点是S7-PLCSIM还是真实PLC呢?
解答:S7-PLCSIM的优先级要高于真实PLC在线连接的优先级。也就是说,在S7-PLCSIM软件运行的情况下,所有的下载/上传/监控操作,都是针对S7-PLCSIM进行的,与真实PLC无关。有时计算机与真实PLC无法建立连接可能就是因为S7-PLCSIM正在运行,此时关闭S7-PLCSIM即可。 3.4.2. 问题:S7-PLCSIM与WinLC的区别
问题:S7-PLCSIM与WinLC有何区别?
解答:WinLC的特性相当于真实PLC的特性, 所以此问题请参考本文中S7-PLCSIM与真实PLC区别的章节。 3.4.3. 问题:无法调用OB40
问题:为什么在S7-PLCSIM菜单中无法触发OB40?
解答:S7-PLCSIM仿真真实的PLC,由于OB40与硬件组态关系密切,所以只有在下载了硬件组态后(或者Block文件夹下的SDB文件),在S7-PLCSIM菜单中才可以触发OB40。 3.4.4. 问题:S7-PLCSIM仿真通信程序
问题:S7-PLCSIM是否可以仿真通信程序,例如:PTP通信,以太网通信?
解答:S7-PLCSIM无法仿真通信程序,此问题请参考本文中S7-PLCSIM与真实PLC区别的章节。 3.4.5. 问题:S7-PLCSIM是否可以仿真定时器或定时中断功能
问题:S7-PLCSIM是否可以仿真定时器或定时中断功能?
解答:S7-PLCSIM的本质是一个在Windows环境下运行的应用程序,所以其执行状态与计算机的性能及系统资源使用状态都有着密切的联系。其仿真程序的扫描周期也实时受计算机负荷的影响,程序扫描周期可能会延长到几十个毫秒或者几百个毫秒。因此,当S7项目中的定时器时基定义非常小(例如10 毫秒)时,或者定时中断周期非常小(例如几个毫秒)时,S7-PLCSIM(受Windows运行机制及计算机性能影响)是无法在这么短的时间内完成应有相应的。对于真实的PLC, 由于其实时功能是由硬件来保证的,所以不存在上述问题(如果程序量比较大,程序扫描周期大于定时器的预设时间,这种情况下应当使用定时中断功能代替定时器的使用)。所以对于时序逻辑要求不严格的程序逻辑,可以使用S7-PLCSIM仿真的;对于时序逻辑要求严格的程序逻辑,使用S7-PLCSIM仿真是不可靠的。 3.4.6. 问题:项目下载后,S7-PLCSIM 的SF点亮
问题:为什么项目下载后,S7-PLCSIM 的SF点亮,但程序仿真执行不受影响?
解答:这种情况多出现于向低版本的S7-PLCSIM 软件下载了其无法识别的新硬件组态。用户升级S7-PLCSIM的软件版本即可。 关键词
|