登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:[求助]老大们帮忙看看 这个程序有啥问题啊~

点击:780 回复:2

小弟初学Step7,最近需要做一个排序程序,就是将DB1中的12个数按照从小到大的顺序排序!~可是按如下写法,一运行cpu就红了~哪位大哥给指点一下啊~谢谢啦!
 
OPN   "DB_Sort"
     L     0
     T     MD    10
     L     MD    10
     L     4
     +D    
     T     MD    14
COMP: L     DBD [MD 10]
     L     DBD [MD 14]
     <=R  
     JC    MIN
     L     DBD [MD 10]
     T     MD    20
     L     DBD [MD 14]
     T     DBD [MD 10]
     L     MD    20
     T     DBD [MD 14]
     JU    END1
MIN:  L     4
     L     MD    14
     +D    
     T     MD    14
     L     44
     L     MD    14
     >=D  
     JC    COMP
     L     4
     L     MD    10
     +D    
     T     MD    10
     L     44
     L     MD    10
     >=D  
     JC    COMP
END:  NOP   0
07-08-20 22:45

VIV

JU    END1
       .
       .
       .
END:NOP 0
07-08-21 08:48
当MD10加4后跳转到COMP处时,MD14的值是48,这样 L     DBD [MD 14]指令取的数据超出了数据块的范围,运行就会出错。
MD10加4后,还应对MD14赋初值,漏了这一步吧。
07-08-21 08:53

工控新闻

更多新闻资讯