编译时出错:“Maximum number of testable components/instances is reached”,不显示调试信息

描述:
使用 SCL V5.1+SP2 编译 SCL 源文件时,为何得到消息“Maximum number of testable components/instances is reached”(1) 以及当我访问一个背景“>255”的背景变量时为何看不到任何调试信息的显示 (2)? n

解答:
1) 下列情况可能导致出现上述消息:n

  • SCL 源文件是由 SCL V5.0+SP3 创建的,而现在正在使用 SCL V5.1+SP2 进行编译。在版本 V5.0+SP3 中,编译后不出现该消息。n
  • 如果访问某个被覆盖的数据范围:
    例如:
    指令:
    DB_Test.BST19:= 1; 访问数位 DB23.DBX512.6
    指令
    DB_Test.BST20:= 1; 访问数位 DB23.DBX512.7

    如果在 DB23 中,您仅输出了直到且包括 DBX512.6 的数据范围,将不能得到任何信息。但是,一旦您超出了该数据范围 (从 DB23.DBX512.7 起),消息将出现。

背景
调试信息在一个功能或数据块的结构或接口中总是只能传递 254 个元素。 n

2.) 在此,您还会遇到一个不能超越的内部系统限制。 n

补救措施:
在块的变量声明中,将待调用的功能块作为统计变量包含在其中。在该功能块中,调用更多的功能块,而不包含它们自己的背景数据块。这样,您将把背景数据集中到一个背景数据块中,这意味着您可以更好地利用数据块的可用编号。作为全局背景调用所述多重背景的块以进行测试。随后可以生成调试信息。一旦功能测试完成,便可以正确编译设计为多重背景调用的块 (但是此时没有调试信息)。不是使用一个指令序列,例如:n

Instance1(...);

x := Instance1.y;

而是应当使用指令n

FB1.DB257(...);

x:= DB257.y;

摘自 SCL V5.1 + SP 2 (Point 1 Service Pack 2) 的自述文件:SP 2 (S7-SCL K5.1.2) 中包含下列对于 S7-SCL V5.1 + SP1 的更正。如果结构中具有超过 254 个组件,则可以监视其中的前 254 个用于测试。不显示其它的组件。

关键字:
调试信息,编译错误,编译消息,编译,开发环境,调试器。

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

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

相关推荐

发表回复

登录后才能评论