西门子S7-PLCSIM使用入门

2018年12月7日14:51:04 发表评论 6 阅读

   

本文档主要用于讨论以下相关问题:

²  S7-PLCSIM工具软件的基本信息

²  S7-PLCSIM工具软件的简单使用

关键词

Step7;S7-PLCSIM

1.  S7-PLCSIM简介

使用S7-PLCSIM具有以下优点:

在PG/PC上进行不依赖于硬件的S7程序测试。

在程序开发早期消除错误。

降低开发成本,加速开发进程,提高程序质量。

适用于 LAD, FBD, STL, S7-GRAPH, S7-HiGraph,S7-SCL, CFC, S7-PDIAG, WinCC (本地安装)。

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.1.   S7-PLCSIM安装与使用:

STEP7标准版并不包括S7-PLCSIM软件包及授权,需单独购买,STEP7 Professional 版包括了S7-PLCSIIM的软件包及授权,安装即可。在菜单Options中,可以激活S7-PLCSIM,此时再进行上传/下载/监控等操作就是针对S7-PLCSIM了,而不会对真实PLC进行操作(不论PLC是否联机)。

图2‑1S7-PLCSIM 调用

3.  S7-PLCSIM软件兼容性

不同S7-PLCSIM 软件版本与STEP7及操作系统之间的兼容性:图中的 X 表示兼容,- 表示不兼容

图2‑2S7-PLCSIM 软件兼容性

 S7-PLCSIM的使用

  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工作界面,

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 ErrorOB:
  • Scan Cycle Monitoring: 用户可以在此设置允许的最大程序执行时间,如果程序执行超过此时间,S7-PLCSIM将进入停止状态。

6.Tools菜单:

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

1)      录制事件:此时操作者的每一步操作都会被记录下来

2)      回放事件:此时操作者的每一步操作会依次被重现(现在为第2 个操作)

  • 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的软件版本即可。

 

weinxin
微信扫一扫西门子PLC 立即报价
1分钟内报价1天内发货1年内质保(为了省去等待时间,请提供准确型号)-享受专属VIP客服服务

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: