CP1系列PLC的I/O存储器区由I/O继电器区(CIO)、内部辅助继电器区(WR)、数据存储器区(DM)、保持继电器区(HR)、特殊辅助继电器区(AR)、定时器区(T)、计数器区(C)构成。其中CP1H和CP1L PLC的I/O存储器区还增加了任务标志区(TK)、变址寄存器区(IR)、数据寄存器区(DR)、状态标志和时钟脉冲。暂时继电器区为CP1H独有。CP1系列PLC I/O存储器区分布见表2-32。
(1)I/O存储器区地址寻址
用户编程时需对不同存储器区寻址,寻址方法分为字寻址与位寻址。按字寻址时,应包括I/O存储器识别记号和3~5位字编号。若按照位寻址,则需要在I/O存储器识别记号后加上对应的字编号和位编号。其中CIO区默认可省略识别记号CIO而直接通过数字寻址。CP1H、CP1L的任务标志区(TK)、变址寄存器区(IR)和数据寄存器区(DR),以及CP1H的暂时继电器区的I/O存储器识别记号为其存储器区缩写,其他所有CP1系列PLC的I/O存储器识别记号均为其对应的I/O存储器区缩写的首字母。具体地址指定如图2-36所示。寻址见表2-33。
表2-32 CP1系列PLC的I/O存储器区分布表
图2-36 I/O存储器区地址格式示例
表2-33 I/O存储器区寻址示例
(2)I/O继电器区(CIO)
I/O继电器区的作用是对I/O点进行控制,也可作内部数据处理和存储的工作区域。用户通过CX-Programmer软件对I/O继电器区的某一位进行强制和复位操作;当PLC遇到电源重置、运行模式变更、CPU发生致命错误或者通过CX-Programmer软件进行清除I/O继电器区数据等情况时,I/O继电器区的内容将被清除。由于CP1系列PLC型号不同,其I/O继电器区的构成和容量也不相同。CP1系列PLC I/O继电器区分配见表2-34。
表2-34 CP1系列PLC I/O继电器区分配表
(续)
1)输入输出继电器区。该区是PLC输入输出单元的映像区,既可字寻址,也可位寻址。其中,直接映像接收输入信号的区域称为输入继电器区,而控制外部输出设备的区域称为输出继电器区。
CP1系列PLC中的输入继电器区与输出继电器区的起始通道号均固定。外部输入设备起始通道号为0通道。输出设备起始通道号为100通道。当连接扩展模块时,其所占用的输入通道和输出通道需根据实际接入模块的数量和距主机的顺序分配通道,当扩展模块数量超过PLC扩展数量限制或者超出输入输出继电器区通道上限时,CPU将因会出现“I/O点数超出”错误(运行停止异常),导致PLC不能运行。
2)内置模拟输入输出区(仅限CP1H-XA和CP1E-NA型PLC)。内置模拟输入输出区的作用是存储PLC内置模拟量端子的A/D转换值。输入/输出通道分配见表2-35。
表2-35 内置模拟量输入输出通道分配表
3)1∶1链接区(仅限CP1L PLC)。1∶1链接区为CP1L的I/O继电器区中独有区域。其寻址范围是3000~3063CH。CP1L通过扩展RS-232C串行通信选件板与其他支持1∶1串行链接PLC实现一对一的无程序数据交换。需要注意的是,除CP1L外,其他支持1∶1串行链接的机型均为欧姆龙较老机型。通过1∶1串行链接方式,将CP1L与其他老机型进行连接,从而达到不更换机型而大幅提升老设备功能的目的。1∶1串行链接结构如图2-37所示。
4)串行PLC链接区。串行PLC链接区的作用类似于CP1L的1∶1链接区。通过串行PLC链接区,一台主机可以和7台同样支持串行PLC链接的PLC进行无程序数据交换。CP1系列PLC串行PLC链接区的寻址范围是CP1H/CP1L:3100~3189CH;CP1E:200~289CH。串行PLC链接结构如图2-38所示。
图2-37 1∶11串行链接结构示意图
图2-38 串行PLC链接结构示意图
5)CPU总线单元区(仅限CP1H PLC)。CPU总线单元区为CP1H PLC的I/O继电器区中独有区域。寻址范围是1500~1899CH。其作用是当CP1H PLC扩展CJ系列CPU总线单元时,PLC将会根据用户对CPU总线单元设定的单元号在CPU总线单元区分配专用区域来传送单元操作状态等数据。每个CPU总线单元按其单元号可以分配25个通道,首字n=1500+25×单元号(0~F转化为十进制)。在PLC程序运行时,CPU主机每个扫描周期将会与CPU总线单元交换一次数据(数据不能立即刷新,也不能使用IORF指令刷新)。
6)特殊I/O单元区(仅限CP1H PLC)。特殊I/O单元区为CP1H PLC的I/O继电器区中独有区域。寻址范围是2000~2959CH。其作用是当CP1H PLC扩展CJ系列特殊I/O单元时,PLC将会根据用户对特殊I/O单元设定的单元号在CPU特殊I/O单元区分配专用区域来传送单元操作状态等数据。每个特殊I/O单元按其单元号可以分配10个通道,首字n=2000+10×单元号(0~95)。
7)DeviceNet区(仅限CP1H PLC)。DeviceNet区为CP1H的I/O继电器区中独有区域。寻址范围是3200~3799CH。它是当CP1H扩展CJ系列DeviceNet单元且在固定分配模式时,各从站将会固定分配远程I/O点的区域。通过DeviceNet单元上的软件开关可以选择以下固定分配区域1~3中的任意一个,见表2-36。DeviceNet链接结构如图2-39所示。其他详细操作参见DeviceNet单元操作手册。
表2-36 DeviceNet固定分配区域分配表
图2-39 DeviceNet链接结构示意图
8)数据链接区(仅限CP1H PLC)。数据链接区是CP1H的I/O继电器区中独有区域。寻址范围是1000~1199CH。其作用是当CP1H扩展ControllerLink单元时,按照用户的设置接收和发送相关的数据。数据链接是指通过安装在PLC上的ControllerLink单元构成的网络,自动地(独立于程序)访问网络中其他PLC,实现链接区的数据共享。数据链接可以自动创建(每个节点使用相同数量的字)或人工创建。当用户定义数据链接时,他可以给每个节点指定任意数量的字,并可以设置节点为只发送或只接收。ControllerLink链接结构如图2-40所示。其他详细操作参见ControllerLink单元操作手册。
图2-40 ControllerLink链接网络结构示意图
(3)内部辅助继电器区
该区的字或位只能在程序中调用,仅作为内部数据处理和存储的工作区域。用户通过CX-Programmer软件对内部辅助继电器区的某一位进行强制和复位操作;当PLC遇到电源重置、运行模式变更、CPU发生致命错误或者使用CX-Programmer软件清除数据等情况时,内部辅助继电器区存储的数据将被清除。不同型号PLC的内部辅助继电器区仅在容量上有差别,功能完全相同。
内部辅助继电器区寻址范围分为两个部分,一部分是上述I/O继电器区中8个定义区域外未使用的区域;另一部分是CP1H、CP1L的W0~W511通道和CP1E的W0~W99通道,两部分的功能完全相同。鉴于I/O继电器区中未分配的区域可能会被程序占用,为避免产生混乱,建议用户优先使用WR区作为内部辅助继电器区。
(4)数据存储器区(DM)
DM区是一个只能以字为单位存取的多用途数据区,主要用于存储各种特殊I/O单元或CPU总线单元的工作参数等。它不能用于位操作指令(可以用位测试指令TST和TSTN),故用户不能使用CX-Programmer软件对DM区进行强制置位和复位操作;当PLC遇到电源重置、运行模式变更、CPU发生致命错误时,DM区存储的数据保持不变。
但当CP1E-E型CPU或CP1E-N型CPU未安装存储电池时,DM区只能保存数据30~50h,超时将导致数据不稳定。用户可以通过内置EEPROM功能备份DM区数据。
1)DM区分配。DM区通道分配见表2-37。当CP1H扩展CJ系列高功能模块时,需要利用DM区的通道进行初始设定和数据交换,每个单元按其设定的单元号分配100个字,其中给CJ系列特殊I/O单元分配的首字m=20000+100×单元号(0~95),CJ系列CPU总线单元分配的首字m=30000+100×单元号(0~F转化为十进制0~16)。
表2-37 CP1系列PLC DM区分配表
当使用串行通信选件板通过Modbus-RTU功能与第三方设备进行通信时,需调用相应型号PLC的DM区中固定通道来存储通信数据。具体编写方法见后面第5章。
2)DM区寻址。DM区用作数据处理和存储时,除直接寻址外,还可以采用BIN模式或BCD模式进行间接寻址。
①BIN模式寻址(@D)。若DM区地址前输入一个“@”字符,则DM字中的内容将按二进制数处理。指令将在二进制地址所指的DM字上进行操作,全部DM区均可以通过十六进制数0000~7FFF进行间接寻址。示例如图2-41所示,若D100存储的数据是100,传送地址为@D100,即采用BIN模式间接寻址,则D100中的数据100视为十六进制数,换算为十进制数是256,因此将数据最终传送到D256内。
②BCD模式寻址(∗D)。若DM区地址前输入一个“∗”字符,则DM字中的内容将按BCD码处理。指令将在BCD码地址所指的DM字上进行操作,部分DM区可以通过BCD码(0~9999)进行间接寻址。示例如图2-42所示,若D100存储的数据为100,传送地址为∗D100,即采用BCD模式间接寻址,则D100中的数据100视为十进制数,因此将数据最终传送到D100内。
图2-41 BIN模式间接寻址示例
图2-42 BCD模式间接寻址示例
(5)保持继电器区(HR)(www.xing528.com)
HR区是用于程序中各种数据的存储和操作的区域。可以通过CX-Programmer软件对HR区的某一位进行强制和复位操作;当PLC遇到电源重置、运行模式变更、CPU发生致命错误时,HR区中存储的数据保持不变。
当CP1E-E型CPU或CP1E-N型CPU没有安装存储电池时,HR区只保存数据30~50h,超时将导致数据不稳定。用户可以通过内置EEPROM功能备份HR区数据。
(6)特殊辅助继电器区(AR)
AR区是被系统预置了自诊断发现的异常标志、初始设定标志、操作标志、控制位及运行状态监视数据等。用户不能通过CX-Programmer软件对AR区进行强制置位和复位操作。CP1全系列PLC的AR区中A0~A447为系统只读字,CP1H、CP1L型的A448~A959和CP1E型A448~A753为可读/可写字。
当CP1E-E型CPU或CP1E-N型CPU未安装存储电池时,AR区只能保存数据30~50h,超时将导致数据不稳定。关于AR区的具体功能参见CP1系列PLC操作手册。
(7)定时器区(T)
T区为各种定时指令提供寄存器空间,用于访问各种定时器指令的定时完成标志和当前值。CP1H、CP1L型PLC定时器编号范围是T0~T4095;CP1E型PLC定时器编号为T0~T255。
当某一定时器编号用于位操作时,该编号为定时完成标志,此标志可以作为常开或者常闭条件被调用。当该定时器编号用于字处理时,该编号为定时器当前值通道。两个定时器指令不要使用同一个定时器编号,否则将会无法正常操作。用户可以通过CX-Programmer软件对定时完成标志进行强制置位和复位操作;当PLC遇到电源重置、运行模式变更、CPU发生致命错误或通过CX-Programmer软件进行清除数据时,定时器区存储的当前值将会复位。表2-38列出了影响定时器当前值和完成标志的情况。
表2-38 定时器当前值及标志位状态表
(8)计数器区(C)
C区为各种计数指令提供寄存器空间,用于访问各种计数器指定的计数完成标志和当前值。CP1H、CP1L型PLC计数器编号为C0~C4095;CP1E型PLC计数器编号为C0~C255。
当某一计数器编号用于位操作时,该编号为计数完成标志,此标志可以作为常开或者常闭条件被调用。当该计数器编号用于字处理时,该编号为计数器当前值通道。两个计数器指令不要使用同一计数器编号,否则将会无法正常操作。用户可以通过CX-Programmer软件对计数完成标志进行强制置位和复位操作;当PLC遇到电源重置、运行模式变更、CPU发生致命错误时,计数器区存储的当前值将保持。表2-39列出了影响计数器当前值和完成标志的情况。
表2-39 计数器当前值及标志位状态表
(9)任务标志区(TK)(仅限CP1H、CP1L型PLC)
任务标志区是CP1H、CP1L的I/O存储器区中独有区域。寻址范围为TK00~TK31,对应循环任务0~31。当对应的循环任务处于执行状态(RUN)时,其对应的任务标志位为ON;当对应的循环任务处于不可执行状态(INI)或者待机状态(WAIT)时,其对应的任务标志位为OFF。本标志仅指示循环任务的状态,不反映中断任务的状态。当PLC遇到电源重置、运行模式变更时,任务标志区内容将被清除。
(10)变址寄存器区(IR)(仅限CP1H、CP1L型PLC)
IR区为CP1H、CP1L的I/O存储器区中独有区域,寻址范围为IR0~IR15。16个变址寄存器用于间接寻址一个字,每个变址寄存器可存储一个PLC存储地址,该地址是在I/O存储区中一个字的绝对地址。用MOVR指令将一个常规数据区地址转换成它的PLC存储地址,并将该值写入指定的变址寄存器中(用MOVRW指令在IR中设定将定时器/计数器当前值的PLC存储地址),如图2-43所示。当PLC遇到电源重置、运行模式变更时,变址寄存器中的内容将会被清除。
图2-43 变址寄存器工作原理示意图
1)间接寻址。若IR前缀有“,”符号作为操作数时,指令将在IR中的PLC存储地址所指定的字上进行操作,而不是变址寄存器,IR视作I/O存储区的指针。除变址寄存器、数据寄存器、状态标志位和时钟脉冲以外的I/O存储区中所有地址都可用PLC存储地址唯一指定,无需指定数据区。除基本间接寻址外,还可以用常数、数据寄存器及自动增加或减少偏移IR中的PLC存储地址等方式实现每次执行指令时增加或减小地址实现循环读写数据。IR间接寻址见表2-40。以下示例为利用间接寻址方式对定时器区的0号地址与1号地址进行赋值。流程如图2-44所示。
表2-40 变址寄存器间接寻址变量表
2)直接寻址。IR不带前缀“,”作为操作数时,指令将对变址寄存器本身内容(双字)进行操作,表2-41列出了可对变址寄存器直接寻址的指令,当这些指令对变址寄存器操作时,后者为指针。
图2-44 间接寻址示例
表2-41 变址寄存器直接寻址指令表
启动一个中断任务时,变址寄存器中的值未知,若在一个中断任务中需使用变址寄存器,则在使用前需用MOVR或MOVRW指令在变址寄存器中设定一个PLC存储器地址。由于IR在初始设定中各个任务相互独立,故不会相互影响。可以通过CX-Programmer软件的属性窗口设定在任务间独立使用或共享使用。
(11)数据寄存器区(DR)(仅限CP1H、CP1L型PLC)
DR区为CP1H、CP1L的I/O存储器区中独有区域。寻址范围为DR0~DR15。其作用是将数据寄存器中的值加到变址寄存器中的PLC存储器地址上,使变址寄存器中的PLC存储器地址发生偏移,如图2-45所示。
图2-45 变址寄存器工作原理示意图
(12)暂时继电器区(TR)
TR区寻址范围为TR00~TR15,只能进行位寻址。TR区中的位只可以在助记符方式中与LD和OUT指令联用。在使用助记符方式输入程序中,每到程序分支处都需要使用TR位来暂存分支指令块的ON/OFF状态,才可以准确表达程序内容。当用户想表达图2-46a所示的梯形图时,若不使用TR位进行暂存,则梯形图将会变为图2-46b所示内容。
图2-46 TR位使用示例
a)使用TR0位暂存的梯形图 b)未使用TR位暂存的梯形图
需要注意的是,TR区只在助记符方式下编写程序时才会使用到。
(13)状态标志
状态标志主要用于表达指令执行结果的运算标志,如错误标志、等于标志等。这些标志只能读取不能直接写入,且不能通过CX-Programmer软件对状态标志进行强制置位和复位操作。除ER、AER标志只有在出现错误的任务中保持外,其他标志在运行模式变更时将被清零。具体功能见表2-42。
表2-42 状态标志功能表
所有指令共享状态标志。在对应指令执行时,状态标志会根据其执行结果,在一个扫描周期内变化。因此当指令执行完毕后须立即读取状态标志,在梯形图中需将状态标志连接到输入条件相同的输出分支中,如图2-47所示。
图2-47 状态标志与指令联用示例
(14)时钟脉冲
时钟脉冲是PLC内部的定时器按照恒定的时间间隔交替产生ON/OFF的标志,它们采用符号而不是地址指定,不能通过CX-Programmer软件对时钟脉冲进行强制置位和复位操作。每个时钟脉冲标志在规定周期内按照1∶1占空比发送脉冲。时钟脉冲种类见表2-43。
表2-43 时钟脉冲功能表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。