首页 理论教育 软件编程元件:提升编程效率的利器

软件编程元件:提升编程效率的利器

时间:2023-06-29 理论教育 版权反馈
【摘要】:软元件的数量决定了可编程序控制器的规模和数据处理能力,每一种PLC的软元件是有限的。软元件是PLC内部具有一定功能的器件,这些器件实际上是由电子电路和寄存器及存储器单元等组成。PLC的编程元件的种类和数量是因不同厂家、不同系列、不同规格而异,编程元件的种类及数量越多,其功能就越强。

软件编程元件:提升编程效率的利器

1.软元件(软电器

用户使用的PLC中的每一个输入/输出、内部存储单元定时器和计数器都称为软元件。各元件有其不同的功能,有固定的地址。软元件的数量决定了可编程序控制器的规模和数据处理能力,每一种PLC的软元件是有限的。

软元件是PLC内部具有一定功能的器件,这些器件实际上是由电子电路和寄存器及存储器单元等组成。例如,输入继电器是由输入电路和输入映像寄存器构成;输出继电器是由输出电路和输出映像寄存器构成;定时器和计数器也都是由特定功能的寄存器构成。它们都具有继电器特性,但没有机械性的触点。为了把这种元器件与传统电气控制电路中的继电器区别开来,我们把它们称为软元件或软继电器。这些软继电器的最大特点是其触点(包括常开触点和常闭触点)可以无限次使用,并且它们的寿命长。

编程时,用户只需要记住软元件的地址即可。每一个软元件都有一个地址与之相对应,软元件的地址编排采用区域号加区域内编号的方式,即PLC内部根据软元件的功能不同,分成了许多区域,如输入/输出继电器区、定时器区、计数器区、特殊继电器区等,分别用I、Q、T、C、SM等来表示。

可编程序控制器在其系统软件的管理下,将用户程序存储器(即装载存储区)划分出若干个区,并将这些区赋予不同的功能,由此组成了各种内部器件,这些内部器件就是PLC的编程元件。PLC的编程元件的种类和数量是因不同厂家、不同系列、不同规格而异,编程元件的种类及数量越多,其功能就越强。这些编程元件沿用了传统继电器控制电路中继电器的名称,并根据其功能,分别称为输入继电器、输出继电器、辅助继电器、变量继电器、定时器、计数器、数据寄存器等。

需要说明的是,在PLC内部,并不真正存在这些物理器件,与其对应的只是存储器中的某些存储单元。一个继电器对应一个基本单元(即1位,1bit),多个继电器将占有多个基本单元;8个基本单元形成一个8位二进制数,通常称为1字节(1Byte),它正好占用普通存储器的一个存储单元,连续两个存储单元构成一个16位二进制数,通常又称为一个字(Word),或一个通道。连续的两个通道还能构成所谓的双字(Double Words)。各种编程元件,各自占有一定数量的存储单元。使用这些编程元件,实质上就是对相应的存储内容以位、字节、字(或通道)或双字的形式进行存取。

2.软元件介绍

(1)输入继电器(I) 输入继电器就是PLC的存储系统中的输入映像寄存器。它的作用是接收来自现场的控制按钮行程开关及各种传感器等的输入信号。通过输入继电器,将PLC的存储系统与外部输入端子(输入点)建立起明确对应的连接关系,它的每1位对应1个数字量输入点。输入继电器的状态是在每个扫描周期的输入采样阶段接收到的由现场送来的输入信号的状态(“1”或“0”)。由于S7-200 PLC的输入映像寄存器是以字节为单位的寄存器,CPU一般按“字节.位”的编址方式来读取一个继电器的状态,也可以按字节(8位)或者按字(2B、16位)来读取相邻一组继电器的状态。前面在介绍PLC的等效工作电路时已强调过,不能通过编程的方式改变输入继电器的状态,但可以在编程时,通过使用输入继电器的触点,无限制地使用输入继电器的状态。如我们没在输入端子上接器件,那这个输入继电器只能空着,不能挪做它用。

(2)输出继电器(Q) 输出继电器就是PLC存储系统中的输出映像寄存器。通过输出继电器,将PLC的存储系统与外部输出端子(输出点)建立起明确对应的连接关系。S7-200 PLC的输出继电器也是以字节为单位的寄存器,它的每1位对应1个数字量输出点,一般采用“字节.位”的编址方法。输出继电器的状态可以由输入继电器的触点、其他内部器件的触点,以及它自己的触点来驱动,即它完全是由编程的方式决定其状态。我们也可以像使用输入继电器触点那样,通过使用输出继电器的触点,无限制地使用输出继电器的状态。输出继电器与其他内部器件的一个显著不同在于它有一个且仅有一个实实在在的物理动合触点,用来接通负载。这个动合触点可以是有触点的(继电器输出型),或者是无触点的(晶体管输出型或双向晶闸管输出型)。没有使用的输出继电器,可以做内部继电器使用,但一般不推荐这种用法,这种用法可能引起不必要的误解。

输出继电器Q的线圈一般不能直接与梯形图的逻辑母线连接,如果某个线圈确实不需要经过任何编程元件触点的控制,可借助于特殊继电器SM0.0的动合触点。

(3)变量寄存器(V) S7-200 PLC中有大量的变量寄存器,用于模拟量控制、数据运算、参数设置及存放程序执行过程中控制逻辑操作的中间结果。变量寄存器可以位为单位使用,也可按字节、字、双字为单位使用。变量寄存器的数量与CPU的型号有关,CPU222为V0.0~V2047.7,CPU224为V0.0~V5119.7,CPU226为V0.0~V5119.7。

(4)辅助继电器(M) 在逻辑运算中,经常需要一些辅助继电器,它的功能与传统的继电器控制电路中的中间继电器相同。辅助继电器与外部没有任何联系,不可能直接驱动任何负载。每个辅助继电器对应着数据存储区的一个基本单元,它可以由所有的编程元件的触点(当然包括它自己的触点)来驱动。它的状态同样可以无限制使用。借助于辅助继电器的编程,可使输入输出之间建立复杂的逻辑关系和联锁关系,以满足不同的控制要求。在S7-200 PLC中,有时也称辅助继电器为位存储区的内部标志位(Marker),所以辅助继电器一般以位为单位使用,采用“字节.位”的编址方式,每1位相当1个中间继电器,S7-200 PLC的CPU22X系列的辅助继电器的数量为256个(32B,256位)。辅助继电器也可以字节、字、双字为单位,作存储数据用。建议用户存储数据时使用变量寄存器(V)。

(5)特殊继电器(SM) 特殊继电器用来存储系统的状态变量及有关的控制参数和信息。它是用户程序与系统程序之间的界面,用户可以通过特殊寄存器来沟通PLC与被控对象之间的信息,PLC通过特殊继电器为用户提供一些特殊的控制功能和系统信息,用户也可以将对操作的特殊要求通过特殊继电器通知PLC。例如可以读取程序运行过程中的设备状态和运算结果信息,利用这些信息实现一定的控制动作。用户也可以通过对某些特殊继电器的直接设置,使设备实现某种功能。

CPU22X系列PLC的特殊继电器是SM0.0~SM299.7。

对SMB0:有8个状态位。在每个扫描周期的末尾,由S7-200 PLC的CPU更新这8个状态位。因此这8个SM为只读型SM,这些特殊继电器的功能和状态是由系统软件决定的,与输入继电器一样,不能通过编程的方式改变其状态,只能利用这些特殊继电器的功能和状态。

(6)计数器(C) 计数器也是广泛应用的重要编程元件,用来对输入脉冲的个数进行累计,实现计数操作。使用计数器时要事先在程序中给出计数的设定值(也称预置值,即要进行计数的脉冲数)。当满足计数器的触发输入条件时,计数器开始累计计数输入端的脉冲前沿的次数,当达到设定值时,计数器动作。CPU22X系列的PLC共有256个计数器,其编号为C0~C255。每个计数器都有一个16位的当前寄存器及1个状态位C-bit。

计数器包含两方面的信息,计数器当前值和计数器状态位。

计数器状态位:当计数器的当前值达到设定值时,C-bit为“ON”。

计数器当前值:在计数器当前值寄存器中存储的当前所累计的脉冲个数,用16位符号整数表示。

计数器指令中所存取的是计数器当前值还是计数器状态位,取决于所用的指令,带位操作的指令存取计数器状态位,带字操作的指令存取计数器的当前值。

计数器的计数方式有3种,递增计数、递减计数和增/减计数。递增计数是从0开始,累加到设定值,计数器动作。递减计数是从设定值开始,累减到0,计数器动作。

PLC的计数器的设定值和定时器的设定值,一般不仅可以用程序设定,也可以通过PLC内部的模拟电位器或PLC外界的拨码开关,方便、直观地随时修改。(www.xing528.com)

(7)定时器(T) 定时器是PLC的重要编程元件,它的作用与继电器控制电路中的时间继电器基本相似。定时器的设定值通过程序预先输入,当满足定时器的工作条件时,定时器开始计时,定时器的当前值从0开始按照一定的时间单位(即定时精度)增加,例如对于10ms定时器,定时器的当前值间隔10ms加1。当定时器的当前值达到它的设定值时,定时器动作。

CPU22X系列PLC的定时器数量为256个,T0~T255。定时器的定时精度分别为1ms,10ms和100ms,1ms的定时器有4个,10ms的定时器有16个,100ms的定时器有236个。这些定时器的类型可分为3种:接通延时型定时器TON、断开延时型定时器TOF、保持型接通延时定时器TONR。CPU22X系列PLC定时器的定时精度及编号见表2-10。

表2-10 CPU22X定时器的精度及编号

978-7-111-33698-3-Chapter02-16.jpg

在使用定时器时要注意,不能把一个定时器号同时用做TON和TOF,例如:在一个程序中既有TON T32,又有TOF T32。

定时器号包含两方面的信息,定时器当前值和定时器状态位,每个定时器都有一个16位的当前值寄存器,以及1个状态位T-bit,如图2-6所示。

978-7-111-33698-3-Chapter02-17.jpg

图2-6 PLC中的定时器

定时器状态位:当定时器的当前值达到设定值时,T-bit为“ON”。

定时器当前值:在定时器当前值寄存器中存储的当前所累计的时间,用16位符号整数表示。定时器指令中所存取的是定时器当前值还是定时器状态位,取决于所用的指令,带位操作的指令存取定时器状态位,带字操作的指令存取定时器的当前值。

(8)高速计数器(HSC) 普通计数器的计数频率受扫描周期的制约,在需要高频计数的情况下,可使用高速计数器。与高速计数器对应的数据,只有一个高速计数器的当前值,是一个带符号的32位的双字型数据。

(9)累加器(AC) 累加器是可像存储器那样使用的读/写设备,是用来暂存数据的寄存器,它可以向子程序传递参数,或从子程序返回参数,也可以用来存放运算数据、中间数据及结果数据。S7-200 PLC共有4个32位的累加器:AC0~AC3。使用时只表示出累加器的地址编号(如AC0)。累加器存取数据的长度取决于所用的指令,它支持字节、字、双字的存取,以字节或字为单位存取累加器时,是访问累加器的低8位和低16位。

978-7-111-33698-3-Chapter02-18.jpg

(10)状态继电器(S,也称为顺序控制继电器) 状态继电器是使用步进控制指令编程时的重要编程元件,用状态继电器和相应的步进控制指令,可以在小型PLC上编制较复杂的控制程序。

(11)局部变量存储器(L) 局部变量存储器用于存储局部变量。S7-200 PLC中有64个局部变量存储器,其中60个可以用作暂时存储器或者给子程序传递参数。如果用梯形图或功能块图编程,STEP 7-Micro/WIN32保留这些局部变量存储器的最后4B。如果用语言表编程,可以寻址到全部64B,但不要使用最后4B。

局部变量存储器与存储全局变量的变量寄存器很相似,主要区别是变量寄存器是全局有效的,而局部变量存储器是局部有效的。全局是指同一个存储器可以被任何一个程序(主程序、子程序、中断程序)读取,局部是指存储器区和特定的程序相关联。S7-200 PLC给主程序分配64个局部变量存储器。给每级嵌套子程序分配64B局部变量存储器,给中断程序分配64个局部变量存储器。子程序不能访问分配给主程序、中断程序和其他子程序的局部变量存储器,子程序和中断程序不能访问主程序的局部变量存储器,中断程序也不能访问主程序和子程序的局部变量存储器。

S7-200 PLC根据需要自动分配局部变量存储器。当执行主程序时,不给子程序和中断程序分配局部变量存储器,当出现中断或调用子程序时,才给子程序和中断程序分配局部变量存储器。新的局部变量存储器在分配时可以重新使用,分配给不同子程序或中断程序相同编号的局部变量存储器。

可以按位、字节、字、双字访问局部变量存储器,可以把局部变量存储器作为间接寻址的指针,但是不能作为间接寻址的存储器区。

(12)模拟量输入(AIW) 寄存器/模拟量输出(AQW)寄存器PLC处理模拟量的过程是,模拟量信号经A/D转换后变成数字量存储在模拟量输入寄存器中,通过PLC处理后将要转换成模拟量的数字量写入模拟量输出寄存器,再经D/A转换成模拟量输出。即PLC对这两种寄存器的处理方式不同,对模拟量输入寄存器只能作读取操作,而对模拟量输出寄存器只能作写入操作。

由于PLC处理的是数字量,其数据长度是16位,因此要以偶数号字节进行编址,从而存取这些数据。

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

我要反馈