技术论坛

 博图报关于数据长度错误的思考-------写给初学者

返回主题列表
作者 主题
聿舟工控
侠士

经验值:1371
发帖数:187
精华帖:2
楼主    2019-12-05 17:20:16
主题:博图报关于数据长度错误的思考-------写给初学者

       今天,公司新来的同事提出一个问题,就是在FB块中建一个数组,用冒泡法做个简单的程序,总是报FB数据长度错误,PLC即刻停机。如图是程序和PLC诊断。

      其实这是个简单的错误,本没有必要再次分享,但在网上搜了一下,答案要么太笼统,要么没人理会。基本没有初学者满意的回复。

       对于高手来说,不可能犯这样的错误;对于刚接触博图和SCL语言的初学者来说,本身不是很明白一些概念,这样的程序写出来,看着没有一点问题,就是不能运行。让许多初学者很郁闷,PLC怎么这么麻烦。失去了继续学习的兴趣。

     今天贴出来,希望高手不要见笑。希望初学者增强信心,继续努力学习!

       这个问题的根本不在于数组在那建立,不在于for循环的语法问题。而在于冒泡法做循环时一定注意下表不能超过已建数组的最大下表。

      像此问题,数组下表是0-3,当循环+1时,3+1=4,数组最大下表就访问到Any_out[4],二这个是数组没有定义的。所以无法访问的地址。这是初学者在使用SCL编程时,在数组、结构体、循环、引用等经常容易忽视的。有的初学者觉得S7-300有模拟器,随便建硬件组态,而模拟时不看硬件的地址,随便写个地址,模拟就会出现同样的错误。希望谨记

    

捕获.PNG

捕获2.PNG


学无止境,永远保持一颗谦虚上进的心。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。