返回主站|会员中心|保存桌面|手机浏览
普通会员

上海朕锌电气设备销售部

S7- 200/300/400/1200/1500PLC,ET200分布式I/O:ET200S、ET200M、ET200SP、ET200PR...

产品分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 供应产品 > 西门子6ES7 810-4CC07-0KA5
西门子6ES7 810-4CC07-0KA5
产品: 浏览次数:0西门子6ES7 810-4CC07-0KA5 
品牌: 西门子
单价: 1.00元/1
最小起订量: 1 1
供货总量: 1111 1
发货期限: 自买家付款之日起 3 天内发货
有效期至: 长期有效
最后更新: 2018-09-17
 
详细信息
 西门子6ES7 810-4CC07-0KA5
 西门子6ES7 810-4CC07-0KA5

SIEMENS西门子上海朕锌电气设备有限公司
联系人:钟涛(销售经理)
24
小时销售及维修热线:18221357245
电 话:021-67226033
传 真:021-31663452
手 机:18221357245
Q Q : 1824547528
地址:上海市金山区枫湾路500

《销售态度》:质量保证、诚信服务、及时到位!
《销售宗旨》:为客户创造价值是我们**追求的目标!
《产品质量》:原装正品,全新原装!
《产品优势》:专业销售 薄利多销 信誉好,口碑好,价格低,货期短,大量现货,服务周到!

问题描述:
当高性能电容的时间(根据 CPU 类型不同而不同)用完,或者电池模块过期(200天),修改过的参数就会丢失。使用以下程序库所提供的子程序,可以在 CPU 中的内部 EEPROM 中保存完整的变量区域,在运行期内该区域是不易失的(在系统手册中仅说明了保存单个变量)。

软件要求:
此操作程序库使用需要 STEP 7 Micro/WIN  V4.0 SP7 或者更高的版本 。

警告:
当 CPU 启动时,包含 DB (数据块)的存储卡不可以被插入。如果包含 DB 的存储卡被插入,CPU 会读出存储卡的内容而不是去读内部 EEPROM,同时存储数据被错误的写回。

合并和使用库:

  1. 将下载的文件“store_to_eeprom.zip”保存在电脑上。
  2. 在独立的目录下解压文件“store_to_eeprom.zip”。
  3. 双击开始解压的 STEP 7 Micro/WIN 库 “store_to_eeprom.mwl”。
  4. 在 STEP 7-Micro/WIN 对话栏中打开确认集成的库。

增加的 “EEPROM (v1.0)”文件夹中包含了子程序“EEPROM_Direct"”和 “EEPROM_Indirect”。


图:01

使用子程序:

  1. 在网络中从文件夹“EEPROM (v1.0)”插入所需要的子程序。
  2. 根据例程中的参数列表给所选子程序分配输入输出参数。

使用适当的逻辑连接,以确保在执行期间程序执行触发输入位“Start”保持为1 (高)。

更多的信息也可以在子程序的注释中得到。.

注意:
不能以很高的频率在 EEPROM 上保存数据。EEPROM 典型的存储次数为100,000次。如果超过这个值,CPU 将发生故障。 如果按小时在 EEPROM 上保存数值,那么 EEPROM 的预计使用寿命是 11 到 12 年。

起始地址为直接寻址“EEPROM_direct"”例程:

 
图: 02
 

参数 变量类型 说明
EN BOOL

必须始终为1(高)

Start BOOL

上升沿 (0 ->1)触发程序运行;必须保持1 (高) 直到 BUSY 位变成 0 (低)。

V_Start INT

偏移量指定(起始地址)。例如,200=VB 200

Length INT

从偏移量(起始地址)开始待保存的字节数

Memory INT

用于子程序的临时存储区

Busy BOOL

过程状态 1 (高),程序在运行中

Done BOOL 结束状态 1 (高),成功完成保存
表: 01

起始地址为间接寻址“EEPROM_indirect”例程:

 
图: 03
 

参数 变量类型 说明
EN BOOL

必须始终为1(高)

Start BOOL

上升沿 (0 ->1)触发程序运行;必须保持1 (高) 直到 BUSY 位变成 0 (低)。

Address DWORD 指定起始地址偏移量(起始地址以DWORD类型变量读入)
Length INT

从偏移量(起始地址)开始待保存的字节数目

Memory INT

用于子程序的临时存储

Busy BOOL

过程状态 1 (高),程序在运行中

Done BOOL

结束状态 1 (高),成功完成保存

表:02

程序测试:
程序运行后, 删除可保持的 V 变量并将存储的数据装载回 CPU。 

序号. 解释
1 删除数据:
由路径“View > Component > System Block"”到“System Block"”选择“Retentive Ranges”表。


图:04

选择数据范围,输入起始地址和范围。点击“Clear”按钮。

例程如下图显示: 

 


1.内存类型

S7-400型控制器的内存按照功能的不同,可以分为:
 系统内存(System Memory)--- 控制器的自身功能(M、T、C等)
 工作内存(work Memory)--- 用于运行程序;
 装载内存(Load Memory)--- 用于装载程序;
其中,工作内存部分又可以细分为:
 代码工作内存(Code Memory)--- 用于运行程序的代码部分;
 数据工作内存(Data Memory)--- 用于运行程序的数据部分;
S7-400型控制器的内存按照集成方式的不同,可以分为:
 集成内存(Integrated)--- 直接集成在控制器内部随控制器一起提供,无需额外订购;
 扩展内存(Expanded)--- 通过扩展存储卡的方式扩展提供,需要额外订购;
一般情况下,控制器的工作内存不可扩展,而装载内存则可以通过FEPROM或RAM的方式进行扩展。如果希望和集成的RAM装载内存无缝扩展使用,则扩展的装载内存必须选用RAM类型。下图为CPU 412的性能参数示例。


图 1 CPU 412的性能参数示例

控制器内存信息也可参考如下链接内容:
22610157


2.内存分配
控制器内存详细分配情况如下表所示。#

内存类型 注释信息
装载内存 系统数据/System Data 硬件组态数据
程序块/Program Blocks 程序块
 (FBs,FCs,OBs,Symbols1),Comments1))
工作内存 数据块/Data Blocks 数据块 (DBs)
(数据部分) 系统数据/System Data 硬件组态信息,非装载内存中的全部硬件组态数据
  SFC动态创建的DB/DBs Created by SFC 通过SFC21/22等动态创建的数据块
  本地数据/Local Data 各优先级中断所需的临时数据存储区
工作内存 逻辑功能块/Logic Blocks 逻辑功能块 (FBs,FCs)
(代码部分) 通信数据缓冲/Communication Data Buffer2) 通信功能所需的临时缓冲区(动态分配)
  通信作业数据/Communication jobs Data ( 72字节/每作业) 通信功能块占用的通信作业数据区
  输入输出映像区/PII/PIQ (12字节/每映像区字节) 输入/输出过程映像区所占用的数据空间
  诊断缓冲区/Diagnostic Buffer ( 32 字节/每记录) CPU诊断消息
系统内存 M区间、定时器T、计数器C M存储区间、定时器/计数器存储区间
功能块/中断堆栈 堆栈区级通信/诊断/本地数据缓冲区

表格 1 控制器内存分配祥表

1).通过 PLCSave to Memory Card (EPROM)菜单才会下载到装载内存中
2).运行时动态分配

实际应用过程中,当前控制器的内存占有率及分配情况可以通过控制器在线信息 Memory页面查询到,如下图所示。


图 2 控制器内存在线分配情况

从该图中可以看到内存被划分为四个部分:Load Memory RAM(装载内存RAM)、Load Memory EPROM(装载内存EPROM)、Work Memory Code(工作内存Code)和Work Memory Data(工作内存Data)。每个部分的实际占用状况可以通过下侧的Free(空闲内存)、Assigned(已分配内存)、Total(总内存)、Largest Free Block(**连续空闲内存空间)和Max. Pluggable(**可安插内存量)看到。而每个部分详细的内部分配情况可以通过选择相应内存列后,点击右侧的Details Memory Area按钮查询到,如下图所示。


图 3 装载内存详细分配情况


图 4 工作内存 Code部分详细分配情况


图 5 工作内存Data部分详细分配情况

3.内存优化
根据上述介绍的内容可以查看到实际控制器内存的分配和使用情况,同时在项目组态阶段,也可以参考表格1中的内容,按照如下方式计算、检查各部分的内存需求情况,并对其进行相应优化。

3.1 用户程序内存需求
在Simatic Manager中右键点击Blocks文件夹 Object Properties可以打开如下对话框,切换到Blocks页即可查询当前用户程序的内存需求情况。



图 6 用户程序内存需求情况

从上图中可以看到,用户程序所需装载内存为5354 bytes,系统数据(硬件组态)所需装载内存为7616 bytes,总和为12970 bytes,和CPU在线内存分配情况吻合(见上图 3 装载内存详细分配情况中load objects所示)。用户程序所需工作内存代码部分为2682 bytes,所需工作内存数据部分为630 bytes,和CPU在线内存分配情况吻合(见上图 4 工作内存 Code部分详细分配情况中logic blocks部分所示和上图 5 工作内存Data部分详细分配情况中data blocks部分所示)。

3.2 工作内存数据部分 本地数据内存需求
控制器中的本地数据区用于存储各优先级中断运行的程序所需的临时数据,这部分存储空间是在控制器启动初始化时完成预留分配。各功能块所需的临时数据存储区大小可以通过功能块属性 General Part2中的Local data查询到,如下图所示。


图 7 功能块所需本地数据大小

控制器中按照中断的优先级的方式分配本地数据的大小,通过CPU的属性对话框 Memory中设置,下图所示本地数据离线设置为8192 bytes,与上图 5 工作内存Data部分详细分配情况中在线的Local data分配吻合。
离线程序中实际所需的本地数据可以参考如下连接文档进行计算:
80027837

按照实际程序所需的本地数据进行下图8所示的Local data的设置,可以优化内存的分配。


图 8 CPU本地数据分配

3.3 工作内存代码部分 通信作业内存需求
通信作业用于实现控制器和外围设备的通信功能,每个通信作业在内存中需要占用一定的存储空间,这部分存储空间是在控制器启动初始化时完成预留分配。离线的通信作业数可以参考上图 8 CPU本地数据分配中的Communication resources进行设置。此处为300个,参考表格1中的数据,每个通信作业需要分配72 bytes的空间,总共所需300*72 = 21600 bytes,与上图 4 工作内存 Code部分详细分配情况中在线的Communication jobs内存分配吻合。
PCS 7系统中可以通过Chart reference data的统计数据查询到离线程序所需的通信作业数,Step 7系统下则只有下载程序后通过上图4查询到。查询到实际程序所需的通信作业数后,预留一定余量后对图8进行设置,可以优化内存的分配。

3.4 工作内存代码部分 输入/输出映像区内存需求
输入/输出映像区为控制器预留的、用于存储I/O的映像数据的区间,控制器按照一定的机制进行I/O数据的动态更新,可以优化程序读取I/O的速度和性能。PCS 7中要求必须基于映像区的方式进行I/O信号的读取,冗余控制系统中也要求基于映像区的方式进行I/O信号的读取。这部分存储空间是在控制器启动初始化时完成预留分配。
通过CPU的属性对话框 Cycle/Clock Memory页面进行设置,如下图所示。


图 9 CPU过程映像区分配

此处为1000 Process image input/1000 Process image output,参考表格1中的数据,每个映像区字节需要分配12 bytes的空间,总共所需1000*12 = 12000 bytes输入/输出,与上图 4 工作内存 Code部分详细分配情况中Process-image inputs、Process-image outputs内存分配吻合。

实际程序中所需的映像区范围可以通过I/O卡件的地址范围查询到,查询到实际程序所需的映像区范围后,预留一定余量后对图9进行设置,可以优化内存的分配。


询价单
0条  相关评论