- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计更好 PLC 程序的方法
“没有最好,只有更好”, 什么样的 plc 程序才算好的程序呢?有利
可图的程序就是好程序,一句话,高能低耗!
大体有如下几个方面:
1、正确性(调试成本低)
PLC程序首先一定要能正确地工作, 满足实际控制工艺要求。 这是 PLC
程序的根本,若这一点做不到,其它一切没有任何意义。
2、可靠性(维护成本低)
不仅要正确,还要可靠。不能三天两头时不时地出问题。可靠反映着
PLC程序的长期稳定性,这也是对 PLC程序的基本要求。
有的 PLC程序,在正常的工作条件下或合法操作时能正确工作, 而出
现非正常工作条件 (如临时停电,又很快再通电)或进行非法操作 (如
一些按钮不按顺序按,或同时按若干按钮或者连续按多次)后,程序
就不能正常工作了。这种程序,就不太可靠,或说不稳定,就是不好
的程序。
好的 PLC程序对非正常工作条件的出现, 能予以识别, 并能使其与正
常条件衔接, 可使程序适应于多种情况, 好的 PLC程序对非法操作能
予以拒绝,且不留下“痕迹”。 只接受合法操作, 即预防性健壮编程。
联锁是拒绝非法操作常用的手段,继电电路常用这个方法, PLC也可
继承这个方法。
3、可读性(学习成本低)
要求所设计的程序可读性要好,便于理解,便于调试,也便于别人阅
读使用你的程序,便于维护;必要时,也可使程序作为标准模板而便
于推广。要使程序可读性好:
1)程序的设计脉络就要尽可能清晰,结构上有层次感;
2)功能层实现模块化,或者使用面向对象的方法进行设计;
3)使用一些标准设计、通用性设计;
4 )变量层尽量使用符号名编程;
5)参数紧跟在使用它们之前再设定参数值(即设即用) ;
6)I/O 地址分配要有规律性,便于记忆与理解;
7)内部器件的使用也要讲规律性,相同功能的地址分配要保有一定
的不连续“断层裕量”(如 x 功能地址分配使用到 k, 那么下一功能
的地址分配就不要从 k+1 开始,而要从 k+n 开始),以防功能更改;
8)必要时,还要做一些注释工作;
可读性在程序设计开始时就要注意。 这不容易做到。 因为在程序调试
的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程
序,变的有些乱。 所以在设计时就对调试增减留有一定的余地,然后
调试完毕后再做一下整理,这样所设计的程序具有更高的质量。
4、简短性(存储成本低)
使 PLC程序尽可能简短,也是应追求的目标。
简短的程序可以节省用户存储区; 多数情况下也可节省执行时间, 提
高对输入的响应速度,还可提高程序的可读性。
程序是否简短,一般可用程序所用的指令条数衡量,用的条数少,程
序自然就简短。
从大的方面讲,要注意程序结构,提取实现相同功能代码段的共性,
使用子程序、中断等减少代码量的方法;
用流程控制指令简化程序, 减少某时间点的工作量, 不需要做的就不
做,能尽量少做的就少做;
从小的方面讲还要用多处理能力的强指令取代单处理能力的弱指令
(使用大级别的数据代替小级别的数据或者数据结构, 如用字节、字、
双字操作数代替位操作数的指令,故障字、状态字、控制字、通讯字
等;
使用间接寻址代替连续地址存储单元的相同操作; 使用块传送指令代
替多条字节、字、双字传送指令, 这些可以总结为“批处理”类操作)
以及注意指令的安排顺序等,要注意兼顾程序的可读性。
5、省时性(运行成本低)
程序简短有可能会节省程序运行时间, 但简短与省时并不完全是一回
事。因为运行程序时间虽与程序所拥有指令条数有关,
文档评论(0)