初学入门PLC的朋友写不出程序,那是因为你没掌握编程思想
我们学习PLC的目的,不是为了学会那几个指令!!为了学习指令而学习,是最大的错误和误区!!而初学者最大的误区就是去学习指令,经常看到很多初学者到处跪求,各种指令的说明,各种指令的例程!!其实你可以静下心认真想想,你学习这些指令有什么用?特别是在工厂从事维护工作的电工朋友,你会几个指令有什么用?
学习PLC 的目的是为了实现功能,为了让机器运行起来。而机器的运行也是有规律的,我们要做的事,就是把机械设备的运行规律挖掘出来,用PLC来实现。可见,PLC指令只是很小的一个环节。
顺序控制,是PLC重要的编程思想,也是应用最广的编程思想。因为绝大部分设备都是按照机械工程师设计的机构,一步一步的完成动作。而我们要做的,就是把动作用PLC程序一步一步走下去,驱动气缸,继电器,电机,使冰冷的钢铁编程有灵魂的设备。
什么是PLC标准化编程?写程序的时候一定要按标准化来吗?
从个人角度,简单说说大家经常讨论的标准化,不喜勿喷。
这里所说的标准化一直在强调面向对象的思想,为了严谨点,特地百度了下,找了个个人感觉优缺点总结的比较好的说明,如下:
假如要乘出租车去机场。
面向过程的方式是:告诉司机,按照启动、右转、左转、停止等单独的接口去机场。这种方式需要乘客对自己的行为负责,乘客需要知道每个城市去机场的路线。
面向对象的方式是:告诉司机,请载我去机场。显然这种方法比面向过程的方法要容易得多。
在面向过程编程时,由于主程序承担的责任太多,要确保一切正确工作,还要协调各个函数并控制它们的先后顺序,因此经常会产生非常复杂的代码。很多时候变化是不可避免的,而功能分解法(面向过程思想)却又无法应对可能出现的变化。一旦修改代码,则bug越来越多。
因此,面对复杂的软件开发时,主程序不能做太多的事情,必须通过分离关注点进行职责转移。在上面的例子中,尽管具体实现在广州、北京或上海等不同城市中是不同的,但在任何城市都可以这么说,因为司机知道怎么去机场,这就是职责转移。
这个主要是面向高级语言的思想,这里面的对象太多,“万物皆对象”。但是在自动化现阶段来说,常规设备用到的对象,一般包含:伺服电机(旋转、直线、DD),电机(变频、调速、步进),气缸、油缸、电缸、机械手、阀门等执行机构。光电、模拟量、视觉、限位开关、测距等检测机构。
那么面向对象,以伺服电机、气缸为例。
先把伺服电机功能标准化,电机的检测,上下限位,近点信号,急停信号;电机的控制,点动,原点回归,点对点定位,连续轨迹定位,插补控制,同步控制,凸轮控制;电机的反馈,当前值,当前速度,定位完成,报警,报警代码,各种控制状态等。
气缸功能标准化,气缸动点,原点输出,动点、原点检测,动点、原点延时,报警延时。
那么总结下来,标准化,就是先把设备中用到的对象功能统一编程,然后根据设备工艺去调用。 下面几张图是几个不同设备的简单截图,不能准确的说明面向过程和面向对象,但是可以简单的看出一些区别。1、2、3图表示面向对象 将常用对象针对设备工艺用到的功能模块化编程,然后主程序根据设备工艺去调用。
4图表示面向过程 所有的动作都在主工艺流程中编写。
大家看了上面的程序分类是不是觉得这个其实没有这么复杂,就是自己经常用的编程方法。其实大部分工程师在工作当中,已经潜移默化的使用了面向对象的编程方式,因为“面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程”。
所以我个人理解的标准化,是根据设备工艺,将设备对应的执行机构根据设备需求,模块化(做成对应的功能块或者函数),然后主流程根据工艺调用执行机构的控制,监视执行结构的反馈或者检测部分,从而完成设备程序的编制。最终程序结构清晰,方便阅读,方便后续增改,方便别人手,方便同样工艺设备引用即是标准程序。
如果说一个标准化“思想”可以说在任何设备使用,在任何平台使用,那么没问题!
如果说一个标准化“程序或者功能块”可以在任何设备使用,在任何平台使用,那么多半是吹嘘骗人!
气缸不说了,太简单。就以伺服电机这个对象的标准功能为例,首先脉冲伺服上面,各个品牌控制的指令都是不同的,无法程序通用。总线伺服上面,西门子,AB,三菱,安川,贝加莱,倍福主导的EtherCAT系,底层协议不一样,程序更无法通用。
就以一个品牌来说,以三菱为例,你编制一个通用的伺服控制功能块的前提也要说是脉冲的FX系列、还是中大型PLC的*D75P(D)模块,还是Basic网络伺服系列,还是光纤总线伺服系列。另外一个通用的伺服控制功能块,如果包含所有功能(点动、定位、回原、插补、同步、凸轮),也是有弊端的,会使程序臃肿,不使用的部分占用大量PLC内存空间,使PLC的处理变慢。所以一个标准的功能应该根据设备工艺需求,编制对应功能的、精简的标准块。
所以建议大家如果要标准化,还是根据自己所使用的工控产品品牌,根据自己的设备工艺,花时间做出基础功能的标准块库 。这项工作,在液晶、3C的设备大厂里面已经开展了多年,所以他们几百个电气工程师,人员流动很大的情况下,仍然可以保证设备开发的效率和基本稳定性。
以上仅代表个人观点,谢谢。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
相关问答
新买的plc需要自己编程吗?
当然需要了。PLC只是一个可以实现你想要的自动控制功能的工具,它可以实现很多不同的控制功能,那么如何实现你想要的功能呢?当然是你自己编写相关程序,然后PLC...
plc不编程能直接使用吗?
1.不可以直接使用。2.因为PLC(可编程逻辑控制器)是一种基于程序控制的自动化设备,需要通过编程来实现对设备的控制和操作。如果不进行编程,PLC就无法识别和...
plc编程时要通电吗?
需要通电。首先在输入采样阶段,可编程逻辑控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应的单元内。输入采样结束后,转入用户...
plc没有设备没有网络怎么编程?
PLC没有设备没有网络是不能进行编程的。1.PLC作为工业自动化控制系统中的主要控制器件,必须要有设备和网络才能发挥作用。如没有设备,则没有具体的控制对象;...
PLC触摸屏不编程可以运行吗?
触摸屏是输入介质的物品,就如我们平时用的键盘、鼠标一样,但有所不同的是,这些东西原本出厂的时候已经编程好了。触摸屏也需编写程序,触摸屏所编写的程序是与...
plc编程属于软件还是硬件?
属于硬件编程。硬件编程针对的是硬件的驱动之类的东西,应该说是底层的东西,一般用C、C++和汇编以及hdl语言编写,需要对数字逻辑,数字电路,模拟电路等电子学...
PLC编程对电脑有什么要求么?-ZOL问答
PLC编程对电脑可以说是没要求的。那怕是286的机器都能完全运行的。求采纳有用(0)回复rongwosansi现在win8兼容的很少,还有就是看你会不会用到博图之类的软...
plc没有cpu怎样编程?
PLC一般都是在电脑中编写程序,然后下载到PLC中,人机界面(屏幕)一般只作为显示以及修改一些参数使用。有些PLC也能够通过人机界面修改程序,但应该不算主流PLC...
为什么工业使用PLC控制不用计算机编程控制?
也不需要这么高性能。2.少了很多外设,功率更低体积更小更稳定。3.plc都是针对性的程序开发,体积更小响应更快。就...1.plc也算是电脑,无非处理器等没有pc...
现在还有没有用专用编程器编程的pLC?如果用计算机编程是否要下载一个编程软件?
首先感谢邀请!第一个问题,现在已经没有需要使用专用编程器的plc了,因为没有用户会喜欢买plc的同时再买一个编程器,即使有这种plc也卖不出去。第二个问题,p...
扫一扫微信交流