求帮助:S7-200中有400个同样的网络造成程序块过大,怎么办?

使用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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • 编译器 组态模拟报警的数量21超过了系统限制的模拟报警数量20

    跪求高级工程师帮忙解决下问题,该怎么办??我需要设置200来个模拟量报警 问题补充:auto start您好!我这些数据都是从PPU读来的,我只判断IO域里值得上线,产生…

    2017年7月26日
  • 位地址怎么变址寻址?

    请问三菱 LDM8000  MOV K1 K1M0V1 转换成S7-200该怎么写? 问题补充:三菱的对位地址进行变址寻…

    SIMATIC S7-200 2017年7月30日
  • s7-200通讯协议

    S7-200中USS协议是否可以和MODBUS之间相互转化。 二者之间有什么关系?谢谢 最佳答案 sqzth: 协议就是一些约定  我感觉是…

    SIMATIC S7-200 2021年7月5日
  • 催款功能

    西门子精简面板具有催款功能吗,比如100天需要输入密码才能启动,200天,需要输入密码启动.希望能够回答的详细一些,谢谢大家 问题补充:有没有直接在触摸屏里面做就行的?? 最佳答案…

    SIMATIC S7-200 2021年7月5日
  • 怎样写入位

    我想通过拨动一个开关导通(上升沿)一下,然后向V存储区v113.1写进1,(V113.1设在为断电保持区了),我没想出方法来,用set置1后,好象只能用reset才能改成0,靠梯形…

    SIMATIC S7-200 2021年7月5日
  • C#与SimaticNet OPC通讯

    上位机基于Visual Studio C#,想与SimaticNet OPC进行通讯,请问C#应该怎么写,不太明白自动化接口与自定义接口的区别 钻石用…

    SIMATIC S7-200 2021年7月5日
  • 200CPU 输出点的使用

    要使用cpu 224xpcn的输出点作为一个开关控制220V的交流回路,把cpu的L+和Q0.0两点接在回路中,为啥Q0.0没有输出时和有输出时回路都是通的?把这两点和回…

    SIMATIC S7-200 2017年11月20日
  • step7 V5.6编程软件更新

    step7 V5.6编程软件如何添加新订货号的模块、新版本的模块? 最佳答案 硬件升级是当项目中需要调用高版本的硬件组态,而step7软件中又没有的,相当于通过安装一个小…

    SIMATIC S7-200 2021年7月5日
  • TD400c的连接问题

    由于CPU故障 跟换了新的CPU226.将程序导入新CPU后 接通原来的TD400。 结果无法响应 plc地址是1,  …

    SIMATIC S7-200 2017年10月24日
  • WIN8.1安装STEP7 4.0时,无法配置通信,求解救

    如图,没有通信接口,想安装但是两个按钮都是灰色,无法使用。求专业人士解答。谢谢! 问题补充:这是图片 图片说明:       钻石用户推荐最…

    2021年7月5日

发表回复

登录后才能评论