plc通过程序的运行实施控制的过程其实质就是对存储器中数据进行操作或处理的过程,根据使用功能的不同,把存储器分为若干个区域和种类,这些由用户使用的每一个内部存储单元统称为软元件。各元件有其不同的功能,有固定的地址。软元件的数量决定了可编程控制器的规模和数据处理能力,每一种PLC的软元件是有限的。
为了理解方便,把PLC内部许多位地址空间的软元件定义为内部继电器(软继电器)。但要注意把这种继电器与传统电气控制电路中的继电器区别开来,这些软继电器的*大特点就是其线圈的通断实质就是其对应存储器位的置位与复位,在电路(梯形图)中使用其触点实质就是对其所对应的存储器位的读操作,因此其触点可以无限次的使用。
编程时,用户只需要记住软元件的地址即可。每一软元件都有一个地址与之一一对应,其中软继电器的地址编排采用区域号加区域内编号的方式。即PLC内部根据软元件的功能不同,分成了许多区域,如输入/输出继电器、辅助继电器、定时器区、计数器区、顺序控制继电器、特殊标志继电器区等,分别用I、Q、M、T、C、S、SM等来表示。
1、数字量输入继电器(I)
输入继电器也就是输入映像寄存器,每个PLC的输入端子都对应有一个输入继电器,它用于接收外部的开关信号。输入继电器的状态唯一地由其对应的输入端子的状态决定,在程序中不能出现输入继电器线圈被驱动的情况,只有当外部的开关信号接通PLC的相应输入端子的回路,则对应的输入继电器的线圈“得电”,在程序中其常开触点闭合,常闭触点断开。这些触点可以在编程时任意使用,使用数量(次数)不受限制。
所谓输入继电器的线圈“得电”,事实上并非真的有输入继电器的线圈存在,这只是一个存储器的操作过程。在每个扫描周期的开始,PLC对各输入点进行采样,并把采样值存入输入映像寄存器。PLC在接下来的本周期各阶段不再改变输入映像寄存器中的值,直到下一个扫描周期的输入采样阶段。
需要特别注意的是,输入继电器的状态唯一的由输入端子的状态决定,输入端子接通则对应的输入继电器得电动作,输入端子断开则对应的输入继电器断电复位。在程序中试图改变输入继电器的状态的所有做法都是错误的。
数字量输入继电器用“I”表示,输入映像寄存器区属于位地址空间,范围为I0.0~I15.7,可进行位、字节、字、双字操作。实际输入点数不能超过这个数量,未用的输入映像寄存器区可以做其他编程元件使用,如可以当通用辅助继电器或数据寄存器,但这只有在寄存器的整个字节的所有位都未占用的情况下才可做他用,否则会出现错误执行结果。
2、数字量输出继电器(Q)
输出继电器也就是输出映像寄存器,每个PLC的输出端子对应都有一个输出继电器。当通过程序使得输出继电器线圈“得电”时,PLC上的输出端开关闭合,它可以作为控制外部负载的开关信号。同时在程序中其常开触点闭合,常闭触点断开。这些触点可以在编程时任意使用,使用次数不受限制。
数字量输出继电器用“Q”表示,输出映像寄存器区属于位地址空间,范围为Q0.0~Q15.7,可进行位、字节、字、双字操作。实际输出点数不能超过这个数量,未用的输出映像区可做他用,用法与输入继电器相同。 由图7.5、图7.6、图7.7可知,在PLC内部,输出映像寄存器与输出端子之间还有一个输出锁存器。在每个扫描周期的输入采样、程序执行等阶段,并不把输出结果信号直接送到输出锁存器,而只是送到输出映像寄存器,只有在每个扫描周期的末尾才将输出映像寄存器中的结果信号几乎同时送到输出锁存器,对输出点进行刷新。
另外需要注意的是,不要把继电器输出型的输出单元中的真实的继电器与输出继电器相混淆。 3、通用辅助继电器(M)
通用辅助继电器如同电器控制系统中的中间继电器,在PLC中没有输入输出端与之对应,因此通用辅助继电器的线圈不直接受输入信号的控制,其触点也不能直接驱动外部负载。所以,通用辅助继电器只能用于内部逻辑运算。
通用辅助继电器用“M”表示,通用辅助继电器区属于位地址空间,范围为M0.0~M31.7,可进行位、字节、字、双字操作。
4、特殊标志继电器(SM)
有些辅助继电器具有特殊功能或存储系统的状态变量、有关的控制参数和信息,我们称为特殊标志继电器。用户可以通过特殊标志来沟通PLC与被控对象之间的信息,如可以读取程序运行过程中的设备状态和运算结果信息,利用这些信息用程序实现一定的控制动作。用户也可通过直接设置某些特殊标志继电器位来使设备实现某种功能。
特殊标志继电器用“SM”表示,特殊标志继电器区根据功能和性质不同具有位、字节、字和双字操作方式。其中SMB0、SMB1为系统状态字,只能读取其中的状态数据,不能改写,可以位寻址。系统状态字中部分常用的标志位说明如下:
SM0.0:始终接通;
SM0.1:首次扫描为1,以后为0,常用来对程序进行初始化;
SM0.2:当机器执行数学运算的结果为负时,该位被置1;
SM0.3:开机后进入RUN方式,该位被置1一个扫描周期;
SM0.4:该位提供一个周期为1分钟的时钟脉冲,30秒为1,30秒为0;
SM0.5:该位提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0;
SM0.6:该位为扫描时钟脉冲,本次扫描为1,下次扫描为0;
SM1.0:当执行某些指令,其结果为0时,将改位置1;
SM1.1:当执行某些指令,其结果溢出或为非法数值时,将改位置1;
SM1.2:当执行数学运算指令,其结果为负数时,将改位置1;
SM1.3:试图除以0时,将改位置1;
其他常用特殊标志继电器的功能可以参见S7-200系统手册。
5、变量存储器(V)
变量存储器用来存储变量。它可以存放程序执行过程中控制逻辑操作的中间结果,也可以使用变量存储器来保存与工序或任务相关的其他数据。
变量存储器用“V”表示,变量存储器区属于位地址空间,可进行位操作,但更多的是用于字节、字、双字操作。变量存储器也是S7-200中空间*大的存储区域,所以常用来进行数学运算和数据处理,存放全局变量数据。
6、局部变量存储器(L)
局部变量存储器用来存放局部变量。局部变量与变量存储器所存储的全局变量十分相似,主要区别是全局变量是全局有效的,而局部变量是局部有效的。全局有效是指同一个变量可以被任何程序(包括主程序、子程序和中断程序)访问;而局部有效是指变量只和特定的程序相关联。
S7—200 PLC提供64个字节的局部存储器,其中60个可以作暂时存储器或给子程序传递参数。主程序、子程序和中断程序在使用时都可以有64个字节的局部存储器可以使用。不同程序的局部存储器不能互相访问。机器在运行时,根据需要动态地分配局部存储器:在执行主程序时,分配给子程序或中断程序的局部变量存储区是不存在的,当子程序调用或出现中断时,需要为之分配局部存储器,新的局部存储器可以是曾经分配给其他程序块的同一个局部存储器。 局部变量存储器用“L”表示,局部变量存储器区属于位地址空间,可进行位操作,也可以进行字节、字、双字操作。
7、顺序控制继电器(S)
顺序控制继电器用在顺序控制和步进控制中,它是特殊的继电器。有关顺序控制继电器的使用请阅读本章后续有关内容。
顺序控制继电器用“S”表示,顺序控制继电器区属于位地址空间,可进行位操作,也可以进行字节、字、双字操作。
8、定时器(T)
定时器是可编程序控制器中重要的编程元件,是累计时间增量的内部器件。自动控制的大部分领域都需要用定时器进行定时控制,灵活地使用定时器可以编制出动作要求复杂的控制程序。
定时器的工作过程与继电器接触器控制系统的时间继电器基本相同。使用时要提前输入时间预置值。当定时器的输入条件满足且开始计时,当前值从0开始按一定的时间单位增加;当定时器的当前值达到预置值时,定时器动作,此时它的常开触点闭合,常闭触点断开,利用定时器的触点就可以按照延时时间实现的各种控制规律或动作。
9、计数器(C)
计数器用来累计内部事件的次数。可以用来累计内部任何编程元件动作的次数,也可以通过输入端子累计外部事件发生的次数,它是应用非常广泛的编程元件,经常用来对产品进行计数或进行特定功能的编程。使用时要提前输入它的设定值(计数的个数)。当输入触发条件满足时,计数器开始累计其输入端脉冲电位跳变(上升沿或下降沿)的次数;当计数器计数达到预定的设定值时,其常开触点闭合,常闭触点断开。
模拟量输入映像寄存器(AI)、模拟量输出映像寄存器(AQ)
模拟量输入电路用以实现模拟量/数字量(A/D)之间的转换,而模拟量输出电路用以实现数字量/模拟量(D/A)之间的转换,PLC处理的是其中的数字量。
在模拟量输入/输出映像寄存器中,数字量的长度为1字长(16位),且从偶数号字节进行编址来存取转换前后的模拟量值,如0、2、4、6、8。编址内容包括元件名称、数据长度和起始字节的地址,模拟量输入映像寄存器用AI表示、模拟量输出映像寄存器用AQ表示,如:AIW10,AQW4等。
PLC对这两种寄存器的存取方式不同的是,模拟量输入寄存器只能作读取操作,而对模拟量输出寄存器只能作写入操作。
1、高速计数器(HC)
高速计数器的工作原理与普通计数器基本相同,它用来累计比主机扫描速率更快的高速脉冲。高速计数器的当前值为双字长(32位)的整数,且为只读值。
高速计数器的数量很少,编址时只用名称HC和编号,如:HC2。
11、累加器(AC)
S7—200PLC提供4个32位累加器,分别为AC0、ACl、AC2、AC3,累加器(AC)是用来暂存数据的寄存器。它可以用来存放数据如运算数据、中间数据和结果数据,也可用来向子程序传递参数,或从子程序返回参数。使用时只表示出累加器的地址编号,如AC0。
累加器可进行读、写两种操作,在使用时只出现地址编号。累加器可用长度为32位,但实际应用时,数据长度取决于进出累加器的数据类型。逻辑取及线圈驱动指令为LD(Load)、LDN(Load Not)和=(Out)。
LD(Load):取常开触点指令。用于网络块逻辑运算开始的常开触点与母线的连接。
LDN(Load Not):取常闭触点指令。用于网络块逻辑运算开始的常闭触点与母线的连接。
=(Out):线圈驱动指令。
图1所示为上述三条指令的用法。
(a)梯形图 (b)语句表
图1逻辑取及线圈驱动指令
使用说明:
(1)LD、LDN指令不只是用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也要使用LD、LDN指令,与后面要讲的ALD、OLD指令配合完成块电路的编程。
(2)由于输入继电器的状态唯一的由输入端子的状态决定,在程序中是不能被改变的,所以“=”指令不能用于输入继电器。
(3)并联的“=”指令可连续使用任意次。
(4)在同一程序中不要使用双线圈输出,即同一个元器件在同一程序中只使用一次“=”指令。否则可能会产生不希望的结果。
(5)LD、LDN指令的操作数为:I、Q、M、SM、T、C、V、S、L。“=”指令的操作数为:Q、M、S、V、S、L。T和C也作为输出线圈,但在S7—200 plc中输出时不以使用“=”指令形式出现,而是采用功能块(见定时器和计数器指令)。
- 西门子S7-200CN模块6ES7214-1AD23-0XB8 2023-10-26
- 西门子S7-200CN模块6ES7212-1BB23-0XB8 2023-10-26
- 西门子S7-200CN模块6ES7212-1AB23-0XB8 2023-10-26
- 西门子S7-200CN模块6ES7211-0BA23-0XB0 2023-10-26
- 西门子S7-200CN模块6ES7211-0AA23-0XB0 2023-10-26
- 西门子PLC模块6ES7216-2BD23-0XB8 2023-10-26
- 西门子PLC模块6ES7216-2AD23-0XB8 2023-10-26
- 西门子PLC模块6ES7214-2BD23-0XB8 2023-10-26
- 西门子PLC模块6ES7214-2AS23-0XB8 2023-10-26
- 西门子PLC模块6ES7214-2AD23-0XB8 2023-10-26