收藏 分享(赏)

S7-300CPU数据块存.doc

上传人:精品资料 文档编号:11194864 上传时间:2020-02-15 格式:DOC 页数:8 大小:144KB
下载 相关 举报
S7-300CPU数据块存.doc_第1页
第1页 / 共8页
S7-300CPU数据块存.doc_第2页
第2页 / 共8页
S7-300CPU数据块存.doc_第3页
第3页 / 共8页
S7-300CPU数据块存.doc_第4页
第4页 / 共8页
S7-300CPU数据块存.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、西门子 S7-300CPU 数据块存储常见问题问题 1:数据块的初始值有什么作用?回答:数据块的初始值仅对于一个数据块的“离线“ 组态有意义。如果用户离线创建了一个新的数据块或者在离线组态的过程中在数据块里创建了一个新的变量,如果用户不做任何修改,新建的变量会使用系统默认值作为初始值,如果用户为此变量指定了其它数值作为初始值,数据块将会多占用相应变量长度的 Load memory。在此后的操作中(数据块的上传及下载),只要数据块的结构,变量的数据类型没有发生改变,变量的初始值都没有实际作用,只起到变量类型定义的作用。如果用户不给此新建的变量指定实际值,初始值会被用作变量的实际值。用户可以给变量

2、指定实际值,初始值可以与实际值不同。问题 2:数据块的实际值有什么作用?回答:数据块中的每个变量都有自己的实际值,如果用户不自行指定,系统将使用初始值作为变量的实际值;如果用户自行指定变量的实际值,则变量的初始值与实际值可能不相同。如果用户在 data view 视图下,在菜单命令中执行 Edit initialize data block,数据块中所有变量的实际值都将被初始值覆盖(用户执行此操作需要格外谨慎,需要确认不再需要数据块中的实际值)。问题 3:数据块如何实现断电保持特性?回答:为了断电保存数据,S7-300CPU 中的 Work memory 划分为两部分,其中一部分类型为 RAM

3、(断电丢失),一部分为 NVRAM(断电保持),如果数据块为断电保持,则此数据块需要占用具备断电保持特性的 Work memory 部分。当 CPU 经历 POWER ONPOWER OFF POWER ON 或者 RESTART 过程后,数据块中的数据不会丢失。注意:当用户在 S7-300CPU 项目中插入新的数据块时,系统默认其属性为断电保持。数据块断电保持是 work memory 的特性,与 Load memory(MMC) 无关。问题 4:具备断电保持特性的数据块何时会丢失当前值?回答:如下操作会导致数据块丢失当前值 Memory RESET 操作(手动开关操作及 STEP7 中菜单

4、操作) CPU 在没有 MMC 卡的情况下上电(实际是因为此情况导致了 CPU 执行 Memory RESET操作) 插入损坏 MMC 卡/错误 MMC 卡的情况下上电(实际是因为此情况导致了 CPU 执行Memory RESET 操作) CPU 损坏 下载数据块,且离线数据块中的 actual value 与当前数据块中的数值不同注意:Memory RESET 操作将删除标志位、S7 定时器和 S7 计数器地址区的值,而不管这些区域是否已定义为保持或非保持属性。对于停止/启动(STOP/RUN)操作模式或断电/上电(POWER OFF/ON ),如果标志位、S7 定时器和 S7 计数器地址区

5、已定义为保持,则保持它们的数值;否则,这些区域的数值将丢失且被初始化为“0”。问题 5:如何使 MMC 卡中的数据块与 Work memory 中的数据块保持一致?回答:当用户第一次将数据块下载到 CPU 后,如果用户程序及用户监控 /修改操作对数据块未进行过任何修改,则 MMC 卡中的数据块与 Work memory 中的数据块内容是一致的(这种情况在实际应用中很少出现)。一般情况下,用户程序及用户的监控/修改操作都会影响数据块的当前值,此数值位于Work memory 中,这样 MMC 卡中的数据块有可能与 Work memory 中的数据块内容不一致。对于不同的数据块属性,此情况会有所不

6、同,可分为 3 种:1. 勾选了 Un-linked 选项的数据块此数据块只存储于 MMC 卡,不存在与 Work memory 数据一致问题2. 勾选了 Non-Retain 选项的数据块由于此类数据块断电不保持,所以在每次断电后,Work memory 中数据块当前值丢失;CPU 再上电后, MMC 卡中数据块被复制到 Work memory 中,两者将保持数据一致。3. 未勾选 Non-Retain 选项的数据块由于此类数据块断电保持,所以在每次断电后,Work memory 中数据块当前值保持;CPU再上电后,MMC 卡中数据块有可能与 Work memory 中数据不一致。解决办法:

7、1. 需要 Work memory 中数据块作为保留值:请参考问题 11 的操作2. 需要 MMC 卡中数据块作为保留值:执行 RESET 操作问题 6:数据块的 “Non-Retain”“Un-linked”属性对于数据块的内存占用有何影响?回答: S7-300 CPU 从版本 V2.0.12 开始,开始支持具备 “Non-Retain”属性的数据块。S7-300 CPU 中的 Work memory 划分为两部分,其中一部分类型为 RAM(断电丢失),一部分为 NVRAM(断电保持),有关 CPU 中可供保持数据块使用的主存储器空间信息,可参看手册“S7-300 CPU 31xC and

8、CPU 31x, TechnICal Data”的第六章和第七章,条目 ID: 12996906。数据块的属性对于数据块的内存占用影响情况请参考下表:内存区域数据块属性 Load memory Work memory Work memory(Retentive )Non-Retain 不勾选(系统默认) 是 否 是Non-Retain 勾选 是 是 否Un-linked 是 否 否以 CPU 315(6ES7-315-2EH13-0AB0, Firmware V2.6.7)为例,其 Work memory 共256KB,其中可以断电保持的 Work memory 共 128KB, 而 Load

9、 memory 取决于所使用MMC 的容量。用户可以下载的具备断电保持属性的数据块总量为 128KB;如果用户还需要使用更多的数据块,可以新建数据块,并在其属性中勾选 Non-Retain 选项,则另外还可以下载 128KB 数据(如果考虑到用户程序还需要占用此部分的 Work memory,所以实际使用中达不到此数值);如果用户还需要使用更多的数据块,可以新建数据块,并在其属性中勾选 Un-linked 选项,则此数据块只存储于 MMC 中,用户可以使用 SFC83/84 对其进行读写。问题 7:用户下载数据块时,其过程是什么样的?回答:以下列出了用户下载数据块时,3 种常见过程1. 数据块

10、属性中勾选了 Un-linked 选项2. 数据块属性中未勾选 Un-linked 选项,未勾选 Non-Retain 选项Download3. 数据块属性中未勾选 Un-linked 选项,勾选 Non-Retain 选项Download问题 8:用户使用 STEP7 监视/修改(monitor/modify)的数据块中的数值,位于什么存储区?回答:用户使用 STEP7 监视(monitor)功能时,读到的数值来自于 CPU 的 Work memory。用户使用 STEP7 修改(modify)功能时,修改的是位于 CPU 的 Work memory中的数据块的数值。注意:使用 monito

11、r/modify 无法修改 MMC 卡中的 initial value 及 Actual value注意:使用 monitor/modify 无法监控 Un-linked 类型数据块问题 9:用户使用 STEP7 中 Upload Station to PG 操作时,数据块来自于什么存储区?回答:当用户使用 STEP7 中 Upload Station to PG 操作时,数据块的 Initial value 来自于load memory 中的 Initial value;数据块的 actual value 来自于 work memory 中的 actual value;问题 10:如何读出

12、MMC 中数据块的 Actual value?回答:有时候用户需要将实时运行数据按照特定规律归档,即使 CPU 损坏或者 CPU 复位操作也不会造成这些数据丢失,这些数据可以定期(或根据用户程序编制需求)通过SFC84 存储到 MMC 卡上(不推荐使用 Copy RAM to ROM 功能,此操作需要 CPU 停机)。当用户需要将这些数据时,就需要将这些数据块的 Actual value 读出。用户无法通过使用STEP7 中 Upload Station to PG 操作实现此功能。为了实现此功能,用户可以通过两种方法实现:1. 使用西门子专用读卡器,通过菜单命令 File memory ca

13、rd open 打开 MMC 文件夹,将其中的数据块复制到另一个 S7 Block 文件夹中,则此文件夹中的数据块中的 Actual value 是来自于 MMC 中数据块的 Actual value。2. 使用 SFC83,通过程序将 MMC 中数据块的 Actual value 写至某个数据块中,上载此数据块,则此数据块中的 Actual value 与 MMC 中数据块的 Actual value 相同(注意:仅仅是数值相同)问题 11:如何将 CPU 数据块中当前值作为参数保存到项目中?回答:建议用户为参数数据块新建一个 S7 program 文件夹,以方便日后的调试工作。方法 1 步

14、骤:1. 打开原来项目中的数据块,在菜单中选择 File Open online,则打开了在线数据块,2. 在菜单中选择 File Store Read-Only,在提示界面下,选择新建的 S7 Promgram/Blocks 文件夹。则此数据块被以只读的方式存储,用户可以监视此数据块,但无法在计算机上修改其 Actual value。其属性为 Block read-only。3. 将此数据块下载到 CPU 中(完成对 MMC 卡的覆盖)。缺点:备份数据块在 STEP7 编辑环境下为只读属性,数据块与普通数据块操作不同,日后更改困难优点:备份数据块在 STEP7 编辑环境下为只读属性,不会被错

15、误更改方法 2 步骤:1. 将在线的 CPU 中的数据块复制到新建的 S7 program/Blocks 文件夹中,2. 将此数据块下载到 CPU 中(完成对 MMC 卡的覆盖)。缺点:备份数据块没有变量名及注释,不便于识别优点:备份数据块与普通数据块操作相同方法 3 步骤:1. 将在线的 CPU 中的数据块复制到新建的 S7 program/Blocks 文件夹中,2. 在菜单中选择 PLC Copy RAM to ROM(完成对 MMC 卡的覆盖)。缺点:会导致 CPU 停机(Copy RAM to ROM 操作),备份数据块没有变量名及注释,不便于识别,操作会影响所有的数据块,所有数据块

16、 load memory 中的 actual value 都将被work memory 中的 actual value 覆盖。问题 12:如何使 CPU 数据块中当前值不被程序更改?回答:用户可以将数据块的 DB is write-protected in the PLC 属性勾选并下载。问题 13:STEP 7 功能“Copy RAM to ROM”有何作用?回答:Copy RAM to ROM 会把 work memory 中的数据块数值写至 MMC 卡中数据快的 actual value 中。问题 14:使用 SFC 82 有何注意事项?回答:SFC 82 只能生成 Non-Retain

17、,UN-Linked ,read-only 类型的数据块SFC 82 可能需要多个扫描周期才可完成,触发调用 SFC82 后,需要把触发条件复位SFC 82 对 MMC 卡有写操作,MMC 仅允许进行 100,000 次写访问,超过此次数,MMC卡将损坏问题 15:使用 SFC 83 有何注意事项?回答:SFC 83 可能需要多个扫描周期才可完成,触发调用 SFC83 后,需要把触发条件复位SFC 83 多用于读取 UN-Linked 类型的数据块问题 16:使用 SFC 84 有何注意事项?回答:SFC 84 可能需要多个扫描周期才可完成,触发调用 SFC84 后,需要把触发条件复位SFC

18、84 对 MMC 卡有写操作,MMC 仅允许进行 100,000 次写访问,超过此次数,MMC卡将损坏SFC 84 多用于写 UN-Linked 类型的数据块,对于断电保持的数据块也可以进行写操作,但只有在 CPU 复位的情况下才可查看到 SFC84 最后一次写操作的数值。参考例子:例子 1:如果生成变量,并使用默认值,其源代码将不包含初始值源代码:DATA_BLOCK DB 6TITLE =VERSION : 0.1STRUCTtest1 : INT ; /初始值为默认值时,都为此类格式test2 : INT := 1234;test3 : INT := 1234;END_STRUCT ;B

19、EGINtest1 := 0;test2 := 1234;test3 := 1234;END_DATA_BLOCK例子 2:work memory 中数据保持区接近被占用 100%的情况,此时无法下载断电保持数据块,但可以下载“Non-Retain”、“Un-linked”数据块及程序。西门子论坛下载:MMC 的使用寿命主要取决于以下因素:1. 删除或编程步骤的数量。使用 MMC 的 CPU 有 SFC 82,83,84 等特性,可以进行数据的读写: SFC82“CREA_DBL”:在装载内存( Load Memory)中生成数据块 SFC83“READ_DBL”:读装载内存( Load Me

20、mory)中的数据块 SFC84“WRIT_DBL”:写数据块(内容)到装载内存( Load Memory)即 MMC 卡中。但是,请注意由于 MMC 卡重复写入的次数是有限的,所以当调用 SFC 84 向 MMC 卡写数据时最好只在相应的时间间隔(例如每小时,每天 .)调用。如果 MMC 卡在保存时发生故障,相关的调用块会发出否定应答,其结果存放在程序的返回值(RET_VAL)中。错误就会记录在 CPU 的诊断缓冲区中。关于 SFC 82,83,84 的使用参见文档 “MMC 卡数据的读写”。MMC 卡数据的读写.pdf2. 外界影响,例如周围温度。当周围温度超过为 60时,会影响 MMC

21、的使用寿命,0-60的工作环境下,MMC 卡可进行删除/ 写 操作 100,000 次3. MMC 卡严禁带电插拔。务必在电源关闭的条件下拆卸该卡。带电插拔时会使卡烧坏。4. 一些意外情况情况也会损坏 MMC 卡1) 当装载用户程序时突然断电2) 当执行 “copy RAM to ROM”时突然断电。3) 当存储器复位时出现模块存储赋值错误。4) 错误格式化或格式化不能进行。5) 当用户用手触摸 MMC 卡金属部分时,如果有静电,也可能使卡损坏。注意:MMC 卡只能使用西门子的 PG 或西门子专有的读卡器(prommer )进行格式化,使用其它第三方的读卡器进行读卡和格式化操作都将破坏此卡。摘自:S7300CPU 存储器介绍及存储卡使用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报