西门子模块6ES7253-1AA22-0XA0参数规格
西门子模块6ES7253-1AA22-0XA0参数规格
PLC控制对象的控制要求多种多样,但是,大多数动作都可以分解为若干基本动作(基本程序功能)的组合。因此,作为PLC编程人员,通过日常积累,熟练掌握多种、基本、常用动作的程序编制方法,是提高编程效率与程序可靠性的有效措施。以下是为几种常用的基本动作而设计的典型程序,可供电气自动化技术网的网友参考。
1.恒“1”与恒“O”信号的生成
在PLC程序设计时(特别是对功能模块进行编程时),经常需要将某些信号的状态设置为“0”或“1”。因此,大部分长期从事PLC程序设计的人,一般均会在程序的起始位置,首先编入产生恒“0”与恒“1”的程序段,以便在程序中随时使用。
产生恒“0”与恒“1”的梯形图程序如图9-3.1所示。
图9-3.1 (a)中,MO.O的状态等于信号M0.2的状态与M0.2的“非”信号进行“与”运算的结果,MO.O恒为“O”。
图9-3.1 (b)中,MO.1的状态等于信号M0.2的状态与M0.2的“非”信号进行“或”运算的结果,MO.1恒为“l”。
2.自保持信号的生成
在许多控制场合,有的输出(或内部继电器)需要在某一信号进行“启动”后,一直保持这一状态,直到其他的信号予以“断开”,这就是继电器控制系统中所谓的“自保持”(也称“自锁”或“记忆”)。
生成“自保持”的程序有两种常用的编程方法,即通过“自锁”的方法与通过“置位”、“复位”指令实现,分别如图9-3.2 (a)、图9-3.3 (a)与图9-3.2 (b)、图9-3.3 (b)所示。
“自保持”有“断开优先”(也称“复位忧先”)与“启动优先”(也称“置位优先”)两种控制方式。其区别在于当“启动”、“断开”信号(或“置位”、“复位”信号)同时生效时,其输出状态将有所不同。
“断开优先”的PLC梯形图程序如图9-3.2所示。
图9-3.2 (a)采用的是“自锁”的方法,图9-3.2 (b)采用的是“置位”、“复位”的方法。
图9-3.2中,IO.1为“启动”(“置位”)信号,当IO.1为“1”(常开触点闭合)时,输出QO.1为“l”;I0.2为“断开”(“复位”)信号,当I0.2为“l”(常闭触点断开)时,输出QO.1为“0”。如IO.1、I0.2同时为“1”,QO.1输出为“0”状态,故称为“断开优先”或“复位优先”。
“启动优先”的PLC梯形图程序如图9-3.3所示。在正常情况下,它与图9-3.2的工作过程相同。但是,如IO.1、I0.2同时为“l”时,QO.1输出为“l”状态,故称为“启动优先”或“置位优先”。
3.边沿检测信号的生成
在许多PLC程序中,需要检测某些输入、输出信号的上升或下降的“边沿”信号,以实现特定的控制要求。实现信号边沿检测的典型程序有两种,本章9.2节所述的(参见图9-2.6)是简单的实现程序,此外,还有图9-3.4所示的常用、典型程序。
图9-3.4所示的边沿检测程序的优点是在生成边沿脉冲的同时,还在内部产生了边沿检测状态“标志”信号MO.1,MO.1为“1”代表有边沿生成。
边沿处理可以直接利用PLC的编程指令实现。如S7-200的指令“-|P|-”、“-|N|-”等。
4.二分频信号的生成
在PLC控制系统中,经常有需要利用一个按钮的反复使用,交替控制执行元件的通/断的要求,即在输出为“0”时,通过输入可以将输出变成“1”;而在输出为“l”时,通过输入可以将输出变成“0”。
这一控制要求的信号时序如图9-3.5 (b)所示,图中IO.1为输入控制信号(如按钮等),QO.I为执行元件(如指示灯等)。由于这种控制要求的输入信号动作频率是输出的2倍,故常称为“二分频”控制。
图9-3.5 (a)为“二分频”控制的PLC程序梯形图。程序可以分为“边沿”信号的生成(图中的Networkl、Network2)、“启动”/“断开”信号的生成(图中的Network3、Network4)、自保持程序(图中的Network5)三部分。
“边沿”信号的生成、自保持的程序编制与动作过程完全与前述相同:“启动”/“断开”信号是由输入信号的边沿脉冲MO.O与现行输出元件的实际状态QO.1通过“与”运算后得到的。当现行输出QO.1为“0”时,产生“启动”脉冲信号M0.2,将输出QO.1的状态置“1”;当现行输出QO.1为“l”时,产生“断开”脉冲信号M0.3,将输出QO.1状态置“0”。
图9-3.5 (a)所示的“二分频”控制程序,动作清晰、理解容易,但占用了MO.O~M0.3共4个内部继电器,在控制要求复杂的设备上大量使用时,可能会导致内部继电器的不足。在这种场合,可以使用图9-3.6 (a)所示的“二分频”控制程序。
在图9-3.6 (a)中,一个“二分频”控制只占用了1个内部继电器,程序所占的容量也较小,程序的动作时序如图9-3.6 (b)所示。
在西门子PLC中,功能指令在梯形图上一般有“功能指令图”与“功能触点”两种表达与显示形式。
(1)功能指令图
功能指令图在梯形图编程中的形式如图10-1.1所示。
功能指令图中各标记代表的意义如下:
功能指示:功能指令图的上部为功能指示区,用来表示所采用的功能指令,如图中的“MOV—B”、“ADD R”等。
“使能”控制端:功能指令图的EN输入端称为功能指令的“使能”端,只有在“使能”端的状态为“1”时,才能执行对应的功能指令。
“使能”输出端:功能指令图的ENO输出端称为功能指令的“使能”输出端,只有在“使能”端的状态为“1”,且功能指令被正确执行后,该输出端才为“1”。
“使能”输出端可以作为其他功能指令的“使能”端或用于驱动线圈。当“使能”输出端作为其他功能指令的“使能”端时,可以实现功能指令的“串联”式控制,这一控制称为功能指令的“级连”。
数据输入端:功能指令图的IN输入端称为功能指令的数据输入端,用于指定功能指令的操作数。根据实际需要,操作数可以是单个或多个(分别以IN1、IN2表示)的常数、存储器地址等。
结果输出端:功能指令图的OUT输出端称为功能指令的结果输出端,用于指定功能指令的执行结果存储位置。
以上程序用指令表的形式表示如下:
Networkl Network Title
LD IO.1
MOVB VB200,QB10
AENO
MOVR 50.0, VD100
+R AC1.VD100
部分功能指令不能实现级连,这种功能指令图中将无ENO输出。
(2)功能触点
功能触点一般用于比较指令,它在梯形图编程中的形式如图所示。
功能触点图的中间部分用于表示比较操作的类型,用数学符号表示,如:“>=”代表“大于等于”;“<>”代表“不等于”。
功能触点的上部与下部分别用于指定被比较的数据与比较基准。如图中的功能触点1为( VB200)≥30时接通;功能触点2为(VB10) =1时接通。功能触点可以像输入、输出触点那样在梯形图中进行串、并联等编程与使用。
以上程序用指令表的形式表示如下:
Networkl Network Title
LDB>= VB200, 30
AB=VBl0.1
MO.0
在PLC程序中可以使用变量,是S7系列PLC的特点之一。在S7中使用变量可以实现以下功能。
(1)增加程序的通用性
在PLC程序设计阶段,为了提高程序的通用性,可以通过变量使得同一逻辑块用于不同的控制场合。
例如:对于图11-2.2所示的逻辑块,假设其功能为实现逻辑运算C=B.A; D-D+l,并且采用变量进行编程。
调用该逻辑块时,若对变量A赋值为IO.1、变量B赋值为I0.2、变量D赋值为MW10、变量C赋值为QO.1时,程序的执行结果为:
QO.1=10.2.IO.1;
MW10 - MW10+l。
调用该逻辑块时,若对变量A赋值为Il.l、变量B赋值为I1.2、变量D赋值为MW20、变量C赋值为Ql.l时,程序的执行结果为:
Ql.l=11.2.Il.l;
MW20= MW20+l。
(2)便于程序检查
使用了变量后,在调用该逻辑块时,在调用指令中可以显示该逻辑块所需要的相应输入、输出信号(见图11-2.3),以方便程序设计与检查。
由于S7对变量与符号地址有规定的格式要求,因此,在图11-2.3中已经将图11-2.2所对应的逻辑块变量A、B、C、D分别采用了符号地址IN A、IN-B、OUT_C、INOUT D进行编程
在西门子PLC程序中,为了进行数学运算、设定定时器时间、设定计数器计数值等,需要使用各种数据。
程序中的各种数据(如常数、十六进制数、浮点数、时间、数组等)都必须是PLC所允许的类型与可识别的格式,即:PLC对数据有“类型”与“格式”两方面的要求。
西门子S7系列PLC根据数据的字长,允许使用的类型有基本数据、复合数据、参数三大类。
1.基本数据
基本数据是指字长在2个字(32位)以下的数据,包括二进制位( bit)、字节(Byte)、字(Word)、双字( Double Word),ASCII字符、整数(Integer)、双字长整数(Double Integer)等,这些数据符合IEC 1131-3的规定。
基本数据在PLC存储器中有固定的长度。如:二进制位为l位,字节为8位,字为16位,双字为32位等。
当PLC使用符号地址时,在符号表或地址声明表的“类型(Type)”栏必须填写数据的“类型代号”,以明确所使用数据的格式与所占的字长。
在S7系列PLC中,基本数据的数据类型代号与输入范围如表8-5.1所示。
表中所说的ASCII(American Strand Code for Inbbbbation Interchange,美国标准信息交换编码)是利用7位二进制(00~7F)来代表1个字符的普遍的编码方式,常用于串行通信。7位二进制(00~7F)与字符的对应关系见表8-5.2。S7可以使用的代码范围为31~7E,“DEL”(代码7F)不可以使用。
2.复合数据
复合数据是指字长大于2个字(32位)的数据,数据可以通过基本数据组合而成。S7可以使用的复合数据包括以下几类:
①数组:所谓数组(类型代号ARRAY),是将同类型的基本数据进行组合而形成的单元数据,如表格数据等。
②结构:所谓结构( STRUCT),是将不同类型的基本数据进行组合而形成的单元数据。
③字符串:所谓字符串(bbbbbb),是多个相同或不同字符(如ASCII码)的组合。字符串的默认长度为256字节,其中2字节用于存放字头,实际字符大可以到254个。
④日期与时间:日期与时间( DATE-AND-TIME)用于存储实时时间,格式为年.月,日一时一分.秒:占用4个字长(8个字节),使用BCD码。其中,年、月、日、时、分、秒各为2位(占1个字节):毫秒为3位(占1.5个字节)。
例如,2006年11月15日8点30分58秒的存储格式为:06-11-15-08: 30: 58.000。
⑤用户定义数据:编程人员可以将S7的以上各种数据类型进行重新组合,生成新的数据类型,这一数据类型称为“用户定义数据( User Defined Data Types)”,数据类型代号为UDT。
3.参数
在SIEMENS公司的S7系列PLC中,在逻辑块之间进行相互传递的数据称为参数。S7的参数分为“形式参数”与“实际参数”两类。
在结构化编程时,为了使得某功能块能够成为可以在同- PLC循环内多次调用的通用功能块,功能块中所使用的信号与数据不可以是“地址”或“数值”,它们只能以“符号地址”或“符号数据”的形式出现。调用通用功能块时,可以通过对这些“符号地址”或“符号数据”的不同赋值,在每次调用同一功能块时,得到不同的结果。www.dqjsw.com.cn
被调用的功能块中所使用的“符号”称为形式参数(bbbbat bbbbbeter),而在调用块中对“符号”所赋予的实际地址或实际数值称为实际参数(Actual bbbbbeter)。
如图8-5.1所示,图中的start、stop、run为形式参数,而IO.1、I0.2、QO.1则为实际参数。
在每次调用功能块前,必须用实际参数对块中所使用的形式参数赋值。实际参数与形式参数的数据类型必须一致,例如,当功能块中的形式参数定义的数据类型为“字( Word)”时,则赋值的实际参数必须为字格式,如MWO、IWO、QWO等,而不能用MO.1、IO.1、QO.1或MBO、IBO、QBO等进行赋值。
S7中可以使用的参数类型有表8-5.3所示的几种。