S7-300数据块
- 格式:doc
- 大小:332.00 KB
- 文档页数:10
S7-300 系列PLC组态简介一、系统构成西门子S7-300系列的常用组件主要有电源模块(1)、CPU模块(1)、开关量模块(2)、开关量输出模块(2)、模拟量输入模块(2)、模拟量输出模块。
说明如下:1.电源模块:PS307—5A;为PLC系统提供稳定的24V直流电源。
2.CPU模块:CPU314;是系统的核心负责程序的运行,数据的存储与处理,与上位机的通讯和数据的传输。
3.开关量输入模块:SM321;可进行32路开关量的检测,输入信号为24V有效,若输入为无源触点,可利用电源模块提供24V驱动信号。
4.开关量输出模块:SM322;可提供8路开关量输出,为继电器输出方式;分为4组每两路公用一个公共端。
5.模拟量输入模块:SM331;为实现对8路模拟量数据采集,输入信号可以是电流信号、电压信号、热电偶输入、热电阻输入,可根据不同的应用场合对模块进行设置。
6.模拟量输出模块:SM332;可提供4路模拟量输出信号,根据应用可将各路输出设置为电压输出或电流输出。
图1、系统模块组成。
二、硬件组态1.基本机架(中心机架)机架即是用于安装固定各个模块的专用槽架。
PLC的各个模块就遵循一定的规则固定在上面。
每个机架中:插槽1为电源模板插槽;插槽2为CPU模板插槽;插槽3留给通讯模板接口模板及扩展模板。
插槽4以后留给应用模板。
每个模块最多可以安装8个应用模块。
模块的底部通过总线连接器与前后的模块想连接,构成一个整体系统。
中心机架至少应装配电源模块和CPU模块,再根据需要配置其他功能模块。
说明:所谓插槽,在这里只是抽象的概念,S7—300系统中的机架物理形态上只是一个槽形轨道,上面没有具体的插槽,模块也只是按一定顺序固定在上面,模块之间也无须保留空间,而是紧密地相邻安装。
插槽的概念只有在对系统进行软件组态时才能具体化。
(软件组态将在后面介绍)2.机架的扩展当基本机架不能满足系统要求时,可通过扩展机架对系统进行扩展,扩展方式有两种:①、用IM365模板:可扩展一个机架,需用两块IM365模板,连接长度最长为一米。
FC功能:S7-300的DP模块概述下列FC功能可用在S7-300的DP主站和DP从站注意:下列描述也可以解释多种数据快版本和模块类型间的不同响应,请注意SIMITIC_NET_CP数据库中的子文件夹的IDs版本和数据块本身的IDs版本,你可以在我们的用户支持内找到当前数据快版本的相关信息以及通过网络下载当前最新的数据块版本。
应用下面图表阐明了DP_SEND和DP_RECV两个FC功能在DP主站和DP从站间的应用。
FC1 DP_SEND描述DP_SEND功能(FC)把数据传送到PROFIBUS CP,依赖PROFIBUS CP模块,DP_SEND 有下列意义。
●在DP主站功能块从一个规定的DP输出区域传送数据到PROFIBUS CP来输出给分散式I/O系统。
●在DP从站功能块从CPU规定的DP数据区传送数据到PROFIBUS CP的上传缓冲区来输出给DP主站。
规定的数据区可以是一bit记忆存储区或者是一个数据块区域。
当全部数据区域都可以被PROFIBUS CP接收的时候会给出正确执行的信号。
切记在应用程序中DP_SEND功能至少要在DP主站和DP从站上执行一次。
(注意:这不一定适用于更新的CP型号,请注意CP应用手册上的说明)执行接口用STL表示的试例:FC1 DP_SEND:符号参数FC DP_SEND:验证代码下列列表阐明用户程序如何验证由DONE,ERROR和STATUS组成的代码。
注意:STSTUS中8FxxH的代码,参照STEP7标准中的信息和系统功能参考手册,此章节描述输出参数RET_VAL的错误验证包含的详细信息。
FC2 DP_RECV描述DP_RECV功能(FC)通过PROFIBUS接收数据,依赖PROFIBUS CP模块,DP_SEND 有下列意义。
●在DP主站DP_RECV从分散式I/O系统接收过程信息和状态信息,并且送到指定的DP 输入区域。
●在DP从站DP_RECV从PROFIBUS CP的接收缓冲区接受由DP主站传送的DP数据,并且将他们送到CPU的DP数据区域。
S7-300功能添加说明2008-6-5 施1、组织块(OB)使用说明1.1 OB功能说明:一般情况下,S7-300的PLC使用的组织块(OB)有OB1、OB35、OB80、OB81、OB82、OB84、OB85、OB86、OB100、B121、OB122OB1:启动结束或OB1 执行结束OB35:循环中断5(默认时间间隔:100ms)OB80:时间故障OB81:电源故障OB82:诊断中断OB84:CPU 硬件故障OB85:程序故障OB86:扩展机架、DP 主站系统或分布式OB100:暖启动OB121:编程故障OB122:I/O 访问故障1.2OB组织块建立说明:一、在右侧右击鼠标“右键”会弹出一个窗口如下,二、选择“Insert New Object”将会弹出下一级子窗口三选择“Organization Block”并单击,弹出以下对话框在“Name”里写入需要的组织块(OB),点击“”就可以了,如写入 OB35、OB80、OB81、OB82、OB84、OB85、OB86、OB100、B121、OB1222.1 FC功能说明:FC 相当于一个子程序,在里面可以由用户编写自己所需要的程序,最后在OB1中调用所有建立的FC即可,FC不具有断电保持功能,但是需要断电保持的话,可以调用数据块DB,所有的DB快都具有断电保持功能2.2 FC功能建立说明::一、在右侧右击鼠标“右键”会弹出一个窗口如下,二、选择“Insert New Object”将会弹出下一级子窗口三选择“Function”并单击,弹出以下对话框在“Name”里写入需要的功能(FC),如FC1、FC2…………,范围为1……999都可以,在下面的“Symbolic Name”可以写入自己需要的注释。
点击“”就可以了。
3.1 DB数据块说明:DB 相当于数据M区,但在里面可以由用户编写自己所需要长度的数据,最大长度可以有65535个字节,且具有断电保持功能。
组织块使用说明1、组织块总览(OB)1.1 什么是组织块?组织块是操作系统和用户程序之间的接口。
OB 用于执行具体的程序:• 在CPU 启动时• 在一个循环或时钟执行时• 当发生故障时• 当发生硬件中断时组织块根据其优先级执行。
1.2 可使用哪些组织块?不是所有的CPU 都能处理STEP 7 中所有的组织块。
至于您使用的CPU 中包括哪些OB, 请参见操作列表/72/和/102/。
何处可以找到更多信息?参见在线帮助和以下手册可以得到更多的信息:• /70/:该手册包含有描述不同S7-300 CPU 功能的技术数据。
• /101/:该手册包含有描述不同S7-400 CPU 功能的技术数据。
下列表格中包含每一个OB 的启动事件及对应的优先级。
OB 启动事件 默认的优先级解释OB1 启动结束或OB1 执行结束 1 自由循环OB10 日期时间中断0 2 没有指定缺省时OB11 日期时间中断1 2 间 OB12 日期时间中断2 2OB13 日期时间中断3 2OB14 日期时间中断4 2OB15 日期时间中断5 2OB16 日期时间中断6 2OB17 日期时间中断7 2OB20 延时中断0 3 没有指定缺省时OB21 延时中断1 4 间 OB22 延时中断2 5OB23 延时中断3 6OB 启动事件 默认的优先级解释OB30 循环中断0(缺省时间间隔:5s) 7 循环中断 OB31 循环中断1(缺省时间间隔:2s) 8OB32 循环中断2(默认时间间隔:1s) 9OB33 循环中断3(默认时间间隔:500ms)10 OB34 循环中断4(默认时间间隔:200ms)11 OB35 循环中断5(默认时间间隔:100ms)12 OB36 循环中断6(默认时间间隔:50ms)13 OB37 循环中断7(默认时间间隔:20ms)14 OB38 循环中断8(默认时间间隔:10ms)15OB40 硬件中断0 16 硬件中断 OB41 硬件中断1 17 OB42 硬件中断2 18 OB43 硬件中断3 19 OB44 硬件中断4 20 OB45 硬件中断5 21 OB46 硬件中断6 22 OB47 硬件中断7 23OB55 状态中断 2 DPV1 中断 OB56 刷新中断2 OB57 制造厂商用特殊中断 2OB60 SFC 35“MP_ALM”调用 25 多处理器中断 OB61 周期同步中断1 25 同步循环中断 OB62 周期同步中断2 25 OB63 周期同步中断3 25 OB64 周期同步中断425OB70 I/O 冗余故障(只对于H CPU) 25 冗余故障中断 OB72 CPU 冗余故障(只对于H CPU) 28 OB73 通讯冗余故障(只对于H CPU) 25OB80 时间故障 26,281) 同步故障中断 OB81 电源故障 25,281) OB82 诊断中断25,281) OB83 模板插/拔中断 25,281) OB84 CPU 硬件故障 25,281) OB85 程序故障25,281) OB86 扩展机架、DP 主站系统或分布式I/O 从站故障 25,281) OB87 通讯故障 25,281) OB88 过程中断28OB90暖或冷启动或删除一个正在OB90 中执行的块或装载一个OB90 到CPU 或中止OB90292)背景循环1-2OB 启动事件 默认的优先级解释 OB100 暖启动 271) 启动 OB101 热启动 271)OB102 冷启动 271)OB121 编程故障 引起故障的OB的同步故障中断OB122 I/O 访问故障 优先级引起故障的OB的优先级1)优先级27 和28 在优先级启动模式中是有效的。
SIMATICS7-300S7-300模块数据设备手册Siemens AG Division Digital Factory Postfach 48 48 90026 NÜRNBERG A5E00432670-AJⓅ 08/2017 本公司保留更改的权利Copyright © Siemens AG 2012 - 2017.保留所有权利法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。
人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。
警告提示根据危险等级由高到低如下表示。
危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。
警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。
小心表示如果不采取相应的小心措施,可能导致轻微的人身伤害。
注意表示如果不采取相应的小心措施,可能导致财产损失。
当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。
如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。
合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。
其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。
由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。
按规定使用Siemens 产品请注意下列说明:警告Siemens 产品只允许用于目录和相关技术文件中规定的使用情况。
如果要使用其他公司的产品和组件,必须得到 Siemens 推荐和允许。
正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。
必须保证允许的环境条件。
必须注意相关文件中的提示。
商标所有带有标记符号 ® 的都是西门子股份有限公司的注册商标。
本印刷品中的其他符号可能是一些其他商标。
若第三方出于自身目的使用这些商标,将侵害其所有者的权利。
西门子S7-300 中FB功能块的使用方法:1.创建功能块FB1准备完成如下功能:将“整型”变量转换成“实型”变量2.打开功能块FB13.在功能块FB1中添加入口参数、出口参数、静态变量入口参数=IN0 ---> 整型(INT)出口参数=OUT1 ---> 实型(REAL)静态变量=STAT2 ---> 整型(INT)局部变量=TEMP3 ---> 长整型(DINT)4.创建背景数据块DB25.打开DB2背景数据块,可以看到系统默认建立了三个数据IN0 ---> 入口参数(整型)OUT1 ---> 出口参数(实型)STAT2---> 静态变量(整型)6.打开FB1功能块,编写如下代码,实现将“整型”变量转换成“实型”变量同时再编写一段静态变量自加1代码7.打开OB1主程序,添加FB1功能块如何确定程序参数类型的块编号并传送给FC ?介绍使用以下程序代码可确定参数类型(BLOCK_FC, BLOCK_FB, TIMER or COUNTER)的编号。
例1 :FB 块FB1 变量声明中定义了“Timer”类型的变量“Time_1”,在FB2 中调用FB1,将定时器“T5”传递给变量“Time_1”。
如图01 所示程序代码中数值5 表示“T5”。
图. 01例2 FCFC1 变量声明中定义了“Timer”类型的变量“Time_1”,在FC2 中调用FC1,将定时器“T8”传递给变量“Time_1”。
如图02 所示程序代码中数值8 表示“T8”。
图. 02在使用多重实例时,需要在图01 所示程序中增加以下代码:TAR2 //多重实例偏移地址LAR1 P##Time_1+AR1 //多重实例偏移地址与当前地址相加L W[AR1,P#0.0]T MW00“BLOCK_DB”类型参数在调用FC 时不可以直接传送给FC 。
如果在调用功能时试图使用此参数类型,将产生如下的错误消息:“非法的参数传输<参数名>”“BLOCK_DB”类型参数仅在FB 被调用(从一个FB 或FC 中)时可被传送。
参数设置中文说明1、FC105SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。
将结果写入OUT。
SCALE功能使用以下等式:OUT = [ ((FLOAT (IN) -K1)/(K2-1)) * (HI_LIM-O_LIM)] + LO_LIM常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。
BIPOLAR:假定输入整型值介于 7648与27648之间,因此K1 = -7648.0,K2 = +27648.0 UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 = +27648.0如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。
如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。
通过设置LO_LIM > HI_LIM可获得反向标定。
使用反向转换时,输出值将随输入值的增加而减小。
FC105参数参数说明数据类型存储区描述EN 输入 BOOL I、Q、M、D、L 使能输入端,信号状态为1时激活该功能。
ENO 输出 BOOL I、Q、M、D、L 如果该功能的执行无错误,该使能输出端信号状态为1。
IN 输入 INT I、Q、M、D、L、P、常数欲转换为以工程单位表示的实型值的输入值。
HI_LIM 输入 REAL I、Q、M、D、L、P、常数以工程单位表示的上限值。
LO_LIM 输入 REAL I、Q、M、D、L、P、常数以工程单位表示的下限值。
BIPOLAR 输入 BOOL I、Q、M、D、L 信号状态为1表示输入值为双极性。
信号状态0表示输入值为单极性。
OUT 输出 REAL I、Q、M、D、L、P 转换的结果。
RET_VAL 输出 WORD I、Q、M、D、L、P 如果该指令的执行没有错误,将返回值W#16#0000。
对于W#16#0000以外的其它值,参见"错误信息"。
西门子S7-300CPU数据块存储常见问题 -西门子plc问题1:数据块的初始值有什么作用?回答:数据块的初始值仅对于一个数据块的"离线"组态有意义。
假如用户离线创建了一个新的数据块或者在离线组态的过程中在数据块里创建了一个新的变量,假如用户不做任何修改,新建的变量会使用系统默认值作为初始值,假如用户为此变量指定了其它数值作为初始值,数据块将会多占用相应变量长度的Load memory。
在此后的操作中(数据块的上传及下载),只要数据块的结构,变量的数据类型没有发生转变,变量的初始值都没有实际作用,只起到变量类型定义的作用。
假如用户不给此新建的变量指定实际值,初始值会被用作变量的实际值。
用户可以给变量指定实际值,初始值可以与实际值不同。
问题2:数据块的实际值有什么作用?回答:数据块中的每个变量都有自己的实际值,假如用户不自行指定,系统将使用初始值作为变量的实际值;假如用户自行指定变量的实际值,则变量的初始值与实际值可能不相同。
假如用户在data view 视图下,在菜单命令中执行Edit →initialize data block,数据块中全部变量的实际值都将被初始值掩盖(用户执行此操作需要格外谨慎,需要确认不再需要数据块中的实际值)。
问题3:数据块如何实现断电保持特性?回答:为了断电保存数据,S7-300CPU中的Work memory划分为两部分,其中一部分类型为RAM(断电丢失),一部分为NVRAM(断电保持),假如数据块为断电保持,则此数据块需要占用具备断电保持特性的Work memory部分。
当CPU 经受POWER ON→POWER OFF→ POWER ON 或者RESTART过程后,数据块中的数据不会丢失。
留意:当用户在S7-300CPU 项目中插入新的数据块时,系统默认其属性为断电保持。
数据块断电保持是work memory 的特性,与Load memory(MMC) 无关。
S7-300的DB块如何使用?
最佳答案
数据块DB
DB用来存储用户数据及程序的中间变量,为全局变量。
DB的最大容量,
S7-300为32KB,S7-400为64KB。
DB可分为共享数据块(Share DB)、背景数据块(Instance DB)和用户自定义数据(UDT)类型的数据块。
★共享数据块可作为所有程序使用的全局变量,在CPU允许的条件下,一个程序可创建任意多个DB,每个DB的最大容量为64KB。
默认条件下,共享数据块为掉电保持,在其属性菜单中选中“Non Retain”可以更改为掉电数据丢失。
如CPU中无足够的内部存储空间保存数据,可将指定的数据保存到共享数据块。
存储在共享数据块中的数据可被其它任意一个块调用(全局变量)。
这一点和背景数据块不同,背景数据块只能被指定的功能块(FB)使用,保存在背景数据块中的数据只能在这个功能块中有效。
★背景数据块与FB和SFB关联,也是全局变量。
背景数据块和共享数据块相比,只保存与FB或SFB接口数据区(Temp)相关的数据。
背景数据块中有一种比较特殊的数据块,称为多重背景数据块。
有关多重背景数据块的用法和使用注意事项请参看《怎样使用多重背景数据块》。
★基于UDT的数据块为全局变量,提供一个固定格式的数据结构,便于用户使用。
S7-300PLC数据块存储问题关键词 S7-300,数据块存储,SFC83,SFC84Key Words S7-300, data block storage, SFC83,SFC84问题1:数据块的初始值有什么作用?回答:数据块的初始值仅对于一个数据块的"离线"组态有意义。
如果用户离线创建了一个新的数据块或者在离线组态的过程中在数据块里创建了一个新的变量,如果用户不做任何修改,新建的变量会使用系统默认值作为初始值,如果用户为此变量指定了其它数值作为初始值,数据块将会多占用相应变量长度的Load memory。
在此后的操作中(数据块的上传及下载),只要数据块的结构,变量的数据类型没有发生改变,变量的初始值都没有实际作用,只起到变量类型定义的作用。
如果用户不给此新建的变量指定实际值,初始值会被用作变量的实际值。
用户可以给变量指定实际值,初始值可以与实际值不同。
问题2:数据块的实际值有什么作用?回答:数据块中的每个变量都有自己的实际值,如果用户不自行指定,系统将使用初始值作为变量的实际值;如果用户自行指定变量的实际值,则变量的初始值与实际值可能不相同。
如果用户在data view 视图下,在菜单命令中执行Edit →initialize data block,数据块中所有变量的实际值都将被初始值覆盖(用户执行此操作需要格外谨慎,需要确认不再需要数据块中的实际值)。
问题3:数据块如何实现断电保持特性?回答:为了断电保存数据,S7-300CPU 中的Work memory 划分为两部分,其中一部分类型为RAM(断电丢失),一部分为NVRAM(断电保持),如果数据块为断电保持,则此数据块需要占用具备断电保持特性的Work memory 部分。
当CPU 经历POWER ON→POWER OFF→ POWER ON 或者RESTART 过程后,数据块中的数据不会丢失。
注意:当用户在S7-300CPU 项目中插入新的数据块时,系统默认其属性为断电保持。
数据块断电保持是work memory 的特性,与Load memory(MMC) 无关。
问题4:具备断电保持特性的数据块何时会丢失当前值?回答:如下操作会导致数据块丢失当前值• Memory RESET 操作(手动开关操作及STEP7 中菜单操作)• CPU 在没有MMC 卡的情况下上电(实际是因为此情况导致了CPU 执行Memory RESET操作)•插入损坏MMC 卡/错误MMC 卡的情况下上电(实际是因为此情况导致了CPU 执行Memory RESET 操作)• CPU 损坏•下载数据块,且离线数据块中的actual value 与当前数据块中的数值不同注意:Memory RESET 操作将删除标志位、S7 定时器和 S7 计数器地址区的值,而不管这些区域是否已定义为保持或非保持属性。
对于停止/启动(STOP/RUN)操作模式或断电/上电(POWER OFF/ON ),如果标志位、S7 定时器和 S7 计数器地址区已定义为保持,则保持它们的数值;否则,这些区域的数值将丢失且被初始化为“0”。
问题5:如何使MMC 卡中的数据块与Work memory 中的数据块保持一致?回答:当用户第一次将数据块下载到CPU 后,如果用户程序及用户监控/修改操作对数据块未进行过任何修改,则MMC 卡中的数据块与Work memory 中的数据块内容是一致的(这种情况在实际应用中很少出现)。
一般情况下,用户程序及用户的监控/修改操作都会影响数据块的当前值,此数值位于Work memory 中,这样MMC 卡中的数据块有可能与Work memory 中的数据块内容不一致。
对于不同的数据块属性,此情况会有所不同,可分为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 中数据不一致。
解决办法: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 CPU 31x, Technical Data”的第六章和第七章,条目 ID: 12996906。
数据块的属性对于数据块的内存占用影响情况请参考下表:以CPU 315(6ES7-315-2EH13-0AB0, Firmware V2.6.7)为例,其Work memory 共256KB,其中可以断电保持的Work memory 共128KB, 而Load memory 取决于所使用MMC 的容量。
用户可以下载的具备断电保持属性的数据块总量为128KB;如果用户还需要使用更多的数据块,可以新建数据块,并在其属性中勾选Non-Retain 选项,则另外还可以下载128KB 数据(如果考虑到用户程序还需要占用此部分的Work memory,所以实际使用中达不到此数值);如果用户还需要使用更多的数据块,可以新建数据块,并在其属性中勾选Un-linked 选项,则此数据块只存储于MMC 中,用户可以使用SFC83/84 对其进行读写。
问题7:用户下载数据块时,其过程是什么样的?回答:以下列出了用户下载数据块时,3 种常见过程1. 数据块属性中勾选了Un-linked 选项2. 数据块属性中未勾选Un-linked 选项,未勾选Non-Retain 选项3. 数据块属性中未勾选Un-linked 选项,勾选Non-Retain 选项问题8:用户使用STEP7 监视/修改(monitor/modify)的数据块中的数值,位于什么存储区?回答:用户使用STEP7 监视(monitor)功能时,读到的数值来自于CPU 的Work memory。
用户使用STEP7 修改(modify)功能时,修改的是位于CPU 的Work memory 中的数据块的数值。
注意:使用monitor/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:如何读出MMC 中数据块的Actual value?回答:有时候用户需要将实时运行数据按照特定规律归档,即使CPU 损坏或者CPU 复位操作也不会造成这些数据丢失,这些数据可以定期(或根据用户程序编制需求)通过SFC84 存储到MMC 卡上(不推荐使用Copy RAM to ROM 功能,此操作需要CPU 停机)。
当用户需要将这些数据时,就需要将这些数据块的Actual value 读出。
用户无法通过使用STEP7 中Upload Station to PG 操作实现此功能。
为了实现此功能,用户可以通过两种方法实现:1. 使用西门子专用读卡器,通过菜单命令File → memory card →open 打开MMC 文件夹,将其中的数据块复制到另一个S7 Block 文件夹中,则此文件夹中的数据块中的Actual value 是来自于MMC 中数据块的Actual value。
2. 使用SFC83,通过程序将MMC 中数据块的Actual value 写至某个数据块中,上载此数据块,则此数据块中的Actual value 与MMC 中数据块的Actual value 相同(注意:仅仅是数值相同)问题11:如何将CPU 数据块中当前值作为参数保存到项目中?回答:建议用户为参数数据块新建一个S7 program 文件夹,以方便日后的调试工作。
1. 打开原来项目中的数据块,在菜单中选择File → Open online,则打开了在线数据块,2. 在菜单中选择File → Store Read-Only,在提示界面下,选择新建的S7Promgram/Blocks 文件夹。
则此数据块被以只读的方式存储,用户可以监视此数据块,但无法在计算机上修改其Actual value。
其属性为Block read-only。
3. 将此数据块下载到CPU 中(完成对MMC 卡的覆盖)。
缺点:备份数据块在STEP7 编辑环境下为只读属性,数据块与普通数据块操作不同,日后更改困难优点:备份数据块在STEP7 编辑环境下为只读属性,不会被错误更改方法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 操作),备份数据块没有变量名及注释,不便于识别,操作会影响所有的数据块,所有数据块load memory 中的actualvalue 都将被work memory 中的actual value 覆盖。
问题12:如何使CPU 数据块中当前值不被程序更改?回答:用户可以将数据块的DB is write-protected in the PLC 属性勾选并下载。