PLC地址概述
PLC(Programmable Logic Controller)地址是指PLC控制器中每个元件的地址,用于标识控制器中的元件,并在PLC程序中编写指令。PLC地址主要有输入地址、输出地址和寄存器地址三种类型,可接收外部信号、发出控制信号和存储数据。其格式主要有按位地址、按字地址和按字节地址三种,能控制PLC系统中单个位、一个字和一个字节的信号。
PLC地址类型及含义
- 输入地址:用于读取外部输入信号,如传感器、按钮等外部设备的状态可通过输入地址读取到PLC程序中。例如在西门子PLC中,输入地址通常以I开头,如I0.0、I1.2等。
- 输出地址:用于控制外部输出信号,像继电器、电机等外部设备可通过输出地址控制其状态。在西门子PLC里,输出地址通常以Q开头,如Q0.0、Q1.2等。
- 寄存器地址:用于存储和处理数据,PLC中有位寄存器、字寄存器、双字寄存器等多种类型的寄存器,不同类型的寄存器用于存储不同类型的数据。例如西门子PLC中,位地址通常以M开头,如M0.0、M1.2等;字地址通常以DB开头,如DB1.DBW0、DB2.DBD4等。
- 计数器地址:用于计数功能,PLC中的计数器可对某个事件进行计数,如物料数量、生产周期等。
- 定时器地址:用于定时功能,PLC中的定时器可对某个事件进行定时控制,如延时、周期性操作等。
不同品牌PLC地址特点及分配方式
西门子PLC
- 地址分配方式:
- 固定地址类型:指定PLC安装架上每个安装位置(插槽)地址,每个安装位置按该系列可编程控制器所有模块中可能存在的最大输入/输出点分配地址。例如S7 - 300系列I/O模块最大输入/输出为32点,每个安装位置需分配一个32点地址,若实际安装模块只有16个输入点,剩余输入/输出地址不能再用作物理输入点。且输入和输出地址间歇性,不能使用相同的二进制字节和位。
- 自动分配类型:通过自动检测PLC安装的实际模块,实现自动连续的地址分配。PLC根据模块自动分配地址,输入输出地址连续排列,从0.0开始自动识别。对于S7 - 300系列,主机上安装的部分I/O模块,CPU地址分配可能间歇性,但远程输入/输出单元地址总是连续分配。
- 用户设置类型:可编程控制器各安装位置的地址可通过编程软件任意定义,输入输出点数不指定,但不能在同一个可编程控制器中重复。输入和输出地址可以是间断的或无序的。
- 编程使用的地址类型:
- 位地址:用于访问和控制PLC中的开关量数据,格式通常为I/O设备类型 + 模块编号 + 位号,如QW0.0表示第0个模块的第0个输出点。
- 字地址:用于访问和操作PLC中的字节数据,格式通常为DB区块号 + 偏移量,如DB1.DBB2表示DB1区块的第2个字节。
- 双字地址:用于访问和操作PLC中的双字节数据,格式通常为DB区块号 + 偏移量,如DB1.DBW4表示DB1区块的第4个字。
- 系统地址:用于访问和控制PLC系统的地址,通常以S开头,如S0、S7等。
- 块地址:用于访问和控制PLC程序块的地址,通常以FB、FC、DB等开头,如FB1、FC2、DB3等。
施耐德PLC
施耐德plc modbus地址对照表如下:
Modbus地址范围 | 对应PLC地址 | 说明 |
---|---|---|
000001至000XXX | %QX0.0 - %QXX.X | 实际输出 |
010001至010XXX | %IX0.0 - %IXX.X | 实际输入 |
030001至030032 | %AIW0,16位一路依次类推 | 模拟量寄存器 |
040001至040XXX | %MX0.0 - %MXX.X,1对1,要是%MW就对应16位,依次类推 | 保持寄存器 |
欧姆龙PLC
以CP1H为例:
- CPU单元地址分配:
- X和XA型CPU:自带40点I/O,输入24点占用CIO区0 - 1通道,输出16点占用100 - 101通道。模拟量输入4路占用200 - 203通道,模拟量输出2路占用210 - 211通道。
- Y型CPU:自带20点I/O,输入12点、输出8点因脉冲输入输出专用端子占用,分配到不连续地址。输入占用CIO区0通道和1通道的共计12点,输出占用CIO区100通道和101通道的共计8点。
- 扩展单元地址分配:扩展单元从CPU单元的分配通道之后的下一个通道开始依次往后分配地址。CP1W扩展单元输入从2通道开始最多分配到16通道,输出从102通道开始最多分配到116通道。CJ系列高功能扩展单元地址分配和单元号有关,特殊I/O单元占用地址2000 - 2959通道,CPU总线单元占用地址1500 - 1899通道。
PLC地址与Modbus地址的关系
概念区别
- Modbus地址:用于标识设备上的不同数据寄存器,通常由寄存器类型和寄存器编号组成,常见类型有线圈(Coil)、离散输入(Discrete Input)、输入寄存器(Input Register)和保持寄存器(Holding Register)。
- PLC地址:用于标识PLC内部的数据寄存器,通常由数据类型和地址编号组成,常见类型有位(Bit)、字节(Byte)、字(Word)和双字(Double Word)。
对应关系
- 线圈(Coil)与位(Bit):Modbus的线圈地址从0开始,对应于PLC的位地址从0开始,如Modbus的线圈地址0对应于PLC的位地址0。
- 离散输入(Discrete Input)与位(Bit):Modbus的离散输入地址从0开始,对应于PLC的位地址从0开始。
- 输入寄存器(Input Register)与字(Word):Modbus的输入寄存器地址从0开始,对应于PLC的字地址从0开始。
- 保持寄存器(Holding Register)与字(Word):Modbus的保持寄存器地址从0开始,对应于PLC的字地址从0开始。
使用注意事项
- 40001 - 4xxxx是美国modicon公司和ge公司plc使用的modbus地址,基于1的地址,即同类元件的首地址为1;西门子plc的modbus地址是基于0的地址。
- 美国的modbus地址左起第2位用来表示元件的类型,但数据类型已包含在功能码中,西门子的部分地址表示有所不同,如i0.0的modbus地址实际为000000 。
- 在数据报文中,所有的modbus地址都是从0开始的。
- PLC作Modbus主站时,Modbus地址和PLC手册里的地址一致;PLC作从站时,不用管Modbus地址,等主站来读写其地址区。主站的计算机软件编程人员需确定Modbus RTU的报文结构,PLC编程人员常需和上位机软件编程人员讨论Modbus的报文结构,注意报文里Modbus地址与PLC存储区地址的对应关系。
PLC模块地址相关
模块地址组成要素
组成部分 | 说明 | 示例 |
---|---|---|
机架号 | 物理安装位置标识 | Rack0 |
插槽号 | 模块安装槽位编号 | Slot3 |
通道号 | 具体输入输出点位 | CH1 |
数据类型 | 数据存储格式标识 | %IW100 |
模块地址分类
- 输入/输出模块地址:
类型 寻址方式 典型应用 注意事项 数字量输入 位地址 按钮/传感器 注意滤波时间设置 数字量输出 字节地址 继电器/指示灯 需配置安全互锁 模拟量输入 字地址 温度/压力传感器 校准量程范围 模拟量输出 双字地址 变频器控制 防止信号干扰 - 特殊功能模块地址:
模块类型 地址特征 典型应用场景 通信模块 固定IP段 工业以太网通讯 运动控制 专用地址区 伺服驱动控制 高速计数 独立通道 编码器信号处理 安全模块 冗余地址 急停安全回路
地址分配原则与实践
- 分配原则:
原则 实施要点 应用实例 系统性 按功能区域划分 将灌装区设为1000 - 1999地址段 唯一性 禁止地址重复 采用“机架 - 槽位 - 通道”三级编码 扩展性 预留备用地址 每模块后保留20%地址空间 规范性 统一命名规则 DI_Station1_Valve01 - 配置步骤:系统规划(绘制设备拓扑图)、地址分配(制定地址分配表)、硬件组态(在编程软件中配置)、程序验证(在线监测地址状态)、文档管理(维护地址变更记录)。
常见问题与解决方案
故障现象 | 可能原因 | 解决方法 |
---|---|---|
信号采集异常 | 地址映射错误 | 核对硬件组态与程序地址 |
通信中断 | 地址冲突 | 使用网络扫描工具检测 |
模块不识别 | 地址范围超限 | 检查PLC寻址能力 |
数据溢出 | 数据类型不匹配 | 统一地址长度与数据格式 |