多重实例的 ARRAY如果将多重实例中的单个变量声明保持性设置“在 IDB 中设置”(Set in the IDB),则在某些情 况下可能会发生 V14中无法对多重实例的 ARRAY 进行正确寻址。该错误在 V14 SP1 已修 复。如果在用户程序中使用了此类变量,则需在升级后重新编译受影响的块。 背景数据块中参数类型为“Block_DB”的条目 在 LAD 和FBD 中,不能使用数据类型为“BLOCK_DB”的输入,输入指令的背景数据块。所有 CPU 系列和所有块类型都具有这一特性。 在TIA Portal V14 SP1 及以上版本中,将输出一条语法错误。如果在用户程序中使用数据类型“Block_DB”传递背景数据块,则需更改用户程序。而需使用 一个参数实例在运行过程中对该实例进行传输。以块参数形式进行 I/O 访问(S7-1500 固件版本 V2.1 及以上版本) 如果发生 I/O访问错误,以输入参数形式互连到块的直接 I/O 访问将无法再访问正在运行的 块。此时,系统将使用块中该信号的替换值。 在S7-1500 CPU 固件版本 V2.1 及以上版本和所有 S7-1200 CPU 中,系统特性保持不变: 发生 I/O访问错误时,该块无法调用。块调用结束后,将继续程序执行。如果存在 OB 122 或 启用了本地错误处理,则执行这些操作。与 V14之前版本中 PLC 程序的兼容性 内容 在线帮助中未包含的信息和有关产品特性的重要信息。 兼容性 理论上,在 TIA PortalV14 中可继续使用之前旧版本创建的所有 PLC 程序。但由于在版本 V14中对编译器进行了改进并且更正了相关错误,在极少数情况下程序在升级后会有不同反应,或者需要手动调整程序代码。在下文中,对此进行了详细介绍。STL:“SRW”、“SLW”和“SSI”指令(S7-300、S7-400、S7-1500) 从 TIA Portal V13 SP1升级到 TIA Portal V14 之后,这些指令支持的偏移量值范围发生变更。 在版本 V13 SP1 中,S7-1200/1500系列 CPU 中可指定的偏移量值范围为 0 到 31; S7-300/400 系列 CPU 可指定的偏移量值范围为 0 到 15。在版本 V14 及以上版本中,所有 CPU 系列 (S7-300/400/1200/1500) 的值范围统一为 0 到 15。 BCD格式的表示 从 TIA Portal V13 SP1 到 TIA Portal V14,BCD 格式中的符号表示有所不同。 在版本V13 SP1 中,显示 BCD 值时不带符号。 在版本 V14 及以上版本中,显示 BCD 值时带有符号。这将导致 BCD格式值的表示发生变化。
在版本 V13SP1 中,可置位或复位的位数通常由输出指定。如果已指定了一个 STRUCT 或 ARRAY PLC数据类型的结构,这一规则同样适用。如果要置位或复位 10 个位而结构中仅包含 5 个位,则会对该地址序列中的以下 5位进行置位或复位。 在 PLC 数据类型的结构(版本为 V14 及以上版本的 STRUCT 或 ARRAY)时,结构中所包含的位数即为可复位的Zui大位数。例如,如果指定值“20”且结构中包含 10 位,则仅置位这 10 个位。如果指定值“5”而结构中包含 10位,则仅置位 5 个位。 指令“SCALE:缩放”和“UNSCALE:取消缩放”(S7-1500) TIA Portal V13SP1 中,该指令对限制条件(LO_LIM> HI_LIM)的响应与 TIA Portal V14 中的 不同。 在版本 V13SP1 中,下限大于上限时,将显示一条错误消息。 在 V14 及更高版本中,允许下限值大于上限值,输入值的结果将进行反向操作。 在S7-300/400 系列 CPU 中,该指令通常可对输入值结果进行反向缩放。 固件版本 V1.8.1 及以上版本中,PLC 数据类型(UDT) 中未使用的位 标准存储区中 PLC 数据类型未使用的各个位由系统占用或覆盖。例如,包含 4 位的 PLC 数 据类型。固件版本低于 V1.8.1 时,任何时候都不能使用 PLC 数据类型的未使用位。 固件版本为 V1.8.1 及更高版本时,即使只使用4 位,所有位都将被占用或覆盖。 说明 地址分配 请勿为不同的符号地址重复分配相同的juedui地址。SCL:数据类型为(W)STRING 的块参数的 EN/ENO 机制 (S7-1200/1500) 在 TIA Portal V14及更高版本中,运行过程中传送数据类型为 (W)STRING 的块参数时,将检查参数是否截断。当形参和实参的长度与声明的长度不符时,可能会发生参数截断。在运行 过程中,如果目标参数的声明长度小于接收的(W)STRING 参数长度,则截断 (W)STRING 参 数并将使能输出 ENO 设置为“FALSE”。如果在用户程序中评估使能输出 ENO,则程序的语义可能会发生更改。 在优化块和标准块之间转发 STRING 参数(S7-1200/1500) 在 TIA Portal V14 以下版本中,在优化块和非优化块之间传送 STRING参数时不会传送该参 数的长度信息。即,在 STRING 参数的后续处理中,无法通过 ENO 机制判断访问错误。即使发生访问错误,使能输出 ENO 的值也将为 TRUE。 在 TIA Portal V14 及更高版本中,将传送 STRING长度信息。因此,可通过 ENO 机制监视访 问错误。如果在用户程序中评估使能输出 ENO,则程序的语义可能会发生更改。数据类型为“STRING”或“WSTRING”的常量的长度声明 局部常量和全局 (W)STRING常量不支持长度声明。如果用户程序中包含有长度声明(如, “MyStringConst[7]”),则在升级时将自动移除。但这种更改不会对程序的语义造成影响。 HW_ANY 的基本数据类型从 WORD 变更为 UINT硬件数据类型“HW_ANY”用于标识所有硬件组件,如模块。在 V14 版本中,“HW_ANY”的基 本数据类型从 WORD 变更为UINT。升级为 V14 后,为数据类型为“HW_ANY”的参数指定一 个确定的 WORD 常量(如 W#16#1)或指定 WORD数据类型的变量时,可能会发生编译错 误。 此时,需更改常量的符号(如,更改为 16#1)或将变量的数据类型更改为 UINT。块注释的长度 在 TIA Portal V14 及更高版本中,块注释的长度不得超过 32767 个 Unicode 字符。指令“SR:置位复位触发器”和“RS:复位置位触发器”的语法检查在“S”输入处,输入、输出、位存储器以及静态或局部数据可用作操作数。但不允许使用常量。该版本的语法检查并不会拒绝常量“0”和“1”。在 TIA Portal V14 及以上版本中,对语法检查进行了改进。“S”输入处不再支持“0”和“1”。之前对此进行编译不会报错,但新版本中将接收到一条错误消息。此时,可更改用户程序并使用一个有效的操作数。ANY 指针:访问优化数据 对于 S7-1500 系列 CPU,ANY指针只能指向“标准”访问模式的存储区。ANY 指针不允许 访问优化数据。 在 TIA Portal V14 及更高版本中,ANY指针的语法检查更为严格。新版本将拒绝访问优化数 据。之前对此进行编译不会报错,但新版本中将接收到一条错误消息。“(L)REAL”数据类型 在 64 位的 Windows 版本中,LREAL 数据类型的评估有时会与之前的 32 位 Windows版本 不同。对 (L) Real 常量值进行取整时,Zui低有效位可能有所不同。尾数中的Zui后一位数字可能不同,大多数情况下仅对精度造成轻微影响。 如果对尾数中的Zui后一位数字进行评估,则转换后 STEP 7程序的语义可能会发生变更。 IEC 定时器中的“ST”参数 IEC 定时器中的“ST”参数仅为内部使用,禁止写入。因此,在 TIAPortal V14 及以上版本中该 参数不再显示。如果在用户程序中对“ST”参数进行写访问,则升级后进行编译时将显示一条 错误消息。如果与项目间工程组态进行数据交换并使用 HMI 访问“ST”参数,则首先应导出该项目,然后 再将其重新导入到代理 CPU中。只有这样,“ST”参数才不会在 HMI 组态中显示。 消息的相关值 (S7-1500) 在使用旧版本 TIA Portal创建的项目中,可以包含不同项目语言不同结构的嵌入式相关值。不同语言中,相关值的顺序可能不同,也可能会丢失。对此种类型进行项目时,需统一相关值的顺序。具体取决于原项目中参考语言的设置。此时,建议检查所翻译的文本信息并进行 相应更改。 隐式转换“DB_ANY”数据类型的块参数使用语法 DB_ANY.%DB(B|W|D) 访问“DB_ANY”数据类型的块参数时,之前不会进行数据类型隐式转换。只是简单地将源值的位模式转换为目标数据类型。如果目标数据类型小于源数据类型,则将发生溢出,导致写入的值错误或不准确。而发生精度丢失或运行时错误时,使能 输出 ENO 也不会设置为“FALSE”。 在V14 及以上版本中,通过语法 DB_ANY.%DB(B|W|D) 进行参数传递时,将按照数据类型的隐式转换规则进行转换。请注意,升级后可能会写入不同的值,并对程序的语义造成更改。 此外,发生运行时错误时,使能输出 ENO将设置为“FALSE”。标准访问组织块的接口 进行标准访问的组织块接口大小需至少为 20 个字节。在 TIA Portal的旧版本中,在编译过 程中仅检查 OB1 接口的Zui小大小。在 V14 及以上版本中,将检查所有组织块的接口。之前对此进行编译不会报错,但新版本中将接收到一条错误消息。