有关STRUCT的基本信息 ?由于系统会检查所有结构元素的类型是否匹配,因而会导致性能下降。 ?存储空间要求增加:每个匿名结构都是一个单独的对象,其描述信息将加载到 AS中。 示例 如果在一个PLC数据类型(UDT)中声明数据类型为STRUCT的变量,则使用方式 将增加(参见左图)。但是,也可以直接使用数据类型STRUCT对变量进行声明 (参见右图)。 使用或不使用PLC数据类型(UDT)对结构化变量“Motor”进行声明: PLC数据类型(UDT)的结构化变量非PLC数据类型(UDT)的结构化变量 复杂结构的处理 指令系列(如,“Serialize:序列化”、“Deserialize:取消序列化”、“CMP”(比较器) 和“MOVE:移动值”)可处理大量非常复杂的结构化变量。为此,CPU需要对变量 的结构进行分析,并为总结构中包含的每个子结构或包含的所有基本组件分别执 行相应的指令。 如果结构非常复杂,则对结构进行分析可能会导致相应指令的执行时间意外增加。 除在运算中指定结构化变量的复杂程度之外,程序中声明的匿名结构总数也会影 响指令的运行时间。大量不同的匿名结构定义也会增加指令的运行时间。 解决方法: ?避免使用匿名结构,而使用PLC数据类型。 ?避免对结构类似的数据结构进行多次声明。建议将这些结构组合到一个结构声 明中。 ?避免对结构和数据块中相同数据类型的单个变量进行单独声明。此时,如果可 能,建议使用ARRAY数据类型。 参见 声明STRUCT数据类型的变量 有效数据类型概述 -2- |
|