根据不同的plc配置情况确定I/O地址是plc编程的前提与基础,程序中的地址必须与实际物理连接点一一对应,才能确保动作的正确执行。
当选择了PLC之后,首先需要确定的是系统中各I/O点的绝对地址。在西门子S7系列PLC中I/O绝对地址的分配方式共有固定地址型、自动分配型、用定义型3种。实际所使用的方式决定于所采用的PLC的CPU型号、编程软件、软件版本、编程人员的选择等因素。
1.固定地址型
固定地址分配方式是一种对PLC安装机架上的每一个安装位置(插槽)都规定地址的分配方式。其特点如下:
①PLC的每一个安装位置都按照该系列PLC全部模块中可能存在的最大I/O点数分配地址。
例如:S7-300系列I/O模块中最大开关量输入/输出为32点,因此,每一个安装位置都必须分配32点地址:如果实际安装的模块只有16点输入,那么剩余的I/O地址将不可以再作为物理输入点使用。
②对于输入或输出来说,I/O地址是间断的,而且,在输入与输出中不可以使用相同的二进制字节与位。
例如:S7-300系列I/O模块的第1安装位中安装了32点输入模块,地址数据中的0.0~3.7就被该模块所占用,地址固定为I0.0~13.7;即使第2安装位中安装了32点输出模块,其输出地址也只能是Q4.O~Q7.7,而不可以是QO.O~Q3.7,在实际编程时QO.O~Q3.7就变成了不存在的输出。同样,如果在第3安装位中接着安装了16点输入模块,其地址将为I8.0~19.7,在实际编程时I4.0~17.7就变成了不存在的输入。
以上分配原则对模拟量模块同样适用。
2.自动分配型
自动地址分配方式是一种通过自动检测PLC所安装的实际模块,自动、连续分配地址的分配方式。其特点如下:
①PLC的每一个安装位置的I/O点数量无规定,PLC根据模块自动分配地址。
例如:当每一个安装位置安装了32点模块后,PLC自动分配给该模块0.0~3.7的地址:如果实际安装的模块只有16点输入,那么PLC自动分配给该模块的地址就成为0.0~1.7。
②输入与输出的地址均从0.0起连续编排、自动识别,I/O地址连续、有序。
例如:PLC的第1安装位中安装了32点输入模块,地址为I0.0~13.7;当第2安装位中安装了32点输出模块后,其输出地址自动分配为QO.O~Q3.7。同样,如果在第3安装位中接着安装了16点输入模块,其地址将为I4.0~15.7。I/O地址中没有不存在的输入与输出。
以上分配原则对模拟量模块同样适用。
对于S7-300系列,由于生产时间、软件版本的不同,安装于PLC主机上的部分I/O模块,CPU的地址分配可能会出现断续的情况,CPU仍然按照最大开关量输入/输出进行地址分配,当使用32点以下模块时,多余的地址不可以再使用。但是,、对于远程I/O单元,地址总是连续分配的。
3.用户设定型
用户设定型分配方式是一种可以通过编程软件进行任意定义的地址分配方式。其特点如下:
①PLC的每一个安装位置的地址可以任意定义,I/O点数量无规定,但同- PLC中不可以重复。
例如:当每一个安装位置安装了32点输入模块后,用户可以分配给该模块I0.0~13.7的地址;也可以分配其他任意地址,如I8.0~I11.7等。但在分配I0.0~13.7后,后续的同类模块中不可以再使用地址I0.0~13.~。
②输入与输出的地址既可以是间断的,也可以不按照次序排列。
例如:PLC的第1安装位中安装了32点输入模块,地址定义为I8.0~111.7;第2安装位中再安装32点输入模块,地址定义为I0.0~13.7,这样的分配同样也允许。
以上分配原则对模拟量模块同样适用。