当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?

初始状态:
在SFC type中,可以使用特征值编辑器来创建组态参数。用户可以任意定义参数名。比如在定义特征值的时候,可以创建并参数化设定值。切换到接口编辑器的菜单 中,可以看到特征值编辑器生成的所需连接,这些连接可以用于组态顺控逻辑。特征值名字添加后缀自动生成为这些连接名。n

如果在PCS 7 V7.x中创建了实数类型的特征值SW1作为设定值,产生连接如下:

当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?
图. 01n

然而,如果在PCS 7 V6.1中创建了实数类型的特征值SW1作为设定值,产生连接如下:

当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?
图. 02n

在两个截图中,可以看到系统生成变量名的时候不同的地方,PCS 7 V6.1中是"SW1_ERROP",PCS 7 V7.x中是"SW1_ERR"。n

描述:
除了系统自动产生的,用户可以自定义contact变量。如果在PCS 7 V6.1中,除了“SW1_ERROP”,用户又自定义了一个连接“SW1_ERR”。那么在升级到PCS 7 V7.x后,就会发生如上所说的改动,产生一个重复变量。也就是说,当把SFC 转化成PCS 7 V7.x的版本,编译完成之后,SCL编辑器会产生一个错误消息。n

当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?
图. 03n

当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?
图. 04n

重复的连接名导致错误信息"Identifier already exists"产生。用户自定义的连接名“SW1_ERR”被系统改成了“SW1_ERR_1”,但这个改动是不够的。系统产生的连接现在被分配名字“SW1_ERR”,这一点可以从备注“ERR OP”中看出来(图. 05)。n

当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?
图. 05n

解决办法:
必须将系统生成的名字(例如SW1_ERR_1)手动改成比如SW1_ERROR。改动之后,编译不会再产生任何错误信息。

当把程序从PCS 7 V6.1移植到PCS 7 V7.0后,为什么在SCL 编辑器中会产生错误信息“丢失或者无效的标识符”?
图. 06

注意:
为了检查重复的标识符,必须在编译时选择“Generate SCL source”。这就可以手动编译SCL源,生成错误消息 "... Identifier already exists",这条消息也会生成在SCL 编辑器中。现在,双击错误信息,光标会自动跳转到导致错误的标识符上。

关键词:
升级

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论