- {{item.name}}
S7-400H内存分配
![star](/download/images/main-stars-grey.png)
![star](/download/images/main-stars-grey.png)
![star](/download/images/main-stars-grey.png)
![star](/download/images/main-stars-grey.png)
![star](/download/images/main-stars-grey.png)
- 0
- 6
400H的内存分配
S7-400型控制器的内存按照功能的不同,可以分为:
系统内存(System Memory)--- 控制器的自身功能(M、T、C等)
工作内存(work Memory)--- 用于运行程序;
装载内存(Load Memory)--- 用于装载程序;
其中,工作内存部分又可以细分为:
代码工作内存(Code Memory)--- 用于运行程序的代码部分;
数据工作内存(Data Memory)--- 用于运行程序的数据部分;
S7-400型控制器的内存按照集成方式的不同,可以分为:
集成内存(Integrated)--- 直接集成在控制器内部随控制器一起提供,无需额外订购;
扩展内存(Expanded)--- 通过扩展存储卡的方式扩展提供,需要额外订购;
内存类型 | 内 容 | 注释信息 |
装载内存 | 系统数据/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存储区间、定时器/计数器存储区间 堆栈区级通信/诊断/本地数据缓冲区 |
如何查看用户程序内存需求
在Simatic Manager中右键点击Blocks文件夹🡪 Object Properties可以打开如下对话框,切换到Blocks页即可查询当前用户程序的内存需求情况。
用户程序内存需求情况
如何查看和优化输入/输出映像区内存需求
输入/输出映像区为控制器预留的、用于存储I/O的映像数据的区间,控制器按照一定的机制进行I/O数据的动态更新,可以优化程序读取I/O的速度和性能。PCS 7中要求必须基于映像区的方式进行I/O信号的读取,冗余控制系统中也要求基于映像区的方式进行I/O信号的读取。这部分存储空间是在控制器启动初始化时完成预留分配。
通过CPU的属性对话框🡪 Cycle/Clock Memory页面进行设置,如下图所示。
此处为1000 Process image input/1000 Process image output,参考表格1中的数据,每个映像区字节需要分配12 bytes的空间,总共所需1000*12 = 12000 bytes输入/输出。实际程序中所需的映像区范围可以通过I/O卡件的地址范围查询到,查询到实际程序所需的映像区范围后,预留一定余量后对上图进行设置,可以优化内存的分配。
![](/download/images/argicle33.png)
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}