小白求助plc

此阶段建议看一些基础的东西,如什么是PLC( Programmable Logic Contro|ler可编程控制器),基本原理是什么、可以应用在哪些地方之类的,反正就是对它能有个整体的了解。

PLC就相当于人的大脑,各种检测原件(辅入信号)就好比人的眼睛、耳朵、鼻子,执行原件(输出信号就是手脚,PLC通过收集信号,然后通过逻辑运算(大脑思考判断),指挥执行原件动作。

PLC种类很多,就说西门子吧。首先你需要一台电脑,配置一般就行,市面上主流配置就可以了,CPU(指PLQ就不用了:其次,安装编程软件Step7(简称S刀),版本建议54以上,现在我们做项目都是用5.5版本的。

软件安装完以后,就可以开始入门之旅了。建议装在虚拟机中,与正常使用的系统分开。

一是因为软件启动会有很多服务,影响电脑性能

二是编程软件容易被杀毒及其他软件破坏,导致无法使用,重装软件太过麻烦

①、开始入门当然就是梯形图了

(在此插句,之前看到有人说梯形图落后,企业已经不用了,表示反对!语言无优劣,编程有技巧,本人在冶金行业央企工作,上亿的项目都会用到梯形图,大家不要认为简单就无用)先编写简单的小程序,比如红绿灯、运输带、小车之类的都是只有几行的程序,这时候用到的都是开关量,也就是0和1的逻辑,学会用 PLC SIM做模拟,会了模拟,什么是输入(Q),什么是输出(Q),什么是中间变量(M),就都理解了,前面说的小程序秒懂,此阶段一天时间就差不多了。

下面就是一个控制电机正反转的小程序,两行就可以实现,用模拟器转起来就是这个样子了,点击模拟器中的小方块就可以模拟输入信号,对应的输出信号也会自动出现小对号。

②、学习数据的处理,包括数据的传输,转换,其中涉及到数据类型等基础知识,如果是工科学生学过C语言应该很容易,数据处理中需要用到很多基础功能块,像加减乘除这些块一看就知道啥功能,比如move那些看不懂的块,按F1看帮助,帮助写的可能很复杂,多看几遍就明白了,看完最好自己做笔记,记成自己容易理解的(各种复杂的块,长篇的英文帮助,这个阶段是最容易让人失去学习兴趣和动力的,一定要坚持住)。数据处理也可以用模拟器模拟,很直观。

③、前面说的都是零件,学的差不多就可以开始功能和功能块。块类似于子程序,使我们的程序结构化,简化程序组织,便于修改、查错、调试,简单举个例子

你有一千个灯泡要控制开关,他们的控制逻辑相同,虽说每个控制程序只需要短短几行,但每个都写这么几行那就是几千行,非累吐血不可。这时候块的用武之地就来了,根据控制逻辑编写一个灯泡的控制程序,只把I/O作为接口做成功能块,然后对于每个灯泡调用这个功能块就好了。也就是说把零件拼成了部件,有需要就直接用部件。如果单体控制程序特别复杂,有多大好处你懂得。

软件中有自带的系统功能和功能块,学习这些块还是要找F1帮忙,自己做好笔记。

此阶段就需要学会编辑人机界面了,人机界面可以显示设备运行状态,也可以对设备进行控制。画面种类也很多,就说西门子自家的wncc吧。

我们做工程都是用 wincc70以上的版本了,但自学的话不建议安装7.0及以上版本,原因是对电脑硬件要求高,一般机器跑起来很吃力。推安装 wincc62版本,此版本功能完全能满足你学习需要,五年前的电脑就能跑的起来。软件很好找,英语不好的建议下载中文版。

安装完编辑界面就是这个样子,不是说软件复杂,是杂!

这个是做过的一个小项目,只有一些泵和阀,控制逻辑都很简单。在画面中可以显示压力,流量之类的信息,也可以对设备操作控制。学会做这样的一个画面需要多长时间?一周就够了!没错,就是一周!这画面看起来貌似挺复杂的,其实就是简单的连了程序中的变量,没有控件,没有脚本!

可以利用模拟器和虚拟的CPU建立连接,在你能够在模拟环境中将画面和程序模拟运行起来,就算入门成功了!

入门成功相当于什么水平?大学毕业的水平吧,可以找工作了!什么样的工作?电气维护、比如水站、液压站之类以控制泵阀为主的区域。当然你去了以后是要学习硬件的,逐步迈向中级阶段。

简单说下做项目的基本步骤,做项目—般要有机械设备厂家出控制说明书,就是设备的动作原理。

有的设备会自带执行元件(电动机,阀门等)及检测元件接近开关,仪器仪表等),纯机械设备就需要电气专业的来选型。基本有以下几步:

第一、根据I/O数量及控制的复杂程度选CPU模块,J/O模块(远程站),供电及通讯模块,变频器等。

第二、选电缆,继电器,开关等

第三、选控制机柜,一般都是选标准柜子

第四、绘制接线图,供电图及原理图等

第五、装配控制机柜和编写程序同时进行

第六、控制柜校线、上电、测试程序

第七、机柜进现场接外线,供电

最后告诉大家,学习PLC需要个人悟性,俗话说师傅领进门,修行在个人,很多人花了三五年时间也学不会,那是因为没有找到方法,很多人在学习中有一个误区,就是认为自己闲来无事学一下,千万不要有这种思想,有这种思想就是四五年甚至更久都学不会,既然打算学习,那就认真把事情搞好,学习最直接的方法就是最好有一个师傅,效果大家都懂。

十年前,我刚开始使用PLC时,也是一头雾水。仗着自己对硬件、工程知识的熟悉,和对组态软件的粗浅了解,硬着头皮接下了任务。当时已经来不及接受培训,相关资料极其缺乏,仅有的参考资料是一本英文的S7-200手册,以及西门子网站上找到的一些全西文的示例,总算在三个月内完成了系统的构建、软件的编写工作。期间走弯路、出故障是家常便饭,经常搞得我茶饭不思,而且还由于操作不慎烧毁过一台PLC。所以我非常理解那些刚入门的网友两手抓瞎的感觉。

在此,我想粗略的总结一下自己的学习之路,供网友们参考。

1、编程需要坚强的毅力和足够的耐心

人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战。我所在实验室中,很多学生看到我编程序就会惊讶于我面对这一堆堆符号所表现出的专注。其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。经过无数次失败后,当看到一个个符号按我的思路整齐的排列,PLC按我的要求有条不紊的运行时,兴趣得到了极大的满足,如同打通了一个游戏的关口。所以,我告诉这些学生:你们看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。

2、编程需要敢于实践的信心

我曾经教过一个学生学AutoCAD,我对她的唯一要求就是实践。我告诉她:你随便怎么操作,大不了一张图重画;最坏的结果是系统崩溃,没关系,系统重做,再来;只要电脑没被砸了,怎么都行。两年后,我再看到她做的CAD图纸,也自叹不如。

同样道理,只有不断地在PLC上运行这些指令,观察运行的结果,才能弄清PLC指令的作用。很多初学者对PLC一脸的迷茫,往往是出于一种畏惧,担心损坏设备。而这些畏惧是没有任何道理的。仔细的阅读手册是非常重要的,但是仅靠读书是成不了一个工程师的。更何况手册上的内容并非面面俱到。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果(MicroWin为用户提供了非常好的监控手段),反过来再重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响PLC的正常工作。程序有没有问题,只有让PLC运行了才能发现。而发现问题并解决问题就是对自己能力的提高。撇开硬件操作不谈,单就软件来说,我还真没有遇到过由于软件问题而损坏PLC的事。在这里不必担心继电器电路接错线可能造成的后果。所以,大胆的实践是PLC编程的必由之路。

当然,大胆实践并不是野蛮操作,而是必须遵循必要的规范。还有一个要注意的,在程序未经可靠性证实之前,千万不要挂接负载,以免造成不必要的损失。数字量的输出有LED显示;而模拟量处理可以采用一些硬件或软件模拟手段来解决。

3、编程需要有缜密的逻辑思维

编程本身就是一种逻辑思维过程。在高级语言中,使用最多的是ifthenelse、select这些条件判别语句,这就是逻辑中的因果关系。PLC程序就是由这些因果关系组成的:判别条件是否成立,进而决定执行相应的指令。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器的金属触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。即使引入了继电器电路难以胜任的数值处理过程,PLC从根本上还是在执行一个个因果关系。所以,理顺对象的各个事件之间的逻辑关系,是编程之前必须精心做好的准备工作。我在接到一项任务后,第一件事就是整理出一份逻辑关系图,与用户反复商讨,取得用户的认可,然后才真正进入程序的编写过程。

4、不可或缺的相关知识

PLC的程序是直接作用于对象的具体工艺过程,那么对对象具体工艺过程的理解是非常重要的的。我在与用户的交流过程中,会用我所掌握的UnitOperation的知识分析用户的工艺过程,协助用户整理过程控制中的各个逻辑关系,甚至包括各种仪表、硬件的配置。这得益于我原本所学的专业。当然,不能要求所有搞PLC程序的工程师都有我这样的经历。但是有两门知识却是不可或缺的:一是过程仪表的硬件知识,包括传感器、变送器(二次仪表)和PLC本身,这是构建控制系统的基础;二是过程控制理论,包括各种控制模型的原理和应用,其中最重要的是二位调节和PID调节模型。PID调节是目前用得最广泛的过程控制手段,且变化多端。学习PID最好的方法就是读书。几乎所有讲解过程控制的书籍都有关于PID的内容,多读基本相关的书籍对理解PID是很有益处的。我发现不少网友在进入PLC领域时,缺乏这些相关知识。这并不可怕;可怕的是当事者不能静下心来弥补知识的缺陷。我们不要怪罪学校没有教授这些内容,而是要注重自己如何去学习这些知识。工作中遇到的许多问题是学校里没讲过的,这不能成为我们拒绝工作的理由,而应该以积极的态度去应对这些问题。我的体会是,为了解决工作中的问题而学习的知识,比课堂上学的东西更容易记住。

5、养成良好的编程习惯

每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。

PLC编程更接近于单片机,或者说PLC就是模块化的单片机。因此PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,一定会出现不可预想的后果。编制寄存器符号表不仅可以避免上述问题(MicroWin会有问题提示),而且可以使程序具备更好的可读性。这和VB中定义变量有异曲同工之处。

VB编程中关注的是事件,不强调主程序和子程序的观念,因为VB主程序的工作是由PC的操作系统完成的。PLC则不然。PLC程序是以主程序为主干的,CPU不断的循环执行主程序,只有触发条件成立时才会调用子程序或中断程序。即子程序和中断程序所执行的任务不是全时需要的。如果把这些任务都放在主程序中会无端增加主程序的工作量,降低程序的效率。这点和单片机的编程思路是一致的。子程序的使用可以使整个程序的逻辑更清晰。而且子程序可以分开编写、调试,最后“安装”到主程序上。这样你可以一个一个解决问题。

PLC编程,无论是LAD,抑或STL,都不如VB那么直观、有趣,更不如CAD那么形象。但比单片机的汇编语言的可视性强多了。对于初学者,LAD(梯形图)的编程相对直观,更容易上手。

最后,PLC提供了丰富的指令、模块,比单片机方便了很多。但是初学者编程时应尽量先使用简单的指令达到目的。尽管看上去有点土,却不失为一个入门的好途径,且对你理解那些较为复杂的指令会有帮助。具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。

我要回帖

更多关于 PLC入门 的文章

 

随机推荐