使用S7-200CPU226对400个目标进行时间监测,程序简单,一个监测用一个网络就可以了,每个网络的结构都是一样的,但程序块编译时显示:警告 820:编译后的程序块过大,不适合当前的 PLC 类型。块大小 = 45340 (字节),0 个错误 能不能使用库或子程序结构解决程序块过大的问题求帮助,谢谢
钻石用户推荐最佳答案
可以用子程序或自建一个库来提高代码的复用,有效地减小程序大小。库指令可以看作是一个特殊的子程序。
下面就以子程序为例来说明:
由主程序、中断程序或另一个子程序执行。当您希望重复执行某项功能时,子程序是非常有用的。与其在主程序中的不同位置多次使用相同的程序代码,不如将这段程序逻辑写在子程序中,然后在主程序中需要的地方调用。调用子程序有如下优点:
1、用子程序可以减小程序的长度;
2、由于将代码从主程序中移出,因而用子程序可以缩短程序扫描周期。S7--200在每个扫描周期中处理主程序中的代码,不管代码是否执行。而子程序只有在被调用时,S7--200才会处理其代码。在不调用子程序时,S7--200不会处理其代码。
3、用子程序创建的程序代码是可传递的。您可以在一个子程序中完成一个独立的功能,然后将它复制到另一个应用程序中而无需作重复工作。
注意:
在子程序中使用I、Q、M、V、T、C这些全局存储器地址会限制它的可移殖性。因为一个程序对于全局存储器地址的分配有可能与另一个程序对其分配有冲突。相比之下,在子程序中的所有变量地址都使用局部变量(L存储器),会使子程序有极高的可移殖性。因为当子程序使用局部变量时,子程序与程序的其他部分之间不会有地址冲突。
使用自建库也是一样的效果。
指令库常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/008.html
中断,子程序常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/009.html
S7-200 可编程序控制器 系统手册 1109582 2009年4月23日
https://support.industry.siemens.com/cs/document/1109582
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc369003.html