技术论坛

 下载程序提示FB中的区域长度错误

返回主题列表
作者 主题
ZD_JY
至圣

经验值:13264
发帖数:1082
精华帖:8
楼主    2024-04-15 12:22:51
主题:下载程序提示FB中的区域长度错误

如下图,



下载启动仿真plc时,提示如上错误,搞不明白,请大家帮忙看一看,问题出在哪了?使用的博途V17,谢谢!!

做最好的自己!活出自我!
lu_zhao_long
侠圣

经验值:2869
发帖数:298
精华帖:9
3楼    2024-04-15 13:14:30
精华帖  主题:回复:下载程序提示FB中的区域长度错误

FOR #m := 1 TO 4 DO

         IF #CS(#n, #m) THEN

                EXIT;

         END_IF;

END_FOR;

当上面这段代码执行结束后,#m 的值变成了 5。

你再执行下面的语句:

IF #CS(#n, #m) THEN

此时肯定会因为 m > 4 面超出 CS(1~7, 1~4) 数组下标范围了

深陷于此,我是来“喝水”的! lu_zhao_long@139.com
宝冬
至圣

经验值:11131
发帖数:1676
精华帖:32
4楼    2024-04-15 13:24:05
精华帖  主题:回复:下载程序提示FB中的区域长度错误

RunTag可以验证



for循环的自增一或自减一行为,在代码中不直接显现。虽然简练便利,但在控制上不那么显性直接。


如果用while提供一个True死循环的局部空间,然后在死循环内部,用逻辑精确捕捉可以跳出循环的事件,这也是一种选择,一切都很直白。而且while死循环在诊断上很容易。


for是把循环结构和条件控制整合在一起,while死循环只是单纯提供循环结构。

如果是简单的逻辑操作,且循环上下文没有牵扯,只是一个非常简单的循环计算,我会倾向用for循环。如果需要复杂一些的事件控制,我倾向用while死循环,这样把事件控制解耦出来。


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。