在PCS 7中如何判断CPU当前所需本地数据?
描述:
用户可以定义优先级从1到29的本地数据大小(临时数据堆栈)。本地数据大小可以在“Configure Hardware”中编辑。选择要修改的站点,选择菜单“Edit > Object properties”以及选项卡“Memory”,或者双击CPU,选择“Memory”。对于相应不同类型的CPU,可以在最大允许本地数据范围内增加本地数据大小。
CPU 414-2的最大本地数据量可达16 KByte;CPU 416-2的最大本地数据量可达32 KByte; CPU 417-4的最大本地数据量可达64 KByte。更多信息可以参考手册“S7-400 and M7-400 module data”,条目号1117740。
如果实际本地数据的需求超过了最大限制,用户可以相应增减在程序中没有使用的优先级所对应的本地数据大小。这样的话对于所需优先级可以有更大本地数据空间。
注意所填数值必须是2的倍数。不能是介于2到18之间的值。
下图表明CPU 416-2 DP和CPU 417-4各个优先级的本地数据默认分配数量。
表 1: CPU 416-2 DP和CPU 417-4的优先级
注意:
组织块OB 121和OB 122属于同一优先级,是编程故障或者I/O访问故障的中断块。
在修改CPU中本地数据时,确保OB80到OB87分配到优先级26和28。如果程序中集成了故障OB,则启动优先级为28。
判断本地数据需求
在SIMATIC PCS 7 version V5.2及其以上版本,可以在图表参考数据中查寻所需本地数据大小。具体操作步骤,打开一个CFC图表,菜单栏“Options > Chart Reference Data”。对话框中选择“Local Data”。这里可以显示所有组态的组织块的本地数据大小,和硬件组态中CPU属性中设置的本地数据大小。如果可以在线连接CPU,还可以显示 PCS 7 PLC (CPU)的在线本地数据大小。
图. 1: 在“Display Chart Reference Data”对话框中显示本地数据大小
SIMATIC PCS 7 版本 V5.1 和 V4.0x需要做以下步骤:
为了实现CPU的本地数据最优化分配,需要生成当前项目的参考数据。通过参考数据大小,可以判断各个优先级的所需的最大本地数据大小。
生成参考数据
请按照如下操作:
打开一个CPU的CFC图表,以判断本地数据大小。
选择生成代码的菜单(Chart > Compile > Compile Charts as Program)。
在对话框中点击“Customize Compiler(SCL)”按钮。
图 2: 程序编译窗口
对话框“Customize Compiler (SCL)”中选择“Generate reference data”。这样可以促成在编译时自动生成参考数据。(注意:这样会增加编译时间)。
图 3: 编译器设置
点击“OK”关闭“Customize Compiler (SCL)”对话框。
在对话框“Compile Charts as Program”中设置程序编译范围("Entire program" 或者"Changes only"),点击“OK”,开始执行编译。
如果程序成功编译,没有产生任何错误信息,可以转移到下一步。
显示参考数据
步骤:
切换到SIMATIC Manager中,选择已经生成参考数据的CPU的块文件夹。
在菜单“Options > Reference data”中点击“Display”,在“Generate reference data”对话框中选择需要更新本地数据的选项,点击“Yes”。
图 4: 生成参考数据
取决于SIMATIC Manager中的不同设置,会出现一条信息表示数据将被过滤显示。选择“OK”关闭对话框。
在“Customize”对话框中选择“Program structure”,“OK”关闭。
图 5: 设置
在编辑程序结构时会出现一个窗口,显示当前编辑状态。
图 6: 计算参考数据
会出现一个树状列表,表明当前所需最大本地数据量。所有标叉的块,都是没有集成在组织块中,则不会被调用,也就不需要本地数据。
如果需要的话,在CPU属性中输入所需本地数据值。
示例:
利用参考数据来判断所需本地数据大小:
图 7: 本地数据
此例中对于组织块OB32(优先级9),其本身需要214字节的本地数据,外加上OB 121和OB 122各自分别需要244个字节。所以CPU属性中最少需要458字节的本地数据量大小。
楼主最近还看过