2.3 CP1系列PLC的存储器分配
CP1系列PLC的内部继电器和数据区以通道形式进行编号,通道号用3~5位数表示。一个通道内有16个继电器,一个继电器对应通道中的一位,16个位的序号为00~15。所以一个继电器的编号由两部分组成,一部分是通道号,另一部分是该继电器在通道中的位序号。
CP1系列PLC的存储器分为5部分:用户程序存储器、I/O存储器、参数区、内置闪存和存储盒。其中I/O存储器区是指通过指令的操作数可以进入的区域。I/O存储器区分为通道I/O(CIO)区、工作继电器区(WR)、保持继电器区(HR)、辅助继电器区(AR)、暂存继电器区(TR)、定时器区(TIM)、计数器区(CNT)、数据存储器区(DM)、变址寄存器区(IR)、数据寄存器区(DR)、任务标志区(TK)等。
I/O存储器区主要是用来存储输入、输出数据和中间变量,提供定时器、计数器、寄存器等,还包括系统程序所使用和管理的系统状态和标志信息。
在对数据区进行操作时,DM区和DR区只能读取字,不能定义其中的某一位。而在CIO、H、A和W区中可以存取数据的字或位,这取决于操作数的指令。
2.3.1 CP1H/CP1L系列PLC的I/O存储器分配
CP1H I/O存储器的分配见表2.16。CP1L和CP1H的内部存储器分配类似,CP1L CPU单元点数种类丰富,没有内置模拟量功能和不能连接CJ系列特殊I/O单元,与CP1H不同之处标注于表2.16中。
表2.16 CP1H-XA型的I/O存储器的分配
注:CIO区中不使用的继电器编号可作为内部辅助继电器使用。
1.通道I/O区(CIO)
通道I/O区(CIO):其地址前面不必加英文字母符号。例如,零通道记为0000CH或0000,而不是CIO0000。而其他继电器区通道的前面一定要加相应区域的符号。
CIO区分为8部分。
①内置开关量输入/输出继电器区和扩展开关量输入/输出继电器区(输入:0~16CH,输出:100~116CH):可以直接对外输入/输出的继电器区域。
内置开关量输入/输出继电器区是CP1H CPU主机单元固有的输入/输出点,共40点。
24个输入点,占输入的两个通道:0.00~0.11,1.00~1.11。
16个输出点,占输出的两个通道:100.00~100.07,101.00~101.07。
扩展开关量输入/输出继电器区:当CP1H CPU主机单元连接CP1W或CPM1A扩展单元时,扩展单元所占的通道号。
扩展输入继电器,可占用的输入通道:15CH(2~16CH)。
扩展输出继电器,可占用的输出通道:15CH(102~116CH)。
不使用的继电器编号可作为内部辅助继电器使用。
②内置模拟量输入/输出继电器区(仅限XA型),用于分配CP1H CPU单元XA型的内置模拟输入/输出的继电器区域。内置模拟量输入占用4CH:200~203CH,输出占用2CH:210~211CH。
③数据链接继电器,占用3200位(200CH):1000~1199CH。用于Controller Link 中的数据链接,或PLC链接系统中的PC链接。数据链接是指通过安装在各PLC上的Controller Link单元所构成的网络,自动地访问网络中其他PLC,实现链接区的数据共享。数据链接可以自动创建或人工创建。详细内容参见Controller Link单元操作手册。不使用的继电器编号可作为内部辅助继电器使用。
④CJ系列CPU总线单元继电器,占用6400位(400CH):1500~1899CH。连接CJ系列CPU总线单元时使用,每单元25CH,最多16单元。某单元占用的通道号:1500+单元号×25~1500+单元号×25+24,即#0、#1、#3、…、#15单元分别占用1500~1524CH、1525~1549CH、1550~1574CH、…、1875~1899CH。
不使用的继电器编号可作为内部辅助继电器使用。
⑤CJ系列特殊I/O单元继电器,占用15 360位(960CH):2000~2959CH。
连接CJ系列特殊I/O单元时使用,用于传送单元操作状态等数据。每单元分配10字,最多96单元。某单元占用的通道号:2000+单元号×10~1500+单元号×10+9,即#0、#1、#3、…、#95单元分别占用2000~2009CH、2010~2019CH、2020~2029CH、…2950~2959CH。
不使用的继电器编号可作为内部辅助继电器使用。
⑥串行PLC链接继电器,占用1440位(90CH):3100~3189CH,是串行PLC链接中使用的区域,两个相同或不同PLC之间的数据链接,例如,CP1H之间或CP1H与CJ1M之间的数据链接。串行PLC链接通过RS-232C端口,进行CPU单元之间的数据交换。串行PLC链接区的通道分配需根据主站中的PLC系统设定而自动设定。不使用的继电器编号可作为内部辅助继电器使用。
⑦DeviceNet继电器,占用9600位(600CH):3200~3799CH。
使用CJ系列DeviceNet单元的远程I/O主站功能时,各从站被分配的继电器区域。不使用时,该区域可作为内部辅助继电器使用。
⑧内部工作继电器区。CIO中的内部工作继电器区占用两部分:4800位(300CH):1200~1499CH;37504位(2344CH):3800~6143CH。
仅可在程序上使用的继电器区域,不可以直接对外输入/输出。工作继电器区有两部分,相比该区域,优先使用下面的WR区域。因为该区域可能根据将来CPU单元的版本升级被分配特定的功能。
2.工作继电器区(WR)
占用8192位(512CH):W000~W511CH。
工作继电器区是指不可以直接对外输入/输出的继电器区域。这些字只能在程序内使用,它们不能用于与外部I/O端子的I/O信息交换,可作为程序中的中间继电器使用。
3.保持继电器区(HR)
占用8192位(512CH):H000~H511CH。
保持继电器用于存储/操作各种数据并可按字或按位存取,在字号前要冠以“H”字符,以区别于其他区。
当系统操作方式改变、电源中断或PLC操作停止时,保证继电器能够保持其状态。
H512~H1535CH为功能块专用保持继电器。仅可在功能块FB实例区域(变量的内部分配范围)设定。
4.辅助继电器区(AR)
占用15360位(960CH):A000~A959。
辅助继电器区用来存储PLC的工作状态信息,如特殊I/O单元的错误标志、链接系统操作错误标志、远程I/O主单元错误标志、从站机架错误标志、特殊I/O单元重启动、链接系统操作重启动、远程I/O单元重启动、时钟设置位及数据跟踪标志等。
辅助继电器包括系统自动设定的继电器和用户进行设定操作的继电器。由自诊断发现的异常标志、初始设定标志、操作标志、运行状态监视数据等构成。
5.暂存继电器区(TR)
占用16位:TR00~TR15。
在电路的分支点,暂时存储ON/OFF状态的继电器。关于使用方法,可参见3.4.3节。
6.计数器(CNT)/定时器(TIM)区
CP1H有定时器4096个:T0000~T4095,有计数器4096个:C0000~C4095。
定时器用于需要定时、延时ON及延时OFF等场合。计数器用于记录外部输入脉冲信号,计数器分为两种,一种是单向计数器,另一种是双向计数器,也称可逆计数器。双向计数器有两个脉冲输入端,当“加”脉冲输入端有一个脉冲输入时,计数器的存储器内容加1,当“减”脉冲输入端有一个脉冲输入时,计数器的存储器内容减1。
7.数据存储器区(DM)
数据存储器区是一个只能以字为单位存取的多用途数据区。数据存储器(DM)用于内部数据的存储和处理,如数据传送、数值运算、数据转换、数值比较的结果,逻辑指令、特殊指令、网络指令、串行通信指令、模拟量输入单元、模拟量输出单元、高速计数单元及定位控制单元的参数设定、处理结果等。数据存储器区只能进行字操作,不能用于位操作。
欧姆龙公司的CP1H系列将数据存储器分为4个区:普通DM、CJ系列特殊I/O单元用区、CJ系列CPU总线单元用区和Modbus-RTU简易主站用区。
CJ系列特殊I/O单元占用:D20000~D29599(100CH×96单元)。
CJ系列CPU总线单元占用:D30000~D31599(100CH×16单元)。
Modbus-RTU简易主站固定分配区域:
D32200~D32299(串行端口1)、D32300~D32399(串行端口2)。
普通DM:D00000~D32767中,除上面已用的区域。
8.变址寄存器区(IR)
变址寄存器有16个:IR0~IR15,1个寄存器32位。用于间接寻址一个字,每个变址寄存器存储一个PLC存储地址,该地址是在I/O存储区中一个字的绝对地址。
9.数据寄存器区(DR)
数据寄存器有16个:DR0~DR15,1个寄存器16位。储存用于间接寻址的偏移值。
间接寻址中利用16个数据寄存器(DR0~DR15)来偏移变址寄存器的PLC存储地址。将数据寄存器中的值加到变址寄存器的PLC存储地址上,来指定一个位或字在I/O存储区中的绝对地址,数据寄存器中的数据取值范围为-32768~32767,偏移量的范围由此确定。
数据寄存器只能进行字操作,不能用于位操作。
10.任务标志区(TK)
任务标志有32个:TK00~TK31。
任务标志是只读标志,当相应的循环任务在执行时,则标志为ON;当对应任务没有执行或为待机状态时,标志为OFF。
11.状态标志/时钟脉冲区(CF)
状态标志/时钟脉冲的地址都是以CF开始。
状态标志是根据指令的执行结果更新的标志,详见3.1节。
时钟脉冲是由系统产生的,有5个时钟脉冲,分别为P_0-02s(0.02s)、P_0-1s(0.1s)、P_0-2s(0.2s)、P_1s(1s)和P_1m(1min),可以用于编程。
2.3.2 CP1E系列PLC的I/O存储器分配
CP1E的特点是简单和经济。CP1E与CP1H的内部存储器分配及容量差别较大,见表2.17。
表2.17 CP1E的I/O存储器区的分配
注:CIO区中不使用的继电器编号可作为内部辅助继电器使用。
CP1H、CJ1和CS1的内部存储器设置趋向一致,存储器软器件的种类几乎是一样的。当然,同一种内部器件里是会有所不同的。例如,因为功能的不同,两种PLC的CIO区划分有差异;同一种内部器件,在数量上,一般CS1要多于CP1H和CJ1。
另外,CJ1、CS1系列PLC的存储器比CP1H多了扩展数据存储器(EM)。EM区是DM区的扩充,也具有断电保持功能。CJ1的EM区分为若干段(Bank),每个段32767个字,最多7个段(由PLC型号决定),范围为E0-00000~E6-32767。