PLC编程的五大必修课

发布者:光速思考最新更新时间:2016-05-05 来源: eefocus关键字:PLC编程  必修课 手机看文章 扫描二维码
随时随地手机看文章
1、编程需要坚强的毅力和足够的耐心
  人各有所长。有些人把编程看作一项冗长而枯燥的工作;有些人把编程看作一项趣味的智力游戏。如果你是前者,强烈建议你远离这份工作。毕竟编程工作是对人的毅力和耐心的挑战。我所在实验室中,很多学生看到我编程序就会惊讶于我面对这一堆堆符号所表现出的专注。其实,这是兴趣使然。兴趣使我具备了足够的毅力和耐心。经过无数次失败后,当看到一个个符号按我的思路整齐的排列,PLC按我的要求有条不紊的运行时,兴趣得到了极大的满足,如同打通了一个游戏的关口。所以,我告诉这些学生:你们看到的是一堆枯燥怪异的符号,我看到的却是一群热情奔放的舞者,而我则是她们的导演。
  2、编程需要敢于实践的信心
  我曾经教过一个学生学AutoCAD,我对她的唯一要求就是实践。我告诉她:你随便怎么操作,大不了一张图重画;最坏的结果是系统崩溃,没关系,系统重做,再来;只要电脑没被砸了,怎么都行。两年后,我再看到她做的CAD图纸,也自叹不如。
  同样道理,只有不断地在PLC上运行这些指令,观察运行的结果,才能弄清PLC指令的作用。很多初学者对PLC一脸的迷茫,往往是出于一种畏惧,担心损坏设备。而这些畏惧是没有任何道理的。仔细的阅读手册是非常重要的,但是仅靠读书是成不了一个工程师的。更何况手册上的内容并非面面俱到。我在接触到那些不熟悉的指令时,喜欢单独编一个小程序,让PLC运行。然后逐个修改条件,观察运行的结果(MicroWin为用户提供了非常好的监控手段),反过来再重新理解手册的描述,这样就可以非常直观的理解这些指令的作用和使用方法。不必担心自己写的程序会有什么问题,会影响PLC的正常工作。程序有没有问题,只有让PLC运行了才能发现。而发现问题并解决问题就是对自己能力的提高。撇开硬件操作不谈,单就软件来说,我还真没有遇到过由于软件问题而损坏PLC的事。在这里不必担心继电器电路接错线可能造成的后果。所以,大胆的实践是PLC编程的必由之路。
  当然,大胆实践并不是野蛮操作,而是必须遵循必要的规范。还有一个要注意的,在程序未经可靠性证实之前,千万不要挂接负载,以免造成不必要的损失。数字量的输出有LED显示;而模拟量处理可以采用一些硬件或软件模拟手段来解决。
  3、编程需要有缜密的逻辑思维
  编程本身就是一种逻辑思维过程。在高级语言中,使用最多的是if then else、select这些条件判别语句,这就是逻辑中的因果关系。PLC程序就是由这些因果关系组成的:判别条件是否成立,进而决定执行相应的指令。最初的PLC是用来替代继电器逻辑电路的,所以继承了继电器电路以触点作为触发条件的描述方式。在PLC中,以虚拟触点代替了继电器的金属触点,而继电器电路所表达的逻辑关系还是被完整的保留下来。即使引入了继电器电路难以胜任的数值处理过程,PLC从根本上还是在执行一个个因果关系。所以,理顺对象的各个事件之间的逻辑关系,是编程之前必须精心做好的准备工作。我在接到一项任务后,第一件事就是整理出一份逻辑关系图,与用户反复商讨,取得用户的认可,然后才真正进入程序的编写过程。
  4、不可或缺的相关知识
  PLC的程序是直接作用于对象的具体工艺过程,那么对对象具体工艺过程的理解是非常重要的的。我在与用户的交流过程中,会用我所掌握的Unit Operation的知识分析用户的工艺过程,协助用户整理过程控制中的各个逻辑关系,甚至包括各种仪表、硬件的配置。这得益于我原本所学的专业。当然,不能要求所有搞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维修是一个道理,只要大家加强信心学习,相信一定会事半功倍的。最后,PLC提供了丰富的指令、模块,比单片机方便了很多。但是初学者编程时应尽量先使用简单的指令达到目的。尽管看上去有点土,却不失为一个入门的好途径,且对你理解那些较为复杂的指令会有帮助。具备了一定经验后,应该考虑掌握复杂指令的应用,以及程序的优化。
关键字:PLC编程  必修课 引用地址:PLC编程的五大必修课

上一篇:自动化系统如何正确的选择传感器
下一篇:PLC的基本性能总结

推荐阅读最新更新时间:2024-05-03 00:22

基于SoMachine的PLC编程自由通讯口设置
本文以施耐德的SoMachine为例介绍以ICE61163-3为编程标准的PLC编程软件自由通讯口设置。这是以PLC作为数据采集对象常用的通讯方式。 1 设置自由口通讯参数 使用SL1端口,进行基本参数设置 例如M218PLC有SL1和SL2两个串行通讯口,我们选择其中的SL1作为目标对象。SL1采用RJ45接口,制作连接线时注意引脚关系以及电缆屏蔽。 2接收数据帧格式选择 可以选择起始字符和结束符的方式;可以通过判断数据帧长度的方式;可以通过帧收到超时(例如设置超时时间为5MS,则在收到最后一个字符后如果5MS内没有收到其他字符,则判断本帧结束)的方式判断帧的结束(实例中通过接收10个字节为一帧) ASCII管理器的
[嵌入式]
基于SoMachine的<font color='red'>PLC编程</font>自由通讯口设置
PLC编程设计中的IO配置清单怎么做
控制系统设计是每个工控工程师必须掌握的基本技能,IO清册也就是我们常说的点数统计是首先要做的工作。 一般控制系统点数通常由设计院统计提供,系统点数是仪表专业I/O点数、电气专业I/O点数和控制系统与其他系统的通讯点数总和。准确统计电气和仪表I/O点数可避免电气和仪表专业出现协调不一致的问题,准确的系统点数能为使用单位决策控制系统品牌和系统造价提供依据。 控制系统通常涉及热工检测、模拟量控制、顺序控制和逻辑控制等自动化控制内容,点数是从AI模拟输入点数、AO模拟输出点数、DI开关量输入点数、DO开关量输出点数和控制系统与其他系统通讯点数五个方面统计结果得出。 1、自控系统AI输入点数如何计算 AI指进入控制系统的模拟量输
[嵌入式]
<font color='red'>PLC编程</font>设计中的IO配置清单怎么做
关于PLC编程学习的思路及方法
电工作业人员在实际的工作中都会接触到PLC,随着工业自动化和智能化科技的发展,在很多复杂的场合,PLC取代了复杂的继电器控制柜和接触器控制柜,得到了广泛的应用,PLC不仅接线很简单,便于布线和控制,更重要的是PLC故障排查十分方便,省去了很繁琐的理线头,理电路的麻烦,因此PLC在工业自动化和智能化中得到了广泛应用! 怎样学习PLC 学习PLC要求几点 第一 有电路基础 才能看懂问题的本质,发现错误和解决问题。 第二 实操 有必要弄个实物学习操作,提高实物与理论的结合,更好的掌握知识点与实际的应用能力。 第三 有兴趣 才能持久,兴趣是驱动自己坚持下去的动力,遇到问题和难点,不懂就问,多查资料多动脑。 第一,电路基础必须要有,能看
[嵌入式]
关于<font color='red'>PLC编程</font>学习的思路及方法
单片机和PLC编程的区别
单片机与PLC的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。PLC的很多功能,例如扫描工作方式、定时器功能和中断处理,是操作系统完成的。在画流程图时,应考虑这个问题。 PLC的开关量控制系统的程序用顺序功能图来描述比较简洁。用流程图来描述PLC的用户程序原则上也是可以的,但是应区分哪些功能是操作系统完成的,哪些是用户程序实现的。 例如有人问是否需要用跳转指令来等待某
[单片机]
PLC编程:MODBUS通讯程序的交叉引用怎么用
前几天,有群友在群中提了一个疑问。 他做的MODBUS通讯的程序,原本只需要从通讯中读来1个字/位,然而却发现交叉引用中提示占用了4个字节, 即一个DWORD,问是怎么回事。 大致如图所示。 然后群友们的回答各种各样,有猜测变量在别的地方占用的,也有其它各种猜测,莫衷一是。 我就回复提醒说, 你把上面的count改为20,或者100,看看会怎么样。 他改过之后更懵逼了,交叉引用提示的还是只有4个BYTE被使用。我都要读写100多个字了,怎么还提示4呢, 其它的占用咋不提示呢? 我就把文章的题目作为总结和忠告告诉了提问题的网友和所有群友们,以及再次忠告所有的同行。 即, PLC编程软件中提供了交叉引用工具,便
[嵌入式]
<font color='red'>PLC编程</font>:MODBUS通讯程序的交叉引用怎么用
三菱PLC编程技巧及实例图解
三菱PLC的实例分析及编程技巧:利用PLC进行程序编制时,为了减少指令条数,节省内存和提高运行速度,应掌握以下编程技巧。 (1) 把串联触点多的电路编在上方,如图1所示,可见(b)形式减少使用ORB指令或多重输出指令等。 (2) 并联触点多的电路放在左边,如图2所示,可见(b)形式减少使用ANB指令。 (3) 多重输出电路,最好将串联接点多的电路放在下边,如图3所示,可以不使用MPS、MPP指令等。 (4) 如果电路复杂,采用ANB、ORB等指令实现比较困难时,可以重复使用一些触点改成等效电路,再进行编程,如图4所示
[嵌入式]
51单片机DIY做PLC编程
有朋友想定制一个净水机控制器,有一些独特的功能要增加,但是商品控制板没有这样的功能,问我能否做一个,我觉得单片机完全能满足这种简单的控制需要,上手开始编程序时候突然感到,用PLC逻辑编这种功能是非常简单轻松的,而如果用汇编或C编却感觉有点棘手,编程效率不高,所以想为何不在单片机上实现PLC的逻辑呢?上网搜索尝试看能否找到合适的程序下载来稍微改改就能用的呢?方案几年前就有了,实际上是利用三菱的低档PLC编程软件编辑好梯形图,存盘后用专用的格式转换工具转换成HEX单片机烧写文件烧进去,尝试下载三菱PLC工具软件,但是在我的WIN7-64位系统上不能正常工作,好容易换了系统装好开发工具,但是初次上手这款开发工具,界面挺复杂的,懒得研究各个
[单片机]
51单片机DIY做<font color='red'>PLC编程</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved