首页 上一页 1 2 下一页 尾页

PLC程序好坏的评价标准 点击:5709 | 回复:34



江湖再见-余辉

    
  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3351帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2014-08-02 21:52:14
楼主

       PLC程序最好的评价标准是实践。看程序能否达到预期的目的。但这还不够。因为能达到目的的程序还有好与不好之分。到底什么样的程序才算好的程序呢?大体有如下几个方面:
  1、正确性
  PLC的程序一定要正确,并要经过实际工作验证,证明其能够正确工作。这是对PLC程序的最根本的要求,若这一点做不到,其它的再好也没有用。
  要使程序正确,一定要准确的使用指令,正确的使用内部器件。准确的使用指令与准确理解指令相联系,为此对指令含义和使用条件一定要弄清楚。必要时,可编些小程序对一些不清楚的指令作些测试。
  同一指令,由于PLC的出厂批次不同或是PLC的系列型号的不同,一些指令细节有可能不一样,应仔细查阅编程手册。
  内部器件正确使用也是重要的。如有的PLC有掉电保护,有的PLC没有。一定要做到该掉电保护的一定要用掉电保护的器件,反之则不能用。
  总之,要准确的使用指令,正确使用内部器件,使所编的程序能正确要作,这是对PLC程序最根本的要求。
     2、可靠性
  程序不仅要正确,还要可靠。可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。
  有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮)后,程序就不能正常工作了。这种程序,就不大可靠,或说不稳定,就是不好的程序。
  好的PLC程序对非正常工作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。好的PLC程序对非法操作能予以拒绝,且不留下“痕迹”。只接受合法操作。
  联锁是拒绝非法操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。
  3、简短性
  使PLC程序尽可能简短,也是应追求的目标。
  简短的程序可以节省用户存储区;多数情况下也可节省执行时间,提高对输入的响应速度,还可提高程序的可读性。
  程序是否简短,一般可用程序所用的指令条数衡量,用的条数少,程序自然就简短。
  要想程序简短,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。
  4、省时性
  程序简短可以节省程序运行时间,但简短与省时并不完全是一回事。因为运行程序时间虽与程序所拥有指令条数有关,而且还与所使用的是什么指令有关。PLC指令不同,执行的时间也不同。而且,有的指令,在逻辑条件ON时执行与在OFF时执行其时间也不同。另外,由于使用了流程控制指令,在程序中,不是所有指令都要执行等。所以,运行程序的时间计算是较复杂的。但要求其平均时间少,最大时间也不太长是必要的。这样可提高PLC的响应速度。
  省时的关键是用好流程控制指令。按情况确定一些必须执行的指令,作必备部分,其余的可依程序进行,有选择地执行,或作些分时工作的设计,避免最大时间太长等。
   5、可读性
  要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便地调试,而且,还要便于别人读懂你的程序,便于使用者维护。必要时,也可使程序推广。
  要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,以至于用面向对象的方法进行设计。要多用一些标准的设计。
  再就是I/O分配要有规律性,便于记忆与理解。必要时,还要做一些注释工作。内部器件的使用也要讲规律性,不要随便地拿来就用。
  可读性在程序设计开始时就要注意。这不易完全做到。因为在程序调试的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程序,变的有些乱。所以在设计时就对调试增减留有一定的余地,然后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。
  6、易改性
  要使程序易改,也就是要便于修改。
  PLC的特点之一就是方便,可灵活地适用于各种情况。其办法就是靠修改或重新设计程序。

       重新设计程序用于改变PLC工艺的用途要求的情况,不仅程序重编,而且I/O也要重新分配。多数情况下不需要重编程序,作一些修改就可以了。这就要求程序具有易性,便于修改。
  易改也就是弹性,要求只要作很少的改动,即可达到改变参数或理改动作的目的。
  在设计PLC程序的过程中,能够满足以上6方面的要求的就能称的上是一个好程序了。

 



楼主最近还看过



zhu860423060

  • 精华:5帖
  • 求助:27帖
  • 帖子:272帖 | 3543回
  • 年度积分:302
  • 历史总积分:21193
  • 注册:2011年3月06日
发表于:2014-08-04 08:24:58
1楼

总结的很好,顶一个。

ToSea

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 47回
  • 年度积分:0
  • 历史总积分:314
  • 注册:2011年7月11日
发表于:2014-08-11 15:31:06
2楼

以上的要求只能说是最基本的。

 

如果再想拔个高,可能下面的要求能达到,那才是更高的境界:看一看你的程序是不是具备“面向对象”的因素。

 

在PLC程序里,“面向对象”的因素只需达到两条便可以了:封装和继承。

 

所谓“封装”,即你是不是、能不能在你的程序里大量、频繁、多层次地调用你自己编写的DFB功能块(或称做“导出功能块”,有人也把它视作是子程序的一种),有了它,程序的“简洁性”相较于以往那种“梯形图编到底”的做法,甚至可以以数量级的程度进行简化;

 

所谓“继承”,是指以往编的程序(尤指以往经过实践检验的你自己编制的DFB模块),只稍加修饰,便可立刻“变身”后挪作他用,如软起控制用DFB,经过简单的继承操作,便立刻变身为变频器控制DFB。

 

以上这些问题,其实已经早就是门学问了。哪位童鞋感兴趣,不妨看看《面向对象的现代工业控制系统实用设计技术》一书。

平常心心常平

  • [版主]
  • 精华:36帖
  • 求助:17帖
  • 帖子:958帖 | 3831回
  • 年度积分:0
  • 历史总积分:24794
  • 注册:2002年3月24日
发表于:2014-08-11 22:20:58
3楼

引用 zhu860423060 的回复内容: 总结的很好,顶一个。



smjjl1988

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2013年1月25日
发表于:2014-08-23 21:14:28
4楼

感谢前辈的总结,受教了

wangbin_love

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 97回
  • 年度积分:0
  • 历史总积分:242
  • 注册:2012年8月30日
发表于:2014-08-23 23:49:28
5楼

高!!!!!!!!!!!!!!!!!!!

电路板维修-德州

  • 精华:3帖
  • 求助:0帖
  • 帖子:17帖 | 1367回
  • 年度积分:139
  • 历史总积分:44307
  • 注册:2005年3月27日
发表于:2014-09-04 22:32:54
6楼

引用 zhu860423060 的回复内容: 总结的很好,顶一个。



janlly

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:73
  • 注册:2002年4月16日
发表于:2014-09-25 20:01:09
7楼

最好的PLC程序应该是:

1、分层设计

2、功能封装

最终你的主程序只是按具体应用搭积木,连接管脚。

abm7185

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2014年9月28日
发表于:2014-09-28 21:10:59
8楼

联锁是拒绝非法操作常用的手段嘛

dannyyuan0918

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 342回
  • 年度积分:0
  • 历史总积分:100
  • 注册:2013年6月21日
发表于:2014-09-28 22:39:04
9楼

非常好~

彩云之滇东北

  • 精华:21帖
  • 求助:5帖
  • 帖子:109帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2014-09-29 10:32:55
10楼

顶一个                            

213255tony

  • 精华:1帖
  • 求助:0帖
  • 帖子:45帖 | 810回
  • 年度积分:1002
  • 历史总积分:3167
  • 注册:2011年11月01日
发表于:2014-09-30 12:33:07
11楼

引用 janlly 的回复内容: 最好的PLC程序应该是:1、分层设计2、功能封装最终你...


标准化,结构化,模块化,

rkhc007

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 70回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2012年2月08日
发表于:2014-10-01 21:35:24
12楼

总结得非常好,学习了。。

Smile-lyc

  • [管理员]
  • 精华:114帖
  • 求助:50帖
  • 帖子:2793帖 | 22283回
  • 年度积分:284
  • 历史总积分:144015
  • 注册:2006年8月04日
发表于:2014-10-03 07:08:23
13楼

如果再想拔个高,可能下面的要求能达到,那才是更高的境界:看一看你的程序是不是具备“面向对象”的因素。

lizhaosheng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 43回
  • 年度积分:202
  • 历史总积分:483
  • 注册:2002年11月01日
发表于:2014-10-03 16:54:35
14楼

SHUODE FEICHANGYOUDAOLI

ouyr780711

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 69回
  • 年度积分:0
  • 历史总积分:18
  • 注册:2014年10月01日
发表于:2014-10-03 17:08:31
15楼

.....顶一个......

HZ2003

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 361回
  • 年度积分:0
  • 历史总积分:324
  • 注册:2014年10月01日
发表于:2014-10-06 18:51:31
16楼

总结的很好,顶一个。

HZ2003

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 361回
  • 年度积分:0
  • 历史总积分:324
  • 注册:2014年10月01日
发表于:2014-10-06 18:51:58
17楼

以上的要求只能说是最基本的。

如果再想拔个高,可能下面的要求能达到,那才是更高的境界:看一看你的程序是不是具备“面向对象”的因素。


HZ2003

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 361回
  • 年度积分:0
  • 历史总积分:324
  • 注册:2014年10月01日
发表于:2014-10-06 18:52:22
18楼

感谢前辈的总结,受教了

HZ2003

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 361回
  • 年度积分:0
  • 历史总积分:324
  • 注册:2014年10月01日
发表于:2014-10-06 18:52:59
19楼

最好的PLC程序应该是:

1、分层设计

2、功能封装

最终你的主程序只是按具体应用搭积木,连接管脚。


HZ2003

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 361回
  • 年度积分:0
  • 历史总积分:324
  • 注册:2014年10月01日
发表于:2014-10-06 18:53:23
20楼

联锁是拒绝非法操作常用的手段嘛


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页