TIA博途V14与博图TIAV13SP1版本中PLC程序的兼容性及需要注意的事项 点击:20445 | 回复:0



yjh0706

    
  • 精华:11帖
  • 求助:17帖
  • 帖子:226帖 | 1334回
  • 年度积分:416
  • 历史总积分:15603
  • 注册:2010年1月03日
发表于:2017-04-05 16:42:04
楼主

TIA博途V14与博图TIA V13 SP1版本中 PLC 程序的兼容性及需要注意的事项

兼容性

理论上,在 TIA Portal V14 中可继续使用之前旧版本创建的所有 PLC 程序。但由于在版本 V14 中对编译器进行了改进并且更正了相关错误,在极少数情况下程序在升级后会有不同反应,或者需要手动调整程序代码。下面详细介绍了这些情况。

指令“SRW”、“SLW”和“SSI”(AWL)

从 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 格式值的表示发生变化。

整数(十进制系统)

十六进制数

V13 SP1 中的表示

V14 中的表示

0

16#0000

BCD#0

BCD#0

-26215

16#9999

BCD#9999

BCD#-999

1365

16#0555

BCD#555

BCD#555

21845

16#5555

BCD#5555

BCD#555

4096

16#1000

BCD#1000

BCD#0

-28672

16#9000

BCD#9000

BCD#0


指令“SET_BF:置位位域”和“RESET_BF:复位位域”

从 TIA Portal V13 SP1 到 TIA Portal V14,该指令对不同结构的响应有所不同。
在版本 V13 SP1 中,可置位或复位的位数通常由输出指定。如果已指定了一个 STRUCT 或 ARRAY PLC 数据类型的结构,这一规则同样适用。如果要置位或复位 10 个位而结构中仅包含 5 个位,则会对该地址序列中的以下 5 位进行置位或复位。
在 PLC 数据类型的结构(版本为 V14 及以上版本的 STRUCT 或 ARRAY)时,结构中所包含的位数即为可复位的最大位数。例如,如果指定值“20”且结构中包含 10 位,则仅置位这 10 个位。如果指定值“5”而结构中包含 10 位,则仅置位 5 个位。

指令“SCALE:缩放”和“UNSCALE:取消缩放”(S7-1500)

TIA Portal V13 SP1 中,该指令对限制条件(LO_LIM> HI_LIM)的响应与 TIA Portal V14 中的不同。
在版本 V13 SP1 中,下限大于上限时,将显示一条错误消息。
在 V14 及更高版本中,允许下限值大于上限值,输入值的结果将进行反向操作。
在 S7-300/400 系列 CPU 中,该指令通常可对输入值结果进行反向缩放。

固件版本 V1.8.1 及以上版本中,PLC 数据类型 (UDT) 中未使用的位

标准存储区中 PLC 数据类型未使用的各个位由系统占用或覆盖。例如,包含 4 位的 PLC 数据类型。
固件版本低于 V1.8.1 时,任何时候都不能使用 PLC 数据类型的未使用位。
固件版本为 V1.8.1 及更高版本时,即使只使用 4 位,所有位都将被占用或覆盖。

说明

地址分配

请勿为不同的符号地址重复分配相同的绝对地址。

SCL (S7-1200) 固件版本 V4.2 及以上版本中,数据类型显式转换

如果固件版本低于 V4.2,在 SCL 中对数据类型 SINT/INT/DINT/REAL_TO_STRING/WSTRING 进行显示转换时,字符串将采用右对齐方式传送并在填充时使用前导空格。
示例:REAL_TO_WSTRING(12) = ' 1.200000E+1'
对于 TIA Portal V13 及以上版本,在 SCL 中对数据类型 SINT/INT/DINT/REAL_TO_STRING/WSTRING 进行显式转换时,字符串将显示前导符号并采用左对齐方式传送。
示例:REAL_TO_WSTRING(12) = '+1.200000E+1'

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 常量值进行取整时,最低有效位可能有所不同。 
尾数中的最后一位数字可能不同,大多数情况下仅对精度造成轻微影响。 
如果对尾数中的最后一位数字进行评估,则转换后 STEP 7 程序的语义可能会发生变更。

IEC 定时器中的“ST”参数

IEC 定时器中的“ST”参数仅为内部使用,禁止写入。因此,在 TIA Portal 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 接口的最小大小。在 V14 及以上版本中,将检查所有组织块的接口。之前对此进行编译不会报错,但新版本中将接收到一条错误消息。 

比较 WORD 数据类型的变量与 S5TIME 数据类型的变量

在 TIA Portal V14 及以上版本中,比较 WORD 数类型的变量与 S5TIME 数据类型的变量时,两种变量都将转换为 TIME 数据类型。WORD 变量将解释为一个 S5TIME 值。如果其中某个变量无法转换,则不进行比较且输出结果 FALSE。转换成功后,将基于所选择的比较表达式进行比较。

1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师