PLC梯形图编程很low?我劝你一定要看看这篇
在咱们工控论坛上,潜藏着众多技术资深大咖,讨论起技术来,可从来都没废话。
对于PLC梯形图编程,论坛网友lvpretend有话要说:
论坛上对于编程语言梯形图与结构化文本的争论从来没有停过,有些技术人员认为梯形图是比较LOW的语言,文本才是高大上和未来的发展方向。为此,我要发表一点个人看法。
我系统地学习编程语言的时间顺序是MCS51汇编、X86汇编、C/C++、梯形图(学梯形图之前对继电控制就已经非常熟悉了)。由于MCS51汇编学得不错,这导致我很喜欢用置位和复位指令。汇编、C都干过项目,以前还经常用C来解决问题(Borland C时代),太长时间不用,现在也生疏了。
要理解PLC梯形图就必须知道PLC的由来。我搬运汇总了一些外网资料,错的地方请大家指出,我英文很渣,不足的地方还请大家进行补充。
在没有PLC的时代控制柜是这样的。这个是老式电梯的控制柜,其实不算复杂。
想起刚参加工作时,厂里有条80年代国产全自动化生产线,做工非常好。压力温度50点左右,电机30台左右,主控柜(4门)加操作台足有8米的宽度,远程控制柜宽1.5米,柜前柜后双面安装,指针温度压力表,全继电控制。据说A3图纸有一本字典的厚度(我没看到过)。我参加了生产线改造,主控柜控制线就拆了3大箩筐。这要排查故障,想想头皮都发麻!看看典型的继电原理图,我把它旋转了90度。
是不是和梯形图一样一样的?
1968年美国通用汽车液压部门搞了个“Standard Machine Controller”(标准机器控制器项目),目的就是改变故障率居高不下的继电控制系统。好几家公司参与,1969年最后搞出来拿去测试的只有三家:
DEC:Digital Equipment Corporation(数字设备公司),提供型号PDP-14。编程设备是PDP-8计算机,实际上PDP-14是PDP-8的工业接口。这家公司巨牛。下图是PDP-8。
我没有找到PDP-14的照片,上图是PDP-14的一个主要部件。
3-I:Information Instruments Inc.(信息仪器公司),提供型号PDQ-II。这家公司在这个项目后很快就被AB收购了。所以罗克韦尔也说PLC是他们发明的,这也是没什么问题。
DEC和3-I是计算机公司,与通用汽车液压部门很早就有合作,标准机器控制器项目之前就已经把计算机用于通用生产线监控了。
Bedford Associates:提供型号084,其实是他们公司第84个项目。他们是工程公司,其实在1967年就开始着手这方面的工作了,后来成立了设备制造公司就是大名鼎鼎的 莫迪康MODICON(Modular Digital Contraller模块化数字控制器)。
脑洞大开,有没有!
DEC和3-I提供的控制器更像是计算机,(DEC也有基本的梯形指令),但编程很麻烦,需要返厂。而Bedford必定是搞工程的,他们很懂继电控制,所以084从一开始就以继电控制原理来开发,梯形图就是它的编程语言,通过插入编程单元就可以编程。
1年后,084赢了。
当然那个年代还不能输入图形,而是手工解析梯形图,所以梯形图对于084来说就是“继电控制描述语言”。用今天的话来说,梯形图就是工控行业的HDL硬件描述语言!而其它厂家发现梯形图逻辑清晰,本就熟悉继电线路的电气人员特别容易掌握,所以纷纷都开始支持梯形图编程。其实。同时代还有其它厂家也搞出了基本相同的控制器,制造继电器的厂商Struthers-Dumm的VIP-521,搞液压的Vickers的PC-1000。但是由于MODICON设备可靠,梯形图太方便,所以一举成名。1976年AB公司申请了PLC的专利名称(
PLC是AB公司1976年的专利名称,不是莫迪康的),后来PLC就成了设备名称了,就好像吉普车对于JEEP公司。
可以说,没有梯形图就没有PLC 。回到现在,梯形图编程过失了吗?当然没有!对于处理逻辑量,还有什么能比图形化的梯形图更易于理解的呢?40年前没有,现在也没有?图形编程最大的优势是传递的信息量大,人识别图形的能力远胜于识别文字,而梯形图能二值化图形元素,避免了人识别图形时的模糊性。说白了,就是简单! 梯形图更与时俱进,现在的被控对象已经远非40年前简单的开关量,梯形图也在发展。比如,梯形图最受病垢的数学计算,现在不是也有厂商开始支持梯形图直接数学表达式输入了吗?我想,硬件描述简单、与时俱进,这才是梯形图长盛不衰的核心原因。梯形图相对于文本有什么不能做的吗?我认为没有什么是文本做得了而梯形图做不了的!你把文本加个框就是梯形图。学文本编程吗?当然需要!要不然那么多不懂继电控制从软件转工控的人编写的程序我们如何看懂呢?还有触摸屏、机器人、运动控制等非PLC设备,我们如何玩得溜呢!大家也可以了解下,可视化编程语言(VPL)和低代码开发平台(LCDP)的概念和发展,对理解编程语言发展有一定帮助。
分割线
此贴子一发,也引起论坛网友的大量关注和讨论:
1056128144 : 梯形图最令我讨厌是整屏显示不了几行。注释能有在每行后面的吗?显示屏基本都是二十几吋了。
gk_0 : 我就是喜欢梯形图,逻辑性强,除了数学运算的不太直观以外,好像没有啥缺点么
bnnyygy : 大小不是关键,分辨率才是关键。普通笔记本1366*768,现在新笔记本一般1920*1080,或者更好点的是2K分辨率。
蜀中之首: 在80年前后(记不太清具体哪年),无线电杂志出过连载,关于可变逻辑控制电路,矩阵二极管,利用其特性用短线组成控制逻辑,减少继电器配线达到修改控制工艺。
记得最早也叫PC,为了与电脑区别就用了PLC,可变程序逻辑控制器。梯形图的出现就为了接地气,普通电气工人也看得懂,恐怕还要保留很久。
lvpretend: 好像Struthers-Dumm走的是二极管矩阵的路子。原来PLC被AB申请了专利,估计其它厂家只能称为PC,后来专利到期了PLC就成了通用名称。
cvlsam : 您说少了,从第一台PLC开始就有梯形图了。
pqsh : 我不支持文本编程,始终认为文本编程是个中间过程,只是由于编程环境平台能力不够的原因。人们应该直接表达诉求,而不是通过代码。同样的,在网站制作方面,大咖们是十分鄙视fp、dw的。而我觉得不可想象。一个丰富的网页,竟然是代码敲的,这得多么变态啊?当然,在实现复杂功能时,表达更准确时,确实需要文本(文字)。但是,触摸屏、机器人、运动控制、将来也应该发展到不需要或者少需要文本。至少,触摸屏和工控上位,是避免用文本(脚本)的。
微鑫科技 : 真正的高级控制器是无法用梯形图去编程的。例如:机器人、视觉识别系统,一些对实时性高、精度高、高速运行、高运算量的设备等,是PLC无法的胜任的。只是说PLC的编程思想比较适合电工,简单而已。真要说运行效率,还没有单片机高;同样的PLC,一个采用梯形图编程,一个采用C语言编程,我想C语言的执行速度要高于梯形图的,但是编程时间上来说,梯形图要大大缩短周期,并且后期容易维护,想增加个功能什么的,修改起来简单,这个就是梯形图的优点,再一个就是高级语言对于电工来说是个头疼的事,不如梯形图好学。
lvpretend : 恰恰相反,梯形图的执行效率比文本高。早期的梯形图与指令表(汇编)是对应关系,即使到现在梯形图仍然比文本有更高的效率,原因就是因为梯形图是硬件描述语言,PLC的处理器设计会专门针对梯形图做优化。而梯形图借PLC的众多受众和图形化的特点也向非PLC控制器扩展(大名鼎鼎的树莓派都支持梯形图编程了),大有成为一种通用语言的态势。文本作为当下编程语言拥有最大的用户群,向PLC扩展也不会停下脚步,随着小型PLC处理器处理能力的增长,肯定很快也会普及文本编程。
dffeifei110 : 逻辑控制用梯形图方便,我选择梯形图,文本语言用于数据交换更好用,各有千秋吧,当然也与个人习惯有关。
MIC小赖 : IEC61131-3定义了常用的5种编程语言就说明其各有好处,而且对我来说,固守一个东西本身就是作死。但是也不可能完全放弃一个东西,除非是真正意义上技术的淘汰。
乌龟船长 : 梯形图还是很有市场的,大众、通用的标准程序大部分仍然用梯形图,当然也有SCL等等其他语言。
chengzheng : 信息量太大了。搞了这么多年,还是第一次看到。
A.M : 梯形图对于维护来说可真是噩梦…整屏显示不了多少,上下反反复复看逻辑…梯形图是给电工看的,有了这个电工随时可以转行编程。但是用梯形图编上万点的项目想也不敢想…肯定会累死。
人类群星闪耀时 : 好像最早兴起的商业化PLC是AB的PLC-2/3那一批,不过国内我还没见过,只见过PLC-5,AB的营销路子有问题。
对于本文以及论坛网友们的评论,您有啥看法?留言区集合
版权声明:本文版权所有为中华工控网工控论坛及作者lvpretend,转载请与本号联系。
PLC编程时最易犯的低级错误
在编制PLC程序时,不管是新手还是老手,都会犯下一些低级错误。有些错误是非语法上的,所以用编程软件也不能检查出错误之处。此错误一旦发生,自己有时还很难发现,直至上机调试运行时,所控设备不能运行或运行到某个位置停止不前,才察觉出来有问题,再对PLC程序逐条逐句查找分析,或采取对程序逐条逐句执行,费时费工。
那么究竟是什么问题易使我们犯下这种低级错误呢?继电器电气控制的固有思维,在编制程序时,某个或几个输入点采用物理常闭触点(如停止开关、行程限位开关),在程序中,仍延续继电器电气控制方式编制,即仍采用常闭接点作为导通条件使用。
下面用一个简单的启停与自锁电路示例来说明。
根据上图编制的不能运行的错误PLC程序如下:
PLC上电后,X000、X002常闭点就会断开。即逻辑值为“0”
Y0=(Y0+X001)×X000×X002
从上面数字逻辑表达式可知,在按下启动按钮SB1后,X001的逻辑值为“1”,而Y0的逻辑值永远不会变化,始终为“0”。原因是与PLC内部输入电路有关,以下是PLC内部输入等效电路:
正确的PLC程序如下:
PLC上电后,X000、X002常开点就会闭合。即逻辑值为“1”
Y0=(Y0+X001)×X000×X002
只要按下启动按钮SB1后,X001的逻辑值为“1”,Y0逻辑值就为“1”。松开启动按钮SB1,X001的逻辑值为“0”但Y0逻辑值为“1”,Y0与X001是或的关系,保证了Y0逻辑值始终为“1”,即自锁。直至按下停止按钮或出现过载 (FR0动作),Y0的逻辑值才变为“0”。
通过上面的简单示例可知,新手可能还未弄懂外部为常闭输入时,经PLC内部输入电路后逻辑值发生了“非”的变化。以及继电器电气控制固有思维影响,老手是出于疏忽。这虽然是低级错误,也易发生在程序编制过程中。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?
操作指引如下!
相关问答
plc编程中hl什么意思?
1.HL在PLC编程中代表"HighLevel",即高级语言。2.在PLC编程中,HL通常指的是使用类似于C语言或者其他高级编程语言的语法和结构进行编程。相比于低级语言(如....
工业机器人编程难学吗?
机器人的开发语言一般为C、C++、C++Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;而机器人编程分为示教、动作级机器人编程语言、任务级...
早期的计算机语言中所有的指令?
早期人们编程使用的计算机语言是低级语言,即是机器语言。机器语言(machinelanguage)是一种指令集的体系。这种指令集,称机器码(machinecode),是电脑的C...
学自动化编程要多久?要有什么基础吗?
好的培训班还是很好的,加上自己在学习,进步很快,自动化不是特别难,有人带很快,不像单片机不好学,plc是封装好的,内部是单片机,厂家把底层做好了,只是应...还...
为什么压差变送器校了几次都是好的,通过plc最后反馈到电脑监控画面却总是不准确?
这个问题是所有自动测量、自动控制中的常见通病。所提到的,经多次测校都表现良好的压差变送器信号,经plc反馈到电脑监控画面上时却不准确了的现象,是所有将模...
工业4.0下,我国智能制造是怎样状况?
行业发展历程:处于初级阶段智能制造发展需经历自动化、信息化、互联化、智能化四个阶段,分别为自动化(淘汰、改造低自动化水平的设备,制造高自动化水平的智能...
bruckwell是什么品牌?
bruckwell中文叫博柏利(Burberry),是英国的奢侈品品牌,隶属于博柏利集团(BurberryGroupPlc)。bruckwell经营的产品包括:女装、女装配饰、手袋、鞋履、......
工业控制与自动化有哪些课程?
1.高等数学(数学是以后学习各门专业课的基础,不要以为概率论没有用,特别是对想从事DSP(数字信号处理)工作的同学)2.英语(不要以为过了4,6级就OK了,等用...5...
开发单片机学什么语言好?
单片机是一种可编程器件,单片机的出现使硬件设计变得更为简单,产品的功能也更强大,而程序就是单片机的灵魂。目前功能稍微复杂一点的电子产品,都是以单片机为...
安川机械手如何单独转动45度?
2种方式,安川机器人配备标准IO模块,通过IO模块和PLC进行通讯。另外,还支持PROFIBUS-DP,CC-link等通讯协议,可以通过总线通讯,具体看你选用的那种PLC了。...