一般地可认为编程元件和继电接触器的元件类似、具有线圈和常开常闭触点。而且触点的状态随着线圈的状态而变化,即当线圈披选中(通电)时,常开触点闭合,常闭触点断开,当线圈失去选中条件时,常闭接通,常开断开。从实质上来说,某个元件被选中,只是代表这个元件的存储单元置1,失去选中条件只是这个存储单元置0,由于元件只不过是存储单元,可以无限次地访问。
数据结构
在plc内部结构和用户应用程序中使用着大量的数据。这些数据从结构或数制上具有以下几种形式。
(1)十进制数
十进制数在PLC中又称字数据。它主要存在于定时器和计数器的设定值K;辅助继电器、定时器、计数器、状态继电器等的编号;定时器和计数器当前值等方面。
(2)二进制数
十进制数、八进制数、十六进制数、BCD码在PLC内部均是以二进制数的形态存在。但使用外围设备进行系统运行监控显示时,会还原成原来的数制。一位二进制数在PLC中又称位数据。它主要存在于各类继电器、定时器、计数器的触点及线圈。
(3)八进制数
FX系列PLC的输入继电器、输出继电器的地址编号采用八进制。
(4)十六进制数
十六进制数用于指定应用指令中的操作数或指定动作。
(5)BCD码
BCD码是以4位二进制数表示与其对应的一位十进制数的方法。PLC中的十进制数常以BCD码的形态出现,它还常用于BCD输出形式的数字式开关或七段码的显示器控制等方面。
(6)常数K、H
常数是PLC内部定时器、计数器、应用指令不可分割的一部分。常数K用来表示十进制数,16位常数的范围为-32768~+32767,32位常数的范围为-2147483648~+2147483647。
常数H用来表示十六进制数,十六进制包括0~9和A~F这16个数字,16位常数的范围为0~FFFF,32位常数的范围为0~FFFFFFFF。
软元件(内部继电器)
软元件简称元件。将PLC内部存储器的每一个存储单元均称为元件,各个元件与PLC的监控程序、用户的应用程序合作,会产生或模拟出不同的功能。当元件产生的是继电器功能时,称这类元件为软继电器,简称继电器,它不是物理意义上的实物器件,而是一定的存储单元与程序的结合产物。后面介绍的各类继电器、定时器、计数器都指此类软元件。
元件的数量及类别是由PLC监控程序规定的,它的规模决定着PLC整体功能及数据处理的能力。我们在使用PLC时,主要查看相关的操作手册。表1表示系列PLC软元件一览表。
表1 系列PLC软元件一览表
(1)输入继电器(X)
输入继电器是PLC中用来专门存储系统输入信号的内部虚拟继电器。它又被称为输入的映像区,它可以有无数个动合触点和动断触点,在plc编程中可以随意使用。这类继电器的状态不能用程序驱动,只能用输入信号驱动。FX系列PLC的输入继电器采用八进制编号。系列PLC带扩展时,输入继电器最多可达184点,其编号为X0~X7、X10~X17…X260~X267。
(2)输出继电器(Y)
输出继电器是PLC中专门用来将运算结果信号经输出接口电路及输出端子送达并控制外部负载的虚拟继电器。它在PLC内部直接与输出接口电路相连,它有无数个动合触点与动断触点,这些动合与动断触点可在PLC编程时随意使用。外部信号无法直接驱动输出继电器,它只能用程序驱动。FX系列PLC的输出继电器采用八进制编号。系列PLC带扩展时,输出继电器最多可达184点,其编号为Y0~Y267。
(3)内部辅助继电器(M)
PLC内有很多辅助继电器。辅助继电器的线圈与输出继电器一样,由PLC内各软元件的触点驱动。辅助继电器的动合和动断触点使用次数不限,在PLC内可以自由使用。但是,这些触点不能直接驱动外部负载,外部负载的驱动必须由输出继电器执行。在逻辑运算中经常需要一些中间继电器作为辅助运算用。这些元件不直接对外输入、输出,但经常用作状态暂存、移位运算等。它的数量比软元件X、Y多。内部辅助继电器中还有一类特殊辅助继电器,它有各种特殊功能,如定时时钟、进/借位标志、启动/停止、单步运行、通信状态、出错标志等。系列PLC的辅助继电器按照其功能分成以下三类。
a.用辅助继电器M0~M499(500点) 通用辅助继电器元件是按十进制进行编号的,系列PLC有500点,其编号为M0~M499。
b.断电保持辅助继电器M500~M1023(524点) PLC在运行中发生停电,输出继电器和通用辅助继电器全部成断开状态。再运行时,除去PLC运行时就接通的以外,其它都断开。但是,根据不同控制对象要求,有些控制对象需要保持停电前的状态,并能在再运行时再现停电前的状态情形。断电保持辅助继电器完成此功能,停电保持由PLC内装的后备电池支持。
c.特殊辅助继电器M8000~M8255(256点)这些特殊辅助继电器各自具有特殊的功能,一般分成两大类。一类是只能利用其触点,其线圈由PLC自动驱动。例如:M8000(运行监视)、M8002(初始脉冲)、M8013(1s 时钟脉冲)。另一类是可驱动线圈型的特殊辅助继电器,用户驱动其线圈后,PLC做特定的动作。例如,M8033指PLC停止时输出保持,M8034是指禁止全部输出,M8039是指定时扫描。
(4)内部状态继电器(S)
状态继电器是PLC在顺序控制系统中实现控制的重要内部元件。它与后面介绍的步进顺序控制指令STL组合使用,运用顺序功能图编制高效易懂的程序。状态继电器与辅助继电器一样,有无数的动合触点和动断触点,在顺控程序内可任意使用。状态继电器分成四类,其编号及点数如下:
初始状态:S0~S9(10点);
回零:S10~S19(10点);
通用:S20~S499(480点);
保持:S500~S899(400点);
报警:S900~S999(100点)。
有关状态继电器的应用,参考项目十STL指令的内容。
(5)内部定时器
定时器在PLC中相当于一个时间继电器,它有一个设定值寄存器(一个字)、一个当前值寄存器(字)以及无数个触点(位)。对于每一个定时器,这三个量使用同一个名称,但使用场合不一样,其所指的也不一样。通常在一个可编程控制器中有几十个至数百个定时器,可用于定时操作。其详细介绍参照项目七。
(6)内部计数器
计数器是PLC重要内部部件,它是在执行扫描操作时对内部元件X、Y、M、S、T、C的信号进行计数。当计数达到设定值时,计数器触点动作。计数器的动合、动断触点可以无限使用。其详细介绍参照项目八
(7)数据寄存器(D)
可编程控制器用于模拟量控制、位置控制、数据I/O时,需要许多数据寄存器存储参数及工作数据。这类寄存器的数量随着机型不同而不同。
每个数据寄存器都是16位,其中最高位为符号位,可以用两个数据寄存器合并起来存放32位数据(最高位为符号位)。
a.通用数据寄存器D0~D199 只要不写入数据,则数据将不会变化,直到再次写入。这类寄存器内的数据,一旦PLC状态由运行(RUN)转成(STOP)时全部数据均清零。
b.停电保持数据寄存器D200~D7999 除非改写,否则数据不会变化。即使PLC状态变化或断电,数据仍可以保持。
c.特殊数据寄存器D8000~D8255 这类数据寄存器用于监视PLC内各种元件的运行方式用,其内容在电源接通(ON)时,写入初始化值(全部清零,然后由系统ROM安排写入初始值)。
d.文件寄存器D1000~D7999 文件寄存器实际上是一类专用数据寄存器,用于存储大量的数据,例如采集数据、统计计算器数据、多组控制参数等。其数量由CPU的监视软件决定。在PLC运行中,用BMOV指令可以将文件寄存器中的数据读到通用数据寄存器中,但不能用指令将数据写入文件寄存器。
(8)内部指针(P、I)
内部指针是PLC在执行程序时用来改变执行流向的元件。它有分支指令专用指针P和中断用指针I两类。
a.分支指令专用指针P0~P63 分支指令用指针在应用时,要与相应的应用指令CJ、CALL、FEND、SRET及END配合使用,P63为结束跳转使用。
b.中断用指针I中断用指针是应用指令IRET中断返回、EI开中断、DI关中断配合使用的指令。