S7200应用基础.docx
《S7200应用基础.docx》由会员分享,可在线阅读,更多相关《S7200应用基础.docx(21页珍藏版)》请在冰豆网上搜索。
![S7200应用基础.docx](https://file1.bdocx.com/fileroot1/2022-12/29/981a5eca-1133-41cd-ae32-897ddd91f379/981a5eca-1133-41cd-ae32-897ddd91f3791.gif)
S7200应用基础
S7-200应用基础
一、PLC基本知识
(一)PLC的实质
国际电工委员会(IEC)1987年对可编程序控制器定义如下:
可编程序控制器是一种数字运算操作的电子系统,专为工业环境下应用而设计。
它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式、模拟式的输入和输出,控制各种机械或生产过程。
可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体,易于扩充其功能的原则设计。
实质上,PLC就是以嵌入式CPU为核心,配以输入、输出等模块,可以方便的应用于工业控制领域的专用计算机系统。
(二)PLC的工作原理
与其它控制装置一样,PLC根据输入信号的状态,按照控制要求进行处理判断,产生控制输出。
PLC绝大多数时间工作在循环扫描的方式下,其过程可简略划分为输入、程序执行、写输出三个阶段。
整个过程进行一次所需要的时间称为扫描周期。
1.三个阶段的工作过程
(1)读输入(输入刷新)阶段
PLC在读输入阶段,以扫描方式依次地读入所有输入信号的通/断状态,并将它们存入存储器输入暂存区的相应存储器位。
在读输入结束后,PLC转入用户程序执行阶段。
(2)用户程序执行阶段
PLC在程序执行阶段,按照先后次序逐条执行用户程序指令,从输入映像存储区读取输入状态、从输出暂存区中读取上一扫描周期的输出状态以及定时器、计数器状态等条件。
根据用户程序进行数据运算,并将一步步运算得到的结果存入输出暂存区(输出映像区)的相应存储器位中,直到用户程序执行完。
当前扫描周期内的用户程序执行阶段结束,PLC转入写输出阶段。
(3)写输出(输出刷新)阶段
执行完户程序结束后,PLC就进入输出刷新阶段,在此期间PLC根据输出映像区中的对应状态刷新所有的输出锁存电路,在经隔离驱动到输出端子,向外界输出控制信号,控制指示灯、电磁阀、接触器等,这才是PLC的实际输出。
以上是简化的过程,实际上PLC工作过程远较此复杂。
除了I/O刷新和执行用户程序外,还要做一些公共处理工作。
公共处理包括:
循环时间监视、外设服务及通信处理等。
此外,为应对紧急任务,PLC还有中断工作方式。
扫描方式是PLC的最主要的工作方式,在需要快速响应的事件发生时PLC采用中断方式进行工作。
二、S7-200系列概述
西门子早期推出的S7-200CPU21*系列已经被CPU22*系列产品所取代。
它的主要特点是:
较高的可靠性、丰富的指令集、丰富的内置集成功能、实时特性强和强大的通信能力。
由于S7-200系列产品具有多种功能模块和人机界面(HMI)可供选择,所以系统的集成非常方便,并可以很容易的组成PLC网络。
同时它具有功能齐全的编程和工业控制组态软件,使得在完成控制系统的设计时更加简单,几乎可以完成任何功能的控制任务。
(一)S7-200主机结构及性能特点
S7-200PLC属于小型PLC,其主机的基本结构是整体式,主机上有一定数量的输入/输出(I/O)点,一个主机单元就是一个系统。
它还可以进行灵活的扩展。
1.主机模块
S7-200的CPU模块按I/O点数不同和效能不同而有五种不同结构配置的品种即CPU221、CPU222、CPU224、CPU224XP和CPU226。
每个品种里又分为两种类型:
一种是DC24V供电/晶体管输出:
一种是AC220V供电/继电器输出,所以共有10种CPU模块。
(1)CPU221本机集成6输入/4输出,无扩展能力,程序和数据存储容量较小,有一定的高速计数功能和通信能力,非常适合少点数的或特定的控制系统使用。
(2)CPU222本机集成8输入/6输出,和CPU221相比,它最多可以扩展2个模块,因此是应用更为广泛的全功能控制器。
(3)CPU224本机集成14输入/10输出,和前两者相比,存储容量扩大了一倍,数据存储容量扩大了四倍,它最多可以有7个扩展模块,有内置时钟,有更强的模拟量和高速计数的处理能力,是使用的最多的S7-200产品。
(4)CPU224XP这是最新推出的一种使用机型,其大部分功能和CPU224相同,但和CPU224相比,它的程序存储容量和数据存储容量都增加了不少,处理高速计数的能力也有增强;其最大的区别是在主机上增加了2输入/1输出的模拟量单元和一个通信口,非常适合在有少量模拟量信号的系统中使用,在有复杂通信要求的场合也非常合适。
(5)CPU226本机集成24输入/16输出,I/O共计40点,和CPU224相比程序存储容量扩大了一倍,数据存储容量增加到10KB,它有两个通信口,通信能力大大增强。
它可用与点数较多、要求较高的小型或中型控制系统。
2.CPU模块的主要特点和技术规范
(1)供电电压直流24V和交流220V两种供电电源电压。
(2)输出方式输出类型有晶体管(DC)和继电器(AC/DC)两种输出方式。
(3)集成电源主机集成有24V直流电源,可以直接用于传感器和执行机构的供电。
(4)高速计数它可以用普通输入端子捕捉比CPU扫描周期更快的脉冲信号,进行高速计算,输入脉冲频率可达200KHZ(CPU224XP)。
(5)脉冲输出2路最大可达100KHZ(CPU224XP)的高频脉冲输出,可用以驱动步进电动机和伺服电动机以实现准确定位任务。
(6)集成模拟电位器可以用模块上的电位器来改变它对应的特殊寄存器中的数值,可以实时更改程序运行中的一些参数,如定时器/计数器的设定值和过程量的控制参数等(该功能使用较少)。
(7)实时时钟可用于对信息加注时间标记,记录机器运行时间或对过程进行时间控制。
3.存储系统
S7-200系列PLC提供了三种方式来保存用户程序、程序数据和组态数据。
(1)保持型数据存储器在有效的存储器中,变量V、中间继电器M、定时器T和计数器C的存储器可以进行组态使其成为掉电保持型的存储器。
在断电情况下,这些数据如果由超级电容保护,则可以维持50~100h;如果由电池卡保护,则可以维持200天。
(2)永久存储器用户程序、数据块、系统块、强制设定值、组态为掉电保存的M存储器(MB0~MB13)和在用户程序的控制下写入的指定值可以被永久保存。
需要说明的是永久存储器(EEPROM)的操作次数是有限的(小于100万次),超过规定的次数有可能损坏。
(3)存储卡这是一种可以移动的存储卡,是一个可选件。
可以用它来存储用户程序、数据块、系统块、强制设定值、配方和数据归档等,也可以将文档晚间存放到存储卡上。
(二)I/O扩展及功能扩展
当CPU的I/O点数不够用或需要进行特殊功能的控制时,就要进行系统扩展。
不同的CPU有不同的扩展规范,这些主要受CPU的功能限制。
大家在使用时可参考SIEMENS的系统手册。
1.I/O扩展模块
S7-200PLC的I/O扩展模块有:
(1)输入扩展模块EM221共有3种产品,即8点和16点DC、8点AC。
(2)输出扩展模块EM222共有5种产品,即8点DC和4点DC(5A)、8点AC、8点继电器和4点继电器(10A)。
(3)输入/输出混合扩展模块EM223有6种产品。
其中DC输入/DC输出的有三种,DC输入/建起输出的有三种,它们对应的输入/输出点数分别为4点、8点和16点。
(4)模拟量输入扩展模块EM231有3种产品:
4AI、2路热电阻输入和4路热电偶输入。
(5)模拟量输出扩展模块EM232只有一种2路模拟量输出的扩展模块。
(6)模拟量输入/输出扩展模块EM235只有一种4路AI/1路AO(占用2路输出地址)。
2.特殊功能扩展模块
当需要完成某些特殊功能的控制任务时,CPU主机可以扩展特殊功能模块。
典型的特殊功能模块有:
调制解调器模块EM241、定位模块EM253、PROFIBUS-DP模块EM277、以太网模块CP243-1、以太网模块CP243-1T、AS-i接口模块CP243-2、SIWAREXMS称重模块、SINAUTMD720-3
3.人机界面HMI
人机界面除了能代替和节省大量的I/O点外,还能完成各种各样的参数设定、画面显示、数据处理的任务,从而使得工业控制变得更加舒适和友好,功能也更加强大。
(三)S7-200系列PLC内部资源
PLC中的每一个输入/输出、内部存储单元、定时器和计数器等都称作软元件。
软元件有其不同的功能,有固定的地址。
软元件的数量决定了可编程控制器的规模和数据处理能力。
1.输入继电器(I)
输入继电器位于PLC存储器的输入过程映像寄存器(Process-ImageInputRegister)区,其外部有一对物理的输入端子与之相对应,该触点用于接收外部的开关信号。
2.输入继电器(Q)
输入继电器位于PLC存储器的输出过程映像寄存器(Process-ImageOutputRegister)区,其外部有一对物理的输出端子与之相对应。
当通过程序使得输出继电器线圈得电时,PLC上的输出端开关闭合,可以作为控制外部负载的开关信号
实际输出点数不能超过PLC所提供的具有外部接线端子的输出继电器的数量,未使用的输出映像寄存器可做它用;但为了程序的清晰和规范,建议不如此使用。
3.通用辅助继电器(M)
通用辅助继电器(或中间继电器)位于PLC存储器的位存储器(BitMemoryArea)区,其作用和继电器控制系统中的中间继电器相同,它在PLC中没有外部的输入端子或输出端子与之对应,主要用来在程序设计中处理逻辑控制任务。
4.特殊继电器(SM)
有些辅助继电器具有特殊功能或用来存储系统的状态变量、有关的控制参数和信息,称其为特殊继电器或特殊存储器(SpecialMemory)。
主要的特殊继电器有以下几类:
表示状态、存储扫描时间、存储模拟电位器、通信、高速计数、脉冲输出、中断。
常用的SMB0状态位信息如下:
SM0.0该位始终为ON,即常ONSM0.1首次扫描时为ON,常用作初始化脉冲
SM0.4时钟脉冲:
30s闭合/30s断开SM0.5时钟脉冲:
0.5s闭合/0.5s断开
5.变量存储器(V)
变量存储器用来存放变量的值,它可以存放程序执行过程中控制逻辑操作的中间结果,也可以使用变量存储器来保存与工序或任务相关的其它数据。
6.局部变量存储器(L)
局部变量存储器用来存放局部变量。
局部变量只和特定程序关联。
S7-200PLC提供64字节的局部变量存储器,其中60个可作为暂时存储器或给子程序传递参数。
主程序、子程序和中断程序都有64个字节的局部存储器可以使用。
不同程序的局部存储器不能互相访问。
7.顺序控制继电器(S)
顺序控制继电器又称作状态器。
顺序控制继电器用在顺序控制或步进控制中。
如果它未被使用在顺序控制中,它也可作为一般中间继电器使用。
8.定时器(T)
定时器(Timer)是可编程控制器中重要的编程元件,是累计时间增量的内部器件。
定时器的工作过程与继电接触式控制系统的时间继电器基本相同,但它没有瞬动触头。
使用时要提前输入时间预定值,当定时器的输入条件满足时开始计时,当前值从0开始按一定的时间单位增加;当定时器的当前值达到预定值时,定时器触点动作。
9.计数器(C)
计数器(Counter)用来累计输入脉冲的个数,经常用来对产品进行计数或进行特定功能的编程。
使用时要提前输入它的设定值(计数的个数)。
当输入触发条件满足时,计数器开始累计它的输入端脉冲电位上升沿(正跳变)的次数;当计数器计数达到预定的设定值时,其常开触头闭合,常闭触头断开。
10.模拟量输入映像寄存器(AI)、模拟量输出映像寄存器(AQ)
模拟量输入电路用来实现模拟量/数字量(A/D)之间的转换,而模拟量输出电路用以实现数字量/模拟量(D/A)之间的转换。
在模拟量输入(AnalogInput)/模拟量输出(AnalogOutput)映像寄存器中,数字量的长度为一个字长(16位),且从偶数号字节进行编址来存取转换过的模拟量值。
编址内容包括元件名称、数据长度和起始字节的地址,如AIW6、AQW12等。
模拟量输入寄存器只能进行读取操作,而模拟量输出寄存器技能进行写入操作。
11.高速计数器(HC)
高速计数器(High-speedCounter)的工作原理与普通计数器基本相同,只不过它用来累计比主机扫描速率更快的高速脉冲。
高速计数器的当前值是一个双字长(32位)的整数,且为只读值。
高速计数器的数量很少,编址时只用名称HC和编号,如HC2。
12.累加器(AC)
S7-200PLC提供4个32位累加器(Accumulator),分别为AC0、AC1、AC2、AC3。
累加器是用来暂存数据的寄存器。
它可以用来存放数据如运算数据、中间数据和结果数据,也可用来向子程序传递参数,或从子程序返回参数。
(四)数据类型
1.数据类型及范围
S7-200系列PLC的数据类型可以是字符串、布尔型(0或1)、整型和实型(浮点数)。
实数采用32位单精度数来表示,数据类型、长度及范围如下表所列。
基本数据类型
无符号整数表示范围
基本数据
类型
无符号整数表示范围
十进制表示
十六进制表示
十进制表示
十进制表示
字节B(8位)
0~255
0~FF
字节B(8位)只用于SHRB指令
-128~127
80~7F
字W(16位)
0~65535
0~FFFF
INT(16位)
-32768~32767
8000~7FFF
双字(32位)
0~4294967295
0~FFFF
DINT(32位)
-2147483648~
2147483647
80000000~
7FFFFFFF
BOOL(1位)
0,1
字符串
每个字符以字节形式存储,最大长度为255个字节,第一个字节中定义给字符串的长度
实数(IEEE32
位浮点数)
-1.175495E-38~3.402823E+38(正数)
-1.175495E-38~-3.402823E+38(正数)
2.常数
常数数据长度可分为字节、字和双字。
在机器内部的数据都以二进制存储,书写可以用二进制、十进制、十六进制、ASSII码或浮点数(实数)等形式。
几种常数形式如表所列。
注意:
表中的#为常数的进制格式说明符,如果常数无任何格式说明符,则系统默认为十进制数。
进制
书写格式
举例
十进制
十进制数值
1052
十六进制
16#十六进制值
16#8AC6
二进制
2#二进制值
2#1010_0011_1101_0001
ASCII码
‘ASCII文本’
‘Showterminals’
浮点数
ANSI/IEEE754-1985标准
(正数)+-1.175495E-38~3.402823E+38
(负数)-1.175495E-38~-3.402823E+38
(五)直接寻址
1.编址格式
S7-200PLC的存储单元按字节进行编址,无论所寻址的是何种数据类型,通常应指出它所在存储区域内的字节地址。
每个单元都有唯一的地址,这种直接指出元件名称的寻址方式称作直接寻址。
S7-200PLC中软元件的直接寻址的符号如表所列。
元件符号(名称)
所在数据区域
位寻址格式
其他寻址方式
I(输入继电器)
数字量输入映像区
Ax.y
ATx
Q(输出继电器)
数字量输出映像区
Ax.y
ATx
M(通用辅助继电器)
内部存储区
Ax.y
ATx
SM(特殊继电器)
特殊存储区
Ax.y
ATx
S(顺序控制继电器)
顺序控制继电器区
Ax.y
ATx
V变量存储器()
变量存储器区
Ax.y
ATx
L(局部变量存储器)
局部存储器区
Ax.y
ATx
T(定时器)
定时器存储器区
Ax
Ax(仅字)
C(计数器)
计数器存储器区
Ax
Ax(仅字)
AI(模拟量输入映像寄存器)
模拟量输入存储器区
无
Ax(仅字)
AQ(模拟量输出映像寄存器)
模拟量输出存储器区
无
Ax(仅字)
AC(累加器)
累加器区
无
Ax(任意)
HC(高速计数器)
高速计数器区
无
Ax(仅双字)
A:
元件名称,即该数据存储器中的区域地址,可以是表中的元件符号;
T:
数据类型,若为位寻址,则无该项;若为字节、字或双字寻址,则T的取值应分别位B、W和D;
x:
字节地址;
y:
字节内的位地址,只有位寻址才有该项。
2.位寻址格式
按位寻址时的格式为:
Ax.y,使用时必须指定元件名称、字节地址和位号。
可以进行这种位寻址的编程元件有:
输入继电器(I)、输出继电器(Q)、通用辅助继电器(M)、特殊继电器(SM)、局部变量存储器(L)、变量存储器(V)和顺序控制继电器(S)。
3.特殊器件的寻址格式
存储区内有一些元件是具有一定功能的器件,不用指出它们的字节地址。
而直接写出其编号。
这类元件包括定时器(T)、计数器(C)、高速计数器(HC)和累加器(AC)。
其中T和C的地址编号中均包含两个含义,如T10既表示T10de定时器位状态信息,又表示该定时器的当前值。
累加器(AC)的数据长度可以是字节、字或双字、使用时只表示出累加器的地址编号即可,如AC0,数据长度取决于进出AC0的数据类型。
4.字节、字和双字的寻址格式
对字节、字和双字数据,直接寻址时需指明元件名称、数据类型和存储区域内的首字节地址。
如图中时以变量存储器(V)为例分别存取3中长度数据的比较。
可用此方式进行寻址的元件有输入继电器(I)、输出继电器(Q)、通用辅助继电器(M)、特殊继电器(SM)、局部变量存储器(L)、变量存储器(V)和顺序控制继电器(S)、模拟量输入映像寄存器(AI)和模拟量输出映像寄存器(AQ)。
(六)间接寻址
在直接寻址方式中,直接使用存储器或寄存器元件名称和地址编号,根据这个地址可以立即找到该数据。
间接寻址方式是指数据存放在存储器或寄存器中,在指令中只出现数据所在单元的内存地址的地址。
存储单元地址的地址又称作地址指针。
这种间接寻址方式与计算机的间接寻址方式相同。
间接寻址在处理内存连续地址中的数据时非常方便,而且可以缩短程序所生成的代码长度,使编程更灵活。
三、
S7-200指令系统
(一)S7-200基本逻辑指令
1.逻辑取及线圈驱动指令
逻辑取及线圈驱动指令为LD、LDN和=。
LD(Load):
取指令。
用于网络块逻辑运算开始的常开触点与母线的连接。
LDN(LoadNot):
取反指令。
用于网络块逻辑运算开始的常闭触点与母线的连接。
=(Out):
线圈驱动指令。
使用说明:
(1)LD、LDN指令不只是用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分枝电路块的开始也要使用LD、LDN指令,与后面要讲的ALD、OLD指令相配合完成块电路的编程。
(2)并联的=指令可以连续使用任意次。
(3)在同一程序中不能使用双线圈输出,即同一个元器件在同一程序中只使用一次=指令。
(4)LD、LDN、=指令的操作数为I、Q、M、SM、T、C、V、S和L。
T、C虽然也是以输出线圈形式在梯形图中出现,但在S7-200PLC中并不是以=指令驱动。
2.触点串联指令
触点串联指令为A、AN。
A(And):
与指令。
用于单个常开触点的串联连接
AN(AndNot):
与反指令。
用于单个常闭触点的串联连接。
使用说明:
(1)A、AN是单个触点串联连接指令,可连续使用。
(2)图中所示的连续输出电路,可以反复使用=指令,但次序必须正确,不然就不能连续使用=指令编程了。
图4-8所示的电路就不属于连续输出电路。
(3)A、AN指令的操作数为:
I、Q、M、SM、T、C、V、S和L。
3.触点并联指令
触点并联指令为O、ON。
O(OR):
或指令。
用于单个常开触点的并联连接。
ON(OrNot):
或反指令。
用于单个常闭触点的并联连接。
使用说明:
(1)单个触点的O、ON指令可以连续使用。
(2)O、ON指令的操作数为:
I、Q、M、SM、T、C、V、S和L。
4.串联电路的并联连接指令
两个以上触点串联形成的支路叫串联电路块,串联电路块的并联连接指令为OLD。
OLD(OrLoad):
或块指令,用于串联电路块的并联连接。
每个块电路在进行完逻辑计算后,把结果存放在堆栈栈顶,ALD指令的实质就是把栈顶最上面两层的内容进行“或”操作,然后把结果在存放到栈顶。
使用说明:
(1)除在网络块逻辑运算的开始使用LD或LDN指令外,在块电路的开始也要使用LD和LDN指令。
(2)每完成一次快电路的并联时要写上OLD指令。
(3)OLD指令无操作数。
5.并联电路块的串联连接指令
两条以上支路并联形成的电路叫并联电路,并联电路块的串联连接指令为ALD。
ALD(AndLoad):
与块指令,用于并联电路块的串联连接。
每个块电路在进行完逻辑计算后,把结果存放在堆栈栈顶。
ALD指令的实质就是把栈顶最上面两层的内容进行“与”操作,然后把结果在存放到栈顶。
使用说明:
(1)在块电路开始时要使用LD和LDN指令
(2)在每完成一次块电路的串联连接后要写上ALD指令。
(3)ALD指令无操作数。
5.置位、复位指令
置位(Set)/复位(Reset)指令的LAD和STL形式以及功能如表中所列。
指令名称
LAD
STL
功能
置位指令
Sbit,N
从bit开始的连续的N个元件置1并保持
复位指令
Rbit,N
从bit开始的连续的N个元件清零并保持
使用说明:
(1)对位元件来说一旦被置位,就保持在通电状态,除非对它复位;一旦被复位就保持在断电状态。
(2)S/R指令可以互换次序使用,但由于PLC采用扫描工作方式,所以写在后面的指令具有优先权。
(3)如果对计数器和定时器复位,则计数器和定时器当前值被清零。
定时器和计数器的复位有其特殊性,具体情况大家可参考计数器和定时器的有关部分。
(4)N的常数范围为1~255,N也可为:
VB、MB、SMB、SB、LB、AC、常数、*VD、*AC或*LD。
一般情况使用常数。
(5)S/R指令的操作数为:
I、Q、M、SM、T、C、V和L。
6.边沿脉冲指令
边沿脉冲指令为正(上升沿)跳变指令EU(EdgeUp)和负(下降沿)跳变指令ED(EdgeDown),其使用及说明如表中所列。
指令名称
LAD
STL
功能
说明
正(上升沿)跳变
EU
在上升沿产生脉冲
无操作数
负(下降沿)跳变
ED
在下降沿产生脉冲
EU指令对其之前的逻辑运算结果的上升沿产生一个宽度为一个扫描周期的脉冲。
ED指令对逻辑运算结果的下降沿产生一个宽度为一个扫描周期的脉冲,如图中M0.1。
脉冲指令常用于启动及关断条件的判定以及配合功能指令完成一些逻辑控制任务。
(二)梯形图编程的基本规则
(1)梯形图中的每一行都是从左侧母线开始,然后是各种触点的逻辑连接,最后以线圈或指令盒结束。
触点不能放在线圈的右边。
但是如果是已有能量传递的指令盒结束时,可以使用AENO指令在其后面连接指令盒。
(2)线圈或指令盒不能直接与左侧母线连接,如需要可通过特殊中间继电器SM