作者 | 主题 |
---|---|
阳春节拍 侠士 ![]() ![]() 经验值:1433 发帖数:292 精华帖:2 |
楼主
![]() 主题:献给试图缩减程序大小的朋友 ![]() 版主给个精呗。 plc程序中每个关键字和数据都要占用程序空间(就是编译后给出的程序块大小,2.8版的sr/t60是最大30kb),那么具体会占用多少呢?下面对数据占用的程序空间做个汇总,没了解过的朋友请给个赞。 占用0字节:只有ac区的4个地址; 占用1字节:位地址:所有M区,Q、I和SM区的63.7位以下,T、C、S位;字节常数; 占用2字节:位地址:所有L区,Q、I和SM的64.0到511.7之间,V区的511.7位以下;字常数,所有地址区的非位数据(包括字节、字、双字等数据类型),V区4095以下地址的所有非位数据; 占用4字节:位地址:V、Q、I和SM的512.0以上位;双字常数,V区的4096以上非位数据; |
阳春节拍 侠士 ![]() 经验值:1433 发帖数:292 精华帖:2 |
33楼
![]() ![]() 扩展下哈。 大家也都看到了ac区是不占用程序空间的,因此要多用。但基于ac区的特点,ac区不适合跨周期甚至跨子程序使用。当然如果你有每段功能程序前都标注下修改了ac区那些地址,那使用上还是很方便的。这里有个建议,ac3的高字一直保持为V区指针,字或字节数据随便用哪个ac都行,双字数据尽量使用ac0。 关于位数据,显然使用M区是最优的,建议将M区当做跨周期暂存位,I或Q的30到64之间系统一定是不用的可用做临时暂存位(类似子程序的out变量,先赋值后使用) |
|
欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。