使用子程序好处多多,但使用子程序需要占用的系统资源,手册中并不明晰。比如需要占用的程序空间。
抛下砖,共勉。
首先参数数据本身占用的程序空间需要另行计算,不在下述空间计算之内。比如一个字参数,每次调用都占用2字节程序空间,但若调用时使用的参数是VW0,则这个数据VW0本身需要额外占用2字节程序空间。
子程序字义占用4字节,只要定义就占用,哪怕是空的或者是未使用的子程序。
子程序每次调用占用3字节,此3字节是必定存在的基础占用。
子程序中使用位参数有两种方式,一种是能流,一种是位参数。能流需要连接左母线,能流本身可以是复杂梯形图形式(如上述,数据本身需要额外占用程序空间),限IN方式;位参数,类同普通参数。
普通参数(包括位参数),每次调用占用4+2a字节,a为普通参数的数量。
能流,每个调用占用6+7b字节,b为能流数量(不含EN能流)。
位数据本身占用程序空间太大了,如可能应尽量用字数据替代位数据。