怎样提高PLC编程能力?
所谓“天下文章一大抄”,想要提高PLC的编程能力,除了基础知识掌握以外,最有有效直接的方法,就是多去看看别人的程序,或者别的公司的程序,特别是那些相似的项目经过多年的优化修补而后沉淀成型的标准程序,你看了一定会大受启发!
当然,如果没法接触到那些优质的程序之前,想要提高PLC的编程能力,可以按照以下的方法:
1,让自己对PLC中的数据类型有更全面,更深入的认识!
其实,还是很有一些搞PLC的小伙伴对PLC的基础知识,一知半解,就去做项目了,可能做了许久才清楚,单精度和双精度的区别,有符号数和无符号数的区别,知道数据的最高位代表符号位!
还有,我前几天答了一个浮点数的问题,主要就是仪表通讯读来一串16进制数据450F9000如何转换为十进制的2297?不明白的原因就是对像西门子300PLC中32位的浮点数,0-22位是尾数,23-30位是指数,31位是符号位,以及怎么换算的方法不理解,造成通讯读来的数据,自己没法解析出来!---这就是对数据类型理解的不够透彻的一个例子,我不单单要知识浮点数有32位的,有64位的,还要知道更多的信息,这些编程手册上都有解释的!
(当然,计算机专业的小伙伴一般不会有这些问题,而电气自动化专业的就对数据类型不透彻的挺多的!)
2,让自己对编程软件中提供的指令块/编程方式等有更全面,更深入的认识!
PLC编程软件中的指令系统,其实是比较多的,但是经常用到的可能就那么一些;但是如果想提高自己的编程能力,就很有必要去看看,那些自己不熟悉,不常用的PLC指令。甚至是常规的梯形图编程的优缺点是什么,如果我用语句表,ST结构文本,或者GRAPH去编程的话,是怎样的编程方式,该怎样编写,我会么?
又比如,FB函数块(功能块),FC函数(功能),其实现在挺多的PLC中都有这两种叫法,他们的区别是什么,在不同PLC中的用法一样么?---多去体会一下他们的不同,应该也会让自己对PLC项目开始时搭建程序结构,有更深入的了解!
3,对自己经手的程序,尽量理解到最细,用到的每一个块,每一个指令都详细搞清楚,再去揣摩编程思路或者说分析功能实现的方法,也很能提高自己的编程能力!
比如像第一次遇到这种程序的话,如果自己之前没有用过,最好有时间的话,就回过来仔细研究研究,你就会发现STL编程中有和梯形图编程几乎完全不一样的另外一套编程指令,好像还比梯形图编程更高效!---当你对这些知识和编程方式,熟悉了解了之后,有些可能梯形图难以实现的程序,你用其他的编程方式就能轻松实现!
就简单说这么多了,我(控制研究控)个人认为提高其实就是一个强迫自己走出自己熟悉圈的过程,我之前对梯形图编程很熟悉,但是我为了提高自己,我就要强迫自己去用我不熟悉的语句表或者流程图以及结构化文本的方式去编程,这样也是一种提高!
还是回到问题的最初,我说多去看别人经过实践不断优化的程序,比如:
你看这个程序块就更新了4个版本,也就是说功能更新了4次,肯定是更加适合目前的控制要求,如果你对这种程序块能深入的去理解,那么一定能对你有所提高!---特别是一个项目中有很多别人久经验证的程序块,那么你理解后,你觉得好,那你拿来用,可以说就是你的一个很好的资料库!