SIMATIC S7-1500与TIA博途软件的使用---连载7

已锁定

总坛主

  • 帖子

    1022
  • 精华

    21
  • 被关注

    395

论坛等级:至圣

注册时间:2011-02-24

黄金 黄金 如何晋级?

SIMATIC S7-1500与TIA博途软件的使用---连载7

6994

0

2016-03-15 16:28:50

 

  以下内容节选自机械工业出版社出版的西门子自动化技术丛书----《SIMATIC S7- 1500 与 TIA博途软件使用指南》, 作者崔坚。更多更详细的内容请您参考《SIMATIC S7- 1500 与 TIA博途软件使用指南》一书。

 

  S7-1500 CPU

  3.2 S7-1500 CPU

  3.2.1 S7-1500 CPU 简介

  CPU相当于一个控制器的大脑:输入模块采集的外部信号,经过CPU的运算和逻辑处理后,通过输出模块传递给执行机构,从而完成自动化控制任务。S7-1500 控制器的CPU包含了从CPU 1511到CPU 1518的不同型号,CPU性能按照序号由低到高逐渐增强。性能指标主要根据CPU的内存空间、计算速度、通信资源和编程资源等进行区别。          

  CPU按功能划分主要有以下几种类型:

  • 普通型

  实现计算、逻辑处理、定时、通信等CPU的基本功能,如CPU 1513、CPU 1516等。

 

  • 紧凑型

  CPU模块上集成I/O,还可以组态高速计数等功能。

 

  • 故障安全型

  CPU经过TUV组织的安全认证,如CPU 1515F、CPU 1516F等。在发生故障时确保控制系统切换到安全的模式。故障安全型CPU会对用户程序编码进行可靠性校验。故障安全控制系统要求系统的完整性,除要求CPU具有故障安全功能外,还要求输入、输出模块以及PROFIBUS/PROFINET通信都具有故障安全功能。

  从CPU的型号可以看出其集成通信接口的个数和类型,如CPU 1511-1PN,表示CPU 1511集成一个PN(PROFINET)通信接口,在硬件配置时显示为带有两个RJ45接口的交换机;又如CPU 1516-3 PN/DP表示CPU 1516集成一个DP(PROFIBUS-DP,仅支持主站)接口、两个PN接口(一个PN接口支持PROFINET IO,另一个PN接口支持PROFINET基本功能,例如S7、TCP等协议,但是不支持PROFINET IO)。

  S7-1500 CPU不支持MPI接口,因为通过集成的PN接口即可进行编程调试。与计算机连接时也不需要额外的适配器,使用PC机上的以太网接口即可直接连接CPU。此外PN接口还支持PLC-PLC、PLC-HMI之间的通信,已完全覆盖MPI接口的功能。同样PROFIBUS-DP接口也被PROFINET接口逐渐替代。相比PROFIBUS,PROFINET接口可以连接更多的I/O站点,具有通信数据量大、速度更快、站点的更新时间可手动调节等优势。一个PN接口既可以作为IO控制器(类似PROFIBUS DP主站),又可以作为IO设备(类似PROFIBUS DP从站)。在CPU 1516及以上的PLC中还集成DP接口,这主要是考虑到设备集成、兼容和改造等实际需求。

 

  3.2.2 S7-1500 CPU操作模式

  操作模式描述了 CPU 的状态。S7-1500 CPU 有下列几种操作模式:

  1)   停止模式(STOP)

  停止模式下CPU不执行用户程序。如果给CPU装载程序,在停止模式下CPU将检测所有已经配置的模块是否满足启动条件。如果从运行模式切换到停止模式,CPU将根据输出模块的参数设置,禁用或激活相应的输出,例如在模块参数中设置提供替换值或保持上一个值输出。通过CPU上的模式开关、显示屏或TIA博途软件可以切换到停止模式。

  2)   运行模式(RUN)

  运行模式下,CPU执行用户程序,更新输入、输出信号,响应中断请求,对故障信息进行处理等。通过CPU上的模式开关、显示屏或TIA博途软件可以切换到运行模式。

  3)   启动模式(STARTUP)

  与S7-300/400相比,S7-1500的启动模式只有暖启动(Warm Restart)。暖启动是CPU从停止模式切换到运行模式的一个中间过程,在这个过程中将清除非保持性存储器的内容,清除过程映像输出,处理启动 OB,更新过程映像输入等。如果启动条件满足,CPU将进入到运行模式。

  4)   存储器复位(MRES)

  存储器复位用于对CPU的数据进行初始化,使CPU 切换到“初始状态”,即工作存储器中的内容以及保持性和非保持性数据被删除,只有诊断缓冲区、时间、IP 地址被保留。复位完成后,CPU存储卡中保存的项目数据从装载存储器复制到工作存储器中。只有在CPU 处于“STOP”模式下才可以进行存储器复位操作。

 

  3.2.3 S7-1500 CPU的存储器

  S7-1500 CPU的存储器主要划分为CPU内部集成的存储器和外插的SIMATIC 存储卡。CPU内部集成的存储器又划分为工作存储器、保持性存储器和其它(系统)存储器三部分;外插SIMATIC 存储卡为装载存储器。存储器的分布示意图如图3- 6所示。

  1)   工作存储器

      工作存储器是一个易失性存储器,用于存储与运行相关的用户程序代码和数据块。工作存储器集成在 CPU 中,不能进行扩展。在 S7-1500 CPU中,工作存储器分为以下两个区域:

  • 代码工作存储器:代码工作存储器存储与运行相关的程序代码部分,例如FC、FB以及OB块。

  •  数据工作存储器:数据工作存储器存储DB块和工艺对象中与运行相关的部分。有些DB可以只存储于装载存储器中。

  注意:根据输入、输出的点数及程序的占用空间选择合适的CPU,如果程序量超过工作存储器的空间,只能更换更大存储容量的CPU。

 

  2)   保持性存储器

   保持性存储器是非易失性存储器,在发生电源故障或者掉电时可以保存有限数量的数据。这些数据必须预先定义为具有保持功能,例如整个DB块、DB块中的部分数据(优化数据块)、位存储器M区、定时器和计数器等。

  当操作模式从POWER ON转换为STARTUP,或者从STOP转换为STARTUP时,所有的非保持变量值都将丢失并设置为起始值。通过存储器复位或者恢复出厂设置操作可以清除保持性存储器中的数据。工艺对象中已定义保持功能的变量也存储在保持性存储器中,存储器复位期间,不会清除这些变量数据。

 

  • 设置数据块DB的保持性

 

  打开数据块,点击“保持性”选项可以选择需要保持的变量,如图3- 7所示。

 

  注意:优化数据块中可以将单个变量定义为具有保持性,而在标准数据块中,仅可统一地定义全

部变量的保持性。

 

  • 设置位存储器M区、定时器和计数器的保持性

  如图3- 8所示,在项目树中选择“PLC变量”->“显示所有变量”->“变量”标签栏,点击“保持性”按钮设置保持功能,在弹出的对话框中可以增加M、T、C保持变量的个数。不同类型的存储区具有不同大小的保持性空间。

 

  • 设置函数块FB接口变量的保持性

  由于FB块接口变量需要保存在背景DB块中,所以接口的变量也可以设置保持性。Input、Output、InOut以及Static类型声明的变量可以设置保持性,但Temp和Constant类型声明的变量和常量不能设置保持性。如果选择“在IDB中设置”,则可以在背景数据块中进行设置,参考图3- 9中的设置。

  注意:优化的函数块接口中,可以将单个变量定义为具有保持性,而标准的函数块接口中仅可统一地定义全部变量的保持性。

 

  • 保持存储器的大小

  CPU保持存储器的大小与CPU的类型有关,这可以从CPU的技术数据中查看到,也可从TIA博途软件中查看到,例如图3- 10显示当前可用空间。通过在项目树中选择“程序信息”->“资源”标签栏可以查看到保持存储器使用的详细信息。如图3- 10所示,从图中可以看到CPU的保持存储器空间大小为484000个字节,使用了7000个字节。下面是在程序块和PLC变量M、C、T使用的详细信息。

  3)   其它(系统)存储区

  其它存储区包括位存储器、定时器和计数器、本地临时数据区以及过程映像,这些数据区的大小与CPU的类型有关。

  4)   装载存储器

  SIMATIC存储卡就是装载存储器,是一个非易失性存储器,用于存储代码块、数据块、工艺对象和硬件配置等。这些对象下载到CPU时,会首先存储到装载存储器中,然后复制到工作存储器中运行。由于SIMATIC存储卡还存储变量的符号、注释信息及PLC数据类型等,所以所需的存储空间远大于工作存储器。装载存储器使用的详细信息可以参考图3- 10中的“装载存储器”栏信息。

  SIMATIC 存储卡带有序列号,可用于与用户程序进行绑定,具体操作参看访问保护章节。在SIMATIC存储卡的属性中可以读出序列号,此外还可以读出存储卡的容量、使用信息和卡的模式。在项目树中选择“读卡器/USB存储器”->“SIMATIC MC”,鼠标右键选择属性,弹出窗口如图3- 11所示。

  在项目中可以看到存储卡存储的程序信息,在存储卡属性界面中可以查看模式信息。存储卡的模式有三种,分别为程序模式,用于存储用户程序;传送模式,只用于向S7-1200 CPU复制程序;固件更新模式,用于升级CPU的固件版本。这些功能将在程序调试章节中进行详细介绍。

 

注意:

  • 可以使用商用PC机的SD插槽中读出SIMATIC 存储卡的内容,也可以删除存储卡中的用户程序,但是不能使用Windows中的工具对存储卡进行格式化或删除存储卡中的隐藏文件,否则可能会对SIMATIC 存储卡造成损坏。如果误删隐藏文件,需要将存储卡安装在S7-1500 CPU中,使用TIA博途软件对它进行在线格式化,恢复存储卡中的隐藏文件。

  • SIMATIC 存储卡可以像普通商用SD卡一样存储文件,例如WORD、EXCEL文件,但是普通商用SD卡不能作为SIMATIC 存储卡使用。

  5)   S7-1500存储器总结

  • 工作存储器的空间大小与CPU的类型有关,不能扩展,所以选择CPU的类型时,除了考虑程序处理速度外还要考虑程序的大小。

  • CPU暖启动(停止-启动或上电启动)后,保存在工作存储器上的过程值丢失,变量恢复到初始值。如果需要保持过程值,需要设置变量的保持性。保持性存储器的容量空间与CPU的类型有关。

  • SIMATIC存储卡是一个非易失性存储器,对CPU的任何操作不会让存储的用户程序丢失,也不会损毁程序。

  • 如果CPU受到干扰或者在运行时拔插SIMATIC存储卡,CPU会进入故障模式,即CPU上所有的指示灯全闪,与外围设备的通信中断。断电后再上电,由于用户程序不会丢失,系统将恢复,但是CPU中变量的过程数据有可能丢失并恢复到初始值,这相当于重新下载了程序。

  3.2.4 S7-1500 CPU过程映像区的功能

  用户程序访问输入(I)、输出(Q)信号时,通常不直接扫描数字量模块的端口,而是通过位于CPU系统存储器的一个存储区域对I/O模块进行访问,这个存储区域就是过程映像区。过程映像区分为两部分:过程映像输入区和过程映像输出区。系统更新过程映像区的过程如图3- 12所示。

  CPU在启动模式执行启动OB块。启动完成后,CPU进入循环程序执行模式,并将结果通过过程映像输出区(PIQ)输出到输出模块,然后将输入模块的信号读到过程映像输入区(PII)。过程映像输入区更新完成后开始执行用户程序的调用。OS为操作系统的一个内部任务,用于通信和自检等操作,自检无误后再次将结果通过过程映像输出区(PIQ)输出到输出模块,循环往复。过程映像区既可以受操作系统控制而自动更新,也可以通过程序进行更新。

  采用过程映像区处理输入、输出信号的好处在于,在CPU一个扫描周期中,过程映像区可以向用户程序提供一个始终一致的过程信号。如果在一个扫描周期中输入模块上的信号状态发生变化,过程映像区中的信号状态在当前扫描周期会保持不变,而直到下一个CPU扫描周期过程映像区时才被更新,这样就保证了CPU在执行用户程序过程中数据的一致性。

  在S7-300/400 PLC中,有的CPU的过程映像区是固定的,例如有的S7-300 PLC为128个字节输入和128个字节输出,S7-400 PLC的过程映像区大小可以在软件中设置。S7-1500 CPU所有地址区都在过程映像区中,地址空间为32KB。访问数字量模块与模拟量模块方式相同:输入都是以关键字符%I开头,例如%I1.5、%IW272;输出都是以关键字符%Q开头,例如%Q1.5、%QW272。

  为了减小过程的响应时间,在用户程序中也可以不经过过程映像区而直接访问某个I/O端口(在地址区后加“:P”)。端口扫描将在指令运行期间执行,由此可获得较快的响应时间。例如在程序中可以一次或多次使用“L %IB2:P”或“T %QW2:P”指令替代“L %IB2”或 “T %QW2”,这样对应的I/O端口在一个扫描周期内被多次访问。使用“:P”快速读写I/O端口也称为立即读、立即写。直接访问I/O端口,允许最小的数据类型为位信号。为了继承S7-300/400的编程方式,也可以在地址区前加“P”, 例如“L PIB2”或“T PQW2”,TIA博途软件会自动进行转换。

  在S7-1500自动化系统中,整个过程映像区被细分为32个过程映像分区(PIP)。

  PIP 0(自动更新)在每个程序周期中自动更新。可将过程映像分区 PIP 1 至PIP 31分配给某些 OB。在 TIA博途软件中,分配过程在组态I/O模块期间进行。例如点击“模块”->“属性”标签->“I/O地址”,将过程映像分区 PIP 2分配给循环中断OB30,如图3- 13所示。

  一旦PIP 2分配给循环中断OB30后,就不能再次分配给其它OB块。

  注意:

  如果过程映像区通过OB块进行更新,则不能再次调用函数“UPDAT_PI”和“UPDAT_PO”来更新这个过程映像分区。

 

  使用过程映像分区好处在于:

  • 每个过程映像区分区可以在需要的情况下更新,完全独立于操作系统对过程映像区的更新;

  • 过程映像区分区比较小,CPU的响应时间更快,以CPU 1513为例,集中式I/O模块的更新时间为9微秒/字,如果使用分布式I/O ,CPU与IO控制器间的更新时间(数据交换)为0.5微秒/字,接口模块更新本站的I/O模块同样需要时间。

  响应时间长短也与扫描时间有关,例如OB1扫描时间是20毫秒,OB30设定扫描时间为10毫秒,在OB30中对几个I/O模块的信号进行处理。如果将这些I/O模块配置为自动更新PIP0,那么更新时间至少需要20毫秒,即使OB30再快,过程响应时间也会增加。如果将这些I/O模块配置在一个过程映像分区,并分配给OB30,就可以得到最优化的效果。

 

SIMATIC S7-1500与TIA博途软件的使用---连载7 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有8577条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。