当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]可编程序控制器其实和微机差不多。由微处理器(CPU),存储器(ROM,RAM),输入/输出单元(I/O),编程器和电源。CPU相当于人的大脑,存储器是存储文件的。把文件扫描,在把文件打印出来,这是I/O的功能,相当与人的五官。

可编程序控制器其实和微机差不多。由微处理器(CPU),存储器(ROM,RAM),输入/输出单元(I/O),编程器和电源。CPU相当于人的大脑,存储器是存储文件的。把文件扫描,在把文件打印出来,这是I/O的功能,相当与人的五官。编程器用于用户程序的编制,调试检查和监视,还可通过键盘调用和显示PLC的一些内部状态和系统参数。电源是提供PLC的能源。

20世纪60年代,由于小型计算机的出现和大规模生产及多机群控的发展,人们曾试图用小型计算机来实现工业控制,代替传统的继电接触器控制。但采用小型计算机实现工业控制价格昂贵,输入、输出电路不匹配,编程技术复杂,因而没能得到推广和应用。

20世纪60年代末期,美国汽车制造工业竞争激烈,为了适应生产工艺不断更新的需要,在1968年美国通用汽车公司首先公开招标,对控制系统提出的具体要求基本为①它的继电控制系统设计周期短,更改容易,接线简单,成本低;②它能把计算机的功能和继电器控制系统结合起来。但编程又比计算机简单易学、操作方便;③系统通用性强。

1969年美国数字设备公司根据上述要求,研制出世界上第一台可编程序控制器,并在通用公司汽车生产线上首次应用成功,实现了生产的自动控制。其后日本、德国等相继引入,可编程序控制器迅速发展起来。但这一时期它主要用于顺序控制,虽然也采用了计算机的设计思想,但当时只能进行逻辑运算,故称为可编程序逻辑控制器,简称PLC(Programmable Logic Controller)。

20世纪70年代后期,随着微电子技术和计算机技术的迅猛发展,可编程逻辑控制器更多地具有计算机功能,不仅用逻辑编程取代硬接线逻辑,还增加了运算、数据传送和处理等功能,真正成为一种电子计算机工业控制装置,而且做到了小型化和超小型化。这种采用微电脑技术的工业控制装置的功能远远超出逻辑控制、顺序控制的范围,故称为可编程序控制器,简称PC(Programmablc Controller)。但由于PC容易和个人计算机(Personal Computer)混淆,故人们仍习惯地用PLC作为可编程序控制器的缩写。

由于plc以微处理器为核心,故具有微机的许多特点,但它的工作方式却与微机有很大 不同。微机一般采用等待命令的工作方式,如常见的键盘扫描方式或i/o扫描方式,若有 键按下或有i/o变化,则转入相应的子程序,若无则继续扫描等待。plc则是采用循环扫描的工作方式。对每个程序,cpu从第一条指令开始执行,按指令 步序号作周期性的程序循环扫描,如果无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环,每一个循环称为一个扫描周期。扫描周期的长短主要取决于以下几个因素:一是cpu执行指令的速度;二是执行每条指令占用的时间;三是程序中指令条数的多少。一个循环扫描周期主要可分为三个阶段。1) 输入刷新阶段 在输入刷新阶段,cpu扫描全部输入端口,读取其状态并写入输 入状态寄存器。完成输入端刷新工作后,将关闭输入端口,转入程序执行阶段。在程序执行 期间即使输入端状态发生变化,输入状态寄存器的内容也不会改变,而这些变化必须等到下 一工作周期的输入刷新阶段才能被读入。2)程序执行阶段 在程序执行阶段,根据用户输入的控制程序,从第一条开始逐条执行,并将相应的逻辑运算结果存入对应的内部辅助寄存器和输出状态寄存器。当最后一条控 制程序执行完毕后,即转入输出刷新阶段。3)输出刷新阶段 当所有指令执行完毕后,将输出状态寄存器中的内容,依次送到输出锁存电路,并通过一定输出方式输出,驱动外部相应执行元件工作,这才形成plc的实际 输出。由此可见,输入刷新、程序执行和输出刷新三个阶段构成plc一个工作周期,由此循环 往复,因此称为循环扫描工作方式。由于输入刷新阶段是紧接输出刷新阶段后马上进行的,所以亦将这两个阶段统称为i/o刷新阶段。实际上,除了执行程序和i/o刷新外,plc还 要进行各种错误检测(自诊断功能)并与编程工具通讯,这些操作统称为“监视服务”,一般 在输入扫描过程之后进行。综上所述,plc的扫描工作过程如图1-4所示。

显然扫描周期的长短主要取决于程序的长短。扫描周期越长,响应速度越慢。由于每一个扫描周期只进行一次i/0刷新,即每一个扫描周期plc只对输入、输出状态寄存器更 新一次,故使系统存在输入、输出滞后现象,这在一定程度上降低了系统的响应速度。由此 可见,若输入变量在i/0刷新期间状态发生变化,则本次扫描期间输出会相应地发生变化。

反之,若在本次刷新之后输入变量才发生变化,则本次扫描输出不变,而要到下一次扫描的i/0刷新期间输出才会发生变化。这对于一般的开关量控制系统来说是完全允许的,不但不 会造成影响,反而可以增强系统的抗干扰能力。这是因为输入采样仅在输入刷新阶段进行,plc在一个工作周期的大部分时间里实际上是与外设隔离的。而工业现场的干扰常常是脉冲式的、短时的,由于系统响应较慢,往往要几个扫描周期才响应一次,而多次扫描后,因瞬 间干扰而引起的误动作将会大大减少,从而提高了系统的抗干扰能力。但是对于控制时间要 求较严格、响应速度要求较快的系统,就需要精心编制程序,必要时采用一些特殊功能,以减少因扫描周期造成的响应滞后等不良影响。总之,采用循环扫描的工作方式是plc区别于微机和其他控制设备的最大特点,在使用 中应引起特别的注意。PLC 是采用“顺序扫描,不断循环”的方式进行工作的。即在 PLC

运行时,CPU根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。在每次扫描过程中,还要完成

对输入信号的采样和对输出状态的刷新等工作。PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。

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

PLC 在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶闸管)输出,驱动相应输出设备工作。

三、PLC 的程序编制

1、 编程元件

PLC 是采用软件编制程序来实现控制要求的。编程时要使用到各种编程元件,它们可提供无数个动合和动断触点。编程元件是指输入寄存器、输出寄存器、位存储器、定时器、计数器、通用寄存器、数据寄存器及特殊功能存储器等。PLC 内部这些存储器的作用和继电接触控制系统中使用的继电器十分相似,也有“线圈”与“触点” ,但它们不是“硬”继电器,而是 PLC 存储器的存储单元。当写入该单元的逻辑状态为“1”时,则表示相应继电器线圈得电,其动合触点闭合,动断触点断开。所以,内部的这些继电器称之为“软”继电器。

2、编程语言

所谓程序编制,就是用户根据控制对象的要求,利用 PLC 厂家提供的程序编制语言,将一个控制要求描述出来的过程。PLC 最常用的编程语言是梯形图语言和指令语句表语言,且两者常常联合使用。

1) 梯形图(语言)

梯形图是一种从继电接触控制电路图演变而来的图形语言。它是借助类似于继电器的动合、动断触点、线圈以及串、并联等术语和符号,根据控制要求联接而成的表示 PLC 输入和输出之间逻辑关系的图形,直观易懂。

梯形图的设计应注意到以下三点:

①梯形图按从左到右、自上而下地顺序排列。每一逻辑行(或称梯级)起始于左母线,然后是触点的串、并联接,最后是线圈。

②梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是用来形象地描述用户程序执行中应满足线圈接通的条件。

③输入寄存器用于接收外部输入信号,而不能由 PLC 内部其它继电器的触点来驱动。因此,梯形图中只出现输入寄存器的触点,而不出现其线圈。输出寄存器则输出程序执行结果给外部输出设备,当梯形图中的输出寄存器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出寄存器的触点也可供内部编程使用。

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

与 BigCode 社区共同创建的 StarCoder2 是在 600 多种编程语言上训练而成,它将推进代码生成、透明度、治理和创新

关键字: 生成式 AI 编程语言 大语言模型

在这篇文章中,小编将为大家带来可编程控制器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 可编程控制器 PLC

Java是一种广泛应用于软件开发的编程语言,它具有跨平台、面向对象和高度可靠性的特点。在嵌入式系统设计中,Java也有着广泛的应用方案。本文将详细介绍Java在嵌入式系统设计中的应用方案,并分析其优势和挑战。

关键字: Java 软件开发 编程语言

嵌入式开发和Java开发是两个不同的领域,它们在目标、应用场景、编程语言和开发环境等方面存在一些区别。下面我将为您简要介绍这两个领域的特点以及如何选择适合您的开发方向。

关键字: 嵌入式开发 Java开发 编程语言

Java语言是一种面向对象的编程语言,由Sun Microsystems(现在是Oracle Corporation)于1995年推出。Java具有跨平台性和可移植性的特点,广泛用于开发各种应用程序,包括嵌入式系统、移动...

关键字: Java 编程语言 互联网

嵌入式系统是一种专门设计用于特定应用领域的计算机系统,它通常由硬件和软件组成,并且被嵌入到其他设备或系统中,以实现特定的功能。在开发嵌入式系统时,除了了解和选择适合的编程语言外,还需要了解如何测量嵌入式产品的应用性能以及...

关键字: 嵌入式 计算机 编程语言

嵌入式系统设计师是一个专业领域,需要深入理解和掌握各种嵌入式技术以及相关编程语言。本文将介绍嵌入式系统设计师考试中的必备知识、笔记和总结,帮助读者在考试中取得好成绩。

关键字: 嵌入式系统 编程语言 C语言基础

另外,有时候优先级还与C语言编译器有关,同一个表达式在不同的平台上,可能表达的意义是不同的。所以,为了代码的可植移性、正确性以及可读性,振南强烈建议多用一些()。

关键字: C 语言 编程语言 赋值操作

Matlab是matrix laboratory的组合,意为矩阵实验室,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

关键字: matlab 编程语言 数值分析

近年来,PLC在工业自动控制领域应用愈来愈广,它在控制性能、组机周期和硬件成本等方面所表现出的综合优势是其它工控产品难以比拟的。随着PLC技术的发展, 它在位置控制、过程控制、数据处理等方面的应用也越来越多。

关键字: 可编程控制器 数控机床 位置控制
关闭