新手电气人入门第一课:如何提高PLC编程能力?不要怕不会和困难
在工控行业混迹了十多年,一直做与PLC相关的项目,就把自己的一些经验做个总结,由于水平有限,有不足之处还望各位多多指教。
我刚接触PLC的时候是拿着一本廖常初老师的关于S7-200的教材入的门,廖老师的书里讲的步进编程的思想对我之后的PLC编程影响很大,这个思想的好处就是一步一步的执行,当进入下一步的时候同时退出上一步,在程序中只有一个活动步,使程序逻辑很清晰,缩小了问题出现的范围,而且在编程之前先画出顺序功能图,如果顺序功能图画的完整,按照功能图做出的程序基本上就没啥问题了。不论大小项目最好画个顺序流程图出来,养成好的习惯能达到事半功倍的效果。 以下曾经做过的一个顺序流程图。
这个顺序功能图虽然花了不少时间,当时工期紧半自动都没试,直接投得自动,管道内可是焦炉煤气,同一根管道又进煤气又进空气,不停的切换,真是捏了一把汗,还好程序基本没啥问题。
做程序还要进行规划,将程序分成不同的控制单元,尽量减少单元之间的联系 。举个简单的例子,项目中要用到罗茨风机,风机口有气动阀门,要求开风机的时候先开阀门,再启动风机,停止的时候要先停止风机后关闭阀门,我们可以将风机和阀门看做一个整体,将风机的起动和停止作为一个单元,别的程序段只负责起动和停止风机,不管风机起动和停止风机单元内部的逻辑关系。
作为一个合格的编程人员,程序和变量注释一定要写清楚 ,这是对编程人员最基本的要求,如果你还在用绝对地址编程,那么需要想想自己是不是该换个工作了。
另外就是做程序不要怕复杂,不要觉得难就不做了 ,我们做自控的也算个技术活,用户很容易被忽悠,这是我搞工控这些年经常看到的事,用户提出了要求,只要在合理范围之内我们要尽量去满足,当你完成一次次的挑战之后,你会发现曾经的鸿沟不过是个小水渠,做程序就要自己给自己找困难,流行的一句话就是没有困难创造困难也要向前冲。
同时做编程要有创新,尽量不要去做重复性的工作,及时做同样的项目或设备,也要去尝试有没有更高效,更稳定的方法,将创新作为乐趣 ,原来100行的程序如果能用两三行去完成是不是很有成就感,将公司的各型号设备程序搞成一个通用程序,是不是很有挑战性。编程枯不枯燥在于你的态度,如果你认为就像搬砖一样,天天重复,那就枯燥,如果你觉得你每天都在创新,就不会觉得枯燥。
很多人想学PLC却总是徘徊在大门之外,其主要原因一是因为没有实践的机会,二是胆怯怕干不来。自己搞些电脑模拟,或是买个二手PLC自己研究,都不如一上来就开始做项目。虽然刚开始遇到的问题会比较多,但是只要坚持下来就算入门了,其实刚开始做的项目难度都不会太大,网络信息现在很发达,技术热线,供应商的售后支持都可以帮我们跨过这道坎,做工控往往是遇到了问题才去读书查资料,没有谁把PLC完全搞透了再去做项目。
对以上我总结五点:
1、编程要有正确的方法,也可称为编程的指导方法。
2、养成画逻辑图的好习惯,画图的过程就是程序构思的过程。
3、规划程序结构,将程序规划成不同功能的小单元,减少不同单元之间的联系。
4、养成建立变量名、增加变量和程序段注释的习惯,一是为自己编程方便,二是为别人读你的程序时方便。
5、不断地挑战自己的极限才能够最大的进步,用户的苛刻要求总是成为你不断进步的推力。
今天就说这几条吧,这说不上是技巧,只是一个指导思想。如果有时间在讲解一下PLC编程的技巧。
都说是电气高手,这9个PLC编程都能看明白吗?
一、小车往返运动
用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后 小车自动做返回运动,当碰到另一边的行程开关后又做返回运动 。如此的往返运动,直到当按下停车按钮后小车停止运动。
电气接线图
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
控制平台操作面板
当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0 亮)。如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。
附:
二、闪光电路
当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪 发光。
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把编写好的程序下载到西门子s7-200PLC中进行调试。观察运行结果和实验要求 是否相同。通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0 接通)此时Q0.0有输出,Q0.0所接负载灯就亮,同时启动定时器T37开始计时, 当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出,所接负载灯灭。灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点 断开,所以T37复位,T37常闭触点恢复常闭。此时Q0.0 又有输出, 所接负载灯又亮。这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停的闪烁,直到按下在线控制面板上的 I0.1f(即I0.1接通),闪光电路不在继续工作。若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。
三、星三角降压启动
利用西门子S7-200的PLC实现星三角接法的降压启动。
星三角降压启动的电路图与控制图
流程框架图如下
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把编写好的程序下载都西门子S7-200的PLC中进行调试,下载好后我们打开在线控制面板进行调试,看运行结果是否符合要求。首先把控制面板上的i0.2f置位为按钮按下去,即i0.2 接通,表示断路器QF合上。按下启动按钮i0.0f(SB2)即i0.0接通此时电动机星形启动,Q0.0和Q0.1有输出,实验接线图中表示这两个的灯L1和L2都亮同时驱动时间计数器,当计时器计到10S时切换为三角型启动,此时Q0.1无输出,Q0.2有输出,则此时Q0.0和Q0.2 有输出,电机三角星运行。接线面板上的L 1和L3灯亮。按下在线面板上的i0.1f后(i0.1接通)此时电动机停止运行。所以的输出点都无输出。
四、彩灯控制
利用PLC的Q0.0到Q0.7八个输出端控制八个彩灯,使其每隔一秒亮一个并循环。当接通I0.0后所有的灯都熄灭。当接通I0.1后又重新从Q0.0开始循环。
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把编写好的程序下载都PLC中进行调试,下载好后我们打开在线控制面板进行调试,看运行结果是否符合要求。
PLC一上电后sm0.0一直保持接通。所以t37进行延时计时,延时到后启动t38计时,t38计时到后t38常闭触点断开所以t37断开计时,t37常开触点恢复为常开所以t38也断开计时。此时t38的常闭触点恢复为常闭所以t37又重新计时,同时计数器C0开始计数一次。如此的反复计数。当计数为1时,Q0.0接通。计数器计数为2时Q0.1接通……如此下去当计数器计数到8时Q0.7接通。当计数器计到9时计数器C0清零。当按下在线控制面板上的I0.0f(即I0.0)接通,此时计数器,和Q0.0~Q0.7都清零,即没有一个灯亮。当按下在线控制面板上的I0.1f(即I0.1接通)此时计数器开始重新计数,灯又从Q0.0开始重新一个接一个的往下亮。
五、比较指令
对进出仓库的货物进行记录。仓库最多可放6000箱货物,货物多于1000箱灯L1亮,多于 5000箱时灯L2亮。
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把程序下载到S7-200的PLC中进行调试。在下载的之前我们先把程序中的数字进行缩小处理,以便在实验中我们能够更好的更快的观看到实验结果。我们把L1的灯亮的时候设置为5。把L 2灯亮我们设置为10。这样我们就能够更快的看到实验结果。
当按下在线控制面板上的I0.0f的时候即I0.0接通,表示有货物进去。当我们点击在线控制面板上的I0.0f五次后,此时计时器中的计数值为5,(即表示仓库中已经有1000箱物品了)则灯L1要亮,即Q0.0有输出。当继续点击I0.0f后点 击有十次后此时计数器的计数值位10(即表示仓库中有5000个物品),此时灯L2也亮即Q0.1有输出当继续点击在线控制面板上的I0.0f。计数器中的计数值就继续往上增加。当按下在线控制面板上的I0.1f后计数器就开始往下减。点击一次,计数器中的计数值就减少一次。当计数器中的值小于10时即表示仓库中的物品少有5000箱,此时灯L2灭(即Q0.1没有输出)当继续点击I0.1f时计数器 中的计数值继续减少,当减少到小于5次时。表示仓库中的物品少于1000,此时灯L1灭。Q0.0就没有输出。当按下在线控制面板上的I0.2f时计数器清零。L1和L2都不亮,(即Q0.和Q0.1都没有输出)。
六、8个彩灯移位控制
用IO导线控制接在Q0.0到Q0.7上的八个彩灯循环移位,用t37定时,每0.5S移位一位,首次扫描时给Q0.0到Q0.7置初值,让Q0.0和Q0.2先有输出。用I0.1来控制彩灯位移的方向。
I/O分配表
梯形图编程
PLC接线图
程序调试及结果分析
把程序下载到西门子S7—200的PLC中进行调试,PLC一上电Q0.0和 Q0.2 就有输出,则Q0.0和Q0.2亮。当把在线面板上的I 0.0f(表示 I0.0 有输入)置位开关按下后定时器T37开始计时每0.5秒后彩灯以Q0.0和Q0.2作为基础向右每次移移位。当按下在线控制面板上的I0.1f(表示I0.1有输人)使其置位时彩灯以同样的方式向左移动。
七、跳转指令
利用跳转指令控制两个灯L1和L2,分别接于Q0.0和Q0.1,切换开关位I0.0,两个灯的控制开关位I0.1和 I0.2.。手动时分别用两个灯的控制开关来控制。自动时,两个灯每隔一秒交替亮。
I/O分配表
梯形图编程
程序调试及结果分析
把编写好的程序下载到s7-200的PLC中进行调试。当I0.0为OF时,PLC运行手动程序按下在线控制面板上的置位按钮I0.1f和I0.2f 即表示(I 0.1和I0.2闭合)灯L1和L2亮,Q0.0 和Q0.1有输出。当我们按下在线控制面板上的I0.0f时,此时I0.0为ON,此时程序跳转到自动程序运行。两个灯每隔一秒循环亮。先L1亮一秒后L2亮。当在按下在线控制面板上的 I0.0f后即此时I0.0为OFF程序跳转到手动程序运行。
八、鼓风机和引风机的顺序启动控制
I/O分配表
梯形图编程
PLC接线图
PLC上电时的程序监控图,蓝色表示接通
程序调试及结果分析
Sm0.1的特点在扫描的第一个周期接通,以后不接通。当按下在线控制面板上的i0.0f时即 i0.0接通,此时Q0.0接通输出,(即指示灯Q0.0亮)引风机启动,同时定时器T37接通并开始计时,当定时器计数到50即(即指示灯Q0.1亮)鼓风机启动。此时两台风机都运行。当按下在线控制面板上的I0.1f时,即接通I0.1此时鼓风机停止运行,(即指示灯Q0.1灭)同时定时器T38接通并开始计时,定时5s后引风机停止运行。(即指示灯Q0.0灭)。
九、液体混合
用S7-200实现液体混合的自动控制。当按下启动按钮后,液体阀A 打开,液体A流入搅拌机里面。当液位达到中限位时阀A关闭,同时打开液体阀B,液体B流入搅拌机里面。当液位达到上限位时,阀B关闭,此时启动电动机进行搅拌。搅拌一分钟后电动机停止同时阀门C打开,混合液体流出。当液位到达下限位时再过5S容器放空,关闭阀门C。同时打开阀门A,注入液体A。如此周期性的循环。若按下停止按钮后必须要等一个周期循环完后才停止。
I/O分配表
梯形图编程
PLC接线图
程序调试及结果分析
当按下在线控制面板上的I0.03f 即(I0.3闭合)阀A打开(即Q0.0亮),当按下在线控制面板上I0.0f(即I0.0中限位闭合)阀A关闭,阀B打开(即Q0.0灭,Q0.1 亮)当按下在线控制面板上I0.1f(即上限位I0.1闭合)此时阀B关闭,电动机启动开始进行搅拌,(即Q0.1灭,Q0.2亮)同时定时器T37开始定时一分钟,一分钟后搅拌机停止搅拌,阀C打开(即Q0.2灭,Q0.3亮)当液位到达下限位后阀C继续打开(即Q0.3亮)同时定时器T38开始定时。5s后阀C关闭。阀A打开,(即Q0.3灭,Q0.0亮),进入下一个循环周期。按下在线控制面板上的I0.4f(即表示停止的I0.4闭合)此时系统不会立即停止,而是当运行完一个周期后才停止。
相关书籍
点击 上方图片 查看详情
书名:PLC编程及应用 第5版
作者:廖常初
ISBN:978-7-111-62675-6
本书特色:
★畅销书作者、著 名PLC专家重庆大学廖常初教授作品。
★本书是普通高等教育“十一五”规划教材。根据新版编程软件和新的技术资料,作了全面的修订。
★本书配套资源丰富:编程软件、指令库、触摸屏组态软件、PLC串口通信调试软件、S7-200和相关产品的用户手册和产品样本、30多个视频教程和50多个例程。
•30多个视频教程、50多个例程、中文用户手册与样本
•编程软件STEP 7-Micro/WIN V4.0+SP9(包括升级包SP9)
•S7-200的指令库STEP 7-Micro/WIN V32 Instruction Library
•精彩系列触摸屏的组态软件Win CC flexible SMART V3+Upd3
★中国书刊发行业协会年度全行业优秀品种,西门子公司重点推荐图书。中华工控网和中国工控网联袂推荐。
来源:技成培训
102页焊接工装设计实例PPt,拿走
令世界为之惊叹的“中国制造”竟然离不开它?
78页常用电气元件大全!建议人手一份!
一文搞懂14项形位公差,破解机械的密码就是它了
液压系统和阀的动画 | 液压原理一目了然
相关问答
同志们,我想知道:放心的西门子PLC培训班哪家好,西门子PLC...
[回答]从入门到精通:西门子S7-300/400PLC技术与应用》配合实际操作祝你早日搞定!------------------------------------------------------郑重声明...