用户的程序和数据都是保存在内存之中,对所需的存储容量要有一个正确的估算,估计得太小则会造成编程和使用的困难,估计得太大又会造成浪费。一般而言,内存的容量会受到下面几个因素的影响,分别是内存利用率、开关量输入和输出点数、模拟量输入和输出点数,以及用户的编程水平。
1.内存利用率
用户编的程序最终是要以机器码的形式存放在内存中,不同厂家的产品所提供的编译器不完全相同,最后生成的机器码也会有所差异,因此造成了所需内存大小也会有所不同。所谓内存的利用率,就是一个程序段中的接点数与存放该程序段所代表的机器码所需内存字数的比值。对于同一个程序而言,高利用率可以降低内存的使用量,还可以缩短扫描时间,提高系统的响应速度。
2.开关量输入和输出的点数
PLC输入和输出的总点数对所需内存容量的大小影响较大。一般系统中,开关量输入和输出的比为6:4,根据经验公式,可以算出所需内存的字数:
所需内存字数=开关量(输入+输出)总点数×10
3.模拟量输入和输出的点数
对于模拟量的处理需要用到数字传送和运算的功能指令,这部分指令的内存利用率比较低,因此需要更多的内存容量。
模拟量的输入,一般都要经过读入、数字滤波、传送和比较等几个步骤,在有模拟量输出的情况下,可能还要进行比较复杂的运算和闭环控制。因此,在程序设计中将上述步骤编制成子程序进行调用,可以大大减少所需内存的容量。当模拟量路数很多时,这样处理的效果尤其明显。下面是一般情况下的经验公式。
只有模拟量输入时:
内存字数=模拟量点数×100
模拟量输入/输出共存时:
内存字数=模拟量点数×200
上述经验公式是针对10点左右的模拟量,当点数小于10时,要适当加大内存字数,反之则可适当减小。
4.程序编制质量
不同程序员写出来的相同功能的程序,其大小往往相差很大。这与个人的编程经验,以及对机器和编程语言的熟悉程度有关。质量高的程序往往短小精练,占用内存较少。初学者由于缺乏实践经验,以及对机器和编程语言的掌握不深,写出来的程序比较冗长。因此,对于初学者来说,在考虑内存容量时,可以多留一点余量。
楼主最近还看过