五、知识链接
1.西门子S7-200PLC介绍
可编程序控制器(Programmable Controller)原本应简称PC,为了与个人计算机专称PC相区别,所以可编程序逻辑控制器简称定为PLC(Programmable Logic Controller),但并非说PLC只能控制逻辑信号。PLC是专门针对工业环境应用设计的,自带直观、简单并易于掌握编程语言环境的工业现场控制装置。
PLC基本组成包括中央处理器(CPU)、存储器、输入/输出接口(缩写为I/O,包括输入接口、输出接口、外部设备接口、扩展接口等)、外部设备编程器及电源模块,如图2-2-21所示。PLC内部各组成单元之间通过电源总线、控制总线、地址总线和数据总线连接,外部则根据实际控制对象配置相应设备与控制装置构成PLC控制系统。
图2-2-21 PLC基本组成
目前PLC品牌繁多,常用的PLC有西门子公司S7-400/300/200、德国倍福Beckhoff、施耐德PLC、GE公司、欧姆龙、三菱、富士、松下、东芝、罗克韦尔(A-BPLC)等。国产有北京和利时、浙大中控和研华科技等。
西门子S7-200是一种小型的PLC,主要由基本单元和扩展单元构成,基本单元中,可提供4种不同的基本型号的8种CPU供选择使用;提供6种扩展单元,它本身没有CPU,只能与基本单元相连接使用,用于扩展I/O点数或增加通信接口;编程软件使用STEP7-Micro/WIN。
2.西门子S7-200PLC内部存储区
S7-200 CPU将信息存储在不同的存储单元,生产厂商根据不同存储单元结构的特点和该单元所存储信息类型的不同,对存储区进行了划分,常见的有输入继电器区(I)、输出继电器区(Q)、变量存储区(V)、标志位存储区(M)、特殊标志位区(SM)、定时器区(T)计数器区(C)、高速计数器(HC)、累加器区(AC)、模拟量输入区(AI)和模拟量输出区(AQ)。
(1)输入继电器区(I)
输入继电器用来接收外部传感器或开关元件发来的信号,是专设的输入过程映像寄存器,只能由外部信号驱动程序驱动。在每次扫描周期的开始,CPU总会对物理输入进行采样,并将采样值写入输入过程映像寄存器中。输入继电器一般采用八进制编号,一个端子占用一个点。它有4种寻址方式,即可以按位、字节、字或双字来存取输入过程映像寄存器中的数据。
位:I[字节地址].[位地址],如:I0.1。
字节、字或双字:I[长度][起始字节地址],如:IB3、IW4、ID0。
(2)输出继电器区(Q)
输出继电器是用来将PLC的输出信号传递给负载,是专设的输出过程映像寄存器,只能用程序指令驱动。在每次扫描周期的结尾,CPU将输出映像寄存器中的数值复制到物理输出点上,并将采样值写入,以驱动负载。输出继电器一般采用八进制编号,一个端子占用一个点。它有4种寻址方式,即可以按位、字节、字或双字来存取输出过程映像寄存器中的数据。
位:Q[字节地址].[位地址],如:Q0.2。
字节、字或双字:Q[长度][起始字节地址],如:QB2、QW6、QD4。
(3)变量存储区(V)
用户可以用变量存储区存储程序执行过程中控制逻辑操作的中间结果,也可以用它来保存与工序或任务相关的其他数据。它有4种寻址方式,即可以按位、字节、字或双字来存取变量存储区中的数据。
位:V[字节地址].[位地址],如:V10.2。
字节、字或双字:V[长度][起始字节地址],如:VB 100、VW 200、VD300。
(4)标志位存储区(M)
在逻辑运算中通常需要一些存储中间操作信息的元件,它们并不直接驱动外部负载,只起中间状态的暂存作用,类似于继电器接触系统中的中间继电器。在S7-200系列PLC中,可以用位存储器作为控制继电器来存储中间操作状态和控制信息。一般以位为单位使用。
位存储区有4种寻址方式,即可以按位、字节、字或双字来存取位存储器中的数据。
位:M[字节地址].[位地址]如:M0.3。
字节、字或双字:M[长度][起始字节地址]如:MB4、MW10、MD4。
(5)特殊标志位区(SM)
特殊标志位为用户提供一些特殊的控制功能及系统信息,用户对操作的一些特殊要求也要通过SM通知系统。特殊标志位分为只读区和可读可写区两部分。
只读区特殊标志位,用户只能使用其触点,如:
SM0.0 RUN监控,PLC在RUN状态时,SM0.0总为1。
SM0.1 初始化脉冲,PLC由STOP转为RUN时,SM0.1接通一个扫描周期。
SM0.2 当RAM中保存的数据丢失时,SM0.2接通一个扫描周期。
SM0.3 PLC上电进入RUN时,SM0.3接通一个扫描周期。
SM0.4 该位提供了一个周期为1min、占空比为0.5的时钟。
SM0.5 该位提供了一个周期为1s、占空比为0.5的时钟。
SM0.6 该位为扫描时钟,本次扫描置1,下次扫描置0,交替循环,可作为扫描计数器的输入。
SM0.7 该位指示CPU工作方式开关的位置,0=TERM,1=RUN,通常用来在RUN状态下启动自由口通信方式。
可读可写特殊标志位用于特殊控制功能,如用于自由口设置的SMB30,用于定时中断时间设置的SMB34/SMB35,用于高速计数器设置的SMB36~SMB62,用于脉冲输出和脉冲调制的SMB66~SMB85等。
(6)定时器区(T)
在S7-200 CPU中,定时器作用相当于时间继电器,可用于时间增量的累计。其分辨率分为3种,即1ms、10ms、100ms。
定时器有以下两种寻址形式:
1)当前值寻址:16位有符号整数,存储定时器所累计的时间。
2)定时器位寻址:根据当前值和预置值的比较结果置位或者复位。
两种寻址使用同样的格式:T+定时器编号,如:T37。
(7)计数器区(C)
在S7-200 CPU中,计数器用于累计从输入端或内部元件送来的脉冲数,它有增计数器、减计数器及增/减计数器3种类型。由于计数器频率扫描周期的限制,当需要对高频信号计数时可以用高频计数器(HSC)。
计数器有以下两种寻址形式:
1)当前值寻址:16位有符号整数,存储累计脉冲数。
2)计数器位寻址:根据当前值和预置值的比较结果置位或者复位。同定时器一样,两种寻址方式使用同样的格式,即C+计数器编号,如:C0。
(8)高速计数器区(HC)
高速计数器用于对频率高于扫描周期的外界信号进行计数,高速计数器使用主机上的专用端子接收这些高速信号。高速计数器是对高速事件计数,它独立于CPU的扫描周期,其数据为32位有符号的高速计数器的当前值。
格式:HC[高速计数器号],如:HC1。
(9)累加器区(AC)
累加器是用来暂存数据的寄存器,可以同子程序之间传递参数,以及存储计算结果的中间值。S7-200 CPU提供了4个32位累加器AC0~AC3。累加器可以按字节、字和双字的形式来存取累加器中的数值。
格式:AC[累加器号],如:AC1。
(10)模拟量输入区(AI)
S7-200 CPU将模拟量值(如温度或电压)转换成1个字长(16位)的数字量。可以用区域标识符(AI)、数据长度(W)及字节的起始地址来存取这些值。因为模拟输入量为1个字长,且从偶数位字节(如0、2、4)开始,所以必须用偶数字节地址(如AIW0、AIW2、AIW4)来存取这些值。模拟量输入值为只读数据,模拟量转换的实际精度是12位。
格式:AIW[起始字节地址],如:AIW4。
(11)模拟量输出区(AQ)
S7-200CPU将1个字长(16位)数字值按比例转换为电流或电压。可以用区域标识符(AQ)、数据长度(W)及字节的起始地址来改变这些值。因为模拟量为1个字长,且从偶数字节(如0、2、4)开始,所以必须用偶数字节地址(如AQW0、AQW2、AQW4)来改变这些值。模拟量输出值为只写数据。模拟量转换的实际精度是12位。
格式:AQW[起始字节地址],如:AQW4。
3.西门子S7-200PLC的寻址方式
S7-200 CPU将信息存储在不同的存储单元,每个单元都有唯一的地址。S7-200 CPU使用数据地址访问所有的数据,称为寻址。输入/输出点、中间运算数据等各种数据类型具有各自的地址定义,大部分指令都需要指定数据地址。
在S7-200系列PLC中,寻址方式分为两种:直接寻址和间接寻址。直接寻址方式是指在指令中直接使用存储器或寄存器的元件名称和地址编号,直接查找数据。间接寻址是指使用地址指针来存取存储器中的数据,使用前,首先将数据所在单元的内存地址放入地址指针寄存器中,然后根据此地址存取数据。这里仅介绍直接寻址。直接寻址时,操作数的地址应按规定的格式表示,指令中数据类型应与指令相符。
在S7-200系列PLC中,可以按位、字节、字和双字对存储单元进行寻址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于按位寻址,还需要在分隔符后指定位编号。在表示数据长度时,分别用B、W、D字母作为字节、字和双字的标识符。
(1)位寻址
位寻址是指按位对存储单元进行寻址,位寻址也称为字节.位寻址,一个字节占有8个位。位寻址时,一般将该位看作是一个独立的软元件,像一个继电器一样,看作它有线圈及常开、常闭触点,且当该位置1时,即线圈“得电”时,常开触点接通,常闭触点断开。由于取用这类元件的触点只是访问该位的“状态”,因此可以认为这些元件的触点有无数多对。字节.位寻址一般用来表示“开关量”或“逻辑量”。如I3.4表示输入映像寄存器3号字节的4号位。位寻址的表示方法如图2-2-22所示。
位寻址的格式:[区域标识][字节地址].[位地址]
图2-2-22 位寻址方式举例
(2)字节寻址(8bit)
字节寻址由存储区标识符、字节标识符、字节地址组合而成,如VB100,其字节寻址方式如图2-2-23所示。
字节寻址的格式:[区域标识符][字节标识符].[字节地址]
(3)字寻址(16bit)
字寻址由存储区标识符、字标识符及字节起始地址组合而成,如VW100,其字寻址方式如图2-2-23所示。
字寻址的格式:[区域标识符][字标识符].[字节起始地址]
(4)双字寻址(32bit)
双字寻址由存储区标识符、双字标识符及字节起始地址组合而成,如VD100,其双字寻址方式如图2-2-23所示。
双字寻址的格式:[区域标识符][双字标识符].[字节起始地址]
图2-2-23 字节、字、双字寻址方式举例
为使用方便和使数据与存储器单元长度统一,S7-200系列PLC中,一般存储单元都具有位寻址、字节寻址、字寻址及双字寻址4种寻址方式。寻址时,不同的寻址方式情况下,选用同一字节地址作为起始地址时,其所表示的地址空间是不同的。
在S7-200系列PLC中,一些存储数据专用的存储单元不支持位寻址方式,主要有模拟量输入/输出、累加器、定时器和计数器的当前值存储器等。而累加器不论采用何种寻址方式,都要占用32位,模拟量单元寻址时均以偶数标志。此外,定时器、计数器具有当前值存储器及位存储器,属于同一个器件的存储器采用同一标号寻址。
4.控制系统中的开关量和模拟量
开关量只有开和关两种状态的变量,也叫布尔量(Boolean),也就是说这种变量要么是0、要么是1。开关量分为输入开关量和输出开关量。常见的开关量有开关的导通和断开的状态,继电器的闭合和打开以及电磁阀的通和断等。
模拟量就是一些连续变化的量,其大小是一个在一定范围内变化的连续数值。常见的模拟量有温度、压力、液位、流量、阀开度等。比如温度从0~100℃、压力从0~10MPa、液位从1~5m、电动阀门的开度从0~100%等。模拟量也有输入和输出之分,一般输入的模拟量用作反馈监视或者控制计算,输出模拟量一般用于控制输出,例如水位的给定值和负荷的给定值等,它主要用于控制设备的开度。
对控制系统来说,由于CPU是二进制的,数据的每位只有“0”和“1”两种状态,因此,开关量只要用CPU内部的一位即可表示,比如,用“0”表示开,用“1”表示关。而模拟量则根据精度,通常需要8~16位才能表示一个模拟量。
最常见的模拟量是12位的,即精度为2-12,最高精度约为万分之二点五。在实际的控制系统中,模拟量的精度还要受模拟/数字转换器和仪表的精度限制,通常不能达到这么高。
AI(Analog Input):模拟量输入,一般为0~5V或4~20mA标准信号输入;
DI(Digital Input):开关量输入,反映开关量的状态是分还是合;
AO(Analog Ouput):直流模拟量输出,一般为0~10V或4~20mA等信号输出;
DO(Digital Ouput):开关量输出。
5.传感器常见的信号格式
传感器是一种物理装置或生物器官,能够探测、感受外界的信号、物理条件(如光、热、湿度)或化学组成(如烟雾),并将探知到的信息传递给其他装置或器官。人的五官就是天然的传感器,具有视、听、嗅、味、触觉,大脑就是通过五官来感知外界的信息。
工程科学与技术领域的传感器既是对人体五官的工程模拟物,又是能将特定的被测量信息(如温度、湿度、流量、液位、开度、光照度等)按一定的规律转换成某种可用信号输出的器件或装置。可用信号即是便于处理和传输的信号,目前由于电信号最符合这一要求,传感器也可狭义定义为把外界非电信息转换成电信号输出的器件。
工业上最常用的电信号是电压信号和电流信号,电压信号通常使用0~10V或0~5V,电流信号通常使用0~20mA或4~20mA作为标准信号格式。如:液位传感器的量程为0~5m,信号传输格式为4~20mA,那么当液位为0时,控制器端接收到的信号为0mA,当液位值为5m时,接收到的信号为20mA。即4~20mA对应0~5m,呈线性对应,因此可以根据信号值计算出当前的液位值。如:当传感器的信号为12mA,则当前的液位值=。
电压信号和电流信号的使用环境稍有不同。电压信号适用于电磁干扰很小或者传输电缆长度较短的情况下,电流信号适用于电磁干扰较强的环境和需要传输较远距离的情况下。考虑到传输的线制、故障处理等因素,工业中最常用的是0~20mA信号格式,一般说的工业标准信号指的就是该信号。
6.西门子S7-200系列PLC的模拟量采集
西门子S7-200系列PLC中除了CPU 224XP系列带有两个AI和1个AO之外,其他CPU都只能采集数字量,见表2-2-3,若要采集模拟量都需要加装模拟量扩展模块来实现。
表2-2-3 西门子S7-200系列PLC基本性能
S7-200系列PLC常用的模拟量扩展模块有EM 231和EM235,具体参数见表2-2-4。EM 235是西门子公司PLC配套使用的最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能,外形及接线方式如下图2-2-24所示。对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
S7-200模拟量模块的转换分辨率是12位,能够反映模拟量变化的最小单位是满量程的1/4096。把模拟量转换为数字量是通过A-D转换器来进行的,模拟量扩展模块从本质上来讲就是一个A-D(D-A)转换器。
图2-2-24 EM235模块外观和电压信号及电流信号接线方式
表2-2-4 S7-200系列PLC的特殊功能扩展模块说明
模拟量输入/输出数据是有符号整数,占用一个字长(两个字节),所以地址必须从偶数字节开始。在S7-200中,单极性模拟量输入/输出信号的数值范围是0~32000;双极性模拟量信号的数值范围是-32000~32000。
格式:
输入:AIW[起始字节地址],如AIW6。
输出:AQW[起始字节地址],如AQW0。
每个模拟量输入模块,按模块的先后顺序和输入通道数目,以固定的递增顺序向后排地址,例如:AIW0、AIW2、AIW4、AIW6、AIW8等。
每个有模拟量输出的模块最少占两个输出通道。即使第一个模块只有一个输出AQW0,第二个模块的输出地址也应从AQW4开始寻址(AQW2被第一个模块占用),依此类推。每一模块的起始地址都可在STEP7-Micro/WIN中的菜单“PLC>Information”里在线读到。
7.水箱的报警水位
在工业控制中被控变量一般有4个报警值:低低报警、低报警、高报警、高高报警。那么这4个报警之间有什么区别和联系?当高报警和低报警时,系统提醒工艺操作员,系统已经处于工艺要求的边缘,尽快调节处理好系统相应的操作条件,避免系统恶化。当出现高高报警和低低报警时,系统会为了安全生产自连锁而停车,避免出现重大安全事故,保护人身安全和设备安全。高报警、低报警只是报警、提醒作用。高高报警、低低报警就有连锁动作了。
以水箱液位为例:假如工艺要求控制水箱液位在3.5m,你可以设定2m为低报警,低于1.5m为低低报警,高于4m为高报警,高于4.5m为高高报警。当达到高(低)报警则停泵(起泵)保持液位在正常范围,但一旦出现高高(低低)报警时,则要触发连锁跳车等保护动作。