博图V13写的排序程序

用SCL写了一段时间排序程序,每次激活的时候就会报一下区域长度错误
CPU 临时错误:FC 11 中的区域长度错误
将影响 OB 1 的执行
读访问 安全型 LD 区域 
地址错误,已更换操作数 
 继续处理(无 OB 处理)
 
 |> HW_ID=    52
内部地址的详细信息:Caddr=16#00000080,区域:安全型 LD 区域,地址:96
求大神帮忙看一下程序到底哪里出了问题
#time[1] := #runtime1;
#time[2] := #runtime2;
#sort1[1] := 1;
#sort1[2] := 2;
FOR #J := 0 TO 1 BY 1 DO
    // Statement Section
    FOR #I := 1 TO 2 - #J BY 1 DO
        IF #time[#I] > #time[#I + 1] THEN
            #TMP1 := #time[1];
            #time[1] := #time[#I +1];
            #time[#I + 1] := #TMP1;
            
            #TMP2 := #sort1[#I];
            #sort1[#I] := #sort1[#I + 1];
            #sort1[#I + 1] := #TMP2;
        END_IF;
    END_FOR;
END_FOR;
#sort01 := #sort1[1];
#sort02 := #sort1[2];

最佳答案

检查#time[] 定义的长度,看看是不是不够,或者内循环的次数、起始数值有问题

提问者对于答案的评价:
程序没啥问题,time定义错了,我没仔细看

专家置评

长度定义问题

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月13日 上午2:24
下一篇 2017年11月13日 上午2:24

相关推荐