您的位置:控制工程论坛网论坛 » 西门子社区 » 关于在1512SP 的CPU中多次使用loop指令问题

atmupkeep

atmupkeep   |   当前状态:在线

总积分:5759  2024年可用积分:0

注册时间: 2011-05-08

最后登录时间: 2023-08-15

空间 发短消息加为好友

关于在1512SP 的CPU中多次使用loop指令问题

atmupkeep  发表于 2015/12/8 9:28:35      2886 查看 6 回复  [上一主题]  [下一主题]

手机阅读

在1512SP的CPU中使用LOOP指令编写一个5组,每组由32个整数的的排序程序,我使用的方法是用LOOP指令进行循环冒泡的方法进行排序,每组使用两个LOOP指令实现一个组内32个数值进行大小排序,测试第一组正常,但是当测试第二组以后就出现了CPU报警:Buffer overflow for OB 91 events - Function will continue(system reaction),请教高手loop指令最多能使用多少个,使用时对CPU的扫描时间是否有影响?


1楼 0 0 回复
  • jijun

    jijun   |   当前状态:在线

    总积分:5845  2024年可用积分:3

    注册时间: 2007-09-24

    最后登录时间: 2023-08-18

    空间 发短消息加为好友

    jijun   发表于 2015/12/9 21:11:55

    超时会报超时故障的,而你的确是内存除了问题


    2楼 回复本楼

    引用 jijun 2015/12/9 21:11:55 发表于2楼的内容

  • sweect

    sweect   |   当前状态:在线

    总积分:5941  2024年可用积分:0

    注册时间: 2007-11-07

    最后登录时间: 2023-08-21

    空间 发短消息加为好友

    sweect   发表于 2015/12/19 16:17:25

     Zane,您所提到的内存问题是因为1512sp属于小型PLC本身所带的内存容量过小造成的,还是因为设置问题,麻烦您帮忙指出非常感谢。

    之前我联系了西门子技术支持,

    1——他告知我loop指令嵌套过多已经溢出造成的,可以更换编程方法,不一定非要用loop指令进行排序,因为使用的是STL语言编程里面可用的指令少的可怜,没有高级指令可以使用,您知道有什么编程方法实现排序吗?

    2——他建议我可以用315以上的中型CPU来实现此功能,因为整个项目全系使用1512SP的PLC系统无法更换成315所以此方法我无法接受。

    您能给我一些建议吗?非常感谢。

    3楼 回复本楼

    引用 sweect 2015/12/19 16:17:25 发表于3楼的内容

  • swy

    swy   |   当前状态:在线

    总积分:8597  2024年可用积分:2

    注册时间: 2006-08-05

    最后登录时间: 2023-08-21

    空间 发短消息加为好友

    swy   发表于 2015/12/21 18:36:05

    1. CPU1512SP的性能应该不比CPU315差的

    2. LOOP指令是否支持嵌套?我很久远映像中S7-300中就不好使,这种双循环我从来不用系统指令比如FOR循环,LOOP循环的,只用跳转goto

    3. 程序结构是否规范?造成LOOP指令出错。

    4. 循环次数的确比较多的,你可以减少比较的数据,增加比较的组数,来验证一下究竟是循环超时还是循环嵌套溢出

    5. 楼主可以贴下你的程序


    4楼 回复本楼

    引用 swy 2015/12/21 18:36:05 发表于4楼的内容

  • wangchen

    wangchen   |   当前状态:在线

    总积分:9915  2024年可用积分:7

    注册时间: 2010-03-25

    最后登录时间: 2024-05-22

    空间 发短消息加为好友

    wangchen   发表于 2015/12/21 18:42:29

    楼主的程序不能满足多次调用的条件,多次调用的子程序中是不能出现全局变量的。


    另外,楼主的指针应用也是比较另类的,可能问题就出在这里了。


    5楼 回复本楼

    引用 wangchen 2015/12/21 18:42:29 发表于5楼的内容

  • wangchen

    wangchen   |   当前状态:在线

    总积分:9915  2024年可用积分:7

    注册时间: 2010-03-25

    最后登录时间: 2024-05-22

    空间 发短消息加为好友

    wangchen   发表于 2015/12/21 18:45:32

    楼主的程序不能满足多次调用的条件,多次调用的子程序中是不能出现全局变量的。


    另外,楼主的指针应用也是比较另类的,可能问题就出在这里了。


    6楼 回复本楼

    引用 wangchen 2015/12/21 18:45:32 发表于6楼的内容

  • ababab

    ababab   |   当前状态:在线

    总积分:5826  2024年可用积分:0

    注册时间: 2011-05-06

    最后登录时间: 2023-08-16

    空间 发短消息加为好友

    ababab   发表于 2015/12/21 18:48:16

    请使用SCL!


    7楼 回复本楼

    引用 ababab 2015/12/21 18:48:16 发表于7楼的内容

总共 , 当前 /