西门子TIA博途仿真器PLCSIM使用教程
本次我们以S7-1200 PLC为例进行说明:
硬件要求:
1、固件版本为 4.0 或更高版本的 S7-1200 PLC
2、固件版本为 4.1 或更高版本的 S7-1200F PLC
软件要求:
S7-PLCSIM V13 SP1 及以上
几个注意点:
PLCSIM目前不支持S7-1200任何工艺对象的仿真。
PLCSIM几乎支持仿真的S7-1200和S7-1200F的所有指令(包括系统函数和系统函数块),支持方式与物理PLC相同。PLCSIM将不支持的块视为非运行状态。某些指令受部分支持。对于这些 SFC 和 SFB,S7-PLCSIM 将验证输入参数并返回有效输出,但不一定是带有实际 I/O 的真实 PLC 将返回的信息。
S7-PLCSIM 截止V16 只支持 S7-1200(F)C 的如下通信协议:
· S7-1200集成PN口和S7-1200/1500/300/400的基于以太网的S7通信
· S7-1200集成PN口和S7-1200/1500的TCP/IP通信
· S7-1200集成PN口和S7-1200/1500的ISO ON TCP通信
· S7-1200集成PN口和WinCC以及仿真HMI触摸屏的通信专有技术保护块、配方、数据日志、Trace、装载存储器的读写、时间错误中断(OB80)、诊断指令、存储卡功能PLCSIM目前不支持。
程序循环(OB1)、时间中断(OB10)、延时中断(OB20)、循环中断(OB30)、启动OB(OB100)支持。
硬件中断(OB40)、诊断错误中断(OB82)、拔出或插入模块中断(OB83)、机架或站故障中断(OB86)从PLCSIM V16开始支持。
PLCSIM的启动与下载
启动方法:如下图所示,
左键单击需要被下载到PLCSIM的CPU
左键单击“启动仿真”按钮,先后弹出下图所示的窗口
①PG/PC接口:默认选择PLCSIM,此时无法连接真实CPU
②左键单击“开始搜索”按钮
③选中搜索到的CPU
④左键单击“下载”按钮
这样就完成了一次下载操作。
下载完成
下载完成之后,仿真界面如下图所示,
注意点:
在PLCSIM 中只能建立2个实例,也就是说最多同时支持仿真2个S7-1200或者1个S7-1200和1个S7-1500
PLCSIM的精简视图与项目视图
精简视图可以正常对PLC进行仿真,启动停止,监视指示灯状态;
如果需要使用一些高级功能,例如对I点进行设置,序列功能,事件触发,则需要转至项目视图,如下图所示。
①在精简视图左键点击该按钮即切换到项目视图
②在项目视图中左键点击该新建按钮,会在项目视图中新建仿真文件,产生仿真视图左边的项目树:SIM表格、序列、事件表等
③如果希望从项目视图返回精简视图,可以左键点击该按钮
注意点:
PLCSIM V14以后,可以在精简视图、项目视图,新建或者不新建仿真文件,都可以使用仿真功能
PLCSIM项目视图的功能
如下图所示,打开PLCSIM项目视图中的设备视图,在这里可以直观的对CPU主机架模块和PROFIBUS DP/PROFINET IO/AS-i的分布式IO给定DI和AI点,显示DQ以及AQ结果。每次只能显示一个模块的所有IO。
①左边项目树,展开PLC,双击“设备组态” ,打开右边的设备视图
②在这里选择机架,默认是PLC主机架
③在这里选择需要查看或修改的IO模块
④在DI/AI给定设置值
⑤DQ/AQ显示运算结果
SIM表格
如下图所示,可以打开PLCSIM项目视图的SIM表格,在这里可以对PLC的全局变量进行修改监视,与PLC的监控表不同的是,SIM表格不可以监视修改DTL、字符串等复杂数据类型,但是可以对DI、AI进行修改监视,并且还有一些和PLC监控表不同的地方,见下方说明。
①展开SIM表格,可以看到,点击“添加新的SIM表格”,可以新建更多的SIM表格。
②PLCSIM V16以后支持的功能,点击“浏览”,可以导入PLC的变量表及监控表。
③点击“SIM 表格_x”可以在右边工作区打开指定的SIM表格。
④添加变量名称或绝对地址,注意不支持DTL、字符串等PLC监控表支持的数据类型。
⑤可以修改变量显示的数据格式。
⑥可以执行单个变量的修改,同时显示每个变量的实际值。
⑦如果变量是Bool类型,或者是非优化的Byte类型时,这里可以设置显示变量中单个位的状态。
⑧如果希望几个变量同时修改,需要在需要同时修改的变量这里设置值,然后激活后面的“√”。
⑨在⑧处修改打钩完毕后,点击该按钮可以同时修改。
⑩该SIM表格默认只能修改DI、AI的变量,如果需要修改其他变量需要点击该按钮。
⑪PLCSIM V15以后支持的功能,当选中的变量的显示格式是布尔型、十六进制、八进制、DEC、DEC+/-、浮点数时,在这里会显示该控制视图。如果是布尔型,则是一个瞬动按钮;如果是十六进制、八进制、DEC、DEC+/-,则会是图中所示的滑块,取值范围取决于数据类型,例如Int类型,选择DEC+/-是从-3276832767;如果是浮点数,则也会是图中所示的滑块,取值范围为0.01.0。
序列
如下图所示,可以打开PLCSIM项目视图的序列功能,对PLC全局变量根据时间序列进行值的给定。
①展开序列,可以看到,点击“添加新序列”,可以新建更多的序列。
②点击“序列_x”可以在右边工作区打开指定的序列。
③添加变量名称或绝对地址。如果该变量为优化块变量,要求该变量必须使能"可从HMI/OPC UA访问",并且不支持片段访问;如果该变量为绝对地址访问,则没有上述要求。
④可以修改变量显示的数据格式。
⑤可以设置将变量设为值,还是特殊的对DI点设置以脉冲输入的设为频率。
⑥设定的值或者频率。
⑦设置时间的格式或单位,可以设置毫秒、秒、分钟、hh:mm:ss.ms。
⑧设置该步的起始时间与结束时间,以图中第2行为例,第2行这一步前的时间为该步的起始时间,1.5s,第3行这一步前的时间为该步的起始时间也是上一步的结束时间,3s,所以第2行这一步总的执行时间是3-1.5=1.5s。
⑨可以设置某步禁用或重新启用。
⑩选中该步并点击⑨处的禁用步,则为禁用状态。
⑪点击该按钮可以使整个序列往复执行。
⑫往复执行的序列则显示“重复序列”,否则显示“停止序列”。
⑬启动序列、暂停序列、停止序列。
⑭当前正在执行的步。
⑮当前步的执行时间,括号内为第几次的重复。
⑯可以设置步为立即启动或触发条件,如下图所示。
①设置触发变量,支持的数据类型包括位变量、位序列、整数、浮点数。只支持符号寻址的变量,并且必须使该变量使能"可从HMI/OPC UA访问"。
②设置触发事件,位变量支持"=True"和"=False",位序列和整数支持"=值"、"<>值",浮点数支持">值"、"<值"。
③设置比较值。
④点击确认按钮。
⑤最终的触发条件。
仿真PLC与真实PLC之间的区别
I/O 设备支持
S7-PLCSIM 不支持专用 I/O 设备功能。仅提供 I/O 寄存器的过程映像和直接访问仿真。 例如,可以通过模拟量输出范围监视来查看此专用功能。在物理设备上,如果 STEP 7 程序将范围外的值写入模拟量输出寄存器,则模拟量模块会返回诊断错误。S7-PLCSIM 中不会发生这种情况。诊断
S7-PLCSIM 不支持写入诊断缓冲区的所有错误消息。 例如,S7-PLCSIM 不仿真 CPU 中与故障电池相关的消息或 EPROM 错误。 但 S7-PLCSIM 可仿真大多数的 I/O 和程序错误。基于时间的性能
由于 S7-PLCSIM 软件运行在装有 Windows 操作系统的 PC 上,因此 S7-PLCSIM 中操作的扫描周期时间和确切时间不同于在物理硬件上执行的那些操作所需的时间。 这是因为 PC 的处理资源“竞争”产生了额外开销,具体开销取决于多种因素。
如果程序高度依赖于执行操作所需的时间,则需注意不应仅根据 S7-PLCSIM 仿真的时间结果来评估程序。受专有技术保护的块
S7-PLCSIM 不支持受专有技术或密码保护的块。 在对 S7-PLCSIM 执行下载操作前,必须删除保护。访问保护和复制保护
S7-PLCSIM 不会对访问保护或复制保护进行仿真。仿真通信
S7-PLCSIM 支持仿真实例间的通信。实例可以是 S7-PLCSIM 仿真或 WinCC 运行系统仿真。
可以运行 S7-PLCSIM 的两个实例,而且它们之间可相互通信。
可以运行 S7-PLCSIM V1x的一个实例和 S7-PLCSIM V5.4.6 或更高版本的一个实例,而且它们之间可相互通信。
仿真实例间的通信
所有仿真实例必须在同一 PC 上运行才能相互通信。每个实例的 IP 地址都不得重复。
S7-PLCSIM 支持 TCP/IP 连接。
对于 S7-1200 和 S7-1200F PLC,可使用 PUT/GET 和 TSEND/TRCV (T-block) 指令来仿真通信。
T-block 指令和 UDP
S7-PLCSIM 不能仿真组态为使用 UDP 协议的 T-block 连接。
T-block 指令和数据分段
S7-PLCSIM 执行 T-block 指令时数据分段为 1024 字节。实际 CPU 的数据分段为 8192 字节。
如果在单个 TSEND 指令中发送的数据超过 1024 字节,并且在 adhoc 模式下通过 TRCV 指令接收数据,则 TRCV 指令生成的新数据只有 1024 字节。此时,必须多次执行 TRCV 指令才能接收额外的字节。
T-block 指令和 数据缓冲
S7-PLCSIM 执行 T-block 指令时无需在接收 CPU 中缓冲数据。
不过在 S7-PLCSIM 中,只有仿真的接收 CPU 中的程序执行 TRCV 指令后,仿真的发送 CPU 才能完成 TSEND 指令。
但是,在 S7-PLCSIM 中执行 TSEND 指令时,只有接收 CPU 上的程序执行 TRCV 指令后,TSEND 指令才能完成。
每个仿真的 PLC 的 IP 地址都不得重复
如果每个仿真的 PLC 都具有相同的 IP 地址,则无法运行多个仿真。每个仿真的 PLC 的 IP 地址都不得重复。
在启动仿真之前,应确保 IP 地址在 STEP 7 中唯一。使 LED 闪烁
可在TIA PORTAL的“扩展的下载到设备”对话框中使 PLC 上的 LED 灯闪烁,但 S7-PLCSIM 无法仿真此功能。 但是通过事件仿真可以使ER灯闪烁。需要 SD 存储卡的功能
S7-PLCSIM 不会仿真 SD 存储卡。 因此,不能仿真需要存储卡的 CPU 功能。 例如,数据记录功能会将所有输出都写入 SD 卡,这样便无法仿真数据记录功能。数据日志
S7-PLCSIM 不支持数据日志。配方
S7-PLCSIM 不支持使用配方。Web 服务器
S7-PLCSIM 不支持 Web 服务器功能。PROFIBUS
如果 STEP 7 项目中包含 PROFIBUS 元素,则 S7-PLCSIM 不会仿真 PROFIBUS 元素,但是项目中的其它部分会照常仿真。 启动仿真之前,您无需将 PROFIBUS 元素从项目中移除。只是必须注意,S7-PLCSIM 会忽略 PROFIBUS 元素。F-CPU 仿真
要仿真 F-CPU,必须先在 STEP 7 项目中调整 F-参数 F-监视时间,然后再执行下载到 S7-PLCSIM。这是因为基于软件的仿真和物理硬件间存在时间差。
要调整 F 监视时间,请按以下步骤操作:在 STEP 7 项目树中,右键单击 F-CPU 并选择"属性"(Properties)。
在"属性"(Properties) 对话框中,导航到"故障安全 > F 参数 > 集中式 F-I/O 的默认 F 监视时间"(Fail-Safe > F-parameter > Default F-monitoring time for central F-I/O)。
将 F 监视时间从默认值 150 ms 调整为更高值。
单击"确定"(OK)。 可能需要重复该步骤,直至找到可使 F-CPU 仿真无错运行的 F 监视值。
指令支持
S7-PLCSIM 支持仿真的 S7-1200 和 S7-1200F 的大多数指令,就像物理 PLC 一样。可以下载成功编译到虚拟 PLC 中的所有程序。
但是,某些指令会调用仅受部分支持的SFC(系统函数)或 SFB(系统函数块),并且仿真可能无法按预期工作。
对于具有部分受支持指令的程序,S7-PLCSIM 将验证输入参数并返回有效输出,但不一定返回带有物理 I/O 的实际 PLC 将返回的信息。例如,S7-PLCSIM 不支持 SIMATIC SD 存储卡,因此在执行仿真时,用于将数据保存到存储卡中的程序指令实际上不会保存任何数据。