1.3 FX2 N系列PLC的内部资源

PLC的软元件主要包括输入继电器X、输出继电器Y、辅助继电器M、状态继电器S、定时器T、计数器C、数据寄存器D、指针 (P、I) 等。

1. 输入/输出继电器的编号及其功能

输入继电器 (X) 是PLC接收外部输入的开关量信号的窗口。PLC将外部信号的状态读入并存储在输入映像寄存器内,即输入继电器中。外部输入电路接通时,对应的映像寄存器为ON (“1”状态)。既然是继电器,我们自然会想到硬继电器的触点和线圈,在PLC中继电器实际上不是真正的继电器,而是一个“命名”而已。但它也用线圈和触点表示,这些触点和线圈我们把它理解为软线圈和软触点,在梯形图中可以无次数限制地使用。如图1-8所示,当外部输入电路接通时,对应的映像寄存器为“1”状态,表示该输入继电器常开触点闭合,常闭触点断开。输入继电器的状态唯一地取决于外部输入信号,不可能受用户程序的控制,因此在梯形图中绝对不能出现输入继电器线圈。输出继电器 (Y) 是PLC向外部负载发送信号的窗口。输出继电器用来将可编程序控制器的输出信号传送给输出模块,再由后者驱动外部负载。

图1-8 输入输出端子说明

FX2N系列PLC的输入继电器和输出继电器的元件用字母和八进制数表示,输入继电器、输出继电器的编号与接线端子的编号一致。表1-11给出了FX2N系列PLC的输入/输出继电器元件号。

表1-11 FX2N系列PLC输入/输出继电器元件号

2. 辅助继电器的编号及其功能

PLC内部有很多辅助继电器(M),辅助继电器和PLC外部无任何直接联系,它的线圈只能由PLC内部程序控制。它的常开和常闭两种触点只能在PLC内部编程时使用,且可以无限次自由使用,但不能直接驱动外部负载。外部负载只能由输出继电器触点驱动。FX2N系列PLC的辅助继电器有通用辅助继电器、断电保持辅助继电器和特殊辅助继电器。

在FX2N系列PLC中,除了输入继电器和输出继电器的元件号采用八进制数外,其他编程元件的元件号均采用十进制数。

1)通用辅助继电器 FX2N的辅助继电器的元件编号为M0~M499,共500点。如果PLC在运行时电源突然中断,输出继电器和M0~M499将全部变为OFF。若电源再次接通,除了因外部输入信号而变为ON的以外,其余的仍保持OFF状态。

2)断电保持辅助继电器M500~M3071 FX2N系列PLC在运行中若发生断电,输出继电器和通用辅助继电器全部成为断开状态;上电后,这些状态不能恢复。某些控制系统要求记忆电源中断瞬时的状态,重新通电后再现其状态,M500~M3071可以用于这种场合。

3)特殊辅助继电器 FX2N内有256个特殊辅助继电器,地址编号为M8000~M8255,它们用来表示PLC的某些状态,提供时钟脉冲和标志 (如进位、借位标志等),设定PLC的运行方式,或者用于步进顺控、禁止中断、设定计数器的计数方式等。特殊辅助继电器通常分为两大类。

(1)只能利用其触点的特殊辅助继电器:此类辅助继电器的线圈由PLC的系统程序来驱动。在用户程序中可直接使用其触点的有M8000、M8002、M8005等。

M8000:运行监视。当PLC执行用户程序时,M8000为ON;停止执行时,M8000为OFF。

M8002:初始化脉冲。仅在可编程控制器运行开始瞬间接通一个扫描周期。M8002的常开触点常用于某些元件的复位和清零,也可作为启动条件。

M8005:锂电池电压降低。锂电池电压下降至规定值时变ON,可以用它的触点驱动输出继电器和外部指示灯,提醒工作人员更换锂电池。

M8011~M8014分别是1ms、100ms、1s和1min时钟脉冲。

(2)线圈驱动型特殊辅助继电器:这类辅助继电器由用户程序驱动其线圈,使PLC执行特定的操作,如M8033、M8034、M8039的线圈等。

M8033的线圈“通电”时,PLC由RUN进入STOP状态后,映像寄存器与数据寄存器中的内容保持不变。

M8034的线圈“通电”时,全部输出被禁止。

M8039的线圈“通电”时,PLC以D8039中指定的扫描时间工作。

其余的特殊辅助继电器的功能在这里不一一列举,读者可查FX2N的用户手册。

3. 状态继电器的编号及其功能

状态继电器 (S)是用于编制顺序控制程序的一种编程元件,它与后述的步进顺控指令配合使用。通常,状态继电器有下面5种类型。

(1) 初始状态继电器S0~S9共10点。

(2)回零状态继电器S10~S19共10点,供返回原点用。

(3)通用状态继电器S20~S499共480点,没有断电保持功能,但是用程序可以将它们设定为有断电保持功能状态。

(4)断电保持状态继电器S500~S899共400点。

(5) 报警用状态继电器S900~S999共100点。

不用步进顺控指令时,状态继电器S可以作为辅助继电器 (M) 使用。供报警用的状态继电器,可用于外部故障诊断的输出。

4. 定时器的编号及其功能

PLC中的定时器(T)相当于继电器接触器控制系统中的时间继电器。FX2N系列PLC给用户提供最多256个定时器,其编号为T0~T255。其中,常规定时器246个,积算定时器10个。每个定时器有一个设定定时时间的设定值寄存器(一个字长),一个对标准时钟脉冲进行计数的计数器(一个字长),一个用来存储其输出触点状态的映像寄存器(位寄存器)。这三个存储单元使用同一个元件号。设定值可以用常数K进行设定,也可以用数据寄存器(D)的内容来设定。例如,外部数字开关输入的数据可以存入数据寄存器(D)作为定时器的设定值。FX2N内的定时器根据时钟累积计时,时钟脉冲有1ms、10ms、100ms三挡;当所计时间到达设定值时,输出触点动作。

1)常规定时器T0~T245 T0~T199为100ms定时器,共200点,定时时间范围为0.1~3276.7 s。其中,T192~T199为子程序中断服务程序专用的定时器;T200~T245为10ms定时器,共46点,定时范围为0.01~327.67s。

【实例1-1】 普通定时器应用实例

图1-9所示是定时器的工作原理图。当驱动输入X0接通时,定时器T10的当前值计数器对100ms的时钟脉冲进行累积计数。当该值与设定值K123相等时,定时器的输出触点就接通,即输出触点是其线圈被驱动后的123 × 0.1 s =12.3 s时动作。若X0的常开触点断开后,定时器T10被复位,它的常开触点断开,常闭触点接通,当前值计数器恢复为零。

图1-9 常规定时器的工作原理图

常规定时器没有保持功能,在输入电路断开或停电时复位 (清零)。

2)积算定时器T246~T255 积算定时器有两种,一种是T246~T249 (共4点)为1ms积算定时器,定时范围为0.001~32.767s;另一种是T250~T255 (共6点)为100ms积算定时器,每点设定值范围为0.1~3276.7s。

【实例1-2】 积算定时器应用实例

图1-10所示是积算定时器工作原理图。当定时器的驱动输入X001接通时,T250的当前值计数器开始累积100ms的时钟脉冲的个数,当该值与设定值K345相等时,定时器的输出触点T250接通。当输入X001断开或系统停电时,当前值可保持,输入X001再接通或复电时,计数在原有值的基础上继续进行。当累积时间为t1 +t2 =(0.1 × 345)s =34.5 s时,输出触点动作。当输入X002接通时,计数器复位,输出触点也复位。

图1-10 积算定时器工作原理图

以上定时器的工作过程可知,定时器属于通电延时型。如果要完成断电延时的控制功能,可利用它的常闭触点进行控制,如图1-11所示。若输入X001接通,Y000线圈通电产生输出,并通过Y000触点自锁。当X001断开时,线圈Y000不立即停止输出,而是经过T5延时20 s后停止输出。

图1-11 延时输出定时器

5. 内置计数器的编号及其功能

内部计数器是PLC在执行扫描操作时对内部信号X、Y、M、S、T、C等进行计数的计数器。内部计数器输入信号的接通或断开的持续时间,应大于PLC的扫描周期。

1)16位加计数器 16位加计数器有200个,地址编号为C0~C199。其中C0~C99为通用型,C100~C199为断电保持型。设定值为1~32767。

【实例1-3】 加计数器应用实例

图1-12 给出了加计数器的工作过程。

图1-12 加计数器的工作过程

图中X010的常开触点接通后,C0被复位,它对应的位存储单元被置为“0”,它的常开触点断开,常闭触点接通,同时计数器当前值被置为“0”。X011用来提供计数输入信号,当计数器的复位输入电路断开,计数输入上升沿到来时,计数器的当前值加“1”,在10个计数脉冲之后,C0的当前值等于设定值10,它对应的位存储单元的内容被置“1”,其常开触点接通,常闭触点断开。再来计数脉冲时,当前值不变,直到复位信号到来,计数器被复位,当前值被置为“0”。除了可由常数K来设定计数器的设定值外,还可以通过指定数据寄存器D来设定,这时设定值等于指定的数据寄存器中的数据。

2)32位加/减计数器 32位加/减计数器共有35个,编号为C200~C234,其中C200~C219为通用型,C220~C234为断电保持型,它们的设定值为-2147483648~+2147483647,可由常数K设定,也可以通过指定数据寄存器来设定。32位设定值存放在元件号相连的两个数据寄存器中。如果指定的寄存器为D0,则设定值存放在Dl和D0中。

32位加/减计数器C200~C234的加/减计数方式由特殊辅助继电器M8200~M8234设定。特殊辅助继电器为ON时,对应的计数器为减计数;反之为加计数。

【实例1-4】 32位加/减计数器应用实例

图1-13中C200的设定值为5,当X012输入断开,M8200线圈断开时,对应的计数器C200进行加计数。当当前值≥5时,计数器的输出触点为ON。当X012输入接通时,M8200线圈通电,对应的计数器C200进行减计数。当当前值<5时,计数器的输出触点为OFF。复位输入X013的常开触点接通时,C200被复位,其常开触点断开,常闭触点接通。

图1-13 32位加/减计数器工作原理

如果使用断电保持计数器,在电源中断时,计数器停止计数,并保持计数当前值不变,电源再次接通后,计数器在当前值的基础上继续计数。因此断电保持计数器可累计计数。在复位信号到来时,断电保持计数器当前值被置“0”。

3)高速计数器 内部计数器是对PLC的内部信号X、Y、M、S、T、C等计数,其响应速度为数十Hz以下。若内部信号周期小于PLC的扫描周期,计数器就不能正确计数。因此对于频率较高的信号的计数,应采用高速计数器。

高速计数器共21点,地址编号为C235~C255。但用于高速计数器输入的PLC输入端X0~X5只有6点。如果这6个输入端中的一个已被某个高速计数器占用,它就不能再用于其他高速计数器或其他用途。也就是说,由于只有6个高速计数器输入端,最多只能允许6个高速计数器同时工作。

21个高速计数器均为32位加/减计数器。它的选择并不是任意的,而是取决于所需计数器的类型及高速输入端子。如表1-12所示,各个高速计数器有对应的输入端子,分为4种类型:

表1-12 FX2N系列PLC高速计数器表

注:U——加计数输入,D——减计数输入,A——A相输入,B——B相输入,R——复位输入,S——启动输入。

(1) 1相无启动/复位端子高速计数器C235~C240;

(2) 1相带启动/复位端子高速计数器C241~C245;

(3) 1相2输入双向高速计数器C246~C250;

(4) 2相A-B型高速计数器C251~C255。

在高速计数器的输入中,X0、X2、X3最高计数频率为10 kHz,X1、X4、X5的最高计数频率为7 kHz。X6和X7只能用做高速计数器的启动信号而不能用于高速计数。不同类型的计数器可以同时使用,但它们的输入不能共用。例如,C251、C235、C236、C241、C244、C246、C247、C249、C252、C254等就不能同时使用,因为这些高速计数器都要使用输入端X0、X1。

高速计数器是按中断原则运行的,因而它独立于扫描周期,选定计数器的线圈应以连续方式驱动,以表示这个计数器及其有关输入连续有效,其他高速处理不能再用其输入端子。

【实例1-5】 单相高速计数器的使用实例

如图1-14所示,C235在X012为ON时,对输入X000的接通、断开状态进行计数,如果X011为ON,执行RST复位指令。动作波形图如图1-15所示。

图1-14 单相单输入计数器实例

图1-15 单相单输入计数器波形图

利用计数输入X000,通过中断,C235进行增计数或者减计数。计数器当前值由-6变化为-5时,输出触点被置位。计数器当前值由-5变化为-6时,输出触点被复位,虽然当前值的增减与输出触点的动作无关,但是如果由2147483647减计数则变成-2147483648。同理,如果由-2147483648加计数则变成2147483647 (又称为环形计数)。如果复位输入X011为ON,则在执行RST复位指令时,计数器的当前值为0,输出触点复位。在供停电保持用的高速计数器中,即使断开电源,计数器的当前值、输出触点动作、复位状态也被停电保持。

6. 数据寄存器的编号及其功能

在一个复杂的PLC控制系统中需要大量的工作参数和数据,这些参数和数据存储在数据存储器中。FX2N系列PLC的数据存储器的长度为双字节 (16位)。也可以通过两个数据存储器的组合构建一个4字节 (32位)的数据。

1)通用数据存储器D0~D199通道分配D0~D199,共200点。只要不写入其他数据,已写入的数据不会变化。但是,由RUN→STOP时全部数据均清零 (若特殊辅助继电器M8033已被驱动,则数据不被清零)。

2)断电保持数据寄存器D200~D7999通道分配D200~D511,共312点,或D200~D999,共800点(由机器的具体型号定),基本上与通用数据寄存器等同。除非改写,否则原有数据不会丢失,不论电源接通与否,PLC运行与否,其内容也不变化。然而在两台PLC做点对的通信时,D490~D509被用于通信操作。

3)文件寄存器通道D1000~D2999通道分配D1000~D2999,共2000点。文件寄存器是在用户程序存储器(RAM、EEPROM、EPROM)内的一个存储区,以500点为一个单位,最多可在参数设置时到2000点。用外部设备口进行写入操作。在PLC运行时,可用BMOV指令读到通用数据寄存器中,但是不能用指令将数据写入文件寄存器。用BMOV将数据写入RAM后,再从RAM中读出。将数据写入EEPROM盒时,需要花费一定的时间,务必注意。

4)RAM文件寄存器通道分配D6000~D7999,共2000点。驱动特殊辅助继电器M8074,由于采用扫描被禁止,上述的数据寄存器可作为文件寄存器处理,用BMOV指令传送数据 (写入或读出)。

5)特殊用寄存器通道分配D8000~D8255,共256点。是写入特定目的的数据或已经写入数据寄存器,其内容在电源接通时,写入初始化值 (一般先清零,然后由系统ROM来写入)。

7. 指针的编号及其功能

1)分支用指针(P)指针(P/T) 包括分支用指针P0~P127 (共128点)和中断用指针I × × × (共15点)。P0~P127用来指示跳转指令CJ的跳转目标和子程序调用指令(CALL) 调用的子程序的入口地址。如图1-16中X001常开触点接通时,执行条件跳转指令CJ P0,跳转到指令的标号位置P0,执行标号P0开始的程序。X001常开触点接通时,执行子程序调用指令CALL P1,跳转到标号P1处,执行从P1开始的子程序;当执行到子程序中的SRET (子程序返回)指令时返回主程序,从CALL P1下面一条指令开始执行。

图1-16 分支用指针说明

2)中断用指针(Ⅰ) 中断用指针 (I) 用来指明某一中断源的中断程序入口标号。当中断发生时,CPU从标号开始的中断程序执行。当执行到IRET (中断返回) 指令时返回主程序。FX2N系列PLC的中断源有6个输入中断、3个定时器中断、6个计数器中断。

(1) 输入中断用:接收来自特定编号的输入信号,而不受可变程序控制器的扫描周期的影响。触发该输入信号,执行中断子程序。通过输入中断可处理比扫描周期更短的信号,因而可以在顺控过程中作为必要的优先处理或者在短时脉冲处理控制中使用。

(2) 定时器中断用:在指定的中断循环时间 (10~99ms) 执行中断子程序。在需要有别于可编程序控制器的运算周期的循环处理控制中使用。

(3) 计数器中断用:根据可编程序控制器内置的高速计数器的比较结果,执行中断子程序,用于利用高速计数器优先处理计数结果的控制。