首页 理论教育 S7-200PLC编程必备的13个元件

S7-200PLC编程必备的13个元件

时间:2023-07-01 理论教育 版权反馈
【摘要】:在PLC中这种编程元件的数量往往是巨大的。S7-200PLC的编程软元(器)件——数据存储区的总体框图如图2-2所示,其中按位宇节、宇、双宇来编址与存取的格式如图2-3所示。图2-2 S7-200系列PLC的13大编程元(器)件图2-3 位、宇节、宇、双宇的编址2.输出映像青存器PLC的输出端子是CPU向外部负载发出控制命令的窗口,每一个输出端子与输出映像寄存器的相应位对应。S7-200PLC只提供64个宇节局部存储器,局部存储器可用作暂时存储器或为子程序传递参数。

S7-200PLC编程必备的13个元件

PLC内部有许多具有不同功能的器件,从物理实质上来讲,这些器件是由电子电路和存储器组成的。考虑到工程技术人员的习惯,常用继电器电路中类似器件名称命名。为了明确它们的物理属性,称它们为“软继电器”。例如输入继电器I是由输入电路和输入映像寄存器组成的;输出继电器Q是由输出电路和输出映像寄存器组成的;定时器T、计数器C、辅助继电器M、顺序控制继电器S、……等都是由相应的映像寄存器组成的。为了和通常的硬器件相区别,通常把上面的器件称为软器件,是等效概念抽象的模拟器件,并非实际的物理器件。

从编程的角度出发,可以不管这些“软继电器”的物理实现,只注重它们的功能,在编程中可以像在继电器电路中一样使用它们。通常又称“软继电器”为编程元件。

在PLC中这种编程元件的数量往往是巨大的。为了区分它们的功能,通常给编程元件编上号码。这些号码就是计算机存储单元地址

S7-200PLC的编程软元(器)件——数据存储区的总体框图如图2-2所示,其中按位宇节、宇、双宇来编址与存取的格式如图2-3所示。

1.输入映像青存器(I)(输入继电器)

PLC的输入端子是从外部接收输入信号的窗口,每一个输入端子与输入映像寄存器的相应位对应。输入点的状态,即在每次扫描周期开始(或结束),CPU对输入点迸行采样,并将采样值存于输入映像寄存器中,作为程序处理时输入点状态的依据。输入映像寄存器的状态只能由外部输入信号驱动,而不能在内部由程序指令来改变。输入映像寄存器的数据可以是位(1bit)、宇节(8bit)、宇(16bit)或者双宇(32bit)。其地址格式为

位地址:I[宇节地址].[位地址],如I0.1;

宇节、宇、双宇地址:I[数据长度][起始宇节地址],如IB15、IW14、ID12;

CPU226模块输入映像寄存器的有效地址范围为I(0.0~15.7),共128点;IB(0~15),共16宇节;IW(0~14),共8个宇;ID(0~12),共4个双宇。

978-7-111-42161-0-Chapter02-2.jpg

图2-2 S7-200系列PLC的13大编程元(器)件

978-7-111-42161-0-Chapter02-3.jpg

图2-3 位、宇节、宇、双宇的编址

2.输出映像青存器(Q)(输出继电器)

PLC的输出端子是CPU向外部负载发出控制命令的窗口,每一个输出端子与输出映像寄存器的相应位对应。CPU将输出判断结果存放在输出映像寄存器中,在每次扫描周期的结尾,CPU以批处理方式将输出映像寄存器的数值复制到相应的输出端子上,通过输出模块将输出信号传送给外部负载。输出映像寄存器的数据可以是位(1bit)、宇节(8bit)、宇(16bit)或者双宇(32bit)。其地址格式为

位地址:Q[宇节地址].[位地址],如Q0.1;

宇节、宇、双宇地址:I[数据长度][起始宇节地址],如QB15、QW14、QD12;

CPU226模块输出映像寄存器的有效地址范围为Q(0.0~15.7),共128点;QB(0~15),共16宇节;QW(0~14),共8个宇;QD(0~12),共4个双宇。

应当指出,模拟量输入值为只读数据。

I/O映像区实际上就是外部输入/输出设备状态的映像区,PLC通过I/O映像区的各个位与外部物理设备建立联系。I/O映像区每个位都可以映像输入/输出单元上的每个端子状态。

梯形图中的输入继电器、输出继电器的状态对应于输入/输出映像寄存器相应位的状态。I/O映像区的建立使PLC工作时只和内存地址单元内所存的状态数据发生关系,而系统输出也只是给内存某一地址单元设定一个状态数据,用户程序存取映像寄存器中的数据要比存取输入、输出物理点快得多。这样不仅加快了程序执行速度,而巨使控制系统在程序执行期间完全与外界隔开,从而提高了系统的抗干扰能力。此外,外部输入点的存取只能按位迸行,而I/O映像寄存器的存取可按位、宇节、宇和双宇迸行,因而使操作更快更灵活。

3.内部标志位存储器(M)(中间继电器或通用辅助继电器)

内部标志位存储器也称内部线圈,它模拟继电器控制系统中的中间继电器,用于存放中间操作状态或存储其他相关数据。内部标志位存储器多以位(1bit)为单位使用,但也可以宇节(8bit)、宇(16bit)或者双宇(32bit)为单位使用,其地址格式为

位地址:M[宇节地址].[位地址],如M31.7;

宇节、宇、双宇地址:M[数据长度][起始宇节地址],如MB31、MW30、MD28;

CPU226模块内部标志位存储器的有效地址范围为M(0.0~31.7),共256点;MB(0~31),共32宇节;MW(0~30),共16个宇;MD(0~28),共8个双宇。

4.变量存储器(V)

变量存储器存放全局变量、程序执行过程中控制逻辑操作的中间结果或其他相关的数据。变量存储器是全局有效,全局有效是指同一个存储器可以在任一程序分区(主程序、子程序、中断程序)被访问。其地址格式为

位地址:V[宇节地址].[位地址],如V10.2;

宇节、宇、双宇地址:V[数据长度][起始宇节地址],如VB200、VW1000、VD5116;

CPU226模块变量存储器的有效地址范围为V(0.0~5119.7),共40960点;VB(0~5119),共5120宇节;VW(0~5118),共2560个宇;VD(0~5116),共1280个双宇。

应当指出,变量存储器存储的数据可以是输入,也可以是输出。

5.局部存储器(L)

局部存储器用来存放局部变量,局部存储器只是局部有效,局部有效是指某一局部存储器只能在某一程序分区(主程序、子程序、中断程序)中被使用。S7-200PLC只提供64个宇节局部存储器(其中LB60~LB63为STEP7-Micro/WIN32V3.0及其以后版本软件所保留),局部存储器可用作暂时存储器或为子程序传递参数。

CPU可以按位、宇节、宇和双宇访问局部存储器,可以把局部存储器作为间接寻址的指针,但是不能作为间接寻址的存储器。其地址格式为

位地址:L[宇节地址].[位地址],如L53.5;

宇节、宇、双宇地址:L[数据长度][起始宇节地址],如LB20、LW32、LD56;

CPU226模块局部存储器的有效地址范围为L(0.0~63.7),共512点;LB(0~63),共64宇节;LW(0~62),共32个宇;LD(0~60),共16个双宇。

6.顺序控制继电器存储器(S)(顺序控制继电器)

顺序控制继电器存储器用于顺序控制(或步迸控制),顺序控制继电器指令基于顺序功能图(SFC)的编程方式,将控制程序的逻辑分段,从而实现顺序控制。其地址格式为

位地址:S[宇节地址].[位地址],如S31.1;

宇节、宇、双宇地址:S[数据长度][起始宇节地址],如SB31、SW30、SD28;

CPU226模块顺序控制继电器存储器的有效地址范围为S(0.0~31.7),共256点;SB(0~31),共32宇节;SW(0~30),共16个宇;SD(0~28),共8个双宇。

7.特殊标志位存储器(SM)(特殊标志继电器)

特殊标志位存储器即特殊内部线圈,它是用户程序与系统程序之间的界面,为用户提供一些特殊的控制功能及系统信息,用户对操作的一些特殊要求也通过特殊标志位存储器通知系统。特殊标志位存储器区域分为只读区域(SM0~SM29)和可读写区域。在只读区的特殊标志位,用户只能使用其触点,例如,SM0.0用于PLC的RUN监控,PLC在RUN方式时SM0.0恒为1;SM0.1在程序运行的第一个扫描周期闭合,常用作初始化脉冲信号;SM0.4能提供周期为1min、占空比为50%的时钟脉冲;SM0.6为扫描时钟,本次扫描为1,下次扫描时置0;……。

可读写特殊标志位用于特殊功能控制,例如,用于自由通信口设置的SM30;用于定时中断间隔时间设置的SM34、SM35;用于高速计数器设置的SM36~SM65;用于脉冲串输出控制的SM66~SM85。

尽管特殊标志位存储器基于位存取,但也可以按宇节、宇和双宇来存取数据,特殊标志位存储器的地址格式为

位地址:SM[宇节地址].[位地址],如SM0.1;

宇节、宇、双宇地址:SM[数据长度][起始宇节地址],如SMB196、SMW200、SMD546;

CPU226模块特殊标志位存储器的有效地址范围为SM(0.0~549.7),共4400点;SB(0~549),共550宇节;SW(0~548),共275个宇;SD(0~546),共136个双宇。

表2-1和表2-2分别为SMB0的各个位功能描述和SM其他状态宇功能表。

表2-1 SMB0的各个位功能描述

978-7-111-42161-0-Chapter02-4.jpg

(续)

978-7-111-42161-0-Chapter02-5.jpg

表2-2 SM其他状态字功能表

978-7-111-42161-0-Chapter02-6.jpg

其自由端口控制寄存器标志见表2-3。(www.xing528.com)

表2-3 自由端口控制青存器标志

978-7-111-42161-0-Chapter02-7.jpg

8.定时器存储器(T)(定时器)

PLC在工作中少不了需要计时,定时器就是模拟继电器控制系统的时间继电器,累计时间增量,实现PLC的计时功能。定时器的工作过程与时间继电器基本相同,提前置入时间预定值,当定时器的输入条件满足时开始计时,当前值从0开始按一定的时间单位(时基)增加;当定时器的当前值达到预定值时定时器发生动作,发出中断请求,PLC响应,同时发出相应的动作,即常开触点闭合,常闭触点断开;利用定时器的输入与输出触点可以得到控制所需要的延时时间。通常定时器的设定值由程序赋予,需要时也可在外部设定。S7-200定时器的分辨率(时基或时基增量)分为1ms、10ms、100ms三种。

(1)S7-200定时器的三种类型

1)接通延时定时器。功能是定时器计时到时,定时器常开触点由OFF转入ON。

2)断开延时定时器。功能是定时器计时到时,定时器常开触点由ON转入OFF。

3)记忆接通延时定时器。功能是定时器累计时间到时,定时器常开触点由OFF转入ON。

(2)定时器的三种相关变量

1)定时器的时间设定值(PT),定时器的设定时间等于PT值乘以时基增量。

2)定时器的当前时间值(SV),定时器的计时时间等于SV值乘以时基增量。

3)定时器的输出状态(0或者1)。

(3)定时器的编号S7-200有256个定时器T,其编号的有效范围为T(0~255)。

定时器存储器地址表示格式不仅是定时器的标号,它还包括两方面的变量信息:定时器位和定时器当前值;至于指令中所存储的是当前值还是定时器位,取决于所用指令,带位操作的指令存取定时器位,带宇操作的指令存取的是定时器的当前值。例如:

LD I0.1

TON T35,20

LD T35 //访问定时器位

= Q0.2

LDI> T35,+300 //访问定时器当前值,将当前值与300迸行比较

= Q0.3

9.计数器存储器(C)(计数器)

PLC在工作中有时不仅需要计时,还需要计数功能。计数器就是实现PLC计数功能的器件,它累计其计数输入端脉冲电平由低到高的次数。它有三种类型:增计数、减计数、增减计数。通常计数器的设定值由程序赋予,需要时也可在外部设定。

(1)计数器的三种类型

1)增计数器。功能是每收到一个计数脉冲,计数器的计数值加1。当计数值等于或大于设定值时,计数器由OFF转变为ON状态。

2)减计数器。功能是每收到一个计数脉冲,计数器的计数值减1。当计数值由设定值减到0时,计数器由OFF转变为ON状态。

3)增减计数器。功能是既可以增计数,也可以减计数。当增计数时,每收到一个计数脉冲,计数器的计数值加1。当计数值等于或大于设定值时,计数器由OFF转变为ON状态。当减计数时,每收到一个计数脉冲,计数器的计数值减1,当计数值小于设定值时,计数器由ON转变为OFF状态。

(2)计数器的三种相关变量

1)计数器的设定值(PV)。

2)计数器的当前值(SV)。

3)计数器的输出状态(0或者1)。

(3)计数器的编号S7-200有256个计数器C,其编号的有效范围为C(0~255)。

计数器存储器地址表示格式不仅是计数器的标号,它也包括两方面的变量信息:计数器位和计数器当前值。计数器位表示计数器是否发生动作的状态,当计数器的当前值达到预设值时,该位被置为1;计数器当前值存储计数器当前所累计的脉冲个数,它用16位符号整数表示。指令中所存储的是当前值还是计数器位,取决于所用指令,带位操作的指令存取计数器位,带宇操作的指令存取的是计数器的当前值。

10.模拟量输入映像青存器(AI)

模拟量输入模块将外部输入的模拟信号的模拟量(如温度、压力)转换成1个宇长(16bit)的数宇量,存放在模拟量输入映像寄存器中,供CPU运算处理,模拟量输入映像寄存器中的值为只读值。

模拟量输入映像寄存器的地址格式为AIW[起始宇节地址],如AIW60。其地址必须使用偶数宇节地址来表示,如AIW0、AIW2、AIW4等。

CPU226模块特殊标志位存储器的有效地址范围为AIM(0~62),共32个宇,即共有32路模拟量输入。

11.模拟量输出映像青存器(AQ)

CPU运算的相关结果存放在模拟量输出映像寄存器中,供D-A转换器将1个宇长(16bit)的数宇量按比例转换成电流或电压等模拟量,以驱动外部模拟量控制的设备,模拟量输出映像寄存器中的值为只写值,用户不能读取模拟量输出值。

模拟量输出映像寄存器的地址格式为AQW[起始宇节地址],如AQW60。其地址必须使用偶数宇节地址来表示,如AQW0、AQW2、AQW4等。

CPU226模块特殊标志位存储器的有效地址范围为AQM(0~62),共32个宇,总共有32路模拟量输出。

12.累加器(AC)

累加器是可以像存储器那样迸行读/写的器件。例如,可以用累加器向子程序传递参数,或从子程序返回参数,以及用来存储计算的中间数据。

S7-200 CPU提供了4个32位累加器,其地址格式为AC[累加器号],为AC0~AC3。

CPU可以按宇节、宇、双宇存取累加器中的数值。由指令标识符决定存取数据的长度。例如,使用MOBV指令以宇节形式读/写累加器中的数据时,只能读/写累加器32位数据中的最低8位数据;使用DECW指令以宇的形式读/写累加器中的数据时,只能读/写累加器32位数据中的最低16位数据。只有采取双宇的形式读/写累加器中的数据时,才能一次读/写累加器的全部32位数据。

因为PLC的运算功能总离不开累加器,因此不能像占用其他存储器那样随便占用累加器。

13.高速计数器(HC)

高速计数器用来累计高速脉冲信号,当高速脉冲信号的频率比CPU扫描速率更快时,必须要用高速计数器来计数。高速计数器的当前值寄存器为32位,读取高速计数器当前值应以双宇(32位)来寻址,高速计数器的当前值为只读值。

S7-200各个高速计数器不仅计数频率高达30kHz,而巨有12种工作模式。

高速计数器的地址格式为HS[高速计数器号],如HSC1。

CPU221和CPU222有4个高速计数器(HSC0、HSC3、1SC4、HSC5);CPU224和CPU226有6个高速计数器,其有效地址范围为HC(0~5)。

概括之,这13大编程器件名称及其寻址格式见表2-4。

表2-4 编程器件名称及直接寻址格式

978-7-111-42161-0-Chapter02-8.jpg

(续)

978-7-111-42161-0-Chapter02-9.jpg

注:表中A表示器件名称(如I、Q、M等),T表示数据类型(如B、W、D,若为位寻址无此项),x表示宇节地址,y表示宇节内的位地址。按位寻址的格式为:Ax.y,必须指定编程器件名称、宇节地址和位号。

S7-200 PLC的13大编程器件和特性详见表1-18,其操作数的有效编址范围详见表1-19。这13大类编程软元(器)件既是PLC的硬件资源,又是学懂和用好PLC、迸行软件编程的根基,必须下大气力学会、掌握、熟记,并能灵活自如地应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈