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通讯接口及协议讲解
一、美系厂家Rockwell ABRockwell的PLC主要是包括:PLC2、PLC3、PLC5、SLC500、ControlLogix等型号,PLC2和PLC3是早期型号,现在用的比较多的小型PLC是SLC500,中型的一般是ControlLogix,大型的用PLC5系列。DF1协议是Rockwell各PLC都支持的通讯协议,DF1协议可以通过232或422等串口介质进行数据传输,也可以通过DH、DH+、DH485、ControlNet等网络介质来传输。DF1协议的具体内容可以在AB的资料库中下载。AB的PLC也提供了OPC和DDE,其集成的软件中RSLogix中就包含DDE和OPC SERVER,可以通过上述软件来进行数据通讯。AB的中高档的PLC还提供了高级语言编程功能,用户还可以通过编程实现自己的通讯协议。
二、GE现在在国内用的比较多的主要是90-70和90-30系列PLC,这两款PLC都支持SNP协议,SNP协议在其PLC手册中有协议的具体内容。现在GE的PLC也可以通过以太网链接,GE的以太网协议内容不对外公开,但GE提供了一个SDK开发包,可以基于该开发包通讯。
三、西门子系列PLC主要包括其早期的S5和现在的S7-200、S7-300、S7-400等各型号PLC,早期的S5PLC支持的是3964R协议,但是因为现在在国内应用较少,除极个别改造项目外,很少有与其进行数据通讯的。S7-200是西门子小型PLC,因为其低廉的价格在国内得到了大规模的应用,支持MPI、PPI和自由通讯口协议。西门子300的PLC支持MPI,还可以通过Profibus 和工业以太网总线系统和计算机进行通讯。如果要完成点对点通讯,可以使用CP340/341。S7400作为西门子的大型PLC,提供了相当完备的通讯功能。可以通过S7标准的MPI进行通讯,同时可以通过C-总线,Profibus和工业以太网进行通讯。如果要使用点对点通讯,S7-400需要通过CP441通讯模块。西门子的通讯协议没有公开,许多组态软件都支持MPI、PPI等通讯方式,Profibus和工业以太网一般通过西门子的软件进行数据通讯。
四、施耐德(莫迪康)施耐德的PLC型号比较多,在国内应用也比较多。其通讯方式主要是支持Modbus和MODBUS PLUS两种通讯协议。Modbus协议在工控行业得到了广泛的应用,已不仅仅是一个PLC的通讯协议,在智能仪表,变频器等许多智能设备都有相当广泛的应用。MODBUS经过进一步发展,现在又有了MODBUS TCP方式,通过以太网方式进行传输,通讯速度更快。Modbus PLUS相对于MODBUS传送速度更快,距离更远,该通讯方式需要在计算机上安装MODCON提供的SA85卡并需安装该卡的驱动才可以进行通讯。除了上述两种方式之外,莫迪康的PLC还支持如TCP/IP以太网,Unitelway, FIPWAY,FIPIO,AS-I,Interbus-s等多种通讯方式。
五、欧姆龙系列PLC在中国推广的也比较多。在通讯方式上,OMRON现在主要采用两种通讯方式:Host Link协议是基于串口方式进行数据传输的通讯方式。当PLC进入MONITOR方式时,上位机可以和欧姆龙PLC通讯。在和欧姆龙通讯时要注意,两次通讯之间要留一定时间,如果通讯速度过快容易造成PLC通讯异常。ControlLink是欧姆龙PLC的一种快速通讯方式。Control Link通过板卡进行数据通讯,板卡之间有数据交换区,由板卡实现数据的交换从而完成数据采集功能。使用该方式通讯需配置欧姆龙的驱动。
六、三菱PLC的小型PLC在国内的应用非常广泛。三菱的PLC型号也比较多,主要包括FX系列,A系列和Q系列。三菱系列PLC通讯协议是比较多的,各系列都有自己的通讯协议。如FX系列中就包括通过编程口或232BD通讯,也可以通过485BD等方式通讯。其A系列和Q系列可以通过以太网通讯。当然,三菱的PLC还可以通过CC-LINK协议通讯。
七、松下PLC和计算机之间可以通过串口和以太网进行通讯。其采用的通讯协议是MEWTOCOL协议。如大多数日系PLC一样,MEWTOCOL协议比较简单。许多软件都可以从PLC中直接读取数据。
以上介绍的是国外的主流PLC设备通讯方式。除以上厂家外,还有很多PLC厂家:厂家型号协议介质LGSTER-K10S/30S/60S/80S/K200SMASTER-K串口日立H系列 EH150等Hi协议串口/USB光洋所有系列CCM2协议串口信捷所有系列Modbus串口凯迪恩全部MODBUS串口笔者认为目前市场上的PLC之间很难融合,最主要的原因就是它们之间缺少一种共同的通讯语言,这也直接限制了PLC发展的步伐。PLC与上位机之间通讯,也是由于各个厂家的PLC通讯协议不一致,我们在做网络通讯时,往往被一大堆的通讯协议报文格式所阻碍。目前OPC 协议规范的出现打破了这种局面,但是要彻底解决不同品牌PLC之间的通讯,光靠一种技术规范是不够的,我相信在未来一定PLC 一定会统一兼容规定的一种通讯协议的。
相关问答
请问一个莫迪康PLC指令-盖德问答-化工人互助问答社区
莫迪康PLC梯形图中的输出点,一些时候是用(L)这个符号,这是什么意思呢?因为这套系统太老,很难找到它的资料。好象是莫迪
施耐德M340PLC如何配置CPU以太网端口连接编程计算?
1、将设备的16进制地址转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。2、设备定义PLC----莫迪康---Mobus-rtu----串口。3、变量定义.....
我采用的是莫迪康M340的PLCCPU是BMXP342020(自带以太网接...
设置设备向导的时候选用的ModbusTCP,填写地址的时候需要IP地址和设备地址,IP地址我知道,就是PLC的设备地址如何知道数码相机柯达柯达M3401人讨论4652次围观...
如何实现组态王用串口通过modbusRTU方式与PLC或者第三方设备通讯?
将设备的16进制地址转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。设备定义PLC----莫迪康---Mobus-rtu----串口。变量定义:变量类型选...
和利时plcmodbus与莫迪康的modbus地址一样吗?
modbus的协议大体都是一样的,只是不同的plc,使用的指令和数据的存放地址不同。modbus的协议大体都是一样的,只是不同的plc,使用的指令和数据的存放地址不同。
组态王能否把SHORT和LONG型数据相互转换?
1、将设备的16进制地址转换为10进制:0003H(16进制数,H没用,只是说明该数为16进制数)=0003。2、设备定义PLC----莫迪康---Mobus-rtu----串口。3、变量定......
PLC的cpu负荷率是怎么计算的?-盖德问答-化工人互助问答社区
只是想了解一下原理,从而在编程时注意。dcs是以控制周期为基数,可plc是循环扫描的,它的基数怎么确定?同理,它的通讯模块了?抛砖引玉吧,我们这里用...
西门子触摸屏如何与ABPLC通讯?
西门子触摸屏写ABPLC通讯应该是利用工业总线Modbus进行通汛。Modbus是国标通用标准,是由美国莫迪康公司!(现在的施耐德电气)于70年代末推出的可编程序控制系...
Modbus协议基本概念是什么?
朋友们好,我是电子及工控技术,我来回答这个问题。现在工业现场通信方式非常丰富,因此每种通信方式都对应着一种通信协议,我在学习可编程控制器(PLC)控制技...Mod...
昆仑通态触摸屏与三菱plc如何连接?
昆仑通态触摸屏与三菱plc可以通过MODBUS协议进行连接。MODBUS协议是一种通用的串行通信协议,可以将昆仑通态触摸屏和三菱plc进行连接,实现数据的交互传输。同...