描述:
使用 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