编程语言应用

首页 » 常识 » 问答 » 一篇彻底讲清楚PLC到底是什么
TUhjnbcbe - 2023/4/27 19:34:00
白癜风怎么能好 http://m.39.net/pf/a_4487859.html

可编程逻辑控制器

可程序化逻辑控制器(programmablelogiccontroller,简称PLC),一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载内存内储存与执行。可程控器由内部CPU,指令及数据存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成。PLC可接收(输入)及发送(输出)多种型态的电气或电子讯号,并使用他们来控制或监督几乎所有种类的机械与电气系统。

最初的可编程序逻辑控制器只有电路逻辑控制的功能,所以被命名为可程序逻辑控制器,后来随着不断的发展,这些当初功能简单的计算机模块已经有了包括逻辑控制,时序控制、模拟控制、多机通信等许多的功能,名称也改为可程控器(ProgrammableController),但是由于它的简写也是PC与个人电脑(PersonalComputer)的简写相冲突,也由于多年来的使用习惯,人们还是经常使用可程序逻辑控制器这一称呼,并在术语中仍沿用PLC这一缩写。

在可程序逻辑控制器出现之前,一般要使用成百上千的继电器以及计数器才能组成具有相同功能的自动化系统,而现在,经过编程的简单的可程序逻辑控制器模块基本上已经代替了这些大型装置。可程序逻辑控制器的系统程序一般在出厂前已经初始化完毕,用户可以根据自己的需要自行编辑相应的用户程序来满足不同的自动化生产要求。

现在工业上使用可程序逻辑控制器已经相当接近于一台轻巧型计算机所构成,甚至已经出现整合个人计算机(采用嵌入式操作系统)与PLC结合架构的可程序自动化控制器(ProgrammableAutomationController,简称PAC),能透过数字或模拟输入/输出模块控制机器设备、制造处理流程及其他控制模块的电子系统。可程序逻辑控制器广泛应用于目前的工业控制领域。在工业控制领域中,PLC控制技术的应用已成为工业界不可或缺的一员。

定义与特性

PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。

国际电工委员会(IEC)在其标准中将PLC定义为:

可程序逻辑控制器是一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。可程序逻辑控制器及其有关外部设备,都按易于与工业控制系统联成一个整体,易于扩充其功能的原则设计。

美国通用汽车公司在年提出了著名的“通用十条”招标指标,也是目前PLC的特点:

编程方便,现场可修改程序;维修方便,采用模块化结构;可靠性高于继电器控制装置;体积小于继电器控制装置;数据可直接送入计算机;成本可与继电器控制装置竞争;输入可以是交流V;输出为交流V,2A以上,能直接驱动电磁阀,接触器等;在扩展时,原系统只要很小变更;用户程序存储器容量能扩展。

年美国电机制造协会(NEMA)对可程控器定义是[1]:

可程控器是一种以数字动作之电子装置,它使用可程序内存以储存指令,执行像是逻辑、顺序、计时、计数与演算等功能,并透过数字或模拟输入输出模块,控制各种的机械或工作程序。

发展历史

可程控器的兴起与美国现代工业自动化生产发展的要求密不可分的。PLC源起于年代,当时美国通用汽车公司,为解决工厂生产线调整时,继电器顺序控制系统之电路修改耗时,平时检修与维护不易等问题。在可程序逻辑控制器出现之前,汽车制造业中的一般控制、顺序控制以及安全互锁逻辑控制必须完全依靠众多的继电器、定时器以及专门的闭回路控制器来实现。它们体积庞大、有着严重的噪音,不但每年的维护工作要耗费大量的人力物力,而且继电器-接触器系统的排线检修等工作对维护人员的熟练度也有着很高的要求。

针对这些问题,美国通用汽车公司在年向社会公开招标,要求设计一种新的系统来替换继电器系统,并提出了著名的“通用十条”招标指标。随后,美国数字设备公司(DEC)根据这一设想,于年研制成功了第一台PDP-14控制器,并在汽车自动装配线上使用并获得成功。由于当时系统主要用于顺序控制、只能进行逻辑运算,所以被命名为可程序逻辑控制器(ProgrammableLogicController,PLC)。最早期的PLC只具有简易之逻辑开/关(on/off)功能,但比起传统继电器之控制方式,已具有容易修改、安装、诊断与不占空间等优点。

年代初期,PLC引进微处理机技术,使得PLC具有算术运算功能与多位之数字信号输出/输入功能,并且能直接以阶梯图符号进行程序之编写。这项新技术的使用,在工业界产生了巨大的反响。日本在年从美国引进了这项技术,并很快研制成功了自己的DCS-8可程序逻辑控制器,德、法在年至年间也相继有了自己的该项技术。中国则于年研制成功自己的第一台可程序逻辑控制器,但是使用的微处理器核心为MC。年代中期,PLC功能加入远距通讯、模拟输出输入、NC伺服控制等技术。年代以后更引进PLC高速通讯网络功能,同时加入一些特殊输出/输入界面、人机界面、高功能函数指令、数据收集与分析能力等功能。

PLC之功能早已不止当初数字逻辑之运算功能,因此近年来PLC常以可程控器(ProgrammableController)简称。

PLC内部运作方式

虽然PLC所使用之阶梯图程序中往往使用到许多继电器、定时器与计数器等名称,但PLC内部并非实体上具有这些硬件,而是以内存与程序编程方式做逻辑控制编辑,并藉由输出组件连接外部机械装置做实体控制。因此能大大减少控制器所需之硬件空间。实际上PLC执行阶梯图程序的运作方式是逐行的先将程序代码以扫瞄方式读入CPU中并最后执行控制运作。在整个的扫瞄过程包括三大步骤,「输入状态检查」、「程序执行」、「输出状态更新」说明如下:

步骤一「输入状态检查」:

PLC首先检查输入端组件所连接之各点开关或传感器状态(1或0代表开或关),并将其状态写入内存中对应之位置Xn。

步骤二「程序执行」:

将阶梯图程序逐行取入CPU中运算,若程序执行中需要输入接点状态,CPU直接自内存中查询取出。输出线圈之运算结果则存入内存中对应之位置,暂不反应至输出端Yn。

步骤三「输出状态更新」:

将步骤二中之输出状态更新至PLC输出部接点,并且重回步骤一。

此三步骤称为PLC之扫描周期,而完成所需的时间称为PLC之反应时间,PLC输入讯号之时间若小于此反应时间,则有误读的可能性。每次程序执行后与下一次程序执行前,输出与输入状态会被更新一次,因此称此种运作方式为输出输入端「程序结束再生」。

硬件结构

一般讲,PLC分为箱体式和模块式两种。但它们的组成是相同的,对箱体式PLC,有一块CPU板、I/O板、显示面板、内存块、电源等,当然按CPU性能分成若干型号,并按I/O点数又有若干规格。对模块式PLC,有CPU模块、I/O模块、内存、电源模块、底板或机架。无论哪种结构类型的PLC,都属于总线式开放型结构,其I/O能力可按用户需要进行扩展与组合。PLC的基本结构框图如下:

电源模块

有些PLC中的电源,是与CPU模块合二为一的,有些是分开的,其主要用途是为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源如果为交流电源通常为VAC或VAC,若为直流电源常用的为24V。

中央处理单元

PLC中的CPU是PLC的核心,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入设备送来的状态或数据,并存入规划的缓存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路,与个人计算机一样,主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,还有外围芯片、总线接口及有关电路。它确定了进行控制的规模、工作速度、内存容量等。

内存

内存主要用于存储程序及数据,是PLC不可缺少的组成单元。PLC内部会存放撰写完成编辑的程序指令及数据,通常也可使用RAM或EEPROM等专用内存卡片方式扩充,但扩充能力得依各厂牌与型号有所不同。

输入/输出单元

PLC的对外功能,主要是通过各种输入/输出模块与外界联系的,按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。I/O模块集成了PLC的I/O电路,其输入缓存器反映输入信号状态,输出点反映输出锁存器状态。

输入单元是用来链接撷取输入组件的信号动作并透过内部总线将数据送进内存由CPU处理驱动程序指令部分。PLC输入模块PLC系统的架构和输入模块产品的选择端视需要被监测的输入讯号位准而定。

来自不同类型被监测的传感器与流程控制之变量讯号,可以涵盖从±10mV至±10V的输入讯号范围。

输出单元是用来驱动外部负载的接口,主要原理是由CPU处理以书写在PLC里的程序指令,判断驱动输出单元在进而控制外部负载,如指示灯、电磁接触器、继电器、气(油)压阀等。

PLC输出模块在工业环境中用来控制制动器、气阀及马达等的PLC系统模拟输出范围包括±5V、±10V、0V到5V、0V到10V、4到20mA、或0到20mA等。

通讯

现在PLC大多具有可扩充通信网路模块的功能,简单的PLC以BUS缆线或RS-方式通信链接,较高阶的PLC会采用USB或以太网络方式做通信链接。它使PLC与PLC之间、PLC与个人计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。现在几乎所有的PLC新产品都有通信网路功能,它和计算机一样具有RS-接口,通过双绞线、同轴电缆或光缆,可以在几公里甚至几十公里的范围内交换信息。当然,PLC之间的通讯网络是各厂家专用的,PLC与计算机之间的通讯,一些生产厂家采用工业标准总线,并向标准通讯协议靠近,这将使不同机型的PLC之间、PLC与计算机之间可以方便地进行通讯与网络。

PLC通讯协议规格可分为RS-、RS-、RS-、RS-、IEEE、IEEE-(GPIB),其中RS-最为少见。目前国际中最常用的通信协议为MODBUS-ASCII模式及MODBUS-RTU模式,此为Modicon公司所制定的通讯协议。PROFIBUS则为西门子公司所制定。日本三菱电机则推出CC-LINK通信协议。

程序设计

PLC的编程程序语言与一般计算机程序语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。IEC-3是一个国际标准,它规范了PLC相关之软件硬件的标准,其最终的目的是可以让PLC的用户在不更改软件设计的状况下可以轻易更换PLC硬件。IEC-3主要是提供了五种程序语言,包含:

1.指令表(InstructionList,IL或StatementList,SL):类似汇编语言的描述文字。由指令语句系列构成,如MitsubishiFX2的控制指令LD、LDI、AND、ANI、OR、ORI、ANB、ORB、MMP、MMS与OUT等,一般配合书写器写入程序,而书写器只能输入简单的指令,与计算机程序中的阶梯图比较起来简单许多。书写器不太直观,可读性差,特别是遇到较复杂的程序,更难读;但其优点就是不需要计算机就可以更改或察看PLC内部程序。使用书写器时,必须注意的是PLC指令中输出有优先次序,其中若有输出至相同的单元时(如Y),输出的优先次序以地址越大优先次愈越高,一般不容易从书写器中察觉所输入的单元。

2.结构式文件编程语言(StructuredText,ST):类似PASCAL与C语言的语法,适合撰写较复杂的算法,除错上也比阶梯图要容易得多。ST语言类似于程序语言的特性,因此可利用与微电脑及个人计算机相同的程序设计技术进行阶梯式语言所难以执行的复杂计算,完成程序的建立。

自保持回路的阶梯图,当开关ON触动后,电灯即自我保持在输出,直到开关OFF触动才会切断

3.阶梯图(LadderProgramming,LAD):类似于传统上以继电器控制接触器的阶梯图,梯形图是通过联机把PLC指令的梯形图符号连接在一起的连通图,用以表达所使用的PLC指令及其前后顺序,它与电气原理图很相似。

它的联机有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(LD)指令开始,必要时再继以若干个输入指令(含LD指令),以建立逻辑条件。最后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。

4.顺序功能流程图(SequentialFunctionChart,SFC):类似于流程设计(FlowDesign),流程图中的步骤组合而完成,主要是规划动作顺序的流程图,故谓之顺序功能流程图。所谓步序式控制,即是一步一步控制,而这一步与上一步是有关连性的,有顺序性的。必须有上一个动作(STL),才会启动(SET)下一个动作(STL)。

5.功能区块图(FunctionBlockDiagram,FBD):以画电路图的方式来写PLC程序。常用的程序及回路可透过FB(功能区块)的建立轻易地重复利用。

其他一些高档的PLC还具有与计算机兼容的C语言、BASIC语言、专用的高级语言(如西门子公司的GRAPH5、三菱公司的MELSAP、富士电机的Micrex-SX系列),还有用布尔逻辑语言、通用计算机兼容的汇编语言等。

内部组件

PLC在程序设计过程中,会利用到内部存储器,规划许多顺序控制程序上常会使用到的组件,这些组件包括:输入继电器、输出继电器、补助继电器、计数器、定时器、数据缓存器等主要组件,各组件功能与使用方法,说明如下:

输入接点与输出接点:用于PLC与外部组件之间的状态传送。可连接外部器件,及按钮开关、选择开关、光电开关、数字开关等,使用过大电流将会造成内部接点组件损坏。

辅助继电器:用来取代传统顺序控制中的继电器。传统继电器包括接点与线圈二部份,但实际上PLC是以内部存储器来记忆补助继电器之状态,若线圈被驱动则将1写入,否则将0写入。

计数器:在程序中被用来计算重复动作的次数。

定时器:用来计算动作的时间长短。

数据缓存器:用来储存字符组之数值或字符数据(Data)。

1
查看完整版本: 一篇彻底讲清楚PLC到底是什么