如何提高PLC编程能力 点击:43326 | 回复:507



AncientSword

    
  • 精华:6帖
  • 求助:5帖
  • 帖子:162帖 | 802回
  • 年度积分:367
  • 历史总积分:12484
  • 注册:2006年10月16日
发表于:2017-09-24 22:33:13
楼主

在工控行业混迹了十多年,一直做与PLC相关的项目,就把自己的一些经验做个总结,由于水平有限,有不足之处还望各位多多指教。

我刚接触PLC的时候是拿着一本廖常初老师的关于S7-200的教材入的门,廖老师的书里讲的步进编程的思想对我之后的PLC编程影响很大,这个思想的好处就是一步一步的执行,当进入下一步的时候同时退出上一步,在程序中只有一个活动步,使程序逻辑很清晰,缩小了问题出现的范围,而且在编程之前先画出顺序功能图,如果顺序功能图画的完整,按照功能图做出的程序基本上就没啥问题了。不论大小项目最好画个顺序流程图出来,养成好的习惯能达到事半功倍的效果。以下曾经做过的一个顺序流程图。

    这个顺序功能图虽然花了不少时间,当时工期紧半自动都没试,直接投的自动,管道内可是焦炉煤气,同一根管道又进煤气又进空气,不停的切换,真是捏了一把汗,还好程序基本没啥问题。

    做程序还要进行规划,将程序分成不同的控制单元,尽量减少单元之间的联系,举个简单的例子,项目中要用到罗茨风机,风机口有气动阀门,要求开风机的时候先开阀门,再起动风机,停止的时候要先停止风机后关闭阀门,我们可以将风机和阀门看做一个整体,将风机的起动和停止作为一个单元,别的程序段只负责起动和停止风机,不管风机起动和停止风机单元内部的逻辑关系。

    作为一个合格的编程人员,程序和变量注释一定要写清楚,这是对编程人员最基本的要求,如果你还还在用绝对地址编程,那么需要想想自己是不是该换个工作了。

    另外就是做程序不要怕复杂,不要觉得难就不做了,我们做自控的也算个技术活,用户很容易被忽悠,这是我搞工控这些年经常看到的事,用户提出了要求,只要在合理范围之内我们要尽量去满足,当你完成一次次的挑战之后,你会发现曾经的鸿沟不过是个小水渠,做程序就要自己给自己找困难,流行的一句话就是没有困难创造困难也要向前冲。

对以上我总结五点:

1、编程要有正确的方法,也可称为编程的指导方法。

2、养成画逻辑图的好习惯,画图的过程就是程序构思的过程。

3、规划程序结构,将程序规划成不同功能的小单元,减少不同单元之间的联系。

4、养成建立变量名、增加变量和程序段注释的习惯,一是为自己编程方便,二是为别人读你的程序时方便。

5、不断的挑战自己的极限在能够最大的进步,用户的苛刻要求总是成为你不断进步的推力。

今天就说这几条吧,这说不上是技巧,只是一个指导思想。如果有时间在讲解一下PLC编程的技巧。

1分不嫌少!


楼主最近还看过



所能藏沙南差

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 50回
  • 年度积分:0
  • 历史总积分:98
  • 注册:2017年9月21日
发表于:2017-11-01 15:43:56
101楼

说的不错,赏!!!!!!!!!!!!

一冬无雪

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 29回
  • 年度积分:0
  • 历史总积分:207
  • 注册:2016年5月25日
发表于:2017-11-02 15:11:25
102楼

顺序流程图很重要,能让很多问题变的简单

wst_24

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 264回
  • 年度积分:0
  • 历史总积分:528
  • 注册:2006年7月09日
发表于:2017-11-04 15:00:27
103楼

非常好...                           

slzgongkong

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 221回
  • 年度积分:0
  • 历史总积分:82
  • 注册:2013年9月11日
发表于:2017-11-04 18:30:30
104楼

受益匪浅,很好的资料学习一下

AncientSword

  • 精华:6帖
  • 求助:5帖
  • 帖子:162帖 | 802回
  • 年度积分:367
  • 历史总积分:12484
  • 注册:2006年10月16日
发表于:2017-11-04 21:17:39
105楼

PLC编程是一个日积月累的过程,要快速的提高就要做不同的项目,熟悉不同指令的用法。

也有一些工程师平时就调试几套程序,如果能够尝试采用不同的方法实现 你的程序也能提高挺快。只不过可能很多PLC功能用不到,就像做过程控制的,对于运动控制几乎用不到。

如果能够将常用的设备控制做成一个个程序块,比如变频器的控制、普通电机的控制、电动阀门、起动阀门、模拟量量程转换、仪表通讯等,随着做的项目多了,这将是一大财富。

AncientSword

  • 精华:6帖
  • 求助:5帖
  • 帖子:162帖 | 802回
  • 年度积分:367
  • 历史总积分:12484
  • 注册:2006年10月16日
发表于:2017-11-04 21:22:58
106楼

所谓它山之石可以攻玉,如果能够掌握一门计算机编程语言,不但让自己做上位机和触摸屏程序游刃有余,同时计算机语言的编程技巧完全可以用在PLC编程上,如果计算机语言的编程能力上去了,那么你的PLC编程的能力一定会有一个质的飞跃,在编程方面计算机语言就像是大海,而PLC的编程就像是汇入大海的万千支河流中的一条小溪。

liuzhlr123

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 48回
  • 年度积分:2
  • 历史总积分:1587
  • 注册:2011年12月01日
发表于:2017-11-06 12:44:09
107楼

最主要的还是要多实践

qlintaop

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 35回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2010年8月26日
发表于:2017-11-06 13:05:02
108楼

感谢楼主,受益匪浅!

一加一加贝

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 51回
  • 年度积分:2
  • 历史总积分:141
  • 注册:2015年4月23日
发表于:2017-11-09 09:37:44
109楼

楼主体会很深呀 ,赞同楼主的观点!!!

临窗观景

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 44回
  • 年度积分:0
  • 历史总积分:650
  • 注册:2017年11月05日
发表于:2017-11-09 19:36:50
110楼


正在学习中谢谢楼主分享!!!


AncientSword

  • 精华:6帖
  • 求助:5帖
  • 帖子:162帖 | 802回
  • 年度积分:367
  • 历史总积分:12484
  • 注册:2006年10月16日
发表于:2017-11-11 07:32:18
111楼

回复内容:

对:社会主义接班人 回复内容:对:鲜花属于牛粪 很多人想学PLC却总是徘徊在大门之外,其主要原因一是因为没有实践的机会,二是胆怯怕干不来。自己搞 些 电脑模拟,或是买个二手PLC自己研究,都不如一上来就开始做项目。虽然刚开始遇到的问题会比较多,但是只要坚持下来就算入门了,其实刚开始做的项目难度都不会太大,网络信息现在很发达,技术热线,供应商的售后支持都可以帮我们跨过这道坎,做工控往往 是遇到了问题才去读书查资料,没有谁把PLC完全搞透了再去做项目。     内容的回复:自动化大四一枚,请问师傅能给一些建议吗?在网上投了简历发现没人带新人,好迷茫     内容的回复:

有些企业是愿意培养新人的,比如一些小公司的锻炼机会还是很多的,大公司也都有毕业生招聘计划,个人觉得小企业更能锻炼人。

吴雪松

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2013年3月21日
发表于:2017-11-13 16:44:00
112楼

读过受益颇多,感谢大神分享

很精又抠门

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 40回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2017年11月14日
发表于:2017-11-14 18:24:06
113楼

受教了,谢谢楼主。

铸钢为我

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 218回
  • 年度积分:44
  • 历史总积分:638
  • 注册:2016年3月17日
发表于:2017-11-14 23:15:20
114楼

楼主写的很好,很不错的经验啊,顺序功能图很重要

 a long walk

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 16回
  • 年度积分:0
  • 历史总积分:74
  • 注册:2017年11月05日
发表于:2017-11-15 21:23:17
115楼

谢谢楼主,学到了不少好东西

控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 229回
  • 年度积分:6
  • 历史总积分:162
  • 注册:2017年10月20日
发表于:2017-11-17 13:45:21
116楼


引用 鲜花属于牛粪 的回复内容: 很多人想学PLC却总是徘徊在大门之外,其主要原因一是因...


249865567

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 154回
  • 年度积分:280
  • 历史总积分:2918
  • 注册:2015年8月05日
发表于:2017-11-19 00:26:12
117楼

学习了,谢谢

zhoudehuai

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 45回
  • 年度积分:0
  • 历史总积分:2471
  • 注册:2008年11月09日
发表于:2017-11-19 07:42:47
118楼

回复内容:

对:鲜花属于牛粪 常用的PLC编程语言主要有梯形图(LAD)、功能块(FBD)、语句表(STL)、结构化文本(SCL),在自控行业这些年见到用的最多的还是梯形图,但是梯形图有一定的局限性,Siemens的STEP7中,梯形图不能完全转换成语句表,功能块语言见过德国佬用过,语句表在STEP7中是功能最全的,可以进行断点调试,语句表在做数据运算和变址寻址方面很有优势。结构化文本类似于高级语言的编程,但是不能混为一谈,毕竟PLC和计算机的执行机制不同,在西门子的博图中好像舍去了语句表,代替它的就是结构化文本,如通用的PLC编程软件Codesys也是主推结构化文本。PLC在不断的扩大自己的应用范围,从一开始的逻辑运算、再到工程控制逐渐有了DCS的功能,再到后来的数控系统,软PLC,但是PLC还是有它的应用局限性,比如PLC与工业相机的结合远不如工控机那般灵活,工控机可以轻松实现CCD函数库的调用,而PLC却不能够完成这样的工作,从siemens1500的几款PLC中我感觉到到他们在计算机高级语言在PLC应用中做了不少的工作,而结构化文本这种类似于计算机高级语言的编程语言在PLC语言与高级语言之间的桥梁作用就会更为显著,所以个人觉得结构化文本将来的应用应该会越来越广泛。     内容的回复:

同意,是这个意思。

ygzgkw

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 53回
  • 年度积分:0
  • 历史总积分:106
  • 注册:2017年11月17日
发表于:2017-11-19 11:16:55
119楼

好东西值得拥有!谢谢楼主分享,顶一个!

一剑飙血

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 43回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2017年11月10日
发表于:2017-11-19 19:50:17
120楼

好帖,学习中。


热门招聘
相关主题

官方公众号

智造工程师