PLC编程语言有哪几种?每种编程语言你都了解吗?
子曰:"工欲善其事必先利其器",学习新知识,必定要先做足准备,才能学得更好。正如新手刚开始接触,它的软件编程语言与一般语言相比,有明显的不同,它既不同于高级语言,也不同于一般的汇编语言,它既要满足易编写又要满足易于调试的要求。早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委员会制定PLC编程支持的语言包括以下五种:梯形图Dele(LD)、指令表Delete(IL)、功能模块图Delete(FBD)、顺序功能流程图Delete(SFC)及结构化文本Delete(ST)。
1、梯形图语言(LD)
梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。
梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,因此电气设计人员更好掌握。
梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。
2、指令表语言(IL)
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。
指令表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。
3、功能模块图语言(FBD)
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。
功能模块图编程语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。
4、 顺序功能流程图语言(SFC)
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。
顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。
5、结构化文本语言(ST)
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要具备一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。
不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。 因此在PLC控制系统设计中,要求设计人员不但对PLC的硬件性能了解外,也要了解PLC对编程语言支持的种类。
PLC编程到底是啥?看电气大神讲PLC,膜拜!真是一针见血
PLC常见的用途是替代电气控制中的继电器逻辑控制电路。例如电机控制、变电站市电进线互投和自备发电机起停控制、过程控制DCS操控系统和楼宇消防系统控制等等。一般的城市居民小区高层建筑的水压控制,就是采取PLC配套变频器执行水泵操控的。
PLC更重要的用途是构建数据交换系统,它把现场总线变换为工业以太网,实现现场设备与后台的数据交换,以及接收和执行遥控命令等等。
在工业、民居、国防、交通(地铁、港口、民航)、银行和移动的数据中心中都大量使用PLC,由此可见PLC的用途之广。
PLC的硬件系统简介
图1:ABB的AC500系列PLC
图1的左侧是通信接口模块,它能实现PLC的通信数据和网络数据交换。向右显示了"AC 500"的是PLC的主体,即CPU模块。再往右是开关量输入/输出模块以及模拟量输入输出模块。
由此我们看到,PLC类似于一个单片机系统。事实上,PLC就是单片机智能化系统,但它的可靠性和稳定性非常高,远远超过了一般的单片机。
在工业环境下的电磁骚扰强烈,所以PLC必须要满足国家标准对电磁骚扰的要求。有关电磁骚扰的国家标准如下:
图2:国家标准中对工业条件下电磁骚扰的测量方法和要求
PLC抵御电磁骚扰的硬件措施包括电源隔离、开关量输入接口采取光电隔离、模拟量也采取光电隔离等措施。输出接口的电磁骚扰会弱一些,但也需要采取一定的措施,包括OC门和继电器接口等等。
为了提高PLC的可靠性,在重要场合还采取主PLC与从PLC冗余配套工作的措施,见下图:
图3:PLC的冗余措施
我们原来在变电站电力监控系统中用工业控制计算机作为中间层面的数据处理中心,但工业控制计算机存在电源故障、硬盘故障,抗电磁骚扰能力弱,后来就淘汰了,转而使用PLC作为数据处理中心。下图是《低压成套开关设备的原理及其控制技术》中的插图:
图4:图中的CCU就是PLC构建的通信管理中心
在图4中,既有利用PLC执行低压进线、母联和自备发电机间的备自投系统,也有执行数据交换的PLC系统。
PLC的软件系统
学过初级编程知识的人都知道循环语句。一旦程序进入死循环,程序事实上就是死机了。对于PLC来说也是如此。一旦PLC进入死循环,它的接口会复位,被控制量会发生严重问题。因此,PLC的程序语句是一条条顺序执行的,一直运行到最后一条再返回,不会出现死循环。即便是转移指令,只要转移条件满足就转移,否则跳过转移程序段继续执行。
这就是PLC软件系统的可靠性很高的原因之一。
我们看下图:
图5:PLC的模块化编程语言
图5摘自北京地铁工程的PLC程序局部。
PLC程序格式有两种,其一是梯形图格式,其二是模块化编程语言格式。对于较复杂的PLC程序,一般都采用模块化编程语言来编写。不管是梯形图也好,是模块化编程语言也好,它们都必须符合国际电工委员会IEC61131-3标准的要求。
下图是用于控制电机实现星三角转换的程序:
图6:电动机星三角转换的PLC程序局部
图6中的STEP2和STEP3就是转移程序端。如果不符合条件,程序会跳过转移程序段执行。
最有意思的是PLC的PID程序模块,很有使用价值。
给大家的建议
学习PLC技术,刚开始大都以梯形图为主。实际上,PLC刚开始学习时无非就是控制十字路口红绿灯等等,真正的PLC技术绝不仅仅在于此,只要做过一个工程,对PLC的认知就会大幅提升。
相关问答
plc编程和plc的区别?
plc编程和plc区别是定义不同。PLC:可编程逻辑控制器(ProgrammableLogicController),是性能稳定的控制器件,比如生活中常见的电梯,其控制器就是PLCPLC编.....
plc编程是不是也叫IT?
不是!PLC的编程,使用到以下几种语言,一是传统的梯形图编程,二是功能块编程,三是指令表编程,其中指令表的编程跟汇编语言有点类似。然后PLC编写完的程序,...
PLC编程属于哪个学科?
应该属于电气自动化的吧!PLC主要用于工业控制的。你可以到中华工控,中国工控,网站上注册一下用户,然后可以下载一些资料的。但是PLC主要还是得靠实战的!最...
PLC编程属于哪个学科?
1.PLC编程属于自动化学科。2.因为PLC编程是指对可编程逻辑控制器进行程序设计和编写,而可编程逻辑控制器是自动化控制系统中的核心设备之一,因此PLC编程属...
PLC(可编程序控制器)一共有几种编程方式?
你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...
PLC用什么语言编程?
1、梯形图。这是PLC工程师应用的最常见的编程语言,在处理一些逻辑类控制问题时,梯形图是非常好用的,深受大家的喜爱。2、结构化文本。它也是PLC工程师常用的...
请问PLC的程序可以用C语言写还是c++来写?
不可以有汇编语言但是一般人都不会的PLC目前都是用梯形图编程SFCFD没有听说过C语言编写PLC程序不可以有汇编语言但是一般人都不会的PLC...
PLC的中文全称是什么?由哪几部分总成?主要控制方式?
PLC中文全称为可编程逻辑控制器。PLC基本组成包括中央处理器(CPU)、存储器、输入/输出接口(缩写为I/O,包括输入接口、输出接口、外部设备接口、扩展接口等)、...
PLC的编程器件有哪些?
PLC基本编程原件有:X输入,Y输出,M中继,S步进,T定时,C计数,D寄存器PLC通过基本编程原件可以做逻辑控制,模拟量控制,伺服定位,PID运算,通信等PLC基本编程...
PLC编程语言中LD/IL/FBD,ST/SFC/CFC的全称是什么?望高手指点?
LD:laderdiagramIL:这个又叫STL,statementlist而IL应该是日系叫法,I什么list的意思吧,没仔细研究过日系的PLC。FBD:FunctionBlockd...