指令系统
PLC有多少条指令,各条指令又具有什么功能,是了解与使用PLC的重要方面。你不懂PLC指令怎么编程,没有程序,PLC又怎么工作?
PLC的指令越来越多,越来越丰富。功能很强的指令,综合多种作用的指令日见增多。
PLC的指令繁多,但主要的有这么几种类型:
基本逻辑指令,用于处理逻辑关系,以实现逻辑控制。这类指令不管什么样的PLC都总是有的。
数据处理指令,用于处理数据,如译码,编码,传送、移位等等。
数据运算指令,用于进数据的运算,如十、一、X、/等,可进行整形数计算,有的还可浮点数运算;也可进行逻辑量运算,等等。
流程控制指令,用以控制程序运行流程。PLC的用户程序一般是从零地址的指令开始执行,按顺序推进。但遇到流程控制指令也可作相应改变。流程控制指令也较多,运用得好,可使程序简练,并便于调试与阅读。
状态指令,用以监视及记录PLC及其控制系统的工作状态,对提高PLC控制系统的工作可靠性大有帮助。
当然,并不是所有的PLC都有上述那么多类的指令,也不是有的PLC仅有上述几类指令。以上只是指出几个例子,说明要从哪几个方面了解PLC指令,从中也可大致看出指令的多少及功能将怎样影响PLC的性能。
除了指令,为进行通讯,PLC还有相应的协议与通讯指令或命令,这些也反映了PLC的性能。
6支持软件
内存器件种类越多,数量越多,越便于PLC进行种种逻辑量及模拟控制。它也是代表 PLC性能的重要指标。
PLC内部器件有:
I/O继电器,或称映射区。它与PLC所能控制的I/O点数及模拟量的路数直接相关。
内部继电器数,有的称为标志位数,代表着PLC的内部继电器数。它与I/O继电器区相联系着,有时与后者相联系进行处理。内部继电器多,便于PLC建立复杂的时序关系,以实现多种多样的控制要求。一般讲,内部继电器数比I/O继电器要多得多。
有的内部继电器还可丢电保持,即它的状态(ON或OFF)、PLC丢电后,靠内部电池仍予以保持。再上电后可继续丢电前的状态。保持继电器可增强PLC控制能力,特别对记录故障,故障排除后恢复运行,显得有用。
定时器,可进行定时控制。定时值可任意设定。定时器有多少,设定范围有多大,设定值的分辨率又是多少,这些都代表定时器件的性能。
计数器,可进行计数,到达某设定计数值可发送相应信号。可进行什么样的计数,计数范围多大,怎么设定,有多少计数器,则是PLC计数器性能的代表指标。
数据存储区,用以存储工作数据。多以字、两字或多字为单位予以使用,是PLC进行模拟量控制,或记录数据所的。这个存储区的大小代表PLC的性能也是越大越好。趋势也是越来越大。小型机也如此。如日本OMRON公司的CQM1机,其DM区就有6k字。而过去同是小型机的C60P的DM区才64个字。大型机的DM可达10K以至几十K。
此外还有其它一些内部器件,了解某PLC性能时,也都必须掌握它。
内部器件也是PLC指令的操作数,不弄清楚是无法编程的。
为了便于编制PLC程序,多数PLC厂家都开发有关计算机支持软件。
从本质上讲,PLC所能识别的只是机器语言。它之所以能使用一些助记符语言、梯形图语言、流程图语言,以至语言,全靠为使用这些语言而开发的种种软件。
助记符语言是基本也是简单的PLC语言。它类似计算机的汇编语言,PLC的指令系统就是用这种语言表达的。这种语言仅使用文字符号,所使用的编程工具简单,用简易编程器即可。所以,多数PLC都配备有这种语言。
梯形图语言是图形语言,它用类似于继电器电路图的符号表达PLC实现控制的逻辑关系。这种语言与符号语言有对应关系,很容易互相转换,并便于了解与熟悉,故用得很普遍,几乎所有的PLC都开发有这种语言。由于它是用图形表达,小的编程器不好使用它,得有较大的液晶画面的编程器,才能使用它。多数是在计算机对PLC编程时,才使用这种语言。
流程图语言,它也是图形语言,不过所用的符号不与电气元件符号相似,而与计算机用的流程图符号相似,便干计算机工作人员了解与熟悉。流程图语言与符号语言也有一一对应关系,只是它对应的符号语言与梯形图的对应不一样。熟悉计算机而又未从事过一般电气工作的人员,乐于用这种语言对PLC编程。日本OMRON公司开发的F系列机就是使用这种语言。
梯形图与流程图混合语言。这种语言,梯形图与流程图两者兼用,可使PLC程序结构化。它用流程图把PLC程序划分成若干结构块,并规范块间的逻辑联系。用梯形图再确定块中的种种量间的逻辑关系。这种混合语言有不同的实现方法,而且多用于大型的PLC的编程
语言,PLC编程也可以使用语言,如BASIC、C语言等。可以在DOS,也可在WINDOWS平台上运行。关键在于要把用语言编写的程序转换成助记符语言,或直接转换成PLC所能识别的机器语言。从根本上讲,只要能实现这个转换的,什么语言都可以。而编写这个转换的软件工作量很大,当然应由有关厂家开发与提供。当前不少PLC厂家已有提供。如GE-FANAC的PLC就提供有可用C语言编程的软件。
FX2N系列PLC硬件组成
(1)*处理器CPU
CPU的主要作用是解释并执行用户及系统程序,通过运行用户及系统程序完成所有控制、处理、通信以及所赋予的其它功能,控制整个系统协调一致地工作。常用的CPU主要有通用微处理器、单片机和双型位片机。
(2)存储器模块
随机存取存储器RAM用于存储PLC内部的输入、输出信息,并存储内部继电器(软继电器)、移位寄存器、数据寄存器、定时器/计数器以及累加器等的工作状态,还可存储用户正在调试和修改的程序以及各种暂存的数据、中间变量等。
只读存储器ROM用于存储系统程序。可擦除可编程序的只读存储器EPROM主要用来存放PLC的操作系统和程序,如果用户程序已完全调试好,也可将程序固化在EPROM中。
(3)输入输出模块
可编程序控制器是一种工业控制计算机系统,它的控制对象是工业生产过程,与DCS相似,它与工业生产过程的联系也是通过输入输出接口模块(I/O)实现的。I/O模块是可编程序控制器与生产过程相联系的桥梁。
PLC连接的过程变量按信号类型划分可分为开关量(即数字量)、模拟量和脉冲量等,相应输入输出模块可分为开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块和脉冲量输入模块等。
(4)编程器
编程器是PLC的重要外部设备。编程器将用户所希望的功能通过编程语言送到PLC的用户程序存储器中。编程器不仅能对程序进行写入、读出、修改,还能对PLC的工作状态进行,同时也是用户与PLC之间进行人机对话的界面。随着PLC的功能不断增强,编程语言多样化,编程已经可以在计算机上完成。
PLC节省输出点数的方法
(1)分组输出 如图7所示,当两组负载不会同时工作时,可通过外部转换开关或受PLC控制的电器触点进行切换,使PLC的一个输出点可以控制两个不同时工作的负载。
7 分组输出
(2)矩阵输出 如图8所示为4×4矩阵输出电路,用8个输出点可控制16个负载。要使某个负载接通工作,只要它所在的行与列对应的输出继电器接通即可。例如,当Y010与Y004同时接通时,KM1得电吸合。应当注意的是:当只有某一行对应的输出继电器接通,各列对应的输出继电器才可以任意接通;或者当只有某一列对应的输出继电器接通,各行对应的输出继电器才可以任意接通。否则将会错误接通负载。因此,采用矩阵输出时,必须将同一时间段接通的负载安排在同一行或同一列中,否则将无法控制。
8 矩阵输出
(3)并联输出 通断状态完全相同的负载,可以并联后共用PLC的一个输出点(要考虑PLC输出点的负载驱动能力)。例如PLC控制的交通信灯,
对应方向(东与西对应、南与北对应)的灯通断规律完全相同,将对应的灯并联后可以节省一半的输出点。
(4)负载多功能化 一个负载实现多种用途。例如,在传统的继电控制系统中,一个指示灯只指示一种状态。在PLC控制系统中,利用PLC的软件很容易实现利用一个输出点控制指示灯的常亮和闪亮,这样就可以利用一个指示灯表示两种不同的信息,从而节省PLC的输出点。
(5)某些输出信号不进入PLC 系统中某些相对立、比较简单的部分可以考虑不用PLC来控制,直接采用继电器控制即可。
(6)利用输出点扩展输出点 与利用输出点扩展输入点相似,也可以用输出点分时控制一组输出点的输出内容。例如:在输出端口上接有多位LED7段码显示器时,如果采用直接连接,所需的输出点是很多的。这时可使用图9的电路利用输出点的分时接通逐个点亮多位LED7段码显示器。
在图9所示的电路中,CD4513是具有锁存、译码功能的共阴7图9 输出口扩展输出口
段码显示器驱动电路,两只CD4513的数据输入端A~D共用可编程序控制
器的4个输入端,其中A为低位,D为高位。LE端是锁存使能输入端,在LE信号的上升沿将数据输入端的BCD数据锁存在片内的寄存器中,并将该数译码后显示出来,LE为低电平时,显示器的数不受数据输入信号的影响。显然,N位显示器所占用的输出点P=4+N。图9中Y004及YOO5分别接通时,输出的数据分别送到上下两片CD4513中。
PLC的主要应用场合
1用于开关量控制
PLC控制开关量的能力是很强的。所控制的入出点数,少的十几点、几十点,多的可到几百、几千,甚至几万点。由于它能联网,点数几乎不受限制,不管多少点都能控制。
所控制的逻辑问题可以是多种多样的:组合的、时序的;即时的、延时的;不需计数的,需要计数的;固定顺序的,随机工作的;等等,都可进行。
PLC的硬件结构是可变的,软件程序是可编的,用于控制时,非常灵活。必要时,可编写多套,或多组程序,依需要调用。它很适应于工业现场多工况、多状态变换的需要。
用PLC进行开关量控制实例是很多的,冶金、机械、轻工、化工、纺织等等,几乎所有工业行业都需要用到它。目前,PLC首用的目标,也是别的控制器无法与其比拟的,就是它能方便并可靠地用于开关量的控制。
2用于模拟量控制
模拟量,如电流、电压、温度、压力等等,它的大小是连续变化的。工业生产,特别是连续型生产过程,常要对这些物理量进行控制。
作为一种工业控制电子装置,PLC若不能对这些量进行控制,那是不足。为此,各PLC厂家这方面进行大量的开发。目前,不仅大型、中型机可以进行模拟量控制,就是小型机,也能进行这样的控制。
PLC进行模拟量控制,要配置有模拟量与数字量相互转换的A/D、D/A单元。它也是I/O单元,不过是的I/O单元。
A/D单元是把外电路的模拟量,转换成数字量,然后送入PLC。D/A单元,是把PLC的数字量转换成模拟量,再送给外电路。
作为一种的I/O单元,它仍具有I/O电路抗干扰、内外电路隔离,与输入输出继电器(或内部继电器,它也是PLC工作内存的一个区。可读写)交换信息等等特点。
这里的A/D中的A,多为电流,或电压,也有为温度。D/A中的A,多为电压,或电流。电压、电流变化范围多为0~5V,0~10V,4~20mA。有的还可处理正负值的。
这里的D,小型机多为8位二进制数,中、大型多为12位二进制数。
A/D、D/A有单路,也有多路。多路占的输入输出继电器多。
有了A/D、D/A单元,余下的处理都是数字量,这对有信息处理能力的PLC并不难。中、大型PLC处理能力强,不仅可进行数字的加、减、乘、除,还可开方,插值,还可进行浮点运算。有的还有PID指令,可对偏差制量进行比例、微分、积分运算,进而产生相应的输出。计算机能算的它几乎都能算。
这样,用PLC实现模拟量控制是完全可能的。控制的单位值可小到212分之一的测量程值,多数也是足够的。
PLC进行模拟量控制,还有A/D、D/A组合在一起的单元,并可用PID或模糊控制算法实现控制,可得到很高的控制质量。
西门子S7-1200系列订货数据
6ES7211-1BE31-0XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI
6ES7211-1AE31-0XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI
6ES7211-1HE31-0XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI
6ES7212-1BE31-0XB0 CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI
6ES7212-1AE31-0XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI
6ES7212-1HE31-0XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI
6ES7214-1BG31-0XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG31-0XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG31-0XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG31-0XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG31-0XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG31-0XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7211-1BE40-0XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI
6ES7211-1AE40-0XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI
6ES7211-1HE40-0XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI
6ES7212-1BE40-0XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI
6ES7212-1HE40-0XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI
6ES7214-1BG40-0XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG40-0XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG40-0XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG40-0XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG40-0XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG40-0XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7217-1AG40-0XB0 CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO