CPU存储器中存放的数据类型有BOOL、BYTE、WORD、INT、DWORD、DINT、REAL。不同的数据类型具有不同的数据长度和数值范围。在上述数据类型中,用字节(B)型、字(W)型、双字(D)型分别表示8位、16位、32位数据的数据长度。不同的数据长度对应的数值范围见表4-4。例如,数据长为字(W)型的无符号整数(WORD)的数值范围为0~65535。
表4-4 数据长度与数值
(续)
PLC的存储器分为装载存储器、系统存储器、主存储器(也叫工作存储器)3个区。
装载存储器区用于保存代码块和数据块以及系统数据(组态、连接和模块参数等),但标记有与运行时间无关的块不能保存在装载存储器中,有的可用微存储卡(MMC)扩展。
工作存储器用于存放与运行相关的块(代码块和数据块),其容量基本由所选的CPU决定,CPU 417的工作存储器可以扩展。
系统存储器是每个CPU均可使用的存储器部件,包括存储位、定时器和计数器的地址区,I/O过程映像,局域数据,块栈和中断栈。系统存储器是用户程序执行过程中的内部工作区域,存储器为RAM。
1.系统存储器存储区的地址表示格式
存储器是由许多存储单元组成,每个存储单元都有唯一的地址,可以依据存储器地址来存取数据。系统存储区地址的表示格式有位、字节、字、双字地址格式。
(1)位地址格式
系统存储器的存储区域某一位的地址格式为:Ax.y。
必须指定存储器区域标识符A、字节地址x及位号y。例如I4.5表示图4-4中黑色标记的位地址,I是变量存储器的区域标识符,4是字节地址,5是位号,在字节地址4与位号5之间用点号“.”隔开。图4-4中MSB表示最高位,LSB表示最低位。
图4-4 位地址格式
(2)字节、字、双字地址格式
系统存储器区域的字节、字、双字地址格式为:ATx。
必须指定区域标识符A、数据长度T以及该字节、字或双字的起始字节地址。
图4-5中,用MB100、MW100、MD100分别表示字节、字、双字的地址。MW100由MB100、MB101两个字节组成;MD100由MB100~MB1034个组成。
(3)其他地址格式
系统存储器的存储区域中,还包括定时器(T)存储区、计数器(C)存储区等,它们的地址格式为:Ay,由区域标识符A和元件号y组成,例如T32表示某定时器的地址,T是定时器的区域标识符,32是定时器号,同时T32又可表示此定时器的当前值。
图4-5 字节、字和双字
2.系统存储器存储区域
(1)输入/输出映像寄存器(I/Q)
1)输入映像寄存器(I)。PLC的输入端子是从外部接收输入信号的窗口。每一个输入端子与输入映像寄存器(I)的相应位相对应。输入点的状态,在每次扫描周期开始(或结束)时进行采样,并将采样值存于输入映像寄存器,作为程序处理时输入点状态的依据。输入映像寄存器的状态只能由外部输入信号驱动,而不能在内部由程序指令来改变。输入映像寄存器(I)的地址格式为:
位地址:I[字节地址].[位地址],如I0.1。(www.xing528.com)
字节、字、双字地址:I[数据长度][起始字节地址],如IB4、IW6、ID10。
2)输出映像寄存器(Q)。每一个输出模块的端子与输出映像寄存器的相应位相对应。CPU将输出判断结果存放在输出映像寄存器中,在扫描周期的结尾,CPU以批处理方式将输出映像寄存器的数值复制到相应的输出端子上。通过输出模块将输出信号传送给外部负载。可见,PLC的输出端子是PLC向外部负载发出控制命令的窗口。输出映像寄存器(Q)的地址格式为:
位地址:Q[字节地址].[位地址],如Q4.1。
字节、字、双字地址:Q[数据长度][起始字节地址],如QB100、QW11、QD10。
I/O映像区实际上就是外部I/O设备状态的映像区,PLC通过I/O映像区的各个位与外部物理设备建立联系,每个位都可以映像输入、输出单元上的每个端子的状态。
在程序的执行过程中,对于输入或输出的存取通常是通过映像寄存器,而不是实际的输入、输出端子。梯形图中的输入继电器、输出继电器的状态是对应于I/O映像寄存器相应位的状态。使得系统在程序执行期间完全与外界隔开,从而提高了系统的抗干扰能力。建立了I/O映像区,用户程序存取映像寄存器中的数据要比存取输入、输出物理点要快得多,因此加速了运算速度。此外,外部输入点的存取只能按位进行,而I/O映像寄存器的存取可按位、字节、字、双字进行,因而使操作更加灵活。
(2)内部标志位存储器(M)
内部标志位存储器(M)也称内部线圈,是模拟继电器控制系统中的中间继电器,它存放中间操作状态,或存储其他相关的数据。内部标志位存储器(M)以位为单位使用,也可以字节、字、双字为单位使用,其地址格式为:
位地址:M[字节地址].[位地址],如M26.7。
字节、字、双字地址:M[数据长度][起始字节地址],如MB11、MW23、MD26。
(3)外设输入(PI)和外设输出(PQ)
外设输入(PI)和外设输出(PQ)区允许直接访问本地的和分布式的输入模块和输出模块。其存取格式为:
字节、字、双字地址:PI或PQ[数据长度][起始字节地址],如PIB10、PIW100、PID120。
(4)局部数据区(L)
局部数据区用来存放处理组织块、功能块和系统块时相应块的临时数据,可以按位、字节、字、双字访问局部数据区。局部数据区(L)的地址格式为:
位地址:L[字节地址].[位地址],如L0.0。
字节、字、双字地址:L[数据长度][起始字节地址],如LB33、LW44、LD55。
(5)共享数据块(DB)和背景数据块(DI)
共享数据块(DB)供所有的逻辑块使用,而背景数据块(DI)与系统功能块和某一功能块相关联。用“OPN DB(或DI)”指令打开。地址格式为:
位地址:DB或DI[字节地址].[位地址],如DB3.1,DI3.3。
字节、字、双字地址:DB或DI[数据长度][起始字节地址],如DBB4、DBW10、DID21。
(6)定时器存储器(T)
定时器是模拟继电器控制系统中的时间继电器,时间值可用BCD码或二进制方式读取。定时器存储器地址表示格式为:T[定时器号],如T24。
(7)计数器存储器(C)
计数器是累计其计数输入端脉冲电平由低到高的次数,有三种类型:增计数、减计数、增减计数。计数值可用BCD码或二进制方式读取,计数值的范围为0~999。
其地址表示格式为:C[计数器号],如C5。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。