PLC编程是什么

小嘿 QA 2020-04-27 10:02:30 阅读(...)

PLC编程是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。

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

PLC编程是什么

随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已扩展到了几乎所有的工业领域。现代社会要求制造业对市场需求作出迅速的反应,生产出小批量、多品种、多规格、低成本和高质量的产品,为了满足这一要求,生产设备和自动生产线的控制系统必须具有极高的可靠性和灵活性,PLC 编程正是顺应这一要求出现的,它是以微处理器为基础的通用工业控制装置。

工作原理

PLC 是采用“顺序扫描,不断循环”的方式进行工作的。即在 PLC 运行时,CPU 根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束,然后重新返回第一条指令,开始下一轮新的扫描,在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。

PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。

PLC 在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入,随即关闭输入端口,进入程序执行阶段。

PLC 在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。

输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶间管)输出,驱动相应输出设备工作。

特点

PLC 编程的应用面广、功能强大、使用方便,已经成为当代工业自动化的主要装置之一,在工业生产的所有领域得到了广泛的使用,在其他领域(例如民用和家庭自动化)的应用也得到了迅速的发展。

国际电工委员会(IEC)在 1985 年的 PLC 标准草案第 3 稿中,对 PLC 作了如下定义:“是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于使工业控制系统形成一个整体,易于扩充其功能的原则设计。”从上述定义可以看出,PLC 是一种用程序来改变控制功能的工业控制计算机,除了能完成各种各样的控制功能外,还有与其他计算机通信联网的功能。

PLC 编程的推广应用在我国得到了迅猛的发展,它已经大量地应用在各种机械设备和生产过程的电气控制装置中,各行各业也涌现出了大批应用 PLC 改造设备的成果。了解 PLC 的工作原理,具备设计、调试和维护 PLC 控制系统的能力,已经成为现代工业对电气技术人员和工科学生的基本要求。

语言类型

PLC 的用户程序,是设计人员根据控制系统的工艺控制要求,通过 PLC 编程语言的编制规范,按照实际需要使用的功能来设计的。只要用户能够掌握某种标准编程语言,就能够使用 PLC 在控制系统中,实现各种自动化控制功能。

根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3),PLC 有五种标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。这五标准编程语言,十分简单易学。

梯形图语言

梯形图语言是 PLC 程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。 梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。 梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。

指令表语言

指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用 PLC 手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在 PLC 编程软件下可以相互转换。图 3 就是与图 2PLC 梯形图对应的指令表。 指令表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。

功能模块图语言

功能模块图语言是与数字逻辑电路类似的一种 PLC 编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。 功能模块图编程语言的特点:功能模块图程序设计语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。

顺序功能流程图语言

顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。

结构化文本语言

结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的 PLC 系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。

结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数 PLC 制造商采用的结构化文本编程语言与 BASIC 语言、PASCAL 语言或 C 语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。 结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。

算法

PLC 编程算法一 开关量的计算

1、开关量也称逻辑量,指仅有两个取值,0 或 1、ON 或 OFF。它是最常用的控制,对它进行控制是 PLC 的优势,也是 PLC 最基本的应用。

开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使 PLC 产生相应的开关量输出,以使系统能按一定的顺序工作。所以,有时也称其为顺序控制。而顺序控制又分为手动、半自动或自动。而采用的控制原则有分散、集中与混合控制三种。这是用 OMRON 的开关量编写的一个“单按钮启停”程序。

2、 模拟量是指一些连续变化的物理量,如电压、电流、压力、速度、流量等。

PLC 是由继电控制引入微处理技术后发展而来的,可方便及可靠地用于开关量控制。由于模拟量可转换成数字量,数字量只是多位的开关量,故经转换后的模拟量,PLC 也完全可以可靠的进行处理控制。由于连续的生产过程常有模拟量,所以模拟量控制有时也称过程控制。模拟量多是非电量,而 PLC 只能处理数字量、电量。所有要实现它们之间的转换要有传感器,把模拟量转换成数电量。如果这一电量不是标准的,还要经过变送器,把非标准的电量变成标准的电信号,如 4—20mA、1—5V、0—10V 等等。同时还要有模拟量输入单元(A/D),把这些标准的电信号变换成数字信号;模拟量输出单元(D/A),以把 PLC 处理后的数字量变换成模拟量——标准的电信号。所以标准电信号、数字量之间的转换就要用到各种运算。这就需要搞清楚模拟量单元的分辨率以及标准的电信号。

例如:PLC 模拟单元的分辨率是 1/32767,对应的标准电量是 0—10V,所要检测的是温度值 0—100℃。那么 0—32767 对应 0—100℃的温度值。然后计算出 1℃所对应的数字量是 327.67。如果想把温度值精确到 0.1℃,把 327.67/10 即可。

模拟量控制包括:反馈控制、前馈控制、比例控制、模糊控制等。这些都是 PLC 内部数字量的计算过程。

3、 脉冲量是其取值总是不断的在 0(低电平)和 1(高电平)之间交替变化的数字量。每秒钟脉冲交替变化的次数称为频率。

PLC 脉冲量的控制目的主要是位置控制、运动控制、轨迹控制等。例如:脉冲数在角度控制中的应用。步进电机驱动器的细分是每圈 10000,要求步进电机旋转 90 度。那么所要动作的脉冲数值=10000/(360/90)=2500。

PLC 编程算法二 模拟量的计算

1、 -10—10V。-10V—10V 的电压时,在 6000 分辨率时被转换为 F448—0BB8Hex(-3000—3000);12000 分辨率时被转换为 E890—1770Hex(-6000—6000)。

2、 0—10V。0—10V 的电压时,在 6000 分辨率时被转换为 0—1770Hex(0—6000);12000 分辨率时被转换为 0—2EE0Hex(0—12000)。

以上仅做简单的介绍,不同的 PLC 有不同的分辨率,并且您所测量物理量实现的量程不一样。计算结果可能有一定的差异。

注:模拟输入的配线的要求

1、使用屏蔽双绞线,但不连接屏蔽层。

2、当一个输入不使用的时候,将 V IN 和 COM 端子短接。

3、模拟信号线与电源线隔离 (AC 电源线,高压线等)。

4、当电源线上有干扰时,在输入部分和电源单元之间安装一个滤波器。

5、确认正确的接线后,首先给 CPU 单元上电,然后再给负载上电。

6、断电时先切断负载的电源,然后再切断 CPU 的电源。

PLC 编程算法三 脉冲量的计算

脉冲量的控制多用于步进电机、伺服电机的角度控制、距离控制、位置控制等。以下是以步进电机为例来说明各控制方式。

1、步进电机的角度控制。首先要明确步进电机的细分数,然后确定步进电机转一圈所需要的总脉冲数。计算“角度百分比=设定角度/360°(即一圈)”“角度动作脉冲数=一圈总脉冲数*角度百分比。”

公式为:

角度动作脉冲数=一圈总脉冲数*(设定角度/360°)。

2、步进电机的距离控制。首先明确步进电机转一圈所需要的总脉冲数。然后确定步进电机滚轮直径,计算滚轮周长。计算每一脉冲运行距离。最后计算设定距离所要运行的脉冲数。

公式为:

设定距离脉冲数=设定距离/[(滚轮直径*3.14)/一圈总脉冲数]

3、步进电机的位置控制就是角度控制与距离控制的综合。

以上只是天天自动化简单的分析步进电机的控制方式,可能与实际有出入,仅供各位同仁参考。伺服电机的动作与步进电机的一样,但要考虑伺服电机的内部电子齿轮比与伺服电机的减速比。有些事情说起来比较简单,但实际应用就有难度了。请大家在实际的工作中领悟其中的道理

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • net framework

    net framework是什么

    .NET Framework是Windows的托管执行环境,可为其运行的应用提供各种服务,组件有公共语言运行时 (CLR),是处理运行应用的执行引擎;.NET Framework类库,提供开发人员从其自己应用中调用的已测试、可重用代码库。
  • odbc

    ODBC是什么

    ODBC(开放数据库互连)提供了一种标准的API方法来访问数据库管理系统。API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的设计者们努力使它具有最大的独立性和开放性。
  • 数据结构

    数据结构是什么

    在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。
  • 二维计算机图形 2D Computer Graphics

    二维计算机图形是什么

    二维计算机图形简称为二维CG,是基于计算机的数字图像的产生—主要是从二维模型(例如二维几何模型,文本,和数字图像)产生,并且使用只适用这些模型的技术。该词也用于指代这些模型本身。采用该技术的计算机科学的分支称为二维计算机图形学。
  • 人机交互 human–computer interaction

    人机交互是什么

    ⼈机交互(HCI)是⼀⻔交叉学科,是指⼈和机器的互动。早期提出⼈机交互的理念是针对⼈与机器之间。随着科技进步, 发明了更新的机器,也就是我们现在⼤家都在使⽤的计算机,⼈机交互也就从HMI更多地向HCI发展。
  • 超级计算机 Supercomputer

    超级计算机是什么

    超级计算机(Supercomputer)指能够执行一般个人电脑无法处理的高速运算的计算机,规格与性能比个人计算机强大许多。现有的超级计算机运算速度大都可以达到每秒一兆(万亿,非百万)次以上。